diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/0499-drm-amdgpu-powerplay-endian-fixes-for-vega10_process.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.19.8/0499-drm-amdgpu-powerplay-endian-fixes-for-vega10_process.patch | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/0499-drm-amdgpu-powerplay-endian-fixes-for-vega10_process.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/0499-drm-amdgpu-powerplay-endian-fixes-for-vega10_process.patch new file mode 100644 index 00000000..b1150f21 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/0499-drm-amdgpu-powerplay-endian-fixes-for-vega10_process.patch @@ -0,0 +1,60 @@ +From 08c050f57f34ec83b74dd0f3c7381db6706d5057 Mon Sep 17 00:00:00 2001 +From: Alex Deucher <alexander.deucher@amd.com> +Date: Tue, 9 Oct 2018 15:23:15 -0500 +Subject: [PATCH 0499/2940] drm/amdgpu/powerplay: endian fixes for + vega10_processpptables.c + +Properly swap data from vbios. + +Reviewed-by: Evan Quan <evan.quan@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + .../powerplay/hwmgr/vega10_processpptables.c | 30 +++++++++---------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c +index 16b1a9cf6cf0..b8747a5c9204 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_processpptables.c +@@ -451,23 +451,23 @@ static int get_tdp_table( + le16_to_cpu(power_tune_table_v2->usLoadLineResistance); + } else { + power_tune_table_v3 = (ATOM_Vega10_PowerTune_Table_V3 *)table; +- tdp_table->usMaximumPowerDeliveryLimit = power_tune_table_v3->usSocketPowerLimit; +- tdp_table->usTDC = power_tune_table_v3->usTdcLimit; +- tdp_table->usEDCLimit = power_tune_table_v3->usEdcLimit; +- tdp_table->usSoftwareShutdownTemp = power_tune_table_v3->usSoftwareShutdownTemp; +- tdp_table->usTemperatureLimitTedge = power_tune_table_v3->usTemperatureLimitTedge; +- tdp_table->usTemperatureLimitHotspot = power_tune_table_v3->usTemperatureLimitHotSpot; +- tdp_table->usTemperatureLimitLiquid1 = power_tune_table_v3->usTemperatureLimitLiquid1; +- tdp_table->usTemperatureLimitLiquid2 = power_tune_table_v3->usTemperatureLimitLiquid2; +- tdp_table->usTemperatureLimitHBM = power_tune_table_v3->usTemperatureLimitHBM; +- tdp_table->usTemperatureLimitVrVddc = power_tune_table_v3->usTemperatureLimitVrSoc; +- tdp_table->usTemperatureLimitVrMvdd = power_tune_table_v3->usTemperatureLimitVrMem; +- tdp_table->usTemperatureLimitPlx = power_tune_table_v3->usTemperatureLimitPlx; ++ tdp_table->usMaximumPowerDeliveryLimit = le16_to_cpu(power_tune_table_v3->usSocketPowerLimit); ++ tdp_table->usTDC = le16_to_cpu(power_tune_table_v3->usTdcLimit); ++ tdp_table->usEDCLimit = le16_to_cpu(power_tune_table_v3->usEdcLimit); ++ tdp_table->usSoftwareShutdownTemp = le16_to_cpu(power_tune_table_v3->usSoftwareShutdownTemp); ++ tdp_table->usTemperatureLimitTedge = le16_to_cpu(power_tune_table_v3->usTemperatureLimitTedge); ++ tdp_table->usTemperatureLimitHotspot = le16_to_cpu(power_tune_table_v3->usTemperatureLimitHotSpot); ++ tdp_table->usTemperatureLimitLiquid1 = le16_to_cpu(power_tune_table_v3->usTemperatureLimitLiquid1); ++ tdp_table->usTemperatureLimitLiquid2 = le16_to_cpu(power_tune_table_v3->usTemperatureLimitLiquid2); ++ tdp_table->usTemperatureLimitHBM = le16_to_cpu(power_tune_table_v3->usTemperatureLimitHBM); ++ tdp_table->usTemperatureLimitVrVddc = le16_to_cpu(power_tune_table_v3->usTemperatureLimitVrSoc); ++ tdp_table->usTemperatureLimitVrMvdd = le16_to_cpu(power_tune_table_v3->usTemperatureLimitVrMem); ++ tdp_table->usTemperatureLimitPlx = le16_to_cpu(power_tune_table_v3->usTemperatureLimitPlx); + tdp_table->ucLiquid1_I2C_address = power_tune_table_v3->ucLiquid1_I2C_address; + tdp_table->ucLiquid2_I2C_address = power_tune_table_v3->ucLiquid2_I2C_address; +- tdp_table->usBoostStartTemperature = power_tune_table_v3->usBoostStartTemperature; +- tdp_table->usBoostStopTemperature = power_tune_table_v3->usBoostStopTemperature; +- tdp_table->ulBoostClock = power_tune_table_v3->ulBoostClock; ++ tdp_table->usBoostStartTemperature = le16_to_cpu(power_tune_table_v3->usBoostStartTemperature); ++ tdp_table->usBoostStopTemperature = le16_to_cpu(power_tune_table_v3->usBoostStopTemperature); ++ tdp_table->ulBoostClock = le32_to_cpu(power_tune_table_v3->ulBoostClock); + + get_scl_sda_value(power_tune_table_v3->ucLiquid_I2C_Line, &scl, &sda); + +-- +2.17.1 + |