drm/amd/pm: Fix error of MACO flag setting code
authorMa Jun <Jun.Ma2@amd.com>
Tue, 31 Oct 2023 03:11:04 +0000 (11:11 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 31 Oct 2023 21:13:13 +0000 (17:13 -0400)
MACO only works if BACO is supported

Signed-off-by: Ma Jun <Jun.Ma2@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Cc: stable@vger.kernel.org # 6.1.x
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_0_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu13/smu_v13_0_7_ppt.c

index 997934bc12cff6b78279c1e83992a4aa15c35807..ef0c3007565890880832ad81fa36d526b898a376 100644 (file)
@@ -354,12 +354,12 @@ static int smu_v13_0_0_check_powerplay_table(struct smu_context *smu)
        if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_HARDWAREDC)
                smu->dc_controlled_by_gpio = true;
 
-       if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_BACO ||
-           powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_MACO)
+       if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_BACO) {
                smu_baco->platform_support = true;
 
-       if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_MACO)
-               smu_baco->maco_support = true;
+               if (powerplay_table->platform_caps & SMU_13_0_0_PP_PLATFORM_CAP_MACO)
+                       smu_baco->maco_support = true;
+       }
 
        if (!overdrive_lowerlimits->FeatureCtrlMask ||
            !overdrive_upperlimits->FeatureCtrlMask)
index 692780ef21d0fa7961914115f03cdf7e6408d276..81eafed76045e97ac9f5dfdb92c7412f082ea496 100644 (file)
@@ -346,12 +346,13 @@ static int smu_v13_0_7_check_powerplay_table(struct smu_context *smu)
        if (powerplay_table->platform_caps & SMU_13_0_7_PP_PLATFORM_CAP_HARDWAREDC)
                smu->dc_controlled_by_gpio = true;
 
-       if (powerplay_table->platform_caps & SMU_13_0_7_PP_PLATFORM_CAP_BACO ||
-           powerplay_table->platform_caps & SMU_13_0_7_PP_PLATFORM_CAP_MACO)
+       if (powerplay_table->platform_caps & SMU_13_0_7_PP_PLATFORM_CAP_BACO) {
                smu_baco->platform_support = true;
 
-       if (smu_baco->platform_support && (BoardTable->HsrEnabled || BoardTable->VddqOffEnabled))
-               smu_baco->maco_support = true;
+               if ((powerplay_table->platform_caps & SMU_13_0_7_PP_PLATFORM_CAP_MACO)
+                                       && (BoardTable->HsrEnabled || BoardTable->VddqOffEnabled))
+                       smu_baco->maco_support = true;
+       }
 
        if (!overdrive_lowerlimits->FeatureCtrlMask ||
            !overdrive_upperlimits->FeatureCtrlMask)