]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Revert "drm/amd/powerplay: drop unnecessary message support check"
authorChangfeng <Changfeng.Zhu@amd.com>
Tue, 21 Jul 2020 02:38:19 +0000 (10:38 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 6 Aug 2020 20:24:31 +0000 (16:24 -0400)
The below 3 messages are not supported on Renoir
SMU_MSG_PrepareMp1ForShutdown
SMU_MSG_PrepareMp1ForUnload
SMU_MSG_PrepareMp1ForReset

It needs to revert patch:
drm/amd/powerplay: drop unnecessary message support check
to avoid set mp1 state fail during gpu reset on renoir.

Signed-off-by: changfeng <Changfeng.Zhu@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/amdgpu_smu.c
drivers/gpu/drm/amd/powerplay/smu_cmn.h

index 838a369c9ec3c68516f85e4f506fe0769cb7edd8..f778b00e49eb899d64d2a9ec67f97eb8ac4216d1 100644 (file)
@@ -34,6 +34,7 @@
 #include "sienna_cichlid_ppt.h"
 #include "renoir_ppt.h"
 #include "amd_pcie.h"
+#include "smu_cmn.h"
 
 /*
  * DO NOT use these for err/warn/info/debug messages.
@@ -1589,6 +1590,14 @@ int smu_set_mp1_state(struct smu_context *smu,
                return 0;
        }
 
+       /* some asics may not support those messages */
+       if (smu_cmn_to_asic_specific_index(smu,
+                                          CMN2ASIC_MAPPING_MSG,
+                                          msg) < 0) {
+               mutex_unlock(&smu->mutex);
+               return 0;
+       }
+
        ret = smu_send_smc_msg(smu, msg, NULL);
        if (ret)
                dev_err(smu->adev->dev, "[PrepareMp1] Failed!\n");
index 98face8c5fd61b9d0149c0fb94ed76196bdd4bec..f9e63f18b15708f9cbb9632959ca89b1b166554f 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "amdgpu_smu.h"
 
-#if defined(SWSMU_CODE_LAYER_L2) || defined(SWSMU_CODE_LAYER_L3) || defined(SWSMU_CODE_LAYER_L4)
+#if defined(SWSMU_CODE_LAYER_L1) || defined(SWSMU_CODE_LAYER_L2) || defined(SWSMU_CODE_LAYER_L3) || defined(SWSMU_CODE_LAYER_L4)
 int smu_cmn_send_smc_msg_with_param(struct smu_context *smu,
                                    enum smu_message_type msg,
                                    uint32_t param,