diff options
author | Mahantesh Kumbar <mkumbar@nvidia.com> | 2016-11-03 11:40:24 -0400 |
---|---|---|
committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2016-12-26 01:20:09 -0500 |
commit | 71fbfdb2b84a4f778f19e44421a66e28e5aadf8d (patch) | |
tree | 5bbc2e22682e73b64fa6492bdab27301f254d362 /drivers/gpu/nvgpu/gm206 | |
parent | 66ed536fb5e57ad73ffbaf24f9c02f0655e7d6cc (diff) |
gpu: nvgpu: MSCG support
- Added enable_mscg, mscg_enabled & mscg_stat flags,
mscg_enabled flag can be used to controll
mscg enable/disable at runtime along with mscg_stat flag.
- Added defines & interface to support ms/mclk-change/post-init-param
- Added defines for lpwr tables read from vbios.
- HAL to support post init param which is require
to setup clockgating interface in PMU & interfaces used during
mscg state machine.
- gk20a_pmu_pg_global_enable() can be called when pg support
required to enable/disable, this also checks & wait
if pstate switch is in progress till it complets
- pg_mutex to protect PG-RPPG/MSCG enable/disable
JIRA DNVGPU-71
Change-Id: If312cefc888a4de0a5c96898baeaac1a76e53e46
Signed-off-by: Mahantesh Kumbar <mkumbar@nvidia.com>
Reviewed-on: http://git-master/r/1247554
(cherry picked from commit e6c94948b8058ba642ea56677ad798fc56b8a28a)
Reviewed-on: http://git-master/r/1270971
GVS: Gerrit_Virtual_Submit
Reviewed-by: Terje Bergstrom <tbergstrom@nvidia.com>
Diffstat (limited to 'drivers/gpu/nvgpu/gm206')
-rw-r--r-- | drivers/gpu/nvgpu/gm206/bios_gm206.h | 3 | ||||
-rw-r--r-- | drivers/gpu/nvgpu/gm206/pmu_gm206.c | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/gpu/nvgpu/gm206/bios_gm206.h b/drivers/gpu/nvgpu/gm206/bios_gm206.h index 1d813df5..6fe19fb0 100644 --- a/drivers/gpu/nvgpu/gm206/bios_gm206.h +++ b/drivers/gpu/nvgpu/gm206/bios_gm206.h | |||
@@ -44,6 +44,9 @@ enum { | |||
44 | VOLTAGE_RAIL_TABLE = 26, | 44 | VOLTAGE_RAIL_TABLE = 26, |
45 | VOLTAGE_DEVICE_TABLE, | 45 | VOLTAGE_DEVICE_TABLE, |
46 | VOLTAGE_POLICY_TABLE, | 46 | VOLTAGE_POLICY_TABLE, |
47 | LOWPOWER_TABLE, | ||
48 | LOWPOWER_GR_TABLE = 32, | ||
49 | LOWPOWER_MS_TABLE = 33, | ||
47 | }; | 50 | }; |
48 | 51 | ||
49 | enum { | 52 | enum { |
diff --git a/drivers/gpu/nvgpu/gm206/pmu_gm206.c b/drivers/gpu/nvgpu/gm206/pmu_gm206.c index d109be97..1aff6ea6 100644 --- a/drivers/gpu/nvgpu/gm206/pmu_gm206.c +++ b/drivers/gpu/nvgpu/gm206/pmu_gm206.c | |||
@@ -159,6 +159,9 @@ void gm206_init_pmu_ops(struct gpu_ops *gops) | |||
159 | gops->pmu.pmu_pg_init_param = NULL; | 159 | gops->pmu.pmu_pg_init_param = NULL; |
160 | gops->pmu.pmu_pg_supported_engines_list = NULL; | 160 | gops->pmu.pmu_pg_supported_engines_list = NULL; |
161 | gops->pmu.pmu_pg_engines_feature_list = NULL; | 161 | gops->pmu.pmu_pg_engines_feature_list = NULL; |
162 | gops->pmu.pmu_lpwr_enable_pg = NULL; | ||
163 | gops->pmu.pmu_lpwr_disable_pg = NULL; | ||
164 | gops->pmu.pmu_pg_param_post_init = NULL; | ||
162 | gops->pmu.send_lrf_tex_ltc_dram_overide_en_dis_cmd = NULL; | 165 | gops->pmu.send_lrf_tex_ltc_dram_overide_en_dis_cmd = NULL; |
163 | gops->pmu.dump_secure_fuses = NULL; | 166 | gops->pmu.dump_secure_fuses = NULL; |
164 | gops->pmu.reset = gk20a_pmu_reset; | 167 | gops->pmu.reset = gk20a_pmu_reset; |