/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dmub/src/ |
H A D | dmub_srv.c | 152 static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) in dmub_srv_hw_setup() argument 154 struct dmub_srv_hw_funcs *funcs = &dmub->hw_funcs; in dmub_srv_hw_setup() 163 dmub->regs = &dmub_srv_dcn20_regs; in dmub_srv_hw_setup() 196 dmub->regs = &dmub_srv_dcn21_regs; in dmub_srv_hw_setup() 199 dmub->regs = &dmub_srv_dcn30_regs; in dmub_srv_hw_setup() 205 dmub->regs = &dmub_srv_dcn301_regs; in dmub_srv_hw_setup() 211 dmub->regs = &dmub_srv_dcn302_regs; in dmub_srv_hw_setup() 217 dmub->regs = &dmub_srv_dcn303_regs; in dmub_srv_hw_setup() 230 dmub->regs_dcn31 = &dmub_srv_dcn314_regs; in dmub_srv_hw_setup() 233 dmub in dmub_srv_hw_setup() 317 dmub_srv_create(struct dmub_srv *dmub, const struct dmub_srv_create_params *params) dmub_srv_create() argument 367 dmub_srv_destroy(struct dmub_srv *dmub) dmub_srv_destroy() argument 373 dmub_srv_calc_region_info(struct dmub_srv *dmub, const struct dmub_srv_region_params *params, struct dmub_srv_region_info *out) dmub_srv_calc_region_info() argument 458 dmub_srv_calc_mem_info(struct dmub_srv *dmub, const struct dmub_srv_memory_params *params, struct dmub_srv_fb_info *out) dmub_srv_calc_mem_info() argument 497 dmub_srv_has_hw_support(struct dmub_srv *dmub, bool *is_supported) dmub_srv_has_hw_support() argument 511 dmub_srv_is_hw_init(struct dmub_srv *dmub, bool *is_hw_init) dmub_srv_is_hw_init() argument 527 dmub_srv_hw_init(struct dmub_srv *dmub, const struct dmub_srv_hw_params *params) dmub_srv_hw_init() argument 671 dmub_srv_sync_inbox1(struct dmub_srv *dmub) dmub_srv_sync_inbox1() argument 692 dmub_srv_hw_reset(struct dmub_srv *dmub) dmub_srv_hw_reset() argument 714 dmub_srv_cmd_queue(struct dmub_srv *dmub, const union dmub_rb_cmd *cmd) dmub_srv_cmd_queue() argument 731 dmub_srv_cmd_execute(struct dmub_srv *dmub) dmub_srv_cmd_execute() argument 754 dmub_srv_wait_for_auto_load(struct dmub_srv *dmub, uint32_t timeout_us) dmub_srv_wait_for_auto_load() argument 774 dmub_srv_wait_for_idle(struct dmub_srv *dmub, uint32_t timeout_us) dmub_srv_wait_for_idle() argument 800 dmub_srv_send_gpint_command(struct dmub_srv *dmub, enum dmub_gpint_command command_code, uint16_t param, uint32_t timeout_us) dmub_srv_send_gpint_command() argument 832 dmub_srv_get_gpint_response(struct dmub_srv *dmub, uint32_t *response) dmub_srv_get_gpint_response() argument 848 dmub_srv_get_gpint_dataout(struct dmub_srv *dmub, uint32_t *dataout) dmub_srv_get_gpint_dataout() argument 864 dmub_srv_get_fw_boot_status(struct dmub_srv *dmub, union dmub_fw_boot_status *status) dmub_srv_get_fw_boot_status() argument 878 dmub_srv_get_fw_boot_option(struct dmub_srv *dmub, union dmub_fw_boot_options *option) dmub_srv_get_fw_boot_option() argument 892 dmub_srv_set_skip_panel_power_sequence(struct dmub_srv *dmub, bool skip) dmub_srv_set_skip_panel_power_sequence() argument 904 dmub_srv_cmd_with_reply_data(struct dmub_srv *dmub, union dmub_rb_cmd *cmd) dmub_srv_cmd_with_reply_data() argument 956 dmub_srv_get_outbox0_msg(struct dmub_srv *dmub, struct dmcub_trace_buf_entry *entry) dmub_srv_get_outbox0_msg() argument 963 dmub_srv_get_diagnostic_data(struct dmub_srv *dmub, struct dmub_diagnostic_data *diag_data) dmub_srv_get_diagnostic_data() argument 971 dmub_srv_should_detect(struct dmub_srv *dmub) dmub_srv_should_detect() argument 979 dmub_srv_clear_inbox0_ack(struct dmub_srv *dmub) dmub_srv_clear_inbox0_ack() argument 988 dmub_srv_wait_for_inbox0_ack(struct dmub_srv *dmub, uint32_t timeout_us) dmub_srv_wait_for_inbox0_ack() argument 1005 dmub_srv_send_inbox0_cmd(struct dmub_srv *dmub, union dmub_inbox0_data_register data) dmub_srv_send_inbox0_cmd() argument [all...] |
H A D | dmub_dcn31.h | 187 void dmub_dcn31_init(struct dmub_srv *dmub); 189 void dmub_dcn31_reset(struct dmub_srv *dmub); 191 void dmub_dcn31_reset_release(struct dmub_srv *dmub); 193 void dmub_dcn31_backdoor_load(struct dmub_srv *dmub, 197 void dmub_dcn31_setup_windows(struct dmub_srv *dmub, 204 void dmub_dcn31_setup_mailbox(struct dmub_srv *dmub, 207 uint32_t dmub_dcn31_get_inbox1_wptr(struct dmub_srv *dmub); 209 uint32_t dmub_dcn31_get_inbox1_rptr(struct dmub_srv *dmub); 211 void dmub_dcn31_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset); 213 void dmub_dcn31_setup_out_mailbox(struct dmub_srv *dmub, [all...] |
H A D | dmub_dcn20.c | 36 #define CTX dmub 37 #define REGS dmub->regs 60 static void dmub_dcn20_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn20_get_fb_base_offset() argument 66 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn20_get_fb_base_offset() 67 *fb_base = dmub->fb_base; in dmub_dcn20_get_fb_base_offset() 68 *fb_offset = dmub->fb_offset; in dmub_dcn20_get_fb_base_offset() 87 bool dmub_dcn20_use_cached_inbox(struct dmub_srv *dmub) in dmub_dcn20_use_cached_inbox() argument 90 return !(dmub->fw_version >= DMUB_FW_VERSION(1, 0, 0) && in dmub_dcn20_use_cached_inbox() 91 dmub in dmub_dcn20_use_cached_inbox() 94 dmub_dcn20_reset(struct dmub_srv *dmub) dmub_dcn20_reset() argument 146 dmub_dcn20_reset_release(struct dmub_srv *dmub) dmub_dcn20_reset_release() argument 154 dmub_dcn20_backdoor_load(struct dmub_srv *dmub, const struct dmub_window *cw0, const struct dmub_window *cw1) dmub_dcn20_backdoor_load() argument 189 dmub_dcn20_setup_windows(struct dmub_srv *dmub, const struct dmub_window *cw2, const struct dmub_window *cw3, const struct dmub_window *cw4, const struct dmub_window *cw5, const struct dmub_window *cw6) dmub_dcn20_setup_windows() argument 273 dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, const struct dmub_region *inbox1) dmub_dcn20_setup_mailbox() argument 285 dmub_dcn20_get_inbox1_wptr(struct dmub_srv *dmub) dmub_dcn20_get_inbox1_wptr() argument 290 dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub) dmub_dcn20_get_inbox1_rptr() argument 295 dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset) dmub_dcn20_set_inbox1_wptr() argument 300 dmub_dcn20_setup_out_mailbox(struct dmub_srv *dmub, const struct dmub_region *outbox1) dmub_dcn20_setup_out_mailbox() argument 312 dmub_dcn20_get_outbox1_wptr(struct dmub_srv *dmub) dmub_dcn20_get_outbox1_wptr() argument 321 dmub_dcn20_set_outbox1_rptr(struct dmub_srv *dmub, uint32_t rptr_offset) dmub_dcn20_set_outbox1_rptr() argument 330 dmub_dcn20_setup_outbox0(struct dmub_srv *dmub, const struct dmub_region *outbox0) dmub_dcn20_setup_outbox0() argument 338 dmub_dcn20_get_outbox0_wptr(struct dmub_srv *dmub) dmub_dcn20_get_outbox0_wptr() argument 343 dmub_dcn20_set_outbox0_rptr(struct dmub_srv *dmub, uint32_t rptr_offset) dmub_dcn20_set_outbox0_rptr() argument 348 dmub_dcn20_is_hw_init(struct dmub_srv *dmub) dmub_dcn20_is_hw_init() argument 357 dmub_dcn20_is_supported(struct dmub_srv *dmub) dmub_dcn20_is_supported() argument 366 dmub_dcn20_set_gpint(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn20_set_gpint() argument 372 dmub_dcn20_is_gpint_acked(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn20_is_gpint_acked() argument 383 dmub_dcn20_get_gpint_response(struct dmub_srv *dmub) dmub_dcn20_get_gpint_response() argument 388 dmub_dcn20_get_fw_boot_status(struct dmub_srv *dmub) dmub_dcn20_get_fw_boot_status() argument 396 dmub_dcn20_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmub_srv_hw_params *params) dmub_dcn20_enable_dmub_boot_options() argument 403 dmub_dcn20_skip_dmub_panel_power_sequence(struct dmub_srv *dmub, bool skip) dmub_dcn20_skip_dmub_panel_power_sequence() argument 411 dmub_dcn20_get_current_time(struct dmub_srv *dmub) dmub_dcn20_get_current_time() argument 416 dmub_dcn20_get_diagnostic_data(struct dmub_srv *dmub, struct dmub_diagnostic_data *diag_data) dmub_dcn20_get_diagnostic_data() argument [all...] |
H A D | dmub_dcn31.c | 35 #define CTX dmub 36 #define REGS dmub->regs_dcn31 56 static void dmub_dcn31_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn31_get_fb_base_offset() argument 62 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn31_get_fb_base_offset() 63 *fb_base = dmub->fb_base; in dmub_dcn31_get_fb_base_offset() 64 *fb_offset = dmub->fb_offset; in dmub_dcn31_get_fb_base_offset() 83 void dmub_dcn31_reset(struct dmub_srv *dmub) in dmub_dcn31_reset() argument 96 dmub->hw_funcs.set_gpint(dmub, cm in dmub_dcn31_reset() 144 dmub_dcn31_reset_release(struct dmub_srv *dmub) dmub_dcn31_reset_release() argument 152 dmub_dcn31_backdoor_load(struct dmub_srv *dmub, const struct dmub_window *cw0, const struct dmub_window *cw1) dmub_dcn31_backdoor_load() argument 185 dmub_dcn31_setup_windows(struct dmub_srv *dmub, const struct dmub_window *cw2, const struct dmub_window *cw3, const struct dmub_window *cw4, const struct dmub_window *cw5, const struct dmub_window *cw6) dmub_dcn31_setup_windows() argument 238 dmub_dcn31_setup_mailbox(struct dmub_srv *dmub, const struct dmub_region *inbox1) dmub_dcn31_setup_mailbox() argument 245 dmub_dcn31_get_inbox1_wptr(struct dmub_srv *dmub) dmub_dcn31_get_inbox1_wptr() argument 250 dmub_dcn31_get_inbox1_rptr(struct dmub_srv *dmub) dmub_dcn31_get_inbox1_rptr() argument 255 dmub_dcn31_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset) dmub_dcn31_set_inbox1_wptr() argument 260 dmub_dcn31_setup_out_mailbox(struct dmub_srv *dmub, const struct dmub_region *outbox1) dmub_dcn31_setup_out_mailbox() argument 267 dmub_dcn31_get_outbox1_wptr(struct dmub_srv *dmub) dmub_dcn31_get_outbox1_wptr() argument 276 dmub_dcn31_set_outbox1_rptr(struct dmub_srv *dmub, uint32_t rptr_offset) dmub_dcn31_set_outbox1_rptr() argument 285 dmub_dcn31_is_hw_init(struct dmub_srv *dmub) dmub_dcn31_is_hw_init() argument 296 dmub_dcn31_is_supported(struct dmub_srv *dmub) dmub_dcn31_is_supported() argument 305 dmub_dcn31_is_psrsu_supported(struct dmub_srv *dmub) dmub_dcn31_is_psrsu_supported() argument 310 dmub_dcn31_set_gpint(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn31_set_gpint() argument 316 dmub_dcn31_is_gpint_acked(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn31_is_gpint_acked() argument 327 dmub_dcn31_get_gpint_response(struct dmub_srv *dmub) dmub_dcn31_get_gpint_response() argument 332 dmub_dcn31_get_gpint_dataout(struct dmub_srv *dmub) dmub_dcn31_get_gpint_dataout() argument 347 dmub_dcn31_get_fw_boot_status(struct dmub_srv *dmub) dmub_dcn31_get_fw_boot_status() argument 355 dmub_dcn31_get_fw_boot_option(struct dmub_srv *dmub) dmub_dcn31_get_fw_boot_option() argument 363 dmub_dcn31_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmub_srv_hw_params *params) dmub_dcn31_enable_dmub_boot_options() argument 379 dmub_dcn31_skip_dmub_panel_power_sequence(struct dmub_srv *dmub, bool skip) dmub_dcn31_skip_dmub_panel_power_sequence() argument 387 dmub_dcn31_setup_outbox0(struct dmub_srv *dmub, const struct dmub_region *outbox0) dmub_dcn31_setup_outbox0() argument 395 dmub_dcn31_get_outbox0_wptr(struct dmub_srv *dmub) dmub_dcn31_get_outbox0_wptr() argument 400 dmub_dcn31_set_outbox0_rptr(struct dmub_srv *dmub, uint32_t rptr_offset) dmub_dcn31_set_outbox0_rptr() argument 405 dmub_dcn31_get_current_time(struct dmub_srv *dmub) dmub_dcn31_get_current_time() argument 410 dmub_dcn31_get_diagnostic_data(struct dmub_srv *dmub, struct dmub_diagnostic_data *diag_data) dmub_dcn31_get_diagnostic_data() argument 470 dmub_dcn31_should_detect(struct dmub_srv *dmub) dmub_dcn31_should_detect() argument [all...] |
H A D | dmub_dcn32.c | 36 #define CTX dmub 37 #define REGS dmub->regs_dcn32 57 static void dmub_dcn32_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn32_get_fb_base_offset() argument 63 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn32_get_fb_base_offset() 64 *fb_base = dmub->fb_base; in dmub_dcn32_get_fb_base_offset() 65 *fb_offset = dmub->fb_offset; in dmub_dcn32_get_fb_base_offset() 84 void dmub_dcn32_reset(struct dmub_srv *dmub) in dmub_dcn32_reset() argument 97 dmub->hw_funcs.set_gpint(dmub, cm in dmub_dcn32_reset() 138 dmub_dcn32_reset_release(struct dmub_srv *dmub) dmub_dcn32_reset_release() argument 146 dmub_dcn32_backdoor_load(struct dmub_srv *dmub, const struct dmub_window *cw0, const struct dmub_window *cw1) dmub_dcn32_backdoor_load() argument 179 dmub_dcn32_backdoor_load_zfb_mode(struct dmub_srv *dmub, const struct dmub_window *cw0, const struct dmub_window *cw1) dmub_dcn32_backdoor_load_zfb_mode() argument 209 dmub_dcn32_setup_windows(struct dmub_srv *dmub, const struct dmub_window *cw2, const struct dmub_window *cw3, const struct dmub_window *cw4, const struct dmub_window *cw5, const struct dmub_window *cw6) dmub_dcn32_setup_windows() argument 262 dmub_dcn32_setup_mailbox(struct dmub_srv *dmub, const struct dmub_region *inbox1) dmub_dcn32_setup_mailbox() argument 269 dmub_dcn32_get_inbox1_wptr(struct dmub_srv *dmub) dmub_dcn32_get_inbox1_wptr() argument 274 dmub_dcn32_get_inbox1_rptr(struct dmub_srv *dmub) dmub_dcn32_get_inbox1_rptr() argument 279 dmub_dcn32_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset) dmub_dcn32_set_inbox1_wptr() argument 284 dmub_dcn32_setup_out_mailbox(struct dmub_srv *dmub, const struct dmub_region *outbox1) dmub_dcn32_setup_out_mailbox() argument 291 dmub_dcn32_get_outbox1_wptr(struct dmub_srv *dmub) dmub_dcn32_get_outbox1_wptr() argument 300 dmub_dcn32_set_outbox1_rptr(struct dmub_srv *dmub, uint32_t rptr_offset) dmub_dcn32_set_outbox1_rptr() argument 309 dmub_dcn32_is_hw_init(struct dmub_srv *dmub) dmub_dcn32_is_hw_init() argument 320 dmub_dcn32_is_supported(struct dmub_srv *dmub) dmub_dcn32_is_supported() argument 329 dmub_dcn32_set_gpint(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn32_set_gpint() argument 335 dmub_dcn32_is_gpint_acked(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn32_is_gpint_acked() argument 346 dmub_dcn32_get_gpint_response(struct dmub_srv *dmub) dmub_dcn32_get_gpint_response() argument 351 dmub_dcn32_get_gpint_dataout(struct dmub_srv *dmub) dmub_dcn32_get_gpint_dataout() argument 366 dmub_dcn32_get_fw_boot_status(struct dmub_srv *dmub) dmub_dcn32_get_fw_boot_status() argument 374 dmub_dcn32_enable_dmub_boot_options(struct dmub_srv *dmub, const struct dmub_srv_hw_params *params) dmub_dcn32_enable_dmub_boot_options() argument 383 dmub_dcn32_skip_dmub_panel_power_sequence(struct dmub_srv *dmub, bool skip) dmub_dcn32_skip_dmub_panel_power_sequence() argument 391 dmub_dcn32_setup_outbox0(struct dmub_srv *dmub, const struct dmub_region *outbox0) dmub_dcn32_setup_outbox0() argument 399 dmub_dcn32_get_outbox0_wptr(struct dmub_srv *dmub) dmub_dcn32_get_outbox0_wptr() argument 404 dmub_dcn32_set_outbox0_rptr(struct dmub_srv *dmub, uint32_t rptr_offset) dmub_dcn32_set_outbox0_rptr() argument 409 dmub_dcn32_get_current_time(struct dmub_srv *dmub) dmub_dcn32_get_current_time() argument 414 dmub_dcn32_get_diagnostic_data(struct dmub_srv *dmub, struct dmub_diagnostic_data *diag_data) dmub_dcn32_get_diagnostic_data() argument 476 dmub_dcn32_configure_dmub_in_system_memory(struct dmub_srv *dmub) dmub_dcn32_configure_dmub_in_system_memory() argument 489 dmub_dcn32_send_inbox0_cmd(struct dmub_srv *dmub, union dmub_inbox0_data_register data) dmub_dcn32_send_inbox0_cmd() argument 494 dmub_dcn32_clear_inbox0_ack_register(struct dmub_srv *dmub) dmub_dcn32_clear_inbox0_ack_register() argument 499 dmub_dcn32_read_inbox0_ack_register(struct dmub_srv *dmub) dmub_dcn32_read_inbox0_ack_register() argument [all...] |
H A D | dmub_dcn20.h | 185 void dmub_dcn20_init(struct dmub_srv *dmub); 187 void dmub_dcn20_reset(struct dmub_srv *dmub); 189 void dmub_dcn20_reset_release(struct dmub_srv *dmub); 191 void dmub_dcn20_backdoor_load(struct dmub_srv *dmub, 195 void dmub_dcn20_setup_windows(struct dmub_srv *dmub, 202 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, 205 uint32_t dmub_dcn20_get_inbox1_wptr(struct dmub_srv *dmub); 207 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub); 209 void dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset); 211 void dmub_dcn20_setup_out_mailbox(struct dmub_srv *dmub, [all...] |
H A D | dmub_dcn32.h | 188 void dmub_dcn32_reset(struct dmub_srv *dmub); 190 void dmub_dcn32_reset_release(struct dmub_srv *dmub); 192 void dmub_dcn32_backdoor_load(struct dmub_srv *dmub, 196 void dmub_dcn32_backdoor_load_zfb_mode(struct dmub_srv *dmub, 200 void dmub_dcn32_setup_windows(struct dmub_srv *dmub, 207 void dmub_dcn32_setup_mailbox(struct dmub_srv *dmub, 210 uint32_t dmub_dcn32_get_inbox1_wptr(struct dmub_srv *dmub); 212 uint32_t dmub_dcn32_get_inbox1_rptr(struct dmub_srv *dmub); 214 void dmub_dcn32_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset); 216 void dmub_dcn32_setup_out_mailbox(struct dmub_srv *dmub, [all...] |
H A D | dmub_srv_stat.c | 26 #include "dmub/dmub_srv_stat.h" 27 #include "dmub/inc/dmub_cmd.h" 38 * dmub_srv_stat_get_notification - Retrieves a dmub outbox notification, set up dmub notification 41 * @dmub: dmub srv structure 42 * @notify: dmub notification structure to be filled up 46 enum dmub_status dmub_srv_stat_get_notification(struct dmub_srv *dmub, in dmub_srv_stat_get_notification() argument 51 * we shall not modify any dmub variables, only dmub in dmub_srv_stat_get_notification() [all...] |
H A D | dmub_dcn30.c | 36 #define CTX dmub 37 #define REGS dmub->regs 60 static void dmub_dcn30_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn30_get_fb_base_offset() argument 66 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn30_get_fb_base_offset() 67 *fb_base = dmub->fb_base; in dmub_dcn30_get_fb_base_offset() 68 *fb_offset = dmub->fb_offset; in dmub_dcn30_get_fb_base_offset() 87 void dmub_dcn30_backdoor_load(struct dmub_srv *dmub, in dmub_dcn30_backdoor_load() argument 94 dmub_dcn30_get_fb_base_offset(dmub, &fb_base, &fb_offset); in dmub_dcn30_backdoor_load() 122 void dmub_dcn30_setup_windows(struct dmub_srv *dmub, in dmub_dcn30_setup_windows() argument [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dmub/src/ |
H A D | dmub_srv.c | 132 static bool dmub_srv_hw_setup(struct dmub_srv *dmub, enum dmub_asic asic) in dmub_srv_hw_setup() argument 134 struct dmub_srv_hw_funcs *funcs = &dmub->hw_funcs; in dmub_srv_hw_setup() 142 dmub->regs = &dmub_srv_dcn20_regs; in dmub_srv_hw_setup() 158 dmub->regs = &dmub_srv_dcn21_regs; in dmub_srv_hw_setup() 165 dmub->regs = &dmub_srv_dcn30_regs; in dmub_srv_hw_setup() 181 enum dmub_status dmub_srv_create(struct dmub_srv *dmub, in dmub_srv_create() argument 186 dmub_memset(dmub, 0, sizeof(*dmub)); in dmub_srv_create() 188 dmub->funcs = params->funcs; in dmub_srv_create() 189 dmub in dmub_srv_create() 231 dmub_srv_destroy(struct dmub_srv *dmub) dmub_srv_destroy() argument 237 dmub_srv_calc_region_info(struct dmub_srv *dmub, const struct dmub_srv_region_params *params, struct dmub_srv_region_info *out) dmub_srv_calc_region_info() argument 322 dmub_srv_calc_mem_info(struct dmub_srv *dmub, const struct dmub_srv_memory_params *params, struct dmub_srv_fb_info *out) dmub_srv_calc_mem_info() argument 361 dmub_srv_has_hw_support(struct dmub_srv *dmub, bool *is_supported) dmub_srv_has_hw_support() argument 375 dmub_srv_is_hw_init(struct dmub_srv *dmub, bool *is_hw_init) dmub_srv_is_hw_init() argument 391 dmub_srv_hw_init(struct dmub_srv *dmub, const struct dmub_srv_hw_params *params) dmub_srv_hw_init() argument 491 dmub_srv_hw_reset(struct dmub_srv *dmub) dmub_srv_hw_reset() argument 507 dmub_srv_cmd_queue(struct dmub_srv *dmub, const union dmub_rb_cmd *cmd) dmub_srv_cmd_queue() argument 519 dmub_srv_cmd_execute(struct dmub_srv *dmub) dmub_srv_cmd_execute() argument 535 dmub_srv_wait_for_auto_load(struct dmub_srv *dmub, uint32_t timeout_us) dmub_srv_wait_for_auto_load() argument 556 dmub_srv_wait_for_phy_init(struct dmub_srv *dmub, uint32_t timeout_us) dmub_srv_wait_for_phy_init() argument 577 dmub_srv_wait_for_idle(struct dmub_srv *dmub, uint32_t timeout_us) dmub_srv_wait_for_idle() argument 597 dmub_srv_send_gpint_command(struct dmub_srv *dmub, enum dmub_gpint_command command_code, uint16_t param, uint32_t timeout_us) dmub_srv_send_gpint_command() argument 627 dmub_srv_get_gpint_response(struct dmub_srv *dmub, uint32_t *response) dmub_srv_get_gpint_response() argument [all...] |
H A D | dmub_dcn20.c | 36 #define CTX dmub 37 #define REGS dmub->regs 57 static void dmub_dcn20_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn20_get_fb_base_offset() argument 63 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn20_get_fb_base_offset() 64 *fb_base = dmub->fb_base; in dmub_dcn20_get_fb_base_offset() 65 *fb_offset = dmub->fb_offset; in dmub_dcn20_get_fb_base_offset() 84 void dmub_dcn20_reset(struct dmub_srv *dmub) in dmub_dcn20_reset() argument 97 dmub->hw_funcs.set_gpint(dmub, cm in dmub_dcn20_reset() 134 dmub_dcn20_reset_release(struct dmub_srv *dmub) dmub_dcn20_reset_release() argument 142 dmub_dcn20_backdoor_load(struct dmub_srv *dmub, const struct dmub_window *cw0, const struct dmub_window *cw1) dmub_dcn20_backdoor_load() argument 177 dmub_dcn20_setup_windows(struct dmub_srv *dmub, const struct dmub_window *cw2, const struct dmub_window *cw3, const struct dmub_window *cw4, const struct dmub_window *cw5, const struct dmub_window *cw6) dmub_dcn20_setup_windows() argument 254 dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, const struct dmub_region *inbox1) dmub_dcn20_setup_mailbox() argument 266 dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub) dmub_dcn20_get_inbox1_rptr() argument 271 dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset) dmub_dcn20_set_inbox1_wptr() argument 276 dmub_dcn20_is_hw_init(struct dmub_srv *dmub) dmub_dcn20_is_hw_init() argument 285 dmub_dcn20_is_supported(struct dmub_srv *dmub) dmub_dcn20_is_supported() argument 294 dmub_dcn20_set_gpint(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn20_set_gpint() argument 300 dmub_dcn20_is_gpint_acked(struct dmub_srv *dmub, union dmub_gpint_data_register reg) dmub_dcn20_is_gpint_acked() argument 311 dmub_dcn20_get_gpint_response(struct dmub_srv *dmub) dmub_dcn20_get_gpint_response() argument [all...] |
H A D | dmub_dcn20.h | 159 void dmub_dcn20_init(struct dmub_srv *dmub); 161 void dmub_dcn20_reset(struct dmub_srv *dmub); 163 void dmub_dcn20_reset_release(struct dmub_srv *dmub); 165 void dmub_dcn20_backdoor_load(struct dmub_srv *dmub, 169 void dmub_dcn20_setup_windows(struct dmub_srv *dmub, 176 void dmub_dcn20_setup_mailbox(struct dmub_srv *dmub, 179 uint32_t dmub_dcn20_get_inbox1_rptr(struct dmub_srv *dmub); 181 void dmub_dcn20_set_inbox1_wptr(struct dmub_srv *dmub, uint32_t wptr_offset); 183 bool dmub_dcn20_is_hw_init(struct dmub_srv *dmub); 185 bool dmub_dcn20_is_supported(struct dmub_srv *dmub); [all...] |
H A D | dmub_dcn30.c | 35 #define CTX dmub 36 #define REGS dmub->regs 56 static void dmub_dcn30_get_fb_base_offset(struct dmub_srv *dmub, in dmub_dcn30_get_fb_base_offset() argument 62 if (dmub->fb_base || dmub->fb_offset) { in dmub_dcn30_get_fb_base_offset() 63 *fb_base = dmub->fb_base; in dmub_dcn30_get_fb_base_offset() 64 *fb_offset = dmub->fb_offset; in dmub_dcn30_get_fb_base_offset() 83 void dmub_dcn30_backdoor_load(struct dmub_srv *dmub, in dmub_dcn30_backdoor_load() argument 90 dmub_dcn30_get_fb_base_offset(dmub, &fb_base, &fb_offset); in dmub_dcn30_backdoor_load() 118 void dmub_dcn30_setup_windows(struct dmub_srv *dmub, in dmub_dcn30_setup_windows() argument 192 dmub_dcn30_is_auto_load_done(struct dmub_srv *dmub) dmub_dcn30_is_auto_load_done() argument [all...] |
H A D | dmub_dcn21.c | 35 #define CTX dmub 36 #define REGS dmub->regs 56 bool dmub_dcn21_is_auto_load_done(struct dmub_srv *dmub) in dmub_dcn21_is_auto_load_done() argument 61 bool dmub_dcn21_is_phy_init(struct dmub_srv *dmub) in dmub_dcn21_is_phy_init() argument
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dmub/ |
H A D | dmub_srv.h | 90 /* enum dmub_asic - dmub asic identifier */ 109 /* enum dmub_window_id - dmub window identifier */ 122 /* enum dmub_notification_type - dmub outbox notification identifier */ 145 * struct dmub_region - dmub hw memory region 155 * struct dmub_window - dmub hw cache window 165 * struct dmub_fb - defines a dmub framebuffer memory region 177 * struct dmub_srv_region_params - params used for calculating dmub regions 193 * struct dmub_srv_region_info - output region info from the dmub service 195 * @num_regions: number of regions used by the dmub service 216 * @region_info: region info calculated by dmub servic [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/ |
H A D | dc_dmub_srv.c | 28 #include "../dmub/dmub_srv.h" 31 struct dmub_srv *dmub) in dc_dmub_srv_construct() 33 dc_srv->dmub = dmub; in dc_dmub_srv_construct() 37 struct dc_dmub_srv *dc_dmub_srv_create(struct dc *dc, struct dmub_srv *dmub) in dc_dmub_srv_create() argument 47 dc_dmub_srv_construct(dc_srv, dc, dmub); in dc_dmub_srv_create() 63 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_cmd_queue() local 67 status = dmub_srv_cmd_queue(dmub, cmd); in dc_dmub_srv_cmd_queue() 79 status = dmub_srv_cmd_queue(dmub, cm in dc_dmub_srv_cmd_queue() 30 dc_dmub_srv_construct(struct dc_dmub_srv *dc_srv, struct dc *dc, struct dmub_srv *dmub) dc_dmub_srv_construct() argument 89 struct dmub_srv *dmub = dc_dmub_srv->dmub; dc_dmub_srv_cmd_execute() local 100 struct dmub_srv *dmub = dc_dmub_srv->dmub; dc_dmub_srv_wait_idle() local 111 struct dmub_srv *dmub = dc_dmub_srv->dmub; dc_dmub_srv_wait_phy_init() local 139 struct dmub_srv *dmub; dc_dmub_srv_notify_stream_mask() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dmub/ |
H A D | dmub_srv.h | 86 /* enum dmub_asic - dmub asic identifier */ 97 /* enum dmub_window_id - dmub window identifier */ 111 * struct dmub_region - dmub hw memory region 121 * struct dmub_window - dmub hw cache window 131 * struct dmub_fb - defines a dmub framebuffer memory region 143 * struct dmub_srv_region_params - params used for calculating dmub regions 159 * struct dmub_srv_region_info - output region info from the dmub service 161 * @num_regions: number of regions used by the dmub service 182 * @region_info: region info calculated by dmub service 197 * struct dmub_srv_fb_info - output fb info from the dmub servic [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/dce/ |
H A D | dmub_psr.h | 39 bool (*psr_copy_settings)(struct dmub_psr *dmub, struct dc_link *link, 41 void (*psr_enable)(struct dmub_psr *dmub, bool enable, bool wait, 43 void (*psr_get_state)(struct dmub_psr *dmub, enum dc_psr_state *dc_psr_state, 45 void (*psr_set_level)(struct dmub_psr *dmub, uint16_t psr_level, 47 void (*psr_force_static)(struct dmub_psr *dmub, uint8_t panel_inst); 48 void (*psr_get_residency)(struct dmub_psr *dmub, uint32_t *residency, 50 void (*psr_set_sink_vtotal_in_psr_active)(struct dmub_psr *dmub, 52 void (*psr_set_power_opt)(struct dmub_psr *dmub, unsigned int power_opt, uint8_t panel_inst); 56 void dmub_psr_destroy(struct dmub_psr **dmub);
|
H A D | dmub_replay.h | 40 void (*replay_get_state)(struct dmub_replay *dmub, enum replay_state *state, 42 void (*replay_enable)(struct dmub_replay *dmub, bool enable, bool wait, 44 bool (*replay_copy_settings)(struct dmub_replay *dmub, struct dc_link *link, 46 void (*replay_set_power_opt)(struct dmub_replay *dmub, unsigned int power_opt, 48 void (*replay_set_coasting_vtotal)(struct dmub_replay *dmub, uint16_t coasting_vtotal, 50 void (*replay_residency)(struct dmub_replay *dmub, 55 void dmub_replay_destroy(struct dmub_replay **dmub);
|
H A D | dmub_psr.c | 29 #include "dmub/dmub_srv.h" 105 static void dmub_psr_get_state(struct dmub_psr *dmub, enum dc_psr_state *state, uint8_t panel_inst) in dmub_psr_get_state() argument 107 struct dmub_srv *srv = dmub->ctx->dmub_srv->dmub; in dmub_psr_get_state() 142 static bool dmub_psr_set_version(struct dmub_psr *dmub, struct dc_stream_state *stream, uint8_t panel_inst) in dmub_psr_set_version() argument 145 struct dc_context *dc = dmub->ctx; in dmub_psr_set_version() 181 static void dmub_psr_enable(struct dmub_psr *dmub, bool enable, bool wait, uint8_t panel_inst) in dmub_psr_enable() argument 184 struct dc_context *dc = dmub->ctx; in dmub_psr_enable() 209 dmub_psr_get_state(dmub, &state, panel_inst); in dmub_psr_enable() 232 static void dmub_psr_set_level(struct dmub_psr *dmub, uint16_ argument 256 dmub_psr_set_sink_vtotal_in_psr_active(struct dmub_psr *dmub, uint16_t psr_vtotal_idle, uint16_t psr_vtotal_su) dmub_psr_set_sink_vtotal_in_psr_active() argument 275 dmub_psr_set_power_opt(struct dmub_psr *dmub, unsigned int power_opt, uint8_t panel_inst) dmub_psr_set_power_opt() argument 294 dmub_psr_copy_settings(struct dmub_psr *dmub, struct dc_link *link, struct psr_context *psr_context, uint8_t panel_inst) dmub_psr_copy_settings() argument 426 dmub_psr_force_static(struct dmub_psr *dmub, uint8_t panel_inst) dmub_psr_force_static() argument 445 dmub_psr_get_residency(struct dmub_psr *dmub, uint32_t *residency, uint8_t panel_inst) dmub_psr_get_residency() argument 496 dmub_psr_destroy(struct dmub_psr **dmub) dmub_psr_destroy() argument [all...] |
H A D | dmub_replay.c | 28 #include "dmub/dmub_srv.h" 39 static void dmub_replay_get_state(struct dmub_replay *dmub, enum replay_state *state, uint8_t panel_inst) in dmub_replay_get_state() argument 41 struct dmub_srv *srv = dmub->ctx->dmub_srv->dmub; in dmub_replay_get_state() 68 static void dmub_replay_enable(struct dmub_replay *dmub, bool enable, bool wait, uint8_t panel_inst) in dmub_replay_enable() argument 71 struct dc_context *dc = dmub->ctx; in dmub_replay_enable() 95 dmub_replay_get_state(dmub, &state, panel_inst); in dmub_replay_enable() 118 static void dmub_replay_set_power_opt(struct dmub_replay *dmub, unsigned int power_opt, uint8_t panel_inst) in dmub_replay_set_power_opt() argument 121 struct dc_context *dc = dmub->ctx; in dmub_replay_set_power_opt() 136 static bool dmub_replay_copy_settings(struct dmub_replay *dmub, in dmub_replay_copy_settings() argument 221 dmub_replay_set_coasting_vtotal(struct dmub_replay *dmub, uint16_t coasting_vtotal, uint8_t panel_inst) dmub_replay_set_coasting_vtotal() argument 240 dmub_replay_residency(struct dmub_replay *dmub, uint8_t panel_inst, uint32_t *residency, const bool is_start, const bool is_alpm) dmub_replay_residency() argument 299 dmub_replay_destroy(struct dmub_replay **dmub) dmub_replay_destroy() argument [all...] |
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/ |
H A D | dc_dmub_srv.c | 28 #include "../dmub/dmub_srv.h" 40 struct dmub_srv *dmub) in dc_dmub_srv_construct() 42 dc_srv->dmub = dmub; in dc_dmub_srv_construct() 46 struct dc_dmub_srv *dc_dmub_srv_create(struct dc *dc, struct dmub_srv *dmub) in dc_dmub_srv_create() argument 56 dc_dmub_srv_construct(dc_srv, dc, dmub); in dc_dmub_srv_create() 71 struct dmub_srv *dmub = dc_dmub_srv->dmub; in dc_dmub_srv_wait_idle() local 75 status = dmub_srv_wait_for_idle(dmub, 100000); in dc_dmub_srv_wait_idle() 84 struct dmub_srv *dmub in dc_dmub_srv_clear_inbox0_ack() local 39 dc_dmub_srv_construct(struct dc_dmub_srv *dc_srv, struct dc *dc, struct dmub_srv *dmub) dc_dmub_srv_construct() argument 97 struct dmub_srv *dmub = dmub_srv->dmub; dc_dmub_srv_wait_for_inbox0_ack() local 111 struct dmub_srv *dmub = dmub_srv->dmub; dc_dmub_srv_send_inbox0_cmd() local 130 struct dmub_srv *dmub; dc_dmub_srv_cmd_run_list() local 187 struct dmub_srv *dmub; dc_dmub_srv_optimized_init_done() local 210 struct dmub_srv *dmub; dc_dmub_srv_notify_stream_mask() local 225 struct dmub_srv *dmub; dc_dmub_srv_is_restore_required() local 247 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; dc_dmub_srv_get_dmub_outbox0_msg() local 1033 struct dmub_srv *dmub; dc_dmub_srv_enable_dpia_trace() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/display/dc/dce/ |
H A D | dmub_psr.c | 29 #include "dmub/dmub_srv.h" 76 static void dmub_psr_get_state(struct dmub_psr *dmub, uint32_t *psr_state) in dmub_psr_get_state() argument 78 struct dmub_srv *srv = dmub->ctx->dmub_srv->dmub; in dmub_psr_get_state() 91 static bool dmub_psr_set_version(struct dmub_psr *dmub, struct dc_stream_state *stream) in dmub_psr_set_version() argument 94 struct dc_context *dc = dmub->ctx; in dmub_psr_set_version() 122 static void dmub_psr_enable(struct dmub_psr *dmub, bool enable, bool wait) in dmub_psr_enable() argument 125 struct dc_context *dc = dmub->ctx; in dmub_psr_enable() 147 dmub_psr_get_state(dmub, &psr_state); in dmub_psr_enable() 169 static void dmub_psr_set_level(struct dmub_psr *dmub, uint16_ argument 193 dmub_psr_copy_settings(struct dmub_psr *dmub, struct dc_link *link, struct psr_context *psr_context) dmub_psr_copy_settings() argument 308 dmub_psr_destroy(struct dmub_psr **dmub) dmub_psr_destroy() argument [all...] |
H A D | dmub_psr.h | 38 bool (*psr_copy_settings)(struct dmub_psr *dmub, struct dc_link *link, struct psr_context *psr_context); 39 void (*psr_enable)(struct dmub_psr *dmub, bool enable, bool wait); 40 void (*psr_get_state)(struct dmub_psr *dmub, uint32_t *psr_state); 41 void (*psr_set_level)(struct dmub_psr *dmub, uint16_t psr_level); 45 void dmub_psr_destroy(struct dmub_psr **dmub);
|
/kernel/linux/linux-6.6/drivers/gpu/drm/amd/display/dc/core/ |
H A D | dc_stat.c | 26 #include "dmub/dmub_srv_stat.h" 40 * Calls dmub layer to retrieve dmub notification 43 * @notify: dmub notification structure 52 * we shall not modify any dc, dc_dmub_srv or dmub variables in dc_stat_get_dmub_notification() 55 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; in dc_stat_get_dmub_notification() local 58 status = dmub_srv_stat_get_notification(dmub, notify); in dc_stat_get_dmub_notification() 74 * Calls dmub layer to retrieve dmub gpin 84 struct dmub_srv *dmub = dc->ctx->dmub_srv->dmub; dc_stat_get_dmub_dataout() local [all...] |