diff options
author | Rex Zhu | 2017-06-15 08:02:51 +0200 |
---|---|---|
committer | Alex Deucher | 2017-07-14 17:06:15 +0200 |
commit | b37afd41a1f5a7d9dbc4cc6ede62e590a31e2192 (patch) | |
tree | 9ebbce035abec3004ae0d3046b37ce2ca03807df /drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c | |
parent | drm/amd/powerplay: fix avfs state update error on polaris. (diff) | |
download | kernel-qcow2-linux-b37afd41a1f5a7d9dbc4cc6ede62e590a31e2192.tar.gz kernel-qcow2-linux-b37afd41a1f5a7d9dbc4cc6ede62e590a31e2192.tar.xz kernel-qcow2-linux-b37afd41a1f5a7d9dbc4cc6ede62e590a31e2192.zip |
drm/amd/powerplay: refine avfs enable code on fiji.
1. simplify avfs state switch.
2. delete save/restore VFT table functions as not support
by fiji.
3. implement thermal_avfs_enable funciton.
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c')
-rw-r--r-- | drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c index 6a320b27aefd..ca24e155ef2d 100644 --- a/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c +++ b/drivers/gpu/drm/amd/powerplay/smumgr/fiji_smc.c @@ -2129,6 +2129,25 @@ int fiji_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) return 0; } + +int fiji_thermal_avfs_enable(struct pp_hwmgr *hwmgr) +{ + int ret; + struct pp_smumgr *smumgr = (struct pp_smumgr *)(hwmgr->smumgr); + struct fiji_smumgr *smu_data = (struct fiji_smumgr *)(smumgr->backend); + + if (smu_data->avfs.AvfsBtcStatus != AVFS_BTC_ENABLEAVFS) + return 0; + + ret = smum_send_msg_to_smc(smumgr, PPSMC_MSG_EnableAvfs); + + if (!ret) + /* If this param is not changed, this function could fire unnecessarily */ + smu_data->avfs.AvfsBtcStatus = AVFS_BTC_COMPLETED_PREVIOUSLY; + + return ret; +} + static int fiji_program_mem_timing_parameters(struct pp_hwmgr *hwmgr) { struct smu7_hwmgr *data = (struct smu7_hwmgr *)(hwmgr->backend); |