Lines Matching refs:dmub_srv

77 struct dmub_srv;
164 /* enum dmub_power_state type - to track DC power state in dmub_srv */
306 * struct dmub_srv_debug - Debug info for dmub_srv
370 void (*init)(struct dmub_srv *dmub);
372 void (*reset)(struct dmub_srv *dmub);
374 void (*reset_release)(struct dmub_srv *dmub);
376 void (*backdoor_load)(struct dmub_srv *dmub,
380 void (*backdoor_load_zfb_mode)(struct dmub_srv *dmub,
383 void (*setup_windows)(struct dmub_srv *dmub,
391 void (*setup_mailbox)(struct dmub_srv *dmub,
394 uint32_t (*get_inbox1_wptr)(struct dmub_srv *dmub);
396 uint32_t (*get_inbox1_rptr)(struct dmub_srv *dmub);
398 void (*set_inbox1_wptr)(struct dmub_srv *dmub, uint32_t wptr_offset);
400 void (*setup_out_mailbox)(struct dmub_srv *dmub,
403 uint32_t (*get_outbox1_wptr)(struct dmub_srv *dmub);
405 void (*set_outbox1_rptr)(struct dmub_srv *dmub, uint32_t rptr_offset);
407 void (*setup_outbox0)(struct dmub_srv *dmub,
410 uint32_t (*get_outbox0_wptr)(struct dmub_srv *dmub);
412 void (*set_outbox0_rptr)(struct dmub_srv *dmub, uint32_t rptr_offset);
414 uint32_t (*emul_get_inbox1_rptr)(struct dmub_srv *dmub);
416 void (*emul_set_inbox1_wptr)(struct dmub_srv *dmub, uint32_t wptr_offset);
418 bool (*is_supported)(struct dmub_srv *dmub);
420 bool (*is_psrsu_supported)(struct dmub_srv *dmub);
422 bool (*is_hw_init)(struct dmub_srv *dmub);
423 bool (*is_hw_powered_up)(struct dmub_srv *dmub);
425 void (*enable_dmub_boot_options)(struct dmub_srv *dmub,
428 void (*skip_dmub_panel_power_sequence)(struct dmub_srv *dmub, bool skip);
430 union dmub_fw_boot_status (*get_fw_status)(struct dmub_srv *dmub);
432 union dmub_fw_boot_options (*get_fw_boot_option)(struct dmub_srv *dmub);
434 void (*set_gpint)(struct dmub_srv *dmub,
437 bool (*is_gpint_acked)(struct dmub_srv *dmub,
440 uint32_t (*get_gpint_response)(struct dmub_srv *dmub);
442 uint32_t (*get_gpint_dataout)(struct dmub_srv *dmub);
444 void (*configure_dmub_in_system_memory)(struct dmub_srv *dmub);
445 void (*clear_inbox0_ack_register)(struct dmub_srv *dmub);
446 uint32_t (*read_inbox0_ack_register)(struct dmub_srv *dmub);
447 void (*send_inbox0_cmd)(struct dmub_srv *dmub, union dmub_inbox0_data_register data);
448 uint32_t (*get_current_time)(struct dmub_srv *dmub);
450 void (*get_diagnostic_data)(struct dmub_srv *dmub, struct dmub_diagnostic_data *dmub_oca);
452 bool (*should_detect)(struct dmub_srv *dmub);
453 void (*init_reg_offsets)(struct dmub_srv *dmub, struct dc_context *ctx);
455 void (*subvp_save_surf_addr)(struct dmub_srv *dmub, const struct dc_plane_address *addr, uint8_t subvp_index);
477 * struct dmub_srv - software state for dmcub
479 * @user_ctx: user provided context for the dmub_srv
485 struct dmub_srv {
569 enum dmub_status dmub_srv_create(struct dmub_srv *dmub,
576 void dmub_srv_destroy(struct dmub_srv *dmub);
592 dmub_srv_calc_region_info(struct dmub_srv *dmub,
609 enum dmub_status dmub_srv_calc_mem_info(struct dmub_srv *dmub,
626 enum dmub_status dmub_srv_has_hw_support(struct dmub_srv *dmub,
636 enum dmub_status dmub_srv_is_hw_init(struct dmub_srv *dmub, bool *is_hw_init);
651 enum dmub_status dmub_srv_hw_init(struct dmub_srv *dmub,
667 enum dmub_status dmub_srv_hw_reset(struct dmub_srv *dmub);
679 enum dmub_status dmub_srv_sync_inbox1(struct dmub_srv *dmub);
694 enum dmub_status dmub_srv_cmd_queue(struct dmub_srv *dmub,
707 enum dmub_status dmub_srv_cmd_execute(struct dmub_srv *dmub);
722 enum dmub_status dmub_srv_wait_for_hw_pwr_up(struct dmub_srv *dmub,
725 bool dmub_srv_is_hw_pwr_up(struct dmub_srv *dmub);
743 enum dmub_status dmub_srv_wait_for_auto_load(struct dmub_srv *dmub,
762 enum dmub_status dmub_srv_wait_for_phy_init(struct dmub_srv *dmub,
779 enum dmub_status dmub_srv_wait_for_idle(struct dmub_srv *dmub,
801 dmub_srv_send_gpint_command(struct dmub_srv *dmub,
818 enum dmub_status dmub_srv_get_gpint_response(struct dmub_srv *dmub,
834 enum dmub_status dmub_srv_get_gpint_dataout(struct dmub_srv *dmub,
857 enum dmub_status dmub_srv_get_fw_boot_status(struct dmub_srv *dmub,
860 enum dmub_status dmub_srv_get_fw_boot_option(struct dmub_srv *dmub,
863 enum dmub_status dmub_srv_cmd_with_reply_data(struct dmub_srv *dmub,
866 enum dmub_status dmub_srv_set_skip_panel_power_sequence(struct dmub_srv *dmub,
869 bool dmub_srv_get_outbox0_msg(struct dmub_srv *dmub, struct dmcub_trace_buf_entry *entry);
871 bool dmub_srv_get_diagnostic_data(struct dmub_srv *dmub, struct dmub_diagnostic_data *diag_data);
873 bool dmub_srv_should_detect(struct dmub_srv *dmub);
886 enum dmub_status dmub_srv_send_inbox0_cmd(struct dmub_srv *dmub, union dmub_inbox0_data_register data);
900 enum dmub_status dmub_srv_wait_for_inbox0_ack(struct dmub_srv *dmub, uint32_t timeout_us);
912 enum dmub_status dmub_srv_clear_inbox0_ack(struct dmub_srv *dmub);
927 void dmub_srv_subvp_save_surf_addr(struct dmub_srv *dmub, const struct dc_plane_address *addr, uint8_t subvp_index);
930 * dmub_srv_set_power_state() - Track DC power state in dmub_srv
934 * Store DC power state in dmub_srv. If dmub_srv is in D3, then don't send messages to DMUB
939 void dmub_srv_set_power_state(struct dmub_srv *dmub, enum dmub_srv_power_state_type dmub_srv_power_state);