summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/pstate/pstate.h
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-11-03 11:46:21 -0400
committerDeepak Nibade <dnibade@nvidia.com>2016-12-27 04:56:53 -0500
commite5824d8014c321fbe2c1e04e12307125dd50a472 (patch)
tree82657cd43c0dcd313b3251f3776e5e80b488fabc /drivers/gpu/nvgpu/pstate/pstate.h
parent62d13e613807e9bce3a9d1ef0c61725ef3a885ce (diff)
gpu: nvgpu: MSCG support
- update gp106 pg engine init/list/features HALs to support MS engine - Added defines & interface for lpwr tables read from vbios. - lpwr module which reads idx/gr/ms table from vbios to map rppg/mscg support with respective p-state - lpwr module public functions to control lpwr features enable/disable mscg/rppg & mclk-change request whenever change in mclk-change parameters - lpwr public functions to know rppg/mscg support for requested pstate, - added mutex t prevent PG transition while arbiter executes pstate transition - nvgpu_clk_arb_get_current_pstate() of clk arbiter to get current pstate JIRA DNVGPU-71 Change-Id: Ifcd640cc19ef630be1e2a9ba07ec84023d8202a0 Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com> Reviewed-on: http://git-master/r/1247553 (cherry picked from commit 8a441dea2410e1b5196ef24e56a7768b6980e46b) Reviewed-on: http://git-master/r/1270989 Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/pstate/pstate.h')
-rw-r--r--drivers/gpu/nvgpu/pstate/pstate.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/pstate/pstate.h b/drivers/gpu/nvgpu/pstate/pstate.h
index b6519c20..af0956e8 100644
--- a/drivers/gpu/nvgpu/pstate/pstate.h
+++ b/drivers/gpu/nvgpu/pstate/pstate.h
@@ -48,6 +48,9 @@ struct pstate {
48struct pstates { 48struct pstates {
49 struct boardobjgrp_e32 super; 49 struct boardobjgrp_e32 super;
50 u32 num_levels; 50 u32 num_levels;
51 wait_queue_head_t pstate_notifier_wq;
52 u32 is_pstate_switch_on;
53 struct mutex pstate_mutex; /* protect is_pstate_switch_on */
51}; 54};
52 55
53int gk20a_init_pstate_support(struct gk20a *g); 56int gk20a_init_pstate_support(struct gk20a *g);
@@ -55,5 +58,6 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g);
55 58
56struct clk_set_info *pstate_get_clk_set_info(struct gk20a *g, u32 pstate_num, 59struct clk_set_info *pstate_get_clk_set_info(struct gk20a *g, u32 pstate_num,
57 enum nv_pmu_clk_clkwhich clkwhich); 60 enum nv_pmu_clk_clkwhich clkwhich);
61struct pstate *pstate_find(struct gk20a *g, u32 num);
58 62
59#endif /* __PSTATE_H__ */ 63#endif /* __PSTATE_H__ */