summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorEvan Quan <evan.quan@amd.com>2022-07-18 10:45:35 +0800
committerAlex Deucher <alexander.deucher@amd.com>2022-07-25 09:31:04 -0400
commit42c7de9622b2ec64f7c15c336b75f8933ea7545c (patch)
tree000fafe86b959b414f846f792de8d0a2a6a809cb /drivers
parent326f0672153e0ff5b19f0ff9d6b5f75a64a9c2b5 (diff)
downloadlinux-42c7de9622b2ec64f7c15c336b75f8933ea7545c.tar.bz2
drm/amd/pm: revise the driver reloading fix for SMU 13.0.0 and 13.0.7
The current approach breaks S3/S4 as asic reset is needed for them. And putting SMU out of service(via SMU_MSG_PrepareMp1ForUnload) will make that(asic reset) failed. Considering with current designs, there is actually also asic reset involved on driver reloading. That can make asic back to a clean state. So, the SMU_MSG_PrepareMp1ForUnload operation will be not so necessary. Thus we will just drop the SMU_MSG_PrepareMp1ForUnload operation. We may revise the whole driver reloading sequences when there is a better design. Fixes: 72aeb6ee0c78 ("drm/amd/pm: fix driver reload SMC firmware fail issue for smu13") Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index fd79b213fab4..6d9b3c6af164 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -1415,13 +1415,6 @@ static int smu_disable_dpms(struct smu_context *smu)
switch (adev->ip_versions[MP1_HWIP][0]) {
case IP_VERSION(13, 0, 0):
case IP_VERSION(13, 0, 7):
- if (!(adev->in_runpm || amdgpu_in_reset(adev))) {
- ret = smu_set_mp1_state(smu, PP_MP1_STATE_UNLOAD);
- if (ret) {
- dev_err(adev->dev, "Fail set mp1 state to UNLOAD!\n");
- return ret;
- }
- }
return 0;
default:
break;