PMFW will handle that properly. Driver involvement may cause some
unexpected issues.

Signed-off-by: Evan Quan <[email protected]>
Change-Id: I77da7d894485a3ac6a1a956e4d2605d0bc730c25
---
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index a2db68847477..fd269b8510a5 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -1402,6 +1402,18 @@ static int smu_disable_dpms(struct smu_context *smu)
                  (amdgpu_asic_reset_method(adev) == AMD_RESET_METHOD_BACO)) ||
                 ((adev->in_runpm || adev->in_s4) && 
amdgpu_asic_supports_baco(adev)));
 
+       /*
+        * For SMU 13.0.0 and 13.0.7, PMFW will handle the DPM 
features(disablement or others)
+        * properly on suspend/reset/unload. Driver involvement may cause some 
unexpected issues.
+        */
+       switch (adev->ip_versions[MP1_HWIP][0]) {
+       case IP_VERSION(13, 0, 0):
+       case IP_VERSION(13, 0, 7):
+               return 0;
+       default:
+               break;
+       }
+
        /*
         * For custom pptable uploading, skip the DPM features
         * disable process on Navi1x ASICs.
@@ -1439,7 +1451,6 @@ static int smu_disable_dpms(struct smu_context *smu)
                case IP_VERSION(11, 0, 0):
                case IP_VERSION(11, 0, 5):
                case IP_VERSION(11, 0, 9):
-               case IP_VERSION(13, 0, 0):
                        return 0;
                default:
                        break;
-- 
2.29.0

Reply via email to