summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
diff options
context:
space:
mode:
authorLikun Gao2019-01-04 09:00:48 +0100
committerAlex Deucher2019-03-19 21:03:57 +0100
commit74ba3553b2bb26adb36dd7d0b13b85bca64f3ef2 (patch)
treea0e769543a854e73fde0ff2d82657fc5dc46ab25 /drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
parentdrm/amd/powerplay: add function to set fan table to control thermal (diff)
downloadkernel-qcow2-linux-74ba3553b2bb26adb36dd7d0b13b85bca64f3ef2.tar.gz
kernel-qcow2-linux-74ba3553b2bb26adb36dd7d0b13b85bca64f3ef2.tar.xz
kernel-qcow2-linux-74ba3553b2bb26adb36dd7d0b13b85bca64f3ef2.zip
drm/amd/powerplay: add function to start thermal control
Add function to start thermal control for smu11 when smu hw_init. Signed-off-by: Likun Gao <Likun.Gao@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h')
-rw-r--r--drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
index 4d12cd607b1a..fe86a7fdfebf 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
@@ -165,6 +165,7 @@ struct smu_table_context
uint32_t table_count;
struct smu_table memory_pool;
uint16_t software_shutdown_temp;
+ uint8_t thermal_controller_type;
};
struct smu_dpm_context {
@@ -256,6 +257,7 @@ struct smu_funcs
int (*get_power_limit)(struct smu_context *smu);
int (*get_current_clk_freq)(struct smu_context *smu, uint32_t clk_id, uint32_t *value);
int (*init_max_sustainable_clocks)(struct smu_context *smu);
+ int (*start_thermal_control)(struct smu_context *smu);
};
#define smu_init_microcode(smu) \
@@ -338,6 +340,8 @@ struct smu_funcs
((smu)->funcs->get_current_clk_freq? (smu)->funcs->get_current_clk_freq((smu), (clk_id), (value)) : 0)
#define smu_print_clk_levels(smu, type, buf) \
((smu)->ppt_funcs->print_clk_levels ? (smu)->ppt_funcs->print_clk_levels((smu), (type), (buf)) : 0)
+#define smu_start_thermal_control(smu) \
+ ((smu)->funcs->start_thermal_control? (smu)->funcs->start_thermal_control((smu)) : 0)
#define smu_msg_get_index(smu, msg) \
((smu)->ppt_funcs? ((smu)->ppt_funcs->get_smu_msg_index? (smu)->ppt_funcs->get_smu_msg_index((smu), (msg)) : -EINVAL) : -EINVAL)