diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0787-drm-amdgpu-powerplay-implement-fan-control-interface.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0787-drm-amdgpu-powerplay-implement-fan-control-interface.patch | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/common/recipes-kernel/linux/files/0787-drm-amdgpu-powerplay-implement-fan-control-interface.patch b/common/recipes-kernel/linux/files/0787-drm-amdgpu-powerplay-implement-fan-control-interface.patch deleted file mode 100644 index 1104e0f0..00000000 --- a/common/recipes-kernel/linux/files/0787-drm-amdgpu-powerplay-implement-fan-control-interface.patch +++ /dev/null @@ -1,140 +0,0 @@ -From 9c35f2adf245dee9aa70bfac4d53159e40443a6e Mon Sep 17 00:00:00 2001 -From: Rex Zhu <Rex.Zhu@amd.com> -Date: Fri, 16 Oct 2015 11:48:21 +0800 -Subject: [PATCH 0787/1565] drm/amdgpu/powerplay: implement fan control - interface in amd_powerplay_funcs - -This adds the interface needed to expose powerplay fan control to sysfs -via hwmon. - -Signed-off-by: Rex Zhu <Rex.Zhu@amd.com> -Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> -Reviewed-by: Alex Deucher <alexander.deucher@amd.com> ---- - drivers/gpu/drm/amd/powerplay/amd_powerplay.c | 85 ++++++++++++++++++++++- - drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h | 4 ++ - 2 files changed, 88 insertions(+), 1 deletion(-) - -diff --git a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c -index 66ccfc0..10385c0 100644 ---- a/drivers/gpu/drm/amd/powerplay/amd_powerplay.c -+++ b/drivers/gpu/drm/amd/powerplay/amd_powerplay.c -@@ -428,9 +428,88 @@ pp_debugfs_print_current_performance_level(void *handle, - hwmgr->hwmgr_func->print_current_perforce_level(hwmgr, m); - } - -+static int pp_dpm_set_fan_control_mode(void *handle, uint32_t mode) -+{ -+ struct pp_hwmgr *hwmgr; -+ -+ if (handle == NULL) -+ return -EINVAL; -+ -+ hwmgr = ((struct pp_instance *)handle)->hwmgr; -+ -+ if (hwmgr == NULL || hwmgr->hwmgr_func == NULL || -+ hwmgr->hwmgr_func->set_fan_control_mode == NULL) -+ return -EINVAL; -+ -+ return hwmgr->hwmgr_func->set_fan_control_mode(hwmgr, mode); -+} -+ -+static int pp_dpm_get_fan_control_mode(void *handle) -+{ -+ struct pp_hwmgr *hwmgr; -+ -+ if (handle == NULL) -+ return -EINVAL; -+ -+ hwmgr = ((struct pp_instance *)handle)->hwmgr; -+ -+ if (hwmgr == NULL || hwmgr->hwmgr_func == NULL || -+ hwmgr->hwmgr_func->get_fan_control_mode == NULL) -+ return -EINVAL; -+ -+ return hwmgr->hwmgr_func->get_fan_control_mode(hwmgr); -+} -+ -+static int pp_dpm_set_fan_speed_percent(void *handle, uint32_t percent) -+{ -+ struct pp_hwmgr *hwmgr; -+ -+ if (handle == NULL) -+ return -EINVAL; -+ -+ hwmgr = ((struct pp_instance *)handle)->hwmgr; -+ -+ if (hwmgr == NULL || hwmgr->hwmgr_func == NULL || -+ hwmgr->hwmgr_func->set_fan_speed_percent == NULL) -+ return -EINVAL; -+ -+ return hwmgr->hwmgr_func->set_fan_speed_percent(hwmgr, percent); -+} -+ -+static int pp_dpm_get_fan_speed_percent(void *handle, uint32_t *speed) -+{ -+ struct pp_hwmgr *hwmgr; -+ -+ if (handle == NULL) -+ return -EINVAL; -+ -+ hwmgr = ((struct pp_instance *)handle)->hwmgr; -+ -+ if (hwmgr == NULL || hwmgr->hwmgr_func == NULL || -+ hwmgr->hwmgr_func->get_fan_speed_percent == NULL) -+ return -EINVAL; -+ -+ return hwmgr->hwmgr_func->get_fan_speed_percent(hwmgr, speed); -+} -+ -+static int pp_dpm_get_temperature(void *handle) -+{ -+ struct pp_hwmgr *hwmgr; -+ -+ if (handle == NULL) -+ return -EINVAL; -+ -+ hwmgr = ((struct pp_instance *)handle)->hwmgr; -+ -+ if (hwmgr == NULL || hwmgr->hwmgr_func == NULL || -+ hwmgr->hwmgr_func->get_temperature == NULL) -+ return -EINVAL; -+ -+ return hwmgr->hwmgr_func->get_temperature(hwmgr); -+} - - const struct amd_powerplay_funcs pp_dpm_funcs = { -- .get_temperature = NULL, -+ .get_temperature = pp_dpm_get_temperature, - .load_firmware = pp_dpm_load_fw, - .wait_for_fw_loading_complete = pp_dpm_fw_loading_complete, - .force_performance_level = pp_dpm_force_performance_level, -@@ -442,6 +521,10 @@ const struct amd_powerplay_funcs pp_dpm_funcs = { - .powergate_uvd = pp_dpm_powergate_uvd, - .dispatch_tasks = pp_dpm_dispatch_tasks, - .print_current_performance_level = pp_debugfs_print_current_performance_level, -+ .set_fan_control_mode = pp_dpm_set_fan_control_mode, -+ .get_fan_control_mode = pp_dpm_get_fan_control_mode, -+ .set_fan_speed_percent = pp_dpm_set_fan_speed_percent, -+ .get_fan_speed_percent = pp_dpm_get_fan_speed_percent, - }; - - static int amd_pp_instance_init(struct amd_pp_init *pp_init, -diff --git a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h -index d81b239..40ded67 100644 ---- a/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h -+++ b/drivers/gpu/drm/amd/powerplay/inc/amd_powerplay.h -@@ -187,6 +187,10 @@ struct amd_powerplay_funcs { - void *input, void *output); - void (*print_current_performance_level)(void *handle, - struct seq_file *m); -+ int (*set_fan_control_mode)(void *handle, uint32_t mode); -+ int (*get_fan_control_mode)(void *handle); -+ int (*set_fan_speed_percent)(void *handle, uint32_t percent); -+ int (*get_fan_speed_percent)(void *handle, uint32_t *speed); - }; - - struct amd_powerplay { --- -1.9.1 - |