diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/0938-drm-amd-powerplay-Tidy-up-vega10_thermal_set_tempera.patch b/meta-amd-bsp/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/meta-amd-bsp/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 + |