| /linux/drivers/gpu/drm/amd/pm/swsmu/ |
| H A D | amdgpu_smu.c | 63 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 D | smu_cmn.c | 50 #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 D | smu_v13_0.c | 93 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 D | smu_v13_0_5_ppt.c | 126 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 D | yellow_carp_ppt.c | 153 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 D | aldebaran_ppt.c | 227 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 D | smu_v13_0_4_ppt.c | 151 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 D | smu_v13_0_6_ppt.c | 259 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 D | smu_v13_0_0_ppt.c | 292 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 D | smu_v13_0_7_ppt.c | 281 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 D | smu_v15_0.c | 63 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 D | smu_v15_0_0_ppt.c | 163 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 D | smu_v14_0.c | 69 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 D | smu_v14_0_0_ppt.c | 187 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 D | smu_v14_0_2_ppt.c | 267 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 D | smu_v11_0.c | 82 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 D | vangogh_ppt.c | 226 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 D | sienna_cichlid_ppt.c | 80 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 D | navi10_ppt.c | 264 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 D | arcturus_ppt.c | 248 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 D | cyan_skillfish_ppt.c | 89 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 D | amdgpu_smu.h | 652 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 D | smu_v15_0.h | 125 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 D | renoir_ppt.c | 147 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 D | smu.c | 100 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 …]
|