summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
diff options
context:
space:
mode:
authorKevin Wang2018-12-15 03:50:03 +0100
committerAlex Deucher2019-03-19 21:03:55 +0100
commit8bf16963df8c27787f12d7df88d4c88fe6d9aff1 (patch)
treeccff8525610a8f91bd3c31719917c186da263141 /drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
parentdrm/amd/powerplay: implement smu dpm context functions for smu11 (diff)
downloadkernel-qcow2-linux-8bf16963df8c27787f12d7df88d4c88fe6d9aff1.tar.gz
kernel-qcow2-linux-8bf16963df8c27787f12d7df88d4c88fe6d9aff1.tar.xz
kernel-qcow2-linux-8bf16963df8c27787f12d7df88d4c88fe6d9aff1.zip
drm/amd/powerplay: implement smu_init[fini]_power function for smu11
This patch implements smu_init[fini]_power function for smu v11. Signed-off-by: Kevin Wang <Kevin1.Wang@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Acked-by: Alex Deucher <alexander.deucher@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.h9
1 files changed, 9 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 0fce87c99b41..a12af78a2b9c 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/amdgpu_smu.h
@@ -54,6 +54,11 @@ struct smu_dpm_context {
uint32_t dpm_context_size;
};
+struct smu_power_context {
+ void *power_context;
+ uint32_t power_context_size;
+};
+
struct smu_context
{
struct amdgpu_device *adev;
@@ -63,6 +68,7 @@ struct smu_context
struct smu_table_context smu_table;
struct smu_dpm_context smu_dpm;
+ struct smu_power_context smu_power;
};
struct smu_funcs
@@ -71,6 +77,7 @@ struct smu_funcs
int (*init_smc_tables)(struct smu_context *smu);
int (*fini_smc_tables)(struct smu_context *smu);
int (*init_power)(struct smu_context *smu);
+ int (*fini_power)(struct smu_context *smu);
int (*load_microcode)(struct smu_context *smu);
int (*check_fw_status)(struct smu_context *smu);
int (*read_pptable_from_vbios)(struct smu_context *smu);
@@ -99,6 +106,8 @@ struct smu_funcs
((smu)->funcs->fini_smc_tables ? (smu)->funcs->fini_smc_tables((smu)) : 0)
#define smu_init_power(smu) \
((smu)->funcs->init_power ? (smu)->funcs->init_power((smu)) : 0)
+#define smu_fini_power(smu) \
+ ((smu)->funcs->fini_power ? (smu)->funcs->fini_power((smu)) : 0)
#define smu_load_microcode(smu) \
((smu)->funcs->load_microcode ? (smu)->funcs->load_microcode((smu)) : 0)
#define smu_check_fw_status(smu) \