diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5479-drm-amd-pp-Fix-fan-s-RPM-setting-not-work-on-VI-Vega.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/5479-drm-amd-pp-Fix-fan-s-RPM-setting-not-work-on-VI-Vega.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5479-drm-amd-pp-Fix-fan-s-RPM-setting-not-work-on-VI-Vega.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5479-drm-amd-pp-Fix-fan-s-RPM-setting-not-work-on-VI-Vega.patch new file mode 100644 index 00000000..a5d2275a --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5479-drm-amd-pp-Fix-fan-s-RPM-setting-not-work-on-VI-Vega.patch @@ -0,0 +1,48 @@ +From c086d59d8a6165a5cc5298af314ce3274476b5ae Mon Sep 17 00:00:00 2001 +From: Rex Zhu <Rex.Zhu@amd.com> +Date: Thu, 20 Sep 2018 15:11:08 +0800 +Subject: [PATCH 5479/5725] drm/amd/pp: Fix fan's RPM setting not work on + VI/Vega10 + +set the target rpm value to wrong register. + +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> +--- + drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c | 2 +- + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 6 +++--- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c +index 44527755..eef086c 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/smu7_thermal.c +@@ -272,7 +272,7 @@ int smu7_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) + tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed); + + PHM_WRITE_VFPF_INDIRECT_FIELD(hwmgr->device, CGS_IND_REG__SMC, +- CG_TACH_STATUS, TACH_PERIOD, tach_period); ++ CG_TACH_CTRL, TARGET_PERIOD, tach_period); + + return smu7_fan_ctrl_set_static_mode(hwmgr, FDO_PWM_MODE_STATIC_RPM); + } +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c +index 407762b..538de6c 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c +@@ -322,9 +322,9 @@ int vega10_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) + if (!result) { + crystal_clock_freq = amdgpu_asic_get_xclk((struct amdgpu_device *)hwmgr->adev); + tach_period = 60 * crystal_clock_freq * 10000 / (8 * speed); +- WREG32_SOC15(THM, 0, mmCG_TACH_STATUS, +- REG_SET_FIELD(RREG32_SOC15(THM, 0, mmCG_TACH_STATUS), +- CG_TACH_STATUS, TACH_PERIOD, ++ WREG32_SOC15(THM, 0, mmCG_TACH_CTRL, ++ REG_SET_FIELD(RREG32_SOC15(THM, 0, mmCG_TACH_CTRL), ++ CG_TACH_CTRL, TARGET_PERIOD, + tach_period)); + } + return vega10_fan_ctrl_set_static_mode(hwmgr, FDO_PWM_MODE_STATIC_RPM); +-- +2.7.4 + |