Home
last modified time | relevance | path

Searched defs:hwmgr (Results 26 - 50 of 103) sorted by relevance

12345

/kernel/linux/linux-5.10/drivers/gpu/drm/amd/pm/powerplay/hwmgr/
H A Dsmu7_clockpowergating.c28 static int smu7_enable_disable_uvd_dpm(struct pp_hwmgr *hwmgr, bool enable) in smu7_enable_disable_uvd_dpm() argument
36 static int smu7_enable_disable_vce_dpm(struct pp_hwmgr *hwmgr, bool enable) in smu7_enable_disable_vce_dpm() argument
44 static int smu7_update_uvd_dpm(struct pp_hwmgr *hwmgr, bool bgate) in smu7_update_uvd_dpm() argument
51 static int smu7_update_vce_dpm(struct pp_hwmgr *hwmgr, bool bgate) in smu7_update_vce_dpm() argument
58 smu7_powerdown_uvd(struct pp_hwmgr *hwmgr) smu7_powerdown_uvd() argument
67 smu7_powerup_uvd(struct pp_hwmgr *hwmgr) smu7_powerup_uvd() argument
83 smu7_powerdown_vce(struct pp_hwmgr *hwmgr) smu7_powerdown_vce() argument
92 smu7_powerup_vce(struct pp_hwmgr *hwmgr) smu7_powerup_vce() argument
101 smu7_disable_clock_power_gating(struct pp_hwmgr *hwmgr) smu7_disable_clock_power_gating() argument
114 smu7_powergate_uvd(struct pp_hwmgr *hwmgr, bool bgate) smu7_powergate_uvd() argument
142 smu7_powergate_vce(struct pp_hwmgr *hwmgr, bool bgate) smu7_powergate_vce() argument
169 smu7_update_clock_gatings(struct pp_hwmgr *hwmgr, const uint32_t *msg_id) smu7_update_clock_gatings() argument
424 smu7_powergate_gfx(struct pp_hwmgr *hwmgr, bool enable) smu7_powergate_gfx() argument
[all...]
H A Dhwmgr.c65 hwmgr_init_workload_prority(struct pp_hwmgr *hwmgr) hwmgr_init_workload_prority() argument
82 hwmgr_early_init(struct pp_hwmgr *hwmgr) hwmgr_early_init() argument
200 hwmgr_sw_init(struct pp_hwmgr *hwmgr) hwmgr_sw_init() argument
212 hwmgr_sw_fini(struct pp_hwmgr *hwmgr) hwmgr_sw_fini() argument
220 hwmgr_hw_init(struct pp_hwmgr *hwmgr) hwmgr_hw_init() argument
283 hwmgr_hw_fini(struct pp_hwmgr *hwmgr) hwmgr_hw_fini() argument
301 hwmgr_suspend(struct pp_hwmgr *hwmgr) hwmgr_suspend() argument
320 hwmgr_resume(struct pp_hwmgr *hwmgr) hwmgr_resume() argument
361 hwmgr_handle_task(struct pp_hwmgr *hwmgr, enum amd_pp_task task_id, enum amd_pm_state_type *user_state) hwmgr_handle_task() argument
413 hwmgr_init_default_caps(struct pp_hwmgr *hwmgr) hwmgr_init_default_caps() argument
445 hwmgr_set_user_specify_caps(struct pp_hwmgr *hwmgr) hwmgr_set_user_specify_caps() argument
472 polaris_set_asic_special_caps(struct pp_hwmgr *hwmgr) polaris_set_asic_special_caps() argument
499 fiji_set_asic_special_caps(struct pp_hwmgr *hwmgr) fiji_set_asic_special_caps() argument
514 tonga_set_asic_special_caps(struct pp_hwmgr *hwmgr) tonga_set_asic_special_caps() argument
534 topaz_set_asic_special_caps(struct pp_hwmgr *hwmgr) topaz_set_asic_special_caps() argument
549 ci_set_asic_special_caps(struct pp_hwmgr *hwmgr) ci_set_asic_special_caps() argument
[all...]
H A Dpp_psm.c29 int psm_init_power_state_table(struct pp_hwmgr *hwmgr) in psm_init_power_state_table() argument
94 psm_fini_power_state_table(struct pp_hwmgr *hwmgr) psm_fini_power_state_table() argument
111 psm_get_ui_state(struct pp_hwmgr *hwmgr, enum PP_StateUILabel ui_label, unsigned long *state_id) psm_get_ui_state() argument
132 psm_get_state_by_classification(struct pp_hwmgr *hwmgr, enum PP_StateClassificationFlag flag, unsigned long *state_id) psm_get_state_by_classification() argument
153 psm_set_states(struct pp_hwmgr *hwmgr, unsigned long state_id) psm_set_states() argument
173 psm_set_boot_states(struct pp_hwmgr *hwmgr) psm_set_boot_states() argument
188 psm_set_performance_states(struct pp_hwmgr *hwmgr) psm_set_performance_states() argument
203 psm_set_user_performance_state(struct pp_hwmgr *hwmgr, enum PP_StateUILabel label_id, struct pp_power_state **state) psm_set_user_performance_state() argument
234 power_state_management(struct pp_hwmgr *hwmgr, struct pp_power_state *new_ps) power_state_management() argument
259 psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip_display_settings, struct pp_power_state *new_ps) psm_adjust_power_state_dynamic() argument
[all...]
H A Dsmu7_thermal.c29 int smu7_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, in smu7_fan_ctrl_get_fan_speed_info() argument
54 int smu7_fan_ctrl_get_fan_speed_percent(struct pp_hwmgr *hwmgr, in smu7_fan_ctrl_get_fan_speed_percent() argument
83 int smu7_fan_ctrl_get_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_ argument
111 smu7_fan_ctrl_set_static_mode(struct pp_hwmgr *hwmgr, uint32_t mode) smu7_fan_ctrl_set_static_mode() argument
136 smu7_fan_ctrl_set_default_mode(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_set_default_mode() argument
149 smu7_fan_ctrl_start_smc_fan_control(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_start_smc_fan_control() argument
184 smu7_fan_ctrl_stop_smc_fan_control(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_stop_smc_fan_control() argument
196 smu7_fan_ctrl_set_fan_speed_percent(struct pp_hwmgr *hwmgr, uint32_t speed) smu7_fan_ctrl_set_fan_speed_percent() argument
233 smu7_fan_ctrl_reset_fan_speed_to_default(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_reset_fan_speed_to_default() argument
256 smu7_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) smu7_fan_ctrl_set_fan_speed_rpm() argument
287 smu7_thermal_get_temperature(struct pp_hwmgr *hwmgr) smu7_thermal_get_temperature() argument
312 smu7_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, int low_temp, int high_temp) smu7_thermal_set_temperature_range() argument
346 smu7_thermal_initialize(struct pp_hwmgr *hwmgr) smu7_thermal_initialize() argument
365 smu7_thermal_enable_alert(struct pp_hwmgr *hwmgr) smu7_thermal_enable_alert() argument
383 smu7_thermal_disable_alert(struct pp_hwmgr *hwmgr) smu7_thermal_disable_alert() argument
402 smu7_thermal_stop_thermal_controller(struct pp_hwmgr *hwmgr) smu7_thermal_stop_thermal_controller() argument
421 smu7_thermal_start_smc_fan_control(struct pp_hwmgr *hwmgr) smu7_thermal_start_smc_fan_control() argument
436 smu7_start_thermal_controller(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) smu7_start_thermal_controller() argument
465 smu7_thermal_ctrl_uninitialize_thermal_controller(struct pp_hwmgr *hwmgr) smu7_thermal_ctrl_uninitialize_thermal_controller() argument
[all...]
H A Dvega12_thermal.c32 static int vega12_get_current_rpm(struct pp_hwmgr *hwmgr, uint32_t *current_rpm) in vega12_get_current_rpm() argument
43 int vega12_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, in vega12_fan_ctrl_get_fan_speed_info() argument
55 int vega12_fan_ctrl_get_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t *speed) in vega12_fan_ctrl_get_fan_speed_rpm() argument
69 static int vega12_enable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega12_enable_fan_control_feature() argument
87 static int vega12_disable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega12_disable_fan_control_feature() argument
105 vega12_fan_ctrl_start_smc_fan_control(struct pp_hwmgr *hwmgr) vega12_fan_ctrl_start_smc_fan_control() argument
119 vega12_fan_ctrl_stop_smc_fan_control(struct pp_hwmgr *hwmgr) vega12_fan_ctrl_stop_smc_fan_control() argument
136 vega12_fan_ctrl_reset_fan_speed_to_default(struct pp_hwmgr *hwmgr) vega12_fan_ctrl_reset_fan_speed_to_default() argument
146 vega12_thermal_get_temperature(struct pp_hwmgr *hwmgr) vega12_thermal_get_temperature() argument
170 vega12_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega12_thermal_set_temperature_range() argument
207 vega12_thermal_enable_alert(struct pp_hwmgr *hwmgr) vega12_thermal_enable_alert() argument
225 vega12_thermal_disable_alert(struct pp_hwmgr *hwmgr) vega12_thermal_disable_alert() argument
239 vega12_thermal_stop_thermal_controller(struct pp_hwmgr *hwmgr) vega12_thermal_stop_thermal_controller() argument
255 vega12_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) vega12_thermal_setup_fan_table() argument
278 vega12_thermal_start_smc_fan_control(struct pp_hwmgr *hwmgr) vega12_thermal_start_smc_fan_control() argument
292 vega12_start_thermal_controller(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega12_start_thermal_controller() argument
[all...]
H A Dvega20_processpptables.c37 static void set_hw_cap(struct pp_hwmgr *hwmgr, bool enable, in set_hw_cap() argument
46 static const void *get_powerplay_table(struct pp_hwmgr *hwmgr) in get_powerplay_table() argument
661 static int set_platform_caps(struct pp_hwmgr *hwmgr, uint32_ argument
638 check_powerplay_tables( struct pp_hwmgr *hwmgr, const ATOM_Vega20_POWERPLAYTABLE *powerplay_table) check_powerplay_tables() argument
686 copy_overdrive_feature_capabilities_array( struct pp_hwmgr *hwmgr, uint8_t **pptable_info_array, const uint8_t *pptable_array, uint8_t od_feature_count) copy_overdrive_feature_capabilities_array() argument
716 append_vbios_pptable(struct pp_hwmgr *hwmgr, PPTable_t *ppsmc_pptable) append_vbios_pptable() argument
803 override_powerplay_table_fantargettemperature(struct pp_hwmgr *hwmgr) override_powerplay_table_fantargettemperature() argument
815 init_powerplay_table_information( struct pp_hwmgr *hwmgr, const ATOM_Vega20_POWERPLAYTABLE *powerplay_table) init_powerplay_table_information() argument
909 vega20_pp_tables_initialize(struct pp_hwmgr *hwmgr) vega20_pp_tables_initialize() argument
938 vega20_pp_tables_uninitialize(struct pp_hwmgr *hwmgr) vega20_pp_tables_uninitialize() argument
[all...]
H A Dvega20_thermal.c32 static int vega20_disable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega20_disable_fan_control_feature() argument
51 int vega20_fan_ctrl_stop_smc_fan_control(struct pp_hwmgr *hwmgr) in vega20_fan_ctrl_stop_smc_fan_control() argument
61 static int vega20_enable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega20_enable_fan_control_feature() argument
80 int vega20_fan_ctrl_start_smc_fan_control(struct pp_hwmgr *hwmgr) in vega20_fan_ctrl_start_smc_fan_control() argument
90 vega20_fan_ctrl_set_static_mode(struct pp_hwmgr *hwmgr, uint32_t mode) vega20_fan_ctrl_set_static_mode() argument
104 vega20_get_current_rpm(struct pp_hwmgr *hwmgr, uint32_t *current_rpm) vega20_get_current_rpm() argument
117 vega20_fan_ctrl_get_fan_speed_percent(struct pp_hwmgr *hwmgr, uint32_t *speed) vega20_fan_ctrl_get_fan_speed_percent() argument
136 vega20_fan_ctrl_set_fan_speed_percent(struct pp_hwmgr *hwmgr, uint32_t speed) vega20_fan_ctrl_set_fan_speed_percent() argument
167 vega20_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, struct phm_fan_speed_info *fan_speed_info) vega20_fan_ctrl_get_fan_speed_info() argument
179 vega20_fan_ctrl_get_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t *speed) vega20_fan_ctrl_get_fan_speed_rpm() argument
186 vega20_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) vega20_fan_ctrl_set_fan_speed_rpm() argument
216 vega20_thermal_get_temperature(struct pp_hwmgr *hwmgr) vega20_thermal_get_temperature() argument
240 vega20_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega20_thermal_set_temperature_range() argument
277 vega20_thermal_enable_alert(struct pp_hwmgr *hwmgr) vega20_thermal_enable_alert() argument
295 vega20_thermal_disable_alert(struct pp_hwmgr *hwmgr) vega20_thermal_disable_alert() argument
309 vega20_thermal_stop_thermal_controller(struct pp_hwmgr *hwmgr) vega20_thermal_stop_thermal_controller() argument
325 vega20_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) vega20_thermal_setup_fan_table() argument
339 vega20_start_thermal_controller(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega20_start_thermal_controller() argument
[all...]
H A Dsmu7_powertune.c853 static int smu7_enable_didt(struct pp_hwmgr *hwmgr, const bool enable) in smu7_enable_didt() argument
898 static int smu7_program_pt_config_registers(struct pp_hwmgr *hwmgr, in smu7_program_pt_config_registers() argument
959 smu7_enable_didt_config(struct pp_hwmgr *hwmgr) smu7_enable_didt_config() argument
1031 smu7_disable_didt_config(struct pp_hwmgr *hwmgr) smu7_disable_didt_config() argument
1063 smu7_enable_smc_cac(struct pp_hwmgr *hwmgr) smu7_enable_smc_cac() argument
1081 smu7_disable_smc_cac(struct pp_hwmgr *hwmgr) smu7_disable_smc_cac() argument
1098 smu7_set_power_limit(struct pp_hwmgr *hwmgr, uint32_t n) smu7_set_power_limit() argument
1111 smu7_set_overdriver_target_tdp(struct pp_hwmgr *hwmgr, uint32_t target_tdp) smu7_set_overdriver_target_tdp() argument
1120 smu7_enable_power_containment(struct pp_hwmgr *hwmgr) smu7_enable_power_containment() argument
1167 smu7_disable_power_containment(struct pp_hwmgr *hwmgr) smu7_disable_power_containment() argument
1211 smu7_power_control_set_level(struct pp_hwmgr *hwmgr) smu7_power_control_set_level() argument
[all...]
H A Dppatomfwctrl.c76 bool pp_atomfwctrl_is_voltage_controlled_by_gpio_v4(struct pp_hwmgr *hwmgr, in pp_atomfwctrl_is_voltage_controlled_by_gpio_v4() argument
95 int pp_atomfwctrl_get_voltage_table_v4(struct pp_hwmgr *hwmgr, in pp_atomfwctrl_get_voltage_table_v4() argument
208 bool pp_atomfwctrl_get_pp_assign_pin(struct pp_hwmgr *hwmgr, in pp_atomfwctrl_get_pp_assign_pin() argument
54 pp_atomfwctrl_get_voltage_info_table( struct pp_hwmgr *hwmgr) pp_atomfwctrl_get_voltage_info_table() argument
162 pp_atomfwctrl_get_gpio_lookup_table( struct pp_hwmgr *hwmgr) pp_atomfwctrl_get_gpio_lookup_table() argument
231 pp_atomfwctrl_enter_self_refresh(struct pp_hwmgr *hwmgr) pp_atomfwctrl_enter_self_refresh() argument
246 pp_atomfwctrl_get_gpu_pll_dividers_vega10(struct pp_hwmgr *hwmgr, uint32_t clock_type, uint32_t clock_value, struct pp_atomfwctrl_clock_dividers_soc15 *dividers) pp_atomfwctrl_get_gpu_pll_dividers_vega10() argument
276 pp_atomfwctrl_get_avfs_information(struct pp_hwmgr *hwmgr, struct pp_atomfwctrl_avfs_parameters *param) pp_atomfwctrl_get_avfs_information() argument
463 pp_atomfwctrl_get_gpio_information(struct pp_hwmgr *hwmgr, struct pp_atomfwctrl_gpio_parameters *param) pp_atomfwctrl_get_gpio_information() argument
491 pp_atomfwctrl_get_clk_information_by_clkid(struct pp_hwmgr *hwmgr, uint8_t clk_id, uint8_t syspll_id, uint32_t *frequency) pp_atomfwctrl_get_clk_information_by_clkid() argument
517 pp_atomfwctrl_copy_vbios_bootup_values_3_2(struct pp_hwmgr *hwmgr, struct pp_atomfwctrl_bios_boot_up_values *boot_values, struct atom_firmware_info_v3_2 *fw_info) pp_atomfwctrl_copy_vbios_bootup_values_3_2() argument
553 pp_atomfwctrl_copy_vbios_bootup_values_3_1(struct pp_hwmgr *hwmgr, struct pp_atomfwctrl_bios_boot_up_values *boot_values, struct atom_firmware_info_v3_1 *fw_info) pp_atomfwctrl_copy_vbios_bootup_values_3_1() argument
586 pp_atomfwctrl_get_vbios_bootup_values(struct pp_hwmgr *hwmgr, struct pp_atomfwctrl_bios_boot_up_values *boot_values) pp_atomfwctrl_get_vbios_bootup_values() argument
620 pp_atomfwctrl_get_smc_dpm_information(struct pp_hwmgr *hwmgr, struct pp_atomfwctrl_smc_dpm_parameters *param) pp_atomfwctrl_get_smc_dpm_information() argument
[all...]
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/pm/powerplay/smumgr/
H A Dvega12_smumgr.c40 static int vega12_copy_table_from_smc(struct pp_hwmgr *hwmgr, in vega12_copy_table_from_smc() argument
85 static int vega12_copy_table_to_smc(struct pp_hwmgr *hwmgr, in vega12_copy_table_to_smc() argument
126 vega12_enable_smc_features(struct pp_hwmgr *hwmgr, bool enable, uint64_t feature_mask) vega12_enable_smc_features() argument
157 vega12_get_enabled_smc_features(struct pp_hwmgr *hwmgr, uint64_t *features_enabled) vega12_get_enabled_smc_features() argument
183 vega12_is_dpm_running(struct pp_hwmgr *hwmgr) vega12_is_dpm_running() argument
195 vega12_set_tools_address(struct pp_hwmgr *hwmgr) vega12_set_tools_address() argument
213 vega12_smu_init(struct pp_hwmgr *hwmgr) vega12_smu_init() argument
348 vega12_smu_fini(struct pp_hwmgr *hwmgr) vega12_smu_fini() argument
379 vega12_start_smu(struct pp_hwmgr *hwmgr) vega12_start_smu() argument
390 vega12_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) vega12_smc_table_manager() argument
[all...]
H A Dvega10_smumgr.c38 static int vega10_copy_table_from_smc(struct pp_hwmgr *hwmgr, in vega10_copy_table_from_smc() argument
72 static int vega10_copy_table_to_smc(struct pp_hwmgr *hwmgr, in vega10_copy_table_to_smc() argument
112 vega10_enable_smc_features(struct pp_hwmgr *hwmgr, bool enable, uint32_t feature_mask) vega10_enable_smc_features() argument
130 vega10_get_enabled_smc_features(struct pp_hwmgr *hwmgr, uint64_t *features_enabled) vega10_get_enabled_smc_features() argument
146 vega10_is_dpm_running(struct pp_hwmgr *hwmgr) vega10_is_dpm_running() argument
158 vega10_set_tools_address(struct pp_hwmgr *hwmgr) vega10_set_tools_address() argument
175 vega10_verify_smc_interface(struct pp_hwmgr *hwmgr) vega10_verify_smc_interface() argument
205 vega10_smu_init(struct pp_hwmgr *hwmgr) vega10_smu_init() argument
331 vega10_smu_fini(struct pp_hwmgr *hwmgr) vega10_smu_fini() argument
358 vega10_start_smu(struct pp_hwmgr *hwmgr) vega10_start_smu() argument
372 vega10_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) vega10_smc_table_manager() argument
[all...]
H A Dsmumgr.c57 int smum_thermal_avfs_enable(struct pp_hwmgr *hwmgr) in smum_thermal_avfs_enable() argument
65 int smum_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) in smum_thermal_setup_fan_table() argument
73 int smum_update_sclk_threshold(struct pp_hwmgr *hwmgr) in smum_update_sclk_threshold() argument
82 smum_update_smc_table(struct pp_hwmgr *hwmgr, uint32_t type) smum_update_smc_table() argument
91 smum_get_offsetof(struct pp_hwmgr *hwmgr, uint32_t type, uint32_t member) smum_get_offsetof() argument
99 smum_process_firmware_header(struct pp_hwmgr *hwmgr) smum_process_firmware_header() argument
106 smum_get_mac_definition(struct pp_hwmgr *hwmgr, uint32_t value) smum_get_mac_definition() argument
114 smum_download_powerplay_table(struct pp_hwmgr *hwmgr, void **table) smum_download_powerplay_table() argument
122 smum_upload_powerplay_table(struct pp_hwmgr *hwmgr) smum_upload_powerplay_table() argument
130 smum_send_msg_to_smc(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t *resp) smum_send_msg_to_smc() argument
155 smum_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t parameter, uint32_t *resp) smum_send_msg_to_smc_with_parameter() argument
184 smum_init_smc_table(struct pp_hwmgr *hwmgr) smum_init_smc_table() argument
192 smum_populate_all_graphic_levels(struct pp_hwmgr *hwmgr) smum_populate_all_graphic_levels() argument
200 smum_populate_all_memory_levels(struct pp_hwmgr *hwmgr) smum_populate_all_memory_levels() argument
209 smum_initialize_mc_reg_table(struct pp_hwmgr *hwmgr) smum_initialize_mc_reg_table() argument
217 smum_is_dpm_running(struct pp_hwmgr *hwmgr) smum_is_dpm_running() argument
225 smum_is_hw_avfs_present(struct pp_hwmgr *hwmgr) smum_is_hw_avfs_present() argument
233 smum_update_dpm_settings(struct pp_hwmgr *hwmgr, void *profile_setting) smum_update_dpm_settings() argument
241 smum_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) smum_smc_table_manager() argument
249 smum_stop_smc(struct pp_hwmgr *hwmgr) smum_stop_smc() argument
[all...]
H A Dsmu10_smumgr.c49 static uint32_t smu10_wait_for_response(struct pp_hwmgr *hwmgr) in smu10_wait_for_response() argument
62 static int smu10_send_msg_to_smc_without_waiting(struct pp_hwmgr *hwmgr, in smu10_send_msg_to_smc_without_waiting() argument
72 static uint32_t smu10_read_arg_from_smc(struct pp_hwmgr *hwmgr) in smu10_read_arg_from_smc() argument
79 static int smu10_send_msg_to_smc(struct pp_hwmgr *hwmgr, uint16_t msg) in smu10_send_msg_to_smc() argument
96 smu10_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t parameter) smu10_send_msg_to_smc_with_parameter() argument
116 smu10_copy_table_from_smc(struct pp_hwmgr *hwmgr, uint8_t *table, int16_t table_id) smu10_copy_table_from_smc() argument
151 smu10_copy_table_to_smc(struct pp_hwmgr *hwmgr, uint8_t *table, int16_t table_id) smu10_copy_table_to_smc() argument
186 smu10_verify_smc_interface(struct pp_hwmgr *hwmgr) smu10_verify_smc_interface() argument
203 smu10_smu_fini(struct pp_hwmgr *hwmgr) smu10_smu_fini() argument
222 smu10_start_smu(struct pp_hwmgr *hwmgr) smu10_start_smu() argument
240 smu10_smu_init(struct pp_hwmgr *hwmgr) smu10_smu_init() argument
295 smu10_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) smu10_smc_table_manager() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/pm/powerplay/smumgr/
H A Dvega12_smumgr.c40 static int vega12_copy_table_from_smc(struct pp_hwmgr *hwmgr, in vega12_copy_table_from_smc() argument
84 static int vega12_copy_table_to_smc(struct pp_hwmgr *hwmgr, in vega12_copy_table_to_smc() argument
125 vega12_enable_smc_features(struct pp_hwmgr *hwmgr, bool enable, uint64_t feature_mask) vega12_enable_smc_features() argument
156 vega12_get_enabled_smc_features(struct pp_hwmgr *hwmgr, uint64_t *features_enabled) vega12_get_enabled_smc_features() argument
182 vega12_is_dpm_running(struct pp_hwmgr *hwmgr) vega12_is_dpm_running() argument
194 vega12_set_tools_address(struct pp_hwmgr *hwmgr) vega12_set_tools_address() argument
212 vega12_smu_init(struct pp_hwmgr *hwmgr) vega12_smu_init() argument
347 vega12_smu_fini(struct pp_hwmgr *hwmgr) vega12_smu_fini() argument
378 vega12_start_smu(struct pp_hwmgr *hwmgr) vega12_start_smu() argument
389 vega12_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) vega12_smc_table_manager() argument
[all...]
H A Dsmumgr.c57 int smum_thermal_avfs_enable(struct pp_hwmgr *hwmgr) in smum_thermal_avfs_enable() argument
65 int smum_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) in smum_thermal_setup_fan_table() argument
73 int smum_update_sclk_threshold(struct pp_hwmgr *hwmgr) in smum_update_sclk_threshold() argument
82 smum_update_smc_table(struct pp_hwmgr *hwmgr, uint32_t type) smum_update_smc_table() argument
91 smum_get_offsetof(struct pp_hwmgr *hwmgr, uint32_t type, uint32_t member) smum_get_offsetof() argument
99 smum_process_firmware_header(struct pp_hwmgr *hwmgr) smum_process_firmware_header() argument
106 smum_get_mac_definition(struct pp_hwmgr *hwmgr, uint32_t value) smum_get_mac_definition() argument
114 smum_download_powerplay_table(struct pp_hwmgr *hwmgr, void **table) smum_download_powerplay_table() argument
122 smum_upload_powerplay_table(struct pp_hwmgr *hwmgr) smum_upload_powerplay_table() argument
130 smum_send_msg_to_smc(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t *resp) smum_send_msg_to_smc() argument
155 smum_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t parameter, uint32_t *resp) smum_send_msg_to_smc_with_parameter() argument
184 smum_init_smc_table(struct pp_hwmgr *hwmgr) smum_init_smc_table() argument
192 smum_populate_all_graphic_levels(struct pp_hwmgr *hwmgr) smum_populate_all_graphic_levels() argument
200 smum_populate_all_memory_levels(struct pp_hwmgr *hwmgr) smum_populate_all_memory_levels() argument
209 smum_initialize_mc_reg_table(struct pp_hwmgr *hwmgr) smum_initialize_mc_reg_table() argument
217 smum_is_dpm_running(struct pp_hwmgr *hwmgr) smum_is_dpm_running() argument
225 smum_is_hw_avfs_present(struct pp_hwmgr *hwmgr) smum_is_hw_avfs_present() argument
233 smum_update_dpm_settings(struct pp_hwmgr *hwmgr, void *profile_setting) smum_update_dpm_settings() argument
241 smum_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) smum_smc_table_manager() argument
249 smum_stop_smc(struct pp_hwmgr *hwmgr) smum_stop_smc() argument
[all...]
H A Dvega10_smumgr.c38 static int vega10_copy_table_from_smc(struct pp_hwmgr *hwmgr, in vega10_copy_table_from_smc() argument
71 static int vega10_copy_table_to_smc(struct pp_hwmgr *hwmgr, in vega10_copy_table_to_smc() argument
111 vega10_enable_smc_features(struct pp_hwmgr *hwmgr, bool enable, uint32_t feature_mask) vega10_enable_smc_features() argument
129 vega10_get_enabled_smc_features(struct pp_hwmgr *hwmgr, uint64_t *features_enabled) vega10_get_enabled_smc_features() argument
145 vega10_is_dpm_running(struct pp_hwmgr *hwmgr) vega10_is_dpm_running() argument
157 vega10_set_tools_address(struct pp_hwmgr *hwmgr) vega10_set_tools_address() argument
174 vega10_verify_smc_interface(struct pp_hwmgr *hwmgr) vega10_verify_smc_interface() argument
204 vega10_smu_init(struct pp_hwmgr *hwmgr) vega10_smu_init() argument
328 vega10_smu_fini(struct pp_hwmgr *hwmgr) vega10_smu_fini() argument
355 vega10_start_smu(struct pp_hwmgr *hwmgr) vega10_start_smu() argument
369 vega10_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) vega10_smc_table_manager() argument
[all...]
H A Dsmu10_smumgr.c49 static uint32_t smu10_wait_for_response(struct pp_hwmgr *hwmgr) in smu10_wait_for_response() argument
62 static int smu10_send_msg_to_smc_without_waiting(struct pp_hwmgr *hwmgr, in smu10_send_msg_to_smc_without_waiting() argument
72 static uint32_t smu10_read_arg_from_smc(struct pp_hwmgr *hwmgr) in smu10_read_arg_from_smc() argument
79 static int smu10_send_msg_to_smc(struct pp_hwmgr *hwmgr, uint16_t msg) in smu10_send_msg_to_smc() argument
96 smu10_send_msg_to_smc_with_parameter(struct pp_hwmgr *hwmgr, uint16_t msg, uint32_t parameter) smu10_send_msg_to_smc_with_parameter() argument
116 smu10_copy_table_from_smc(struct pp_hwmgr *hwmgr, uint8_t *table, int16_t table_id) smu10_copy_table_from_smc() argument
150 smu10_copy_table_to_smc(struct pp_hwmgr *hwmgr, uint8_t *table, int16_t table_id) smu10_copy_table_to_smc() argument
185 smu10_verify_smc_interface(struct pp_hwmgr *hwmgr) smu10_verify_smc_interface() argument
202 smu10_smu_fini(struct pp_hwmgr *hwmgr) smu10_smu_fini() argument
221 smu10_start_smu(struct pp_hwmgr *hwmgr) smu10_start_smu() argument
239 smu10_smu_init(struct pp_hwmgr *hwmgr) smu10_smu_init() argument
292 smu10_smc_table_manager(struct pp_hwmgr *hwmgr, uint8_t *table, uint16_t table_id, bool rw) smu10_smc_table_manager() argument
[all...]
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/pm/powerplay/hwmgr/
H A Dpp_psm.c29 int psm_init_power_state_table(struct pp_hwmgr *hwmgr) in psm_init_power_state_table() argument
103 psm_fini_power_state_table(struct pp_hwmgr *hwmgr) psm_fini_power_state_table() argument
120 psm_get_ui_state(struct pp_hwmgr *hwmgr, enum PP_StateUILabel ui_label, unsigned long *state_id) psm_get_ui_state() argument
141 psm_get_state_by_classification(struct pp_hwmgr *hwmgr, enum PP_StateClassificationFlag flag, unsigned long *state_id) psm_get_state_by_classification() argument
162 psm_set_states(struct pp_hwmgr *hwmgr, unsigned long state_id) psm_set_states() argument
182 psm_set_boot_states(struct pp_hwmgr *hwmgr) psm_set_boot_states() argument
197 psm_set_performance_states(struct pp_hwmgr *hwmgr) psm_set_performance_states() argument
212 psm_set_user_performance_state(struct pp_hwmgr *hwmgr, enum PP_StateUILabel label_id, struct pp_power_state **state) psm_set_user_performance_state() argument
243 power_state_management(struct pp_hwmgr *hwmgr, struct pp_power_state *new_ps) power_state_management() argument
268 psm_adjust_power_state_dynamic(struct pp_hwmgr *hwmgr, bool skip_display_settings, struct pp_power_state *new_ps) psm_adjust_power_state_dynamic() argument
[all...]
H A Dhwmgr.c61 static void hwmgr_init_workload_prority(struct pp_hwmgr *hwmgr) in hwmgr_init_workload_prority() argument
78 hwmgr_early_init(struct pp_hwmgr *hwmgr) hwmgr_early_init() argument
196 hwmgr_sw_init(struct pp_hwmgr *hwmgr) hwmgr_sw_init() argument
208 hwmgr_sw_fini(struct pp_hwmgr *hwmgr) hwmgr_sw_fini() argument
216 hwmgr_hw_init(struct pp_hwmgr *hwmgr) hwmgr_hw_init() argument
279 hwmgr_hw_fini(struct pp_hwmgr *hwmgr) hwmgr_hw_fini() argument
297 hwmgr_suspend(struct pp_hwmgr *hwmgr) hwmgr_suspend() argument
316 hwmgr_resume(struct pp_hwmgr *hwmgr) hwmgr_resume() argument
357 hwmgr_handle_task(struct pp_hwmgr *hwmgr, enum amd_pp_task task_id, enum amd_pm_state_type *user_state) hwmgr_handle_task() argument
409 hwmgr_init_default_caps(struct pp_hwmgr *hwmgr) hwmgr_init_default_caps() argument
441 hwmgr_set_user_specify_caps(struct pp_hwmgr *hwmgr) hwmgr_set_user_specify_caps() argument
468 polaris_set_asic_special_caps(struct pp_hwmgr *hwmgr) polaris_set_asic_special_caps() argument
501 fiji_set_asic_special_caps(struct pp_hwmgr *hwmgr) fiji_set_asic_special_caps() argument
516 tonga_set_asic_special_caps(struct pp_hwmgr *hwmgr) tonga_set_asic_special_caps() argument
536 topaz_set_asic_special_caps(struct pp_hwmgr *hwmgr) topaz_set_asic_special_caps() argument
551 ci_set_asic_special_caps(struct pp_hwmgr *hwmgr) ci_set_asic_special_caps() argument
[all...]
H A Dsmu7_clockpowergating.c28 static int smu7_enable_disable_uvd_dpm(struct pp_hwmgr *hwmgr, bool enable) in smu7_enable_disable_uvd_dpm() argument
36 static int smu7_enable_disable_vce_dpm(struct pp_hwmgr *hwmgr, bool enable) in smu7_enable_disable_vce_dpm() argument
44 static int smu7_update_uvd_dpm(struct pp_hwmgr *hwmgr, bool bgate) in smu7_update_uvd_dpm() argument
51 static int smu7_update_vce_dpm(struct pp_hwmgr *hwmgr, bool bgate) in smu7_update_vce_dpm() argument
58 smu7_powerdown_uvd(struct pp_hwmgr *hwmgr) smu7_powerdown_uvd() argument
67 smu7_powerup_uvd(struct pp_hwmgr *hwmgr) smu7_powerup_uvd() argument
83 smu7_powerdown_vce(struct pp_hwmgr *hwmgr) smu7_powerdown_vce() argument
92 smu7_powerup_vce(struct pp_hwmgr *hwmgr) smu7_powerup_vce() argument
101 smu7_disable_clock_power_gating(struct pp_hwmgr *hwmgr) smu7_disable_clock_power_gating() argument
114 smu7_powergate_uvd(struct pp_hwmgr *hwmgr, bool bgate) smu7_powergate_uvd() argument
142 smu7_powergate_vce(struct pp_hwmgr *hwmgr, bool bgate) smu7_powergate_vce() argument
169 smu7_update_clock_gatings(struct pp_hwmgr *hwmgr, const uint32_t *msg_id) smu7_update_clock_gatings() argument
424 smu7_powergate_gfx(struct pp_hwmgr *hwmgr, bool enable) smu7_powergate_gfx() argument
[all...]
H A Dvega12_processpptables.c34 static void set_hw_cap(struct pp_hwmgr *hwmgr, bool enable, in set_hw_cap() argument
43 static const void *get_powerplay_table(struct pp_hwmgr *hwmgr) in get_powerplay_table() argument
76 static int set_platform_caps(struct pp_hwmgr *hwmgr, uint32_ argument
63 check_powerplay_tables( struct pp_hwmgr *hwmgr, const ATOM_Vega12_POWERPLAYTABLE *powerplay_table) check_powerplay_tables() argument
101 append_vbios_pptable(struct pp_hwmgr *hwmgr, PPTable_t *ppsmc_pptable) append_vbios_pptable() argument
190 init_powerplay_table_information( struct pp_hwmgr *hwmgr, const ATOM_Vega12_POWERPLAYTABLE *powerplay_table) init_powerplay_table_information() argument
261 vega12_pp_tables_initialize(struct pp_hwmgr *hwmgr) vega12_pp_tables_initialize() argument
290 vega12_pp_tables_uninitialize(struct pp_hwmgr *hwmgr) vega12_pp_tables_uninitialize() argument
[all...]
H A Dvega20_processpptables.c36 static void set_hw_cap(struct pp_hwmgr *hwmgr, bool enable, in set_hw_cap() argument
45 static const void *get_powerplay_table(struct pp_hwmgr *hwmgr) in get_powerplay_table() argument
660 static int set_platform_caps(struct pp_hwmgr *hwmgr, uint32_ argument
637 check_powerplay_tables( struct pp_hwmgr *hwmgr, const ATOM_Vega20_POWERPLAYTABLE *powerplay_table) check_powerplay_tables() argument
685 copy_overdrive_feature_capabilities_array( struct pp_hwmgr *hwmgr, uint8_t **pptable_info_array, const uint8_t *pptable_array, uint8_t od_feature_count) copy_overdrive_feature_capabilities_array() argument
715 append_vbios_pptable(struct pp_hwmgr *hwmgr, PPTable_t *ppsmc_pptable) append_vbios_pptable() argument
802 override_powerplay_table_fantargettemperature(struct pp_hwmgr *hwmgr) override_powerplay_table_fantargettemperature() argument
814 init_powerplay_table_information( struct pp_hwmgr *hwmgr, const ATOM_Vega20_POWERPLAYTABLE *powerplay_table) init_powerplay_table_information() argument
908 vega20_pp_tables_initialize(struct pp_hwmgr *hwmgr) vega20_pp_tables_initialize() argument
937 vega20_pp_tables_uninitialize(struct pp_hwmgr *hwmgr) vega20_pp_tables_uninitialize() argument
[all...]
H A Dvega20_thermal.c32 static int vega20_disable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega20_disable_fan_control_feature() argument
51 int vega20_fan_ctrl_stop_smc_fan_control(struct pp_hwmgr *hwmgr) in vega20_fan_ctrl_stop_smc_fan_control() argument
61 static int vega20_enable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega20_enable_fan_control_feature() argument
80 int vega20_fan_ctrl_start_smc_fan_control(struct pp_hwmgr *hwmgr) in vega20_fan_ctrl_start_smc_fan_control() argument
90 vega20_fan_ctrl_set_static_mode(struct pp_hwmgr *hwmgr, uint32_t mode) vega20_fan_ctrl_set_static_mode() argument
104 vega20_get_current_rpm(struct pp_hwmgr *hwmgr, uint32_t *current_rpm) vega20_get_current_rpm() argument
117 vega20_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr, uint32_t *speed) vega20_fan_ctrl_get_fan_speed_pwm() argument
139 vega20_fan_ctrl_set_fan_speed_pwm(struct pp_hwmgr *hwmgr, uint32_t speed) vega20_fan_ctrl_set_fan_speed_pwm() argument
169 vega20_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, struct phm_fan_speed_info *fan_speed_info) vega20_fan_ctrl_get_fan_speed_info() argument
181 vega20_fan_ctrl_get_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t *speed) vega20_fan_ctrl_get_fan_speed_rpm() argument
188 vega20_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) vega20_fan_ctrl_set_fan_speed_rpm() argument
218 vega20_thermal_get_temperature(struct pp_hwmgr *hwmgr) vega20_thermal_get_temperature() argument
241 vega20_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega20_thermal_set_temperature_range() argument
280 vega20_thermal_enable_alert(struct pp_hwmgr *hwmgr) vega20_thermal_enable_alert() argument
298 vega20_thermal_disable_alert(struct pp_hwmgr *hwmgr) vega20_thermal_disable_alert() argument
312 vega20_thermal_stop_thermal_controller(struct pp_hwmgr *hwmgr) vega20_thermal_stop_thermal_controller() argument
323 vega20_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) vega20_thermal_setup_fan_table() argument
337 vega20_start_thermal_controller(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega20_start_thermal_controller() argument
[all...]
H A Dsmu7_thermal.c29 int smu7_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, in smu7_fan_ctrl_get_fan_speed_info() argument
54 int smu7_fan_ctrl_get_fan_speed_pwm(struct pp_hwmgr *hwmgr, in smu7_fan_ctrl_get_fan_speed_pwm() argument
80 int smu7_fan_ctrl_get_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_ argument
108 smu7_fan_ctrl_set_static_mode(struct pp_hwmgr *hwmgr, uint32_t mode) smu7_fan_ctrl_set_static_mode() argument
133 smu7_fan_ctrl_set_default_mode(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_set_default_mode() argument
146 smu7_fan_ctrl_start_smc_fan_control(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_start_smc_fan_control() argument
192 smu7_fan_ctrl_stop_smc_fan_control(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_stop_smc_fan_control() argument
203 smu7_fan_ctrl_set_fan_speed_pwm(struct pp_hwmgr *hwmgr, uint32_t speed) smu7_fan_ctrl_set_fan_speed_pwm() argument
239 smu7_fan_ctrl_reset_fan_speed_to_default(struct pp_hwmgr *hwmgr) smu7_fan_ctrl_reset_fan_speed_to_default() argument
262 smu7_fan_ctrl_set_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t speed) smu7_fan_ctrl_set_fan_speed_rpm() argument
293 smu7_thermal_get_temperature(struct pp_hwmgr *hwmgr) smu7_thermal_get_temperature() argument
319 smu7_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, int low_temp, int high_temp) smu7_thermal_set_temperature_range() argument
353 smu7_thermal_initialize(struct pp_hwmgr *hwmgr) smu7_thermal_initialize() argument
372 smu7_thermal_enable_alert(struct pp_hwmgr *hwmgr) smu7_thermal_enable_alert() argument
390 smu7_thermal_disable_alert(struct pp_hwmgr *hwmgr) smu7_thermal_disable_alert() argument
409 smu7_thermal_stop_thermal_controller(struct pp_hwmgr *hwmgr) smu7_thermal_stop_thermal_controller() argument
424 smu7_thermal_start_smc_fan_control(struct pp_hwmgr *hwmgr) smu7_thermal_start_smc_fan_control() argument
439 smu7_start_thermal_controller(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) smu7_start_thermal_controller() argument
468 smu7_thermal_ctrl_uninitialize_thermal_controller(struct pp_hwmgr *hwmgr) smu7_thermal_ctrl_uninitialize_thermal_controller() argument
[all...]
H A Dvega12_thermal.c32 static int vega12_get_current_rpm(struct pp_hwmgr *hwmgr, uint32_t *current_rpm) in vega12_get_current_rpm() argument
43 int vega12_fan_ctrl_get_fan_speed_info(struct pp_hwmgr *hwmgr, in vega12_fan_ctrl_get_fan_speed_info() argument
55 int vega12_fan_ctrl_get_fan_speed_rpm(struct pp_hwmgr *hwmgr, uint32_t *speed) in vega12_fan_ctrl_get_fan_speed_rpm() argument
68 static int vega12_enable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega12_enable_fan_control_feature() argument
86 static int vega12_disable_fan_control_feature(struct pp_hwmgr *hwmgr) in vega12_disable_fan_control_feature() argument
104 vega12_fan_ctrl_start_smc_fan_control(struct pp_hwmgr *hwmgr) vega12_fan_ctrl_start_smc_fan_control() argument
118 vega12_fan_ctrl_stop_smc_fan_control(struct pp_hwmgr *hwmgr) vega12_fan_ctrl_stop_smc_fan_control() argument
135 vega12_fan_ctrl_reset_fan_speed_to_default(struct pp_hwmgr *hwmgr) vega12_fan_ctrl_reset_fan_speed_to_default() argument
145 vega12_thermal_get_temperature(struct pp_hwmgr *hwmgr) vega12_thermal_get_temperature() argument
170 vega12_thermal_set_temperature_range(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega12_thermal_set_temperature_range() argument
209 vega12_thermal_enable_alert(struct pp_hwmgr *hwmgr) vega12_thermal_enable_alert() argument
227 vega12_thermal_disable_alert(struct pp_hwmgr *hwmgr) vega12_thermal_disable_alert() argument
241 vega12_thermal_stop_thermal_controller(struct pp_hwmgr *hwmgr) vega12_thermal_stop_thermal_controller() argument
252 vega12_thermal_setup_fan_table(struct pp_hwmgr *hwmgr) vega12_thermal_setup_fan_table() argument
271 vega12_thermal_start_smc_fan_control(struct pp_hwmgr *hwmgr) vega12_thermal_start_smc_fan_control() argument
285 vega12_start_thermal_controller(struct pp_hwmgr *hwmgr, struct PP_TemperatureRange *range) vega12_start_thermal_controller() argument
[all...]

Completed in 17 milliseconds

12345