summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/nvgpu/gm206
diff options
context:
space:
mode:
authorMahantesh Kumbar <mkumbar@nvidia.com>2016-11-03 11:40:24 -0400
committermobile promotions <svcmobile_promotions@nvidia.com>2016-12-26 01:20:09 -0500
commit71fbfdb2b84a4f778f19e44421a66e28e5aadf8d (patch)
tree5bbc2e22682e73b64fa6492bdab27301f254d362 /drivers/gpu/nvgpu/gm206
parent66ed536fb5e57ad73ffbaf24f9c02f0655e7d6cc (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.h3
-rw-r--r--drivers/gpu/nvgpu/gm206/pmu_gm206.c3
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
49enum { 52enum {
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;