[PATCH 4/4] drm/amd/pp: Disable power containment on Fiji with compute workload
Rex Zhu
Rex.Zhu at amd.com
Fri Feb 23 09:52:33 UTC 2018
disable power containment on Fiji in order to get better compute performance
it is a temporary workaround. we can adjust power/current limit
to satify compute request.
Change-Id: I26389a3ff84e1f74e599541b44c0e62ce38a7345
Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
---
drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
index a31d1a8..e725455 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_hwmgr.c
@@ -2782,6 +2782,8 @@ static int smu7_force_dpm_level(struct pp_hwmgr *hwmgr,
smu7_set_power_profile_mode(hwmgr, &mode, 0);
}
+ if (hwmgr->chip_id == CHIP_FIJI)
+ smu7_enable_power_containment(hwmgr);
ret = smu7_unforce_dpm_levels(hwmgr);
break;
@@ -5032,6 +5034,9 @@ static void smu7_patch_compute_profile_mode(struct pp_hwmgr *hwmgr,
uint32_t tmp, level;
if (requst == PP_SMC_POWER_PROFILE_COMPUTE) {
+ if (hwmgr->chip_id == CHIP_FIJI)
+ smu7_disable_power_containment(hwmgr);
+
if (data->dpm_level_enable_mask.sclk_dpm_enable_mask) {
level = 0;
tmp = data->dpm_level_enable_mask.sclk_dpm_enable_mask;
@@ -5042,6 +5047,8 @@ static void smu7_patch_compute_profile_mode(struct pp_hwmgr *hwmgr,
}
} else if (hwmgr->power_profile_mode == PP_SMC_POWER_PROFILE_COMPUTE) {
smu7_force_clock_level(hwmgr, PP_SCLK, data->dpm_level_enable_mask.sclk_dpm_enable_mask);
+ if (hwmgr->chip_id == CHIP_FIJI)
+ smu7_enable_power_containment(hwmgr);
}
}
--
1.9.1
More information about the amd-gfx
mailing list