diff options
author | Seshendra Gadagottu <sgadagottu@nvidia.com> | 2015-10-16 15:31:35 -0400 |
---|---|---|
committer | Terje Bergstrom <tbergstrom@nvidia.com> | 2015-11-04 17:38:34 -0500 |
commit | 19b3bd28b3e277d8892f663e7c61a813dbc54feb (patch) | |
tree | 5bd76a4242a9f09b7ba3cbf9ab1eb3f5990875c7 /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 9592a4e6fce8204e9ada54ba00902e792199fec5 (diff) |
gpu: nvgpu: use platform data for ptimer source rate
Instead of depending on clock frame-work, use platform data
for ptimer source rate. Removed ptimerscaling10x platform
data, and use ptimer source frequency to calculate
ptimerscaling factor.
Reviewed-on: http://git-master/r/819030
(cherry picked from commit dd291334d54dab80cab7eb1656dffc48a59610b4)
Change-Id: I7638ce9875a6e440bbfc2ba2da0d0b094b2700ff
Signed-off-by: Seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: http://git-master/r/827300
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index e106c479..58c8e9ad 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -50,6 +50,10 @@ struct acr_gm20b; | |||
50 | #include "cde_gk20a.h" | 50 | #include "cde_gk20a.h" |
51 | #include "debug_gk20a.h" | 51 | #include "debug_gk20a.h" |
52 | 52 | ||
53 | /* PTIMER_REF_FREQ_HZ corresponds to a period of 32 nanoseconds. | ||
54 | 32 ns is the resolution of ptimer. */ | ||
55 | #define PTIMER_REF_FREQ_HZ 31250000 | ||
56 | |||
53 | struct cooling_device_gk20a { | 57 | struct cooling_device_gk20a { |
54 | struct thermal_cooling_device *gk20a_cooling_dev; | 58 | struct thermal_cooling_device *gk20a_cooling_dev; |
55 | unsigned int gk20a_freq_state; | 59 | unsigned int gk20a_freq_state; |
@@ -901,6 +905,10 @@ void gk20a_user_deinit(struct platform_device *dev); | |||
901 | 905 | ||
902 | extern void gk20a_debug_dump_device(struct platform_device *pdev); | 906 | extern void gk20a_debug_dump_device(struct platform_device *pdev); |
903 | 907 | ||
908 | static inline u32 ptimer_scalingfactor10x(u32 ptimer_src_freq) | ||
909 | { | ||
910 | return (u32)(((u64)(PTIMER_REF_FREQ_HZ * 10)) / ptimer_src_freq); | ||
911 | } | ||
904 | static inline u32 scale_ptimer(u32 timeout , u32 scale10x) | 912 | static inline u32 scale_ptimer(u32 timeout , u32 scale10x) |
905 | { | 913 | { |
906 | if (((timeout*10) % scale10x) >= (scale10x/2)) | 914 | if (((timeout*10) % scale10x) >= (scale10x/2)) |