diff options
Diffstat (limited to 'meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3069-drm-amd-powerplay-export-vega10-specific-thermal-ran.patch')
-rw-r--r-- | meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3069-drm-amd-powerplay-export-vega10-specific-thermal-ran.patch | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3069-drm-amd-powerplay-export-vega10-specific-thermal-ran.patch b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3069-drm-amd-powerplay-export-vega10-specific-thermal-ran.patch new file mode 100644 index 00000000..690896a1 --- /dev/null +++ b/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.14.71/3069-drm-amd-powerplay-export-vega10-specific-thermal-ran.patch @@ -0,0 +1,101 @@ +From 3e552d663177f0580946af33eca4befab1617a77 Mon Sep 17 00:00:00 2001 +From: Evan Quan <evan.quan@amd.com> +Date: Tue, 2 Jan 2018 14:27:33 +0800 +Subject: [PATCH 3069/4131] drm/amd/powerplay: export vega10 specific thermal + ranges (V2) + +V2: new header file to hold the common SMU7Thermal structure + +Change-Id: If240a45dd2538e93185802b1fce54fd83de89de0 +Signed-off-by: Evan Quan <evan.quan@amd.com> +Reviewed-by: Alex Deucher <alexander.deucher@amd.com> +--- + drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c | 16 ++++++++++ + drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h | 34 ++++++++++++++++++++++ + 2 files changed, 50 insertions(+) + create mode 100644 drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h + +diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +index 5f9c3ef..da82e1e 100644 +--- a/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c ++++ b/drivers/gpu/drm/amd/powerplay/hwmgr/vega10_hwmgr.c +@@ -49,6 +49,7 @@ + #include "cgs_linux.h" + #include "ppinterrupt.h" + #include "pp_overdriver.h" ++#include "pp_thermal.h" + + #define VOLTAGE_SCALE 4 + #define VOLTAGE_VID_OFFSET_SCALE1 625 +@@ -4991,6 +4992,20 @@ static int vega10_notify_cac_buffer_info(struct pp_hwmgr *hwmgr, + return 0; + } + ++static int vega10_get_thermal_temperature_range(struct pp_hwmgr *hwmgr, ++ struct PP_TemperatureRange *thermal_data) ++{ ++ struct phm_ppt_v2_information *table_info = ++ (struct phm_ppt_v2_information *)hwmgr->pptable; ++ ++ memcpy(thermal_data, &SMU7ThermalWithDelayPolicy[0], sizeof(struct PP_TemperatureRange)); ++ ++ thermal_data->max = table_info->tdp_table->usSoftwareShutdownTemp * ++ PP_TEMPERATURE_UNITS_PER_CENTIGRADES; ++ ++ return 0; ++} ++ + static int vega10_register_thermal_interrupt(struct pp_hwmgr *hwmgr, + const void *info) + { +@@ -5077,6 +5092,7 @@ static const struct pp_hwmgr_func vega10_hwmgr_funcs = { + .set_mclk_od = vega10_set_mclk_od, + .avfs_control = vega10_avfs_enable, + .notify_cac_buffer_info = vega10_notify_cac_buffer_info, ++ .get_thermal_temperature_range = vega10_get_thermal_temperature_range, + .register_internal_thermal_interrupt = vega10_register_thermal_interrupt, + .start_thermal_controller = vega10_start_thermal_controller, + }; +diff --git a/drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h b/drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h +new file mode 100644 +index 0000000..82b810a +--- /dev/null ++++ b/drivers/gpu/drm/amd/powerplay/inc/pp_thermal.h +@@ -0,0 +1,34 @@ ++/* ++ * Copyright 2018 Advanced Micro Devices, Inc. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR ++ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR ++ * OTHER DEALINGS IN THE SOFTWARE. ++ * ++ */ ++#ifndef PP_THERMAL_H ++#define PP_THERMAL_H ++ ++#include "power_state.h" ++ ++static const struct PP_TemperatureRange SMU7ThermalWithDelayPolicy[] = ++{ ++ {-273150, 99000}, ++ { 120000, 120000}, ++}; ++ ++#endif +-- +2.7.4 + |