Home
last modified time | relevance | path

Searched refs:smu (Results 1 – 25 of 54) sorted by relevance

123

/linux/drivers/gpu/drm/amd/pm/swsmu/
H A Damdgpu_smu.c63 static int smu_force_smuclk_levels(struct smu_context *smu,
66 static int smu_handle_task(struct smu_context *smu,
69 static int smu_reset(struct smu_context *smu);
74 static int smu_set_gfx_cgpg(struct smu_context *smu, bool enabled);
76 static void smu_power_profile_mode_get(struct smu_context *smu,
78 static void smu_power_profile_mode_put(struct smu_context *smu,
88 struct smu_context *smu = handle; in smu_sys_get_pp_feature_mask() local
90 if (!smu->pm_enabled || !smu->adev->pm.dpm_enabled) in smu_sys_get_pp_feature_mask()
93 return smu_get_pp_feature_mask(smu, buf); in smu_sys_get_pp_feature_mask()
99 struct smu_context *smu = handle; in smu_sys_set_pp_feature_mask() local
[all …]
H A Dsmu_cmn.c50 #define smu_cmn_call_asic_func(intf, smu, args...) \ argument
51 ((smu)->ppt_funcs ? ((smu)->ppt_funcs->intf ? \
52 (smu)->ppt_funcs->intf(smu, ##args) : \
59 static const char *smu_get_message_name(struct smu_context *smu, in smu_get_message_name() argument
88 struct amdgpu_device *adev = ctl->smu->adev; in smu_msg_v1_send_debug_msg()
125 int smu_cmn_wait_for_response(struct smu_context *smu) in smu_cmn_wait_for_response() argument
127 return smu_msg_wait_response(&smu->msg_ctl, 0); in smu_cmn_wait_for_response()
162 int smu_cmn_send_smc_msg_with_param(struct smu_context *smu, in smu_cmn_send_smc_msg_with_param() argument
167 struct smu_msg_ctl *ctl = &smu->msg_ctl; in smu_cmn_send_smc_msg_with_param()
186 int smu_cmn_send_smc_msg(struct smu_context *smu, in smu_cmn_send_smc_msg() argument
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu13/
H A Dsmu_v13_0.c93 int smu_v13_0_init_microcode(struct smu_context *smu) in smu_v13_0_init_microcode() argument
95 struct amdgpu_device *adev = smu->adev; in smu_v13_0_init_microcode()
136 void smu_v13_0_fini_microcode(struct smu_context *smu) in smu_v13_0_fini_microcode() argument
138 struct amdgpu_device *adev = smu->adev; in smu_v13_0_fini_microcode()
144 int smu_v13_0_load_microcode(struct smu_context *smu) in smu_v13_0_load_microcode() argument
147 struct amdgpu_device *adev = smu->adev; in smu_v13_0_load_microcode()
186 int smu_v13_0_init_pptable_microcode(struct smu_context *smu) in smu_v13_0_init_pptable_microcode() argument
188 struct amdgpu_device *adev = smu->adev; in smu_v13_0_init_pptable_microcode()
214 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v13_0_init_pptable_microcode()
221 ret = smu_v13_0_get_pptable_from_firmware(smu, &table, &size, pptable_id); in smu_v13_0_init_pptable_microcode()
[all …]
H A Dsmu_v13_0_5_ppt.c126 static int smu_v13_0_5_init_smc_tables(struct smu_context *smu) in smu_v13_0_5_init_smc_tables() argument
128 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_5_init_smc_tables()
152 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in smu_v13_0_5_init_smc_tables()
170 static int smu_v13_0_5_fini_smc_tables(struct smu_context *smu) in smu_v13_0_5_fini_smc_tables() argument
172 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_5_fini_smc_tables()
183 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in smu_v13_0_5_fini_smc_tables()
188 static int smu_v13_0_5_system_features_control(struct smu_context *smu, bool en) in smu_v13_0_5_system_features_control() argument
190 struct amdgpu_device *adev = smu->adev; in smu_v13_0_5_system_features_control()
194 ret = smu_cmn_send_smc_msg(smu, SMU_MSG_PrepareMp1ForUnload, NULL); in smu_v13_0_5_system_features_control()
199 static int smu_v13_0_5_dpm_set_vcn_enable(struct smu_context *smu, in smu_v13_0_5_dpm_set_vcn_enable() argument
[all …]
H A Dyellow_carp_ppt.c153 static int yellow_carp_init_smc_tables(struct smu_context *smu) in yellow_carp_init_smc_tables() argument
155 struct smu_table_context *smu_table = &smu->smu_table; in yellow_carp_init_smc_tables()
179 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in yellow_carp_init_smc_tables()
197 static int yellow_carp_fini_smc_tables(struct smu_context *smu) in yellow_carp_fini_smc_tables() argument
199 struct smu_table_context *smu_table = &smu->smu_table; in yellow_carp_fini_smc_tables()
210 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in yellow_carp_fini_smc_tables()
215 static int yellow_carp_system_features_control(struct smu_context *smu, bool en) in yellow_carp_system_features_control() argument
217 struct amdgpu_device *adev = smu->adev; in yellow_carp_system_features_control()
221 ret = smu_cmn_send_smc_msg(smu, SMU_MSG_PrepareMp1ForUnload, NULL); in yellow_carp_system_features_control()
226 static int yellow_carp_dpm_set_vcn_enable(struct smu_context *smu, in yellow_carp_dpm_set_vcn_enable() argument
[all …]
H A Daldebaran_ppt.c227 static int aldebaran_tables_init(struct smu_context *smu) in aldebaran_tables_init() argument
229 struct smu_table_context *smu_table = &smu->smu_table; in aldebaran_tables_init()
253 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in aldebaran_tables_init()
264 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in aldebaran_tables_init()
271 static int aldebaran_select_plpd_policy(struct smu_context *smu, int level) in aldebaran_select_plpd_policy() argument
273 struct amdgpu_device *adev = smu->adev; in aldebaran_select_plpd_policy()
284 smu, SMU_MSG_GmiPwrDnControl, 0, NULL); in aldebaran_select_plpd_policy()
287 smu, SMU_MSG_GmiPwrDnControl, 1, NULL); in aldebaran_select_plpd_policy()
292 static int aldebaran_allocate_dpm_context(struct smu_context *smu) in aldebaran_allocate_dpm_context() argument
294 struct smu_dpm_context *smu_dpm = &smu->smu_dpm; in aldebaran_allocate_dpm_context()
[all …]
H A Dsmu_v13_0_4_ppt.c151 static int smu_v13_0_4_init_smc_tables(struct smu_context *smu) in smu_v13_0_4_init_smc_tables() argument
153 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_4_init_smc_tables()
177 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in smu_v13_0_4_init_smc_tables()
195 static int smu_v13_0_4_fini_smc_tables(struct smu_context *smu) in smu_v13_0_4_fini_smc_tables() argument
197 struct smu_table_context *smu_table = &smu->smu_table; in smu_v13_0_4_fini_smc_tables()
208 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in smu_v13_0_4_fini_smc_tables()
213 static bool smu_v13_0_4_is_dpm_running(struct smu_context *smu) in smu_v13_0_4_is_dpm_running() argument
218 ret = smu_cmn_get_enabled_mask(smu, &feature_enabled); in smu_v13_0_4_is_dpm_running()
227 static int smu_v13_0_4_system_features_control(struct smu_context *smu, bool en) in smu_v13_0_4_system_features_control() argument
229 struct amdgpu_device *adev = smu->adev; in smu_v13_0_4_system_features_control()
[all …]
H A Dsmu_v13_0_6_ppt.c259 static inline int smu_v13_0_6_get_metrics_version(struct smu_context *smu) in smu_v13_0_6_get_metrics_version() argument
261 if ((smu->adev->flags & AMD_IS_APU) && in smu_v13_0_6_get_metrics_version()
262 smu->smc_fw_version <= 0x4556900) in smu_v13_0_6_get_metrics_version()
264 else if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == in smu_v13_0_6_get_metrics_version()
271 static inline void smu_v13_0_6_cap_set(struct smu_context *smu, in smu_v13_0_6_cap_set() argument
274 struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; in smu_v13_0_6_cap_set()
279 static inline void smu_v13_0_6_cap_clear(struct smu_context *smu, in smu_v13_0_6_cap_clear() argument
282 struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; in smu_v13_0_6_cap_clear()
287 bool smu_v13_0_6_cap_supported(struct smu_context *smu, in smu_v13_0_6_cap_supported() argument
290 struct smu_13_0_dpm_context *dpm_context = smu->smu_dpm.dpm_context; in smu_v13_0_6_cap_supported()
[all …]
H A Dsmu_v13_0_0_ppt.c292 smu_v13_0_0_init_allowed_features(struct smu_context *smu) in smu_v13_0_0_init_allowed_features() argument
294 struct amdgpu_device *adev = smu->adev; in smu_v13_0_0_init_allowed_features()
296 smu_feature_list_set_all(smu, SMU_FEATURE_LIST_ALLOWED); in smu_v13_0_0_init_allowed_features()
299 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_GFXCLK_BIT); in smu_v13_0_0_init_allowed_features()
300 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFX_IMU_BIT); in smu_v13_0_0_init_allowed_features()
305 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_ATHUB_MMHUB_PG_BIT); in smu_v13_0_0_init_allowed_features()
308 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_SOCCLK_BIT); in smu_v13_0_0_init_allowed_features()
310 if ((smu->smc_fw_version < 0x004e3a00) || in smu_v13_0_0_init_allowed_features()
312 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFXOFF_BIT); in smu_v13_0_0_init_allowed_features()
315 smu_feature_list_clear_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_UCLK_BIT); in smu_v13_0_0_init_allowed_features()
[all …]
H A Dsmu_v13_0_7_ppt.c281 smu_v13_0_7_init_allowed_features(struct smu_context *smu) in smu_v13_0_7_init_allowed_features() argument
283 struct amdgpu_device *adev = smu->adev; in smu_v13_0_7_init_allowed_features()
285 smu_feature_list_clear_all(smu, SMU_FEATURE_LIST_ALLOWED); in smu_v13_0_7_init_allowed_features()
287 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_FW_DATA_READ_BIT); in smu_v13_0_7_init_allowed_features()
290 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_GFXCLK_BIT); in smu_v13_0_7_init_allowed_features()
291 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFX_IMU_BIT); in smu_v13_0_7_init_allowed_features()
292 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_GFX_POWER_OPTIMIZER_BIT); in smu_v13_0_7_init_allowed_features()
296 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_GFXOFF_BIT); in smu_v13_0_7_init_allowed_features()
299 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_UCLK_BIT); in smu_v13_0_7_init_allowed_features()
300 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_FCLK_BIT); in smu_v13_0_7_init_allowed_features()
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu15/
H A Dsmu_v15_0.c63 int smu_v15_0_init_microcode(struct smu_context *smu) in smu_v15_0_init_microcode() argument
65 struct amdgpu_device *adev = smu->adev; in smu_v15_0_init_microcode()
101 void smu_v15_0_fini_microcode(struct smu_context *smu) in smu_v15_0_fini_microcode() argument
103 struct amdgpu_device *adev = smu->adev; in smu_v15_0_fini_microcode()
109 int smu_v15_0_load_microcode(struct smu_context *smu) in smu_v15_0_load_microcode() argument
111 struct amdgpu_device *adev = smu->adev; in smu_v15_0_load_microcode()
131 if (smu->is_apu) in smu_v15_0_load_microcode()
147 int smu_v15_0_init_pptable_microcode(struct smu_context *smu) in smu_v15_0_init_pptable_microcode() argument
149 struct amdgpu_device *adev = smu->adev; in smu_v15_0_init_pptable_microcode()
170 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v15_0_init_pptable_microcode()
[all …]
H A Dsmu_v15_0_0_ppt.c163 static int smu_v15_0_0_init_smc_tables(struct smu_context *smu) in smu_v15_0_0_init_smc_tables() argument
165 struct smu_table_context *smu_table = &smu->smu_table; in smu_v15_0_0_init_smc_tables()
189 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in smu_v15_0_0_init_smc_tables()
207 static int smu_v15_0_0_fini_smc_tables(struct smu_context *smu) in smu_v15_0_0_fini_smc_tables() argument
209 struct smu_table_context *smu_table = &smu->smu_table; in smu_v15_0_0_fini_smc_tables()
220 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in smu_v15_0_0_fini_smc_tables()
225 static int smu_v15_0_0_system_features_control(struct smu_context *smu, bool en) in smu_v15_0_0_system_features_control() argument
227 struct amdgpu_device *adev = smu->adev; in smu_v15_0_0_system_features_control()
231 ret = smu_cmn_send_smc_msg(smu, SMU_MSG_PrepareMp1ForUnload, NULL); in smu_v15_0_0_system_features_control()
236 static int smu_v15_0_0_update_table(struct smu_context *smu, in smu_v15_0_0_update_table() argument
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu14/
H A Dsmu_v14_0.c69 int smu_v14_0_init_microcode(struct smu_context *smu) in smu_v14_0_init_microcode() argument
71 struct amdgpu_device *adev = smu->adev; in smu_v14_0_init_microcode()
111 void smu_v14_0_fini_microcode(struct smu_context *smu) in smu_v14_0_fini_microcode() argument
113 struct amdgpu_device *adev = smu->adev; in smu_v14_0_fini_microcode()
119 int smu_v14_0_load_microcode(struct smu_context *smu) in smu_v14_0_load_microcode() argument
121 struct amdgpu_device *adev = smu->adev; in smu_v14_0_load_microcode()
145 if (smu->is_apu) in smu_v14_0_load_microcode()
163 int smu_v14_0_init_pptable_microcode(struct smu_context *smu) in smu_v14_0_init_pptable_microcode() argument
165 struct amdgpu_device *adev = smu->adev; in smu_v14_0_init_pptable_microcode()
190 pptable_id = smu->smu_table.boot_values.pp_table_id; in smu_v14_0_init_pptable_microcode()
[all …]
H A Dsmu_v14_0_0_ppt.c187 static int smu_v14_0_0_init_smc_tables(struct smu_context *smu) in smu_v14_0_0_init_smc_tables() argument
189 struct smu_table_context *smu_table = &smu->smu_table; in smu_v14_0_0_init_smc_tables()
213 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in smu_v14_0_0_init_smc_tables()
231 static int smu_v14_0_0_fini_smc_tables(struct smu_context *smu) in smu_v14_0_0_fini_smc_tables() argument
233 struct smu_table_context *smu_table = &smu->smu_table; in smu_v14_0_0_fini_smc_tables()
244 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in smu_v14_0_0_fini_smc_tables()
249 static int smu_v14_0_0_system_features_control(struct smu_context *smu, bool en) in smu_v14_0_0_system_features_control() argument
251 struct amdgpu_device *adev = smu->adev; in smu_v14_0_0_system_features_control()
255 ret = smu_cmn_send_smc_msg(smu, SMU_MSG_PrepareMp1ForUnload, NULL); in smu_v14_0_0_system_features_control()
260 static int smu_v14_0_0_get_smu_metrics_data(struct smu_context *smu, in smu_v14_0_0_get_smu_metrics_data() argument
[all …]
H A Dsmu_v14_0_2_ppt.c267 static int smu_v14_0_2_init_allowed_features(struct smu_context *smu) in smu_v14_0_2_init_allowed_features() argument
269 smu_feature_list_set_all(smu, SMU_FEATURE_LIST_ALLOWED); in smu_v14_0_2_init_allowed_features()
274 static int smu_v14_0_2_check_powerplay_table(struct smu_context *smu) in smu_v14_0_2_check_powerplay_table() argument
276 struct smu_table_context *table_context = &smu->smu_table; in smu_v14_0_2_check_powerplay_table()
279 struct smu_baco_context *smu_baco = &smu->smu_baco; in smu_v14_0_2_check_powerplay_table()
280 PPTable_t *pptable = smu->smu_table.driver_pptable; in smu_v14_0_2_check_powerplay_table()
287 smu->dc_controlled_by_gpio = true; in smu_v14_0_2_check_powerplay_table()
298 smu->od_enabled = false; in smu_v14_0_2_check_powerplay_table()
307 smu->od_settings = &powerplay_table->overdrive_table; in smu_v14_0_2_check_powerplay_table()
309 smu->adev->pm.no_fan = in smu_v14_0_2_check_powerplay_table()
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu11/
H A Dsmu_v11_0.c82 static void smu_v11_0_poll_baco_exit(struct smu_context *smu) in smu_v11_0_poll_baco_exit() argument
84 struct amdgpu_device *adev = smu->adev; in smu_v11_0_poll_baco_exit()
93 int smu_v11_0_init_microcode(struct smu_context *smu) in smu_v11_0_init_microcode() argument
95 struct amdgpu_device *adev = smu->adev; in smu_v11_0_init_microcode()
132 void smu_v11_0_fini_microcode(struct smu_context *smu) in smu_v11_0_fini_microcode() argument
134 struct amdgpu_device *adev = smu->adev; in smu_v11_0_fini_microcode()
140 int smu_v11_0_load_microcode(struct smu_context *smu) in smu_v11_0_load_microcode() argument
142 struct amdgpu_device *adev = smu->adev; in smu_v11_0_load_microcode()
180 int smu_v11_0_check_fw_status(struct smu_context *smu) in smu_v11_0_check_fw_status() argument
182 struct amdgpu_device *adev = smu->adev; in smu_v11_0_check_fw_status()
[all …]
H A Dvangogh_ppt.c226 static int vangogh_tables_init(struct smu_context *smu) in vangogh_tables_init() argument
228 struct smu_table_context *smu_table = &smu->smu_table; in vangogh_tables_init()
248 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in vangogh_tables_init()
269 smu_driver_table_fini(smu, SMU_DRIVER_TABLE_GPU_METRICS); in vangogh_tables_init()
276 static int vangogh_get_legacy_smu_metrics_data(struct smu_context *smu, in vangogh_get_legacy_smu_metrics_data() argument
280 struct smu_table_context *smu_table = &smu->smu_table; in vangogh_get_legacy_smu_metrics_data()
284 ret = smu_cmn_get_metrics_table(smu, in vangogh_get_legacy_smu_metrics_data()
335 smu->cpu_core_num * sizeof(uint16_t)); in vangogh_get_legacy_smu_metrics_data()
345 static int vangogh_get_smu_metrics_data(struct smu_context *smu, in vangogh_get_smu_metrics_data() argument
349 struct smu_table_context *smu_table = &smu->smu_table; in vangogh_get_smu_metrics_data()
[all …]
H A Dsienna_cichlid_ppt.c80 if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == \
82 (*member) = (smu->smu_table.driver_pptable + \
85 (*member) = (smu->smu_table.driver_pptable + \
98 static int get_table_size(struct smu_context *smu) in get_table_size() argument
100 if (amdgpu_ip_version(smu->adev, MP1_HWIP, 0) == IP_VERSION(11, 0, 13)) in get_table_size()
281 sienna_cichlid_init_allowed_features(struct smu_context *smu) in sienna_cichlid_init_allowed_features() argument
283 struct amdgpu_device *adev = smu->adev; in sienna_cichlid_init_allowed_features()
285 smu_feature_list_clear_all(smu, SMU_FEATURE_LIST_ALLOWED); in sienna_cichlid_init_allowed_features()
287 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_PREFETCHER_BIT); in sienna_cichlid_init_allowed_features()
288 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_FCLK_BIT); in sienna_cichlid_init_allowed_features()
[all …]
H A Dnavi10_ppt.c264 static bool is_asic_secure(struct smu_context *smu) in is_asic_secure() argument
266 struct amdgpu_device *adev = smu->adev; in is_asic_secure()
280 navi10_init_allowed_features(struct smu_context *smu) in navi10_init_allowed_features() argument
282 struct amdgpu_device *adev = smu->adev; in navi10_init_allowed_features()
284 smu_feature_list_clear_all(smu, SMU_FEATURE_LIST_ALLOWED); in navi10_init_allowed_features()
286 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_PREFETCHER_BIT); in navi10_init_allowed_features()
287 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DPM_MP0CLK_BIT); in navi10_init_allowed_features()
288 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_RSMU_SMN_CG_BIT); in navi10_init_allowed_features()
289 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_DS_SOCCLK_BIT); in navi10_init_allowed_features()
290 smu_feature_list_set_bit(smu, SMU_FEATURE_LIST_ALLOWED, FEATURE_PPT_BIT); in navi10_init_allowed_features()
[all …]
H A Darcturus_ppt.c248 static int arcturus_tables_init(struct smu_context *smu) in arcturus_tables_init() argument
250 struct smu_table_context *smu_table = &smu->smu_table; in arcturus_tables_init()
275 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in arcturus_tables_init()
286 static int arcturus_select_plpd_policy(struct smu_context *smu, int level) in arcturus_select_plpd_policy() argument
289 if (smu->smc_fw_version < 0x00361700) { in arcturus_select_plpd_policy()
290 dev_err(smu->adev->dev, in arcturus_select_plpd_policy()
297 smu, SMU_MSG_GmiPwrDnControl, 1, NULL); in arcturus_select_plpd_policy()
300 smu, SMU_MSG_GmiPwrDnControl, 0, NULL); in arcturus_select_plpd_policy()
305 static int arcturus_allocate_dpm_context(struct smu_context *smu) in arcturus_allocate_dpm_context() argument
307 struct smu_dpm_context *smu_dpm = &smu->smu_dpm; in arcturus_allocate_dpm_context()
[all …]
H A Dcyan_skillfish_ppt.c89 static int cyan_skillfish_tables_init(struct smu_context *smu) in cyan_skillfish_tables_init() argument
91 struct smu_table_context *smu_table = &smu->smu_table; in cyan_skillfish_tables_init()
104 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in cyan_skillfish_tables_init()
120 static int cyan_skillfish_init_smc_tables(struct smu_context *smu) in cyan_skillfish_init_smc_tables() argument
124 ret = cyan_skillfish_tables_init(smu); in cyan_skillfish_init_smc_tables()
128 return smu_v11_0_init_smc_tables(smu); in cyan_skillfish_init_smc_tables()
132 cyan_skillfish_get_smu_metrics_data(struct smu_context *smu, in cyan_skillfish_get_smu_metrics_data() argument
136 struct smu_table_context *smu_table = &smu->smu_table; in cyan_skillfish_get_smu_metrics_data()
140 ret = smu_cmn_get_metrics_table(smu, NULL, false); in cyan_skillfish_get_smu_metrics_data()
193 static int cyan_skillfish_read_sensor(struct smu_context *smu, in cyan_skillfish_read_sensor() argument
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/inc/
H A Damdgpu_smu.h652 struct smu_context *smu; member
808 ssize_t (*get_temp_metrics)(struct smu_context *smu,
816 bool (*temp_metrics_is_supported)(struct smu_context *smu, enum smu_temp_metric_type type);
829 int (*run_btc)(struct smu_context *smu);
835 int (*init_allowed_features)(struct smu_context *smu);
842 enum amd_pm_state_type (*get_current_power_state)(struct smu_context *smu);
848 int (*set_default_dpm_table)(struct smu_context *smu);
850 int (*set_power_state)(struct smu_context *smu);
856 int (*populate_umd_state_clk)(struct smu_context *smu);
869 …int (*emit_clk_levels)(struct smu_context *smu, enum smu_clk_type clk_type, char *buf, int *offset…
[all …]
H A Dsmu_v15_0.h125 int smu_v15_0_init_microcode(struct smu_context *smu);
127 void smu_v15_0_fini_microcode(struct smu_context *smu);
129 int smu_v15_0_load_microcode(struct smu_context *smu);
131 int smu_v15_0_init_smc_tables(struct smu_context *smu);
133 int smu_v15_0_fini_smc_tables(struct smu_context *smu);
135 int smu_v15_0_init_power(struct smu_context *smu);
137 int smu_v15_0_fini_power(struct smu_context *smu);
139 int smu_v15_0_check_fw_status(struct smu_context *smu);
141 int smu_v15_0_setup_pptable(struct smu_context *smu);
143 int smu_v15_0_get_vbios_bootup_values(struct smu_context *smu);
[all …]
/linux/drivers/gpu/drm/amd/pm/swsmu/smu12/
H A Drenoir_ppt.c147 static int renoir_init_smc_tables(struct smu_context *smu) in renoir_init_smc_tables() argument
149 struct smu_table_context *smu_table = &smu->smu_table; in renoir_init_smc_tables()
173 ret = smu_driver_table_init(smu, SMU_DRIVER_TABLE_GPU_METRICS, in renoir_init_smc_tables()
195 static int renoir_get_dpm_clk_limited(struct smu_context *smu, enum smu_clk_type clk_type, in renoir_get_dpm_clk_limited() argument
198 DpmClocks_t *clk_table = smu->smu_table.clocks_table; in renoir_get_dpm_clk_limited()
243 static int renoir_get_profiling_clk_mask(struct smu_context *smu, in renoir_get_profiling_clk_mask() argument
273 static int renoir_get_dpm_ultimate_freq(struct smu_context *smu, in renoir_get_dpm_ultimate_freq() argument
282 if (!smu_cmn_clk_dpm_is_enabled(smu, clk_type)) { in renoir_get_dpm_ultimate_freq()
286 clock_limit = smu->smu_table.boot_values.uclk; in renoir_get_dpm_ultimate_freq()
290 clock_limit = smu->smu_table.boot_values.gfxclk; in renoir_get_dpm_ultimate_freq()
[all …]
/linux/drivers/macintosh/
H A Dsmu.c100 static struct smu_device *smu; variable
116 if (list_empty(&smu->cmd_list)) in smu_start_cmd()
120 cmd = list_entry(smu->cmd_list.next, struct smu_cmd, link); in smu_start_cmd()
121 smu->cmd_cur = cmd; in smu_start_cmd()
129 smu->cmd_buf->cmd = cmd->cmd; in smu_start_cmd()
130 smu->cmd_buf->length = cmd->data_len; in smu_start_cmd()
131 memcpy(smu->cmd_buf->data, cmd->data_buf, cmd->data_len); in smu_start_cmd()
134 faddr = (unsigned long)smu->cmd_buf; in smu_start_cmd()
135 fend = faddr + smu->cmd_buf->length + 2; in smu_start_cmd()
148 if (smu->broken_nap) in smu_start_cmd()
[all …]

123