aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch44
1 files changed, 44 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch
new file mode 100644
index 00000000..41a39b79
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch
@@ -0,0 +1,44 @@
+From 68fed789fc31a8e47c26e1c07e12667918252c76 Mon Sep 17 00:00:00 2001
+From: Tom St Denis <tom.stdenis@amd.com>
+Date: Thu, 7 Sep 2017 13:08:28 -0400
+Subject: [PATCH 0938/4131] drm/amd/powerplay: Tidy up
+ vega10_thermal_set_temperature_range()
+
+Signed-off-by: Tom St Denis <tom.stdenis@amd.com>
+Reviewed-by: Rex Zhu <Rex.Zhu@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 18 ++++--------------
+ 1 file changed, 4 insertions(+), 14 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c
+index ff0a89c..d5d6765 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c
+@@ -405,20 +405,10 @@ static int vega10_thermal_set_temperature_range(struct pp_hwmgr *hwmgr,
+
+ val = cgs_read_register(hwmgr->device, reg);
+
+- val &= (~THM_THERMAL_INT_CTRL__MAX_IH_CREDIT_MASK);
+- val |= (5 << THM_THERMAL_INT_CTRL__MAX_IH_CREDIT__SHIFT);
+-
+- val &= (~THM_THERMAL_INT_CTRL__THERM_IH_HW_ENA_MASK);
+- val |= (1 << THM_THERMAL_INT_CTRL__THERM_IH_HW_ENA__SHIFT);
+-
+- val &= (~THM_THERMAL_INT_CTRL__DIG_THERM_INTH_MASK);
+- val |= ((high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)
+- << THM_THERMAL_INT_CTRL__DIG_THERM_INTH__SHIFT);
+-
+- val &= (~THM_THERMAL_INT_CTRL__DIG_THERM_INTL_MASK);
+- val |= ((low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES)
+- << THM_THERMAL_INT_CTRL__DIG_THERM_INTL__SHIFT);
+-
++ val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, MAX_IH_CREDIT, 5);
++ val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, THERM_IH_HW_ENA, 1);
++ val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTH, (high / PP_TEMPERATURE_UNITS_PER_CENTIGRADES));
++ val = CGS_REG_SET_FIELD(val, THM_THERMAL_INT_CTRL, DIG_THERM_INTL, (low / PP_TEMPERATURE_UNITS_PER_CENTIGRADES));
+ val = val & (~THM_THERMAL_INT_CTRL__THERM_TRIGGER_MASK_MASK);
+
+ cgs_write_register(hwmgr->device, reg, val);
+--
+2.7.4
+