]> git.proxmox.com Git - mirror_ubuntu-eoan-kernel.git/commitdiff
drm/amd/powerplay: correct LoadLineResistance value in pptable.
authorRex Zhu <Rex.Zhu@amd.com>
Fri, 28 Apr 2017 05:49:50 +0000 (13:49 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 5 May 2017 22:12:08 +0000 (18:12 -0400)
this value is used by avfs to adjust inversion voltage.

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/vega10_powertune.c
drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c

index 692f752fbb27643b93e4efd13601fa6421950f19..3f72268e99bb812d780ba1b9b4f52b2211ee3445 100644 (file)
@@ -48,8 +48,8 @@ void vega10_initialize_power_tune_defaults(struct pp_hwmgr *hwmgr)
        table->Tliquid1Limit = cpu_to_le16(tdp_table->usTemperatureLimitLiquid1);
        table->Tliquid2Limit = cpu_to_le16(tdp_table->usTemperatureLimitLiquid2);
        table->TplxLimit = cpu_to_le16(tdp_table->usTemperatureLimitPlx);
-       table->LoadLineResistance = cpu_to_le16(
-                       hwmgr->platform_descriptor.LoadLineSlope);
+       table->LoadLineResistance =
+                       hwmgr->platform_descriptor.LoadLineSlope * 256;
        table->FitLimit = 0; /* Not used for Vega10 */
 
        table->Liquid1_I2C_address = tdp_table->ucLiquid1_I2C_address;
index 8b55ae01132d6ffdc4c3a7c63779e7f97124a8ea..00e95511e19af1df99780646300288f5d6c2b7ed 100644 (file)
@@ -407,7 +407,7 @@ static int get_tdp_table(
                tdp_table->ucPlx_I2C_address = power_tune_table->ucPlx_I2C_address;
                tdp_table->ucPlx_I2C_Line = power_tune_table->ucPlx_I2C_LineSCL;
                tdp_table->ucPlx_I2C_LineSDA = power_tune_table->ucPlx_I2C_LineSDA;
-               hwmgr->platform_descriptor.LoadLineSlope = power_tune_table->usLoadLineResistance;
+               hwmgr->platform_descriptor.LoadLineSlope = le16_to_cpu(power_tune_table->usLoadLineResistance);
        } else {
                power_tune_table_v2 = (ATOM_Vega10_PowerTune_Table_V2 *)table;
                tdp_table->usMaximumPowerDeliveryLimit = le16_to_cpu(power_tune_table_v2->usSocketPowerLimit);
@@ -453,7 +453,7 @@ static int get_tdp_table(
                tdp_table->ucPlx_I2C_LineSDA = sda;
 
                hwmgr->platform_descriptor.LoadLineSlope =
-                                       power_tune_table_v2->usLoadLineResistance;
+                                       le16_to_cpu(power_tune_table_v2->usLoadLineResistance);
        }
 
        *info_tdp_table = tdp_table;