To fetch the max rpm from pptable.

Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
---
 drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h     | 4 ++++
 drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c   | 2 ++
 drivers/gpu/drm/amd/pm/swsmu/smu_internal.h | 1 +
 3 files changed, 7 insertions(+)
diff --git a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h 
b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
index 4c5c041af4ee..787fc682e0a5 100644
--- a/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
+++ b/drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h
@@ -452,6 +452,9 @@ struct smu_context
 
        struct work_struct throttling_logging_work;
        atomic64_t throttle_int_counter;
+
+       unsigned fan_max_rpm;
+       unsigned manual_fan_speed_rpm;
 };
 
 struct i2c_adapter;
@@ -598,6 +601,7 @@ struct pptable_funcs {
        int (*enable_mgpu_fan_boost)(struct smu_context *smu);
        int (*gfx_ulv_control)(struct smu_context *smu, bool enablement);
        int (*deep_sleep_control)(struct smu_context *smu, bool enablement);
+       int (*get_fan_parameters)(struct smu_context *smu);
 };
 
 typedef enum {
diff --git a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c 
b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
index 8462b30f4fe3..114e85613e24 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
+++ b/drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c
@@ -504,6 +504,8 @@ static int smu_late_init(void *handle)
 
        smu_get_unique_id(smu);
 
+       smu_get_fan_parameters(smu);
+
        smu_handle_task(&adev->smu,
                        smu->smu_dpm.dpm_level,
                        AMD_PP_TASK_COMPLETE_INIT,
diff --git a/drivers/gpu/drm/amd/pm/swsmu/smu_internal.h 
b/drivers/gpu/drm/amd/pm/swsmu/smu_internal.h
index c88f8fab1bae..38c10177ed21 100644
--- a/drivers/gpu/drm/amd/pm/swsmu/smu_internal.h
+++ b/drivers/gpu/drm/amd/pm/swsmu/smu_internal.h
@@ -94,6 +94,7 @@
 #define smu_set_pp_feature_mask(smu, new_mask)                         
smu_ppt_funcs(set_pp_feature_mask, 0, smu, new_mask)
 #define smu_gfx_ulv_control(smu, enablement)                           
smu_ppt_funcs(gfx_ulv_control, 0, smu, enablement)
 #define smu_deep_sleep_control(smu, enablement)                                
smu_ppt_funcs(deep_sleep_control, 0, smu, enablement)
+#define smu_get_fan_parameters(smu)                                    
smu_ppt_funcs(get_fan_parameters, 0, smu)
 
 #endif
 #endif
-- 
2.25.4

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to