diff options
author | seshendra Gadagottu <sgadagottu@nvidia.com> | 2017-12-12 14:36:42 -0500 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2017-12-14 18:11:26 -0500 |
commit | 65513bc33d65c921cd556a72e4e9263565dca4bf (patch) | |
tree | 60576c70fc394347d2e004d2f1e2b9db5fa50d33 /drivers/gpu/nvgpu/include | |
parent | 28a642f6bbf62dce632d6d4ef75eabc1da0128ef (diff) |
gpu: nvgpu: gv11b: update thermal settings
For gv11b, update thermal settings as per hw POR:
1.Created gv11b specific HAL for init_therm_setup_hw
2.Update steps for gradual slowdown to 1x,1.5x,2x,4x,8x,16x,32x.
3.Modified gradual step duration cycles to 4.
Bug 200365110
Change-Id: I93c28a3394857aacdf3d304103c9e7c25d4ad344
Signed-off-by: seshendra Gadagottu <sgadagottu@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/1616600
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/include')
-rw-r--r-- | drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_therm_gv11b.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_therm_gv11b.h b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_therm_gv11b.h index 8f8981e8..3afe7501 100644 --- a/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_therm_gv11b.h +++ b/drivers/gpu/nvgpu/include/nvgpu/hw/gv11b/hw_therm_gv11b.h | |||
@@ -180,6 +180,14 @@ static inline u32 therm_config2_r(void) | |||
180 | { | 180 | { |
181 | return 0x00020130U; | 181 | return 0x00020130U; |
182 | } | 182 | } |
183 | static inline u32 therm_config2_grad_step_duration_f(u32 v) | ||
184 | { | ||
185 | return (v & 0xfU) << 8U; | ||
186 | } | ||
187 | static inline u32 therm_config2_grad_step_duration_m(void) | ||
188 | { | ||
189 | return 0xfU << 8U; | ||
190 | } | ||
183 | static inline u32 therm_config2_slowdown_factor_extended_f(u32 v) | 191 | static inline u32 therm_config2_slowdown_factor_extended_f(u32 v) |
184 | { | 192 | { |
185 | return (v & 0x1U) << 24U; | 193 | return (v & 0x1U) << 24U; |
@@ -336,6 +344,10 @@ static inline u32 therm_grad_stepping_table_slowdown_factor0_m(void) | |||
336 | { | 344 | { |
337 | return 0x3fU << 0U; | 345 | return 0x3fU << 0U; |
338 | } | 346 | } |
347 | static inline u32 therm_grad_stepping_table_slowdown_factor0_fpdiv_by1_f(void) | ||
348 | { | ||
349 | return 0x0U; | ||
350 | } | ||
339 | static inline u32 therm_grad_stepping_table_slowdown_factor0_fpdiv_by1p5_f(void) | 351 | static inline u32 therm_grad_stepping_table_slowdown_factor0_fpdiv_by1p5_f(void) |
340 | { | 352 | { |
341 | return 0x1U; | 353 | return 0x1U; |
@@ -352,6 +364,14 @@ static inline u32 therm_grad_stepping_table_slowdown_factor0_fpdiv_by8_f(void) | |||
352 | { | 364 | { |
353 | return 0xeU; | 365 | return 0xeU; |
354 | } | 366 | } |
367 | static inline u32 therm_grad_stepping_table_slowdown_factor0_fpdiv_by16_f(void) | ||
368 | { | ||
369 | return 0x1eU; | ||
370 | } | ||
371 | static inline u32 therm_grad_stepping_table_slowdown_factor0_fpdiv_by32_f(void) | ||
372 | { | ||
373 | return 0x3eU; | ||
374 | } | ||
355 | static inline u32 therm_grad_stepping_table_slowdown_factor1_f(u32 v) | 375 | static inline u32 therm_grad_stepping_table_slowdown_factor1_f(u32 v) |
356 | { | 376 | { |
357 | return (v & 0x3fU) << 6U; | 377 | return (v & 0x3fU) << 6U; |