aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3071-drm-amd-powerplay-export-the-thermal-ranges-of-Carri.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3071-drm-amd-powerplay-export-the-thermal-ranges-of-Carri.patch')
-rw-r--r--meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3071-drm-amd-powerplay-export-the-thermal-ranges-of-Carri.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3071-drm-amd-powerplay-export-the-thermal-ranges-of-Carri.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3071-drm-amd-powerplay-export-the-thermal-ranges-of-Carri.patch
new file mode 100644
index 00000000..7c25008a
--- /dev/null
+++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3071-drm-amd-powerplay-export-the-thermal-ranges-of-Carri.patch
@@ -0,0 +1,58 @@
+From 7654a3dca947e0dff5750c12bc5092a6e7dbc478 Mon Sep 17 00:00:00 2001
+From: Evan Quan <evan.quan@amd.com>
+Date: Tue, 2 Jan 2018 16:57:48 +0800
+Subject: [PATCH 3071/4131] drm/amd/powerplay: export the thermal ranges of
+ Carrizo (V2)
+
+V2: reuse the SMUThermal structure defined in pp_thermal.h
+
+Change-Id: I861e3e6d4ec553171cbf369eca4ac9d834478290
+Signed-off-by: Evan Quan <evan.quan@amd.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+---
+ drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
+index b314d09..0b8aa44 100644
+--- a/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/cz_hwmgr.c
+@@ -38,6 +38,7 @@
+ #include "cz_hwmgr.h"
+ #include "power_state.h"
+ #include "cz_clockpowergating.h"
++#include "pp_thermal.h"
+
+ #define ixSMUSVI_NB_CURRENTVID 0xD8230044
+ #define CURRENT_NB_VID_MASK 0xff000000
+@@ -1858,6 +1859,19 @@ static int cz_notify_cac_buffer_info(struct pp_hwmgr *hwmgr,
+ return 0;
+ }
+
++static int cz_get_thermal_temperature_range(struct pp_hwmgr *hwmgr,
++ struct PP_TemperatureRange *thermal_data)
++{
++ struct cz_hwmgr *cz_hwmgr = (struct cz_hwmgr *)(hwmgr->backend);
++
++ memcpy(thermal_data, &SMU7ThermalPolicy[0], sizeof(struct PP_TemperatureRange));
++
++ thermal_data->max = (cz_hwmgr->thermal_auto_throttling_treshold +
++ cz_hwmgr->sys_info.htc_hyst_lmt) *
++ PP_TEMPERATURE_UNITS_PER_CENTIGRADES;
++
++ return 0;
++}
+
+ static const struct pp_hwmgr_func cz_hwmgr_funcs = {
+ .backend_init = cz_hwmgr_backend_init,
+@@ -1890,6 +1904,7 @@ static const struct pp_hwmgr_func cz_hwmgr_funcs = {
+ .power_state_set = cz_set_power_state_tasks,
+ .dynamic_state_management_disable = cz_disable_dpm_tasks,
+ .notify_cac_buffer_info = cz_notify_cac_buffer_info,
++ .get_thermal_temperature_range = cz_get_thermal_temperature_range,
+ };
+
+ int cz_init_function_pointers(struct pp_hwmgr *hwmgr)
+--
+2.7.4
+