drm/amd/powerplay: Disable Spread Spectrum on DPM 0 on baffin as SPLL Shut Down featu...
authorRex Zhu <Rex.Zhu@amd.com>
Tue, 22 Mar 2016 06:21:18 +0000 (14:21 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 May 2016 00:28:24 +0000 (20:28 -0400)
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Acked-by: Flora Cui <Flora.Cui@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c
drivers/gpu/drm/amd/powerplay/inc/hardwaremanager.h

index b77d7aa0f4120b59a7fdcc139c30961a89c3e8ba..715bc3d569242094b3d713d044a8b718d9cb861a 100644 (file)
@@ -1248,6 +1248,9 @@ static int polaris10_populate_all_graphic_levels(struct pp_hwmgr *hwmgr)
                if (i > 1)
                        levels[i].DeepSleepDivId = 0;
        }
+       if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps,
+                                       PHM_PlatformCaps_SPLLShutdownSupport))
+               data->smc_state_table.GraphicsLevel[0].SclkSetting.SSc_En = 0;
 
        data->smc_state_table.GraphicsLevel[0].EnabledForActivity = 1;
        data->smc_state_table.GraphicsDpmLevelCount =
@@ -2602,6 +2605,9 @@ int polaris10_set_features_platform_caps(struct pp_hwmgr *hwmgr)
        phm_cap_unset(hwmgr->platform_descriptor.platformCaps,
                                                PHM_PlatformCaps_TCPRamping);
 
+       if (hwmgr->chip_id == CHIP_POLARIS11)
+               phm_cap_set(hwmgr->platform_descriptor.platformCaps,
+                                       PHM_PlatformCaps_SPLLShutdownSupport);
        return 0;
 }
 
index 040d3f7cbf490da7a06cc13ae952e34cf84830c5..56f712c7d07aff6051b1c473ca6936b1c1f512a2 100644 (file)
@@ -211,6 +211,7 @@ enum phm_platform_caps {
        PHM_PlatformCaps_ClockStretcher,
        PHM_PlatformCaps_TablelessHardwareInterface,
        PHM_PlatformCaps_EnableDriverEVV,
+       PHM_PlatformCaps_SPLLShutdownSupport,
        PHM_PlatformCaps_Max
 };