drm/amd/powerplay: disable engine spread spectrum feature on Vega10.
authorRex Zhu <Rex.Zhu@amd.com>
Thu, 4 May 2017 03:07:02 +0000 (11:07 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 5 May 2017 22:13:28 +0000 (18:13 -0400)
Vega10 atomfirmware do not have ASIC_InternalSS_Info table
so disable this feature by default in driver.

Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Reviewed-by: Ken Wang <Qingqing.wang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c

index 8baa890579d8518c50189ce206b0900723fd765c..e24e54c294bd3bea06f1364ed344dc0870959030 100644 (file)
@@ -1535,7 +1535,11 @@ static int vega10_populate_single_gfx_level(struct pp_hwmgr *hwmgr,
        current_gfxclk_level->FbMult =
                        cpu_to_le32(dividers.ulPll_fb_mult);
        /* Spread FB Multiplier bit: bit 0:8 int, bit 31:16 frac */
-       current_gfxclk_level->SsOn = dividers.ucPll_ss_enable;
+       if (phm_cap_enabled(hwmgr->platform_descriptor.platformCaps,
+                               PHM_PlatformCaps_EngineSpreadSpectrumSupport))
+               current_gfxclk_level->SsOn = dividers.ucPll_ss_enable;
+       else
+               current_gfxclk_level->SsOn = 0;
        current_gfxclk_level->SsFbMult =
                        cpu_to_le32(dividers.ulPll_ss_fbsmult);
        current_gfxclk_level->SsSlewFrac =