Per requested, follow the same sequence as APU to send only
PPSMC_MSG_PrepareForDriverUnload to PMFW during driver unloading.

Change-Id: I2dc8495572b0bce6e21eafb51b215c83d94ac647
Signed-off-by: Le Ma <[email protected]>
Reviewed-by: Shiwu Zhang <[email protected]>
Reviewed-by: Lijo Lazar <[email protected]>
---
 .../gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c 
b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
index 3da614faf75d..392ccebc8dac 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_6_ppt.c
@@ -1409,18 +1409,16 @@ static int smu_v13_0_6_system_features_control(struct 
smu_context *smu,
                                              bool enable)
 {
        struct amdgpu_device *adev = smu->adev;
-       int ret;
-
-       /* On APUs, notify FW that the device is no longer driver managed */
-       if (adev->flags & AMD_IS_APU) {
-               if (!enable)
-                       smu_v13_0_6_notify_unload(smu);
+       int ret = 0;
 
-               return 0;
+       if (enable) {
+               if (!(adev->flags & AMD_IS_APU))
+                       ret = smu_v13_0_system_features_control(smu, enable);
+       } else {
+               /* Notify FW that the device is no longer driver managed */
+               smu_v13_0_6_notify_unload(smu);
        }
 
-       ret = smu_v13_0_system_features_control(smu, enable);
-
        return ret;
 }
 
-- 
2.38.1

Reply via email to