drm/amdgpu: enable gfxoff for sienna_cichlid
authorLikun Gao <Likun.Gao@amd.com>
Fri, 29 May 2020 18:34:15 +0000 (14:34 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 1 Jul 2020 05:59:13 +0000 (01:59 -0400)
Enable GFXOFF for sienna_cichlid.

Signed-off-by: Likun Gao <Likun.Gao@amd.com>
Reviewed-by: Kenneth Feng <kenneth.feng@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/gfx_v10_0.c
drivers/gpu/drm/amd/powerplay/sienna_cichlid_ppt.c
drivers/gpu/drm/amd/powerplay/smu_v11_0.c

index cc1835cd0c9168316ff49666d46faeb2ca93eed2..5ddce490247d7d0430f2be5ee246087c0b5186f2 100644 (file)
@@ -3537,9 +3537,6 @@ static void gfx_v10_0_check_gfxoff_flag(struct amdgpu_device *adev)
                if (!gfx_v10_0_navi10_gfxoff_should_enable(adev))
                        adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
                break;
-       case CHIP_SIENNA_CICHLID:
-               adev->pm.pp_feature &= ~PP_GFXOFF_MASK;
-               break;
        default:
                break;
        }
@@ -7441,6 +7438,7 @@ static int gfx_v10_0_set_powergating_state(void *handle,
        case CHIP_NAVI10:
        case CHIP_NAVI14:
        case CHIP_NAVI12:
+       case CHIP_SIENNA_CICHLID:
                amdgpu_gfx_off_ctrl(adev, enable);
                break;
        default:
index 2ac30d2ddf5e3d58747f819023d2c4979a19d8d2..10114132fdd88a8264981cca8e6e1a7052cc1258 100644 (file)
@@ -341,6 +341,9 @@ sienna_cichlid_get_allowed_feature_mask(struct smu_context *smu,
        if (adev->pm.pp_feature & PP_SCLK_DEEP_SLEEP_MASK)
                *(uint64_t *)feature_mask |= FEATURE_MASK(FEATURE_DS_GFXCLK_BIT);
 
+       if (adev->pm.pp_feature & PP_GFXOFF_MASK)
+               *(uint64_t *)feature_mask |= FEATURE_MASK(FEATURE_GFXOFF_BIT);
+
        if (smu->adev->pg_flags & AMD_PG_SUPPORT_ATHUB)
                *(uint64_t *)feature_mask |= FEATURE_MASK(FEATURE_ATHUB_PG_BIT);
 
index 74c15ee057705ccb982b97b1274e7af793243673..29bfdb351c17f6a6807cede74f280980d29cc85c 100644 (file)
@@ -1353,6 +1353,7 @@ int smu_v11_0_gfx_off_control(struct smu_context *smu, bool enable)
        case CHIP_NAVI10:
        case CHIP_NAVI14:
        case CHIP_NAVI12:
+       case CHIP_SIENNA_CICHLID:
                if (!(adev->pm.pp_feature & PP_GFXOFF_MASK))
                        return 0;
                if (enable)