]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
drm/amd/powerplay: SCLK will have a big drop with low VDDC when PPlib was enabled.
authorRex Zhu <Rex.Zhu@amd.com>
Tue, 3 May 2016 07:47:15 +0000 (15:47 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 13 May 2016 18:24:51 +0000 (14:24 -0400)
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@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/polaris10_hwmgr.c

index 93768fa1dcdc34e9a970713b6d77a03bcf80df74..94b2a73f015116084f02c03470d9c1b173172dfd 100644 (file)
@@ -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);