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 cc1835c..5ddce49 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 2ac30d2..1011413 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 74c15ee..29bfdb3 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)