diff options
author | Vijayakumar <vsubbu@nvidia.com> | 2016-10-27 09:46:36 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-12-15 13:15:10 -0500 |
commit | 8ef013e36ec2dc3be878d057024290e00b7aad49 (patch) | |
tree | 0570c8eaac96774f0e49000dd3fb5ba4e29475df /drivers/gpu/nvgpu/gk20a/gk20a.h | |
parent | 68eeda3ebdd6ca20289fb0af22a0ca593198bc63 (diff) |
gpu: nvgpu: handle vf curve change due to temp
JIRA DNVGPU-129
1)Add function hook for PMU VFE event handler which will do for VF
curve re-evaluation
2)Add function hook to send temperature limit of GPU sensor
3)Call VFE event handler from PMU's event handle function
Change-Id: I2e3577d3d895e97e6ad06e92f0f4827f9855d0b6
Signed-off-by: Vijayakumar <vsubbu@nvidia.com>
Reviewed-on: http://git-master/r/1245393
(cherry picked from commit 1a5c6c32cdec73fb23735430f43577eda675e5af)
Reviewed-on: http://git-master/r/1268060
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gk20a/gk20a.h')
-rw-r--r-- | drivers/gpu/nvgpu/gk20a/gk20a.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gk20a/gk20a.h b/drivers/gpu/nvgpu/gk20a/gk20a.h index 02d3ffe0..ed3a1d2d 100644 --- a/drivers/gpu/nvgpu/gk20a/gk20a.h +++ b/drivers/gpu/nvgpu/gk20a/gk20a.h | |||
@@ -589,6 +589,8 @@ struct gpu_ops { | |||
589 | int (*elcg_init_idle_filters)(struct gk20a *g); | 589 | int (*elcg_init_idle_filters)(struct gk20a *g); |
590 | void (*therm_debugfs_init)(struct gk20a *g); | 590 | void (*therm_debugfs_init)(struct gk20a *g); |
591 | int (*get_internal_sensor_curr_temp)(struct gk20a *g, u32 *temp_f24_8); | 591 | int (*get_internal_sensor_curr_temp)(struct gk20a *g, u32 *temp_f24_8); |
592 | void (*get_internal_sensor_limits)(s32 *max_24_8, | ||
593 | s32 *min_24_8); | ||
592 | } therm; | 594 | } therm; |
593 | struct { | 595 | struct { |
594 | bool (*is_pmu_supported)(struct gk20a *g); | 596 | bool (*is_pmu_supported)(struct gk20a *g); |
@@ -642,6 +644,9 @@ struct gpu_ops { | |||
642 | int (*get_arbiter_clk_default)(struct gk20a *g, u32 api_domain, | 644 | int (*get_arbiter_clk_default)(struct gk20a *g, u32 api_domain, |
643 | u16 *default_mhz); | 645 | u16 *default_mhz); |
644 | } clk_arb; | 646 | } clk_arb; |
647 | struct { | ||
648 | int (*handle_pmu_perf_event)(struct gk20a *g, void *pmu_msg); | ||
649 | } perf; | ||
645 | bool privsecurity; | 650 | bool privsecurity; |
646 | bool securegpccs; | 651 | bool securegpccs; |
647 | bool pmupstate; | 652 | bool pmupstate; |