From: Rex Zhu <rex....@amd.com>

SMC uses CurrSclkPllRange structure to keep track of what range of
PLL SCLK is sitting on.  Driver overwrites this value to 0 because
it's part of DPM table and driver doesn't program this.
This change will set this field to 0xFF every time there's a
init SMC table call.

Signed-off-by: Rex Zhu <Rex.Zhu at amd.com>
Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
---
 drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c 
b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c
index 93768fa..94b2a73 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/polaris10_hwmgr.c
@@ -2091,7 +2091,7 @@ static int polaris10_init_smc_table(struct pp_hwmgr 
*hwmgr)
                                "Failed to populate Clock Stretcher Data 
Table!",
                                return result);
        }
-
+       table->CurrSclkPllRange = 0xff;
        table->GraphicsVoltageChangeEnable  = 1;
        table->GraphicsThermThrottleEnable  = 1;
        table->GraphicsInterval = 1;
@@ -2184,6 +2184,7 @@ static int polaris10_init_smc_table(struct pp_hwmgr 
*hwmgr)
        CONVERT_FROM_HOST_TO_SMC_UL(table->SmioMask1);
        CONVERT_FROM_HOST_TO_SMC_UL(table->SmioMask2);
        CONVERT_FROM_HOST_TO_SMC_UL(table->SclkStepSize);
+       CONVERT_FROM_HOST_TO_SMC_UL(table->CurrSclkPllRange);
        CONVERT_FROM_HOST_TO_SMC_US(table->TemperatureLimitHigh);
        CONVERT_FROM_HOST_TO_SMC_US(table->TemperatureLimitLow);
        CONVERT_FROM_HOST_TO_SMC_US(table->VoltageResponseTime);
-- 
2.5.5

Reply via email to