diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2016-11-03 11:46:21 -0400 |
---|---|---|
committer | Deepak Nibade <dnibade@nvidia.com> | 2016-12-27 04:56:53 -0500 |
commit | e5824d8014c321fbe2c1e04e12307125dd50a472 (patch) | |
tree | 82657cd43c0dcd313b3251f3776e5e80b488fabc /drivers/gpu/nvgpu/pstate/pstate.h | |
parent | 62d13e613807e9bce3a9d1ef0c61725ef3a885ce (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.h | 4 |
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 { | |||
48 | struct pstates { | 48 | struct 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 | ||
53 | int gk20a_init_pstate_support(struct gk20a *g); | 56 | int gk20a_init_pstate_support(struct gk20a *g); |
@@ -55,5 +58,6 @@ int gk20a_init_pstate_pmu_support(struct gk20a *g); | |||
55 | 58 | ||
56 | struct clk_set_info *pstate_get_clk_set_info(struct gk20a *g, u32 pstate_num, | 59 | struct 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); |
61 | struct pstate *pstate_find(struct gk20a *g, u32 num); | ||
58 | 62 | ||
59 | #endif /* __PSTATE_H__ */ | 63 | #endif /* __PSTATE_H__ */ |