diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3593-drm-amd-powerplay-fix-thermal-interrupts-on-vega10.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3593-drm-amd-powerplay-fix-thermal-interrupts-on-vega10.patch | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3593-drm-amd-powerplay-fix-thermal-interrupts-on-vega10.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3593-drm-amd-powerplay-fix-thermal-interrupts-on-vega10.patch new file mode 100644 index 00000000..4c3b507b --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3593-drm-amd-powerplay-fix-thermal-interrupts-on-vega10.patch @@ -0,0 +1,34 @@ +From 7aedc8b4ccd5b01f81d36e6a804481ff0ca18993 Mon Sep 17 00:00:00 2001 +From: Eric Huang <JinHuiEric.Huang@amd.com> +Date: Thu, 22 Feb 2018 12:00:35 -0500 +Subject: [PATCH 3593/4131] drm/amd/powerplay: fix thermal interrupts on vega10 + +a bug in programming thermal interrupt register masks out +interrupts and driver cannot receive interrupts. Setting +0 to mask bits will fix it. + +Signed-off-by: Eric Huang <JinHuiEric.Huang@amd.com> +Acked-by: Alex Deucher <alexander.deucher@amd.com> +Signed-off-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c +index 7491163..eb6e965 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_thermal.c +@@ -409,7 +409,9 @@ static int vega10_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, + 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); ++ val &= (~THM_THERMAL_INT_CTRL__THERM_TRIGGER_MASK_MASK) & ++ (~THM_THERMAL_INT_CTRL__THERM_INTH_MASK_MASK) & ++ (~THM_THERMAL_INT_CTRL__THERM_INTL_MASK_MASK); + + cgs_write_register(hwmgr->device, reg, val); + +-- +2.7.4 + |