STRUCT DMUB_RB(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct dmub_rb β€” Inbox or outbox DMUB ringbuffer 🌸

okay bestie, this is from the Kernel API Manual, section 9. So if you're out here poking at the AMD display driver's DMUB mailbox situation, this is the struct you're gonna meet. it's giving "small but crucial" ✨


πŸ’– NAME πŸ’–

struct dmub_rb β€” the Inbox or outbox DMUB ringbuffer. yeah. that's the whole pitch. inbox or outbox, depending on which way the mail is flowing πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of the thing, verbatim, no cap:

struct dmub_rb {
    void *base_address;
    uint32_t rptr;
    uint32_t wrpt;
    uint32_t capacity;
    void *ctx;
    void *dmub;
 };

that's it. that's the struct. six fields, and honestly? iconic.


πŸ‘‘ Members πŸ‘‘

so here's the thing bestie β€” under the Members heading in the original, we got... literally nothing. no bullets, no descriptions, just the heading sitting there alone with main character energy. so the manpage ships the member list as an empty dance floor πŸ’€

the fields themselves are all listed up in the SYNOPSIS though, so don't panic β€” they're there, just not individually annotated on this page. iykyk.


πŸ”₯ SEE ALSO πŸ”₯

okay this is the part where it gets unhinged, because the page dumps the entire DMUB extended cinematic universe on us. strap in, bestie β€” we're going to the kernel file first:

  • Kernel file ./drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h

and then the whole cast, in exactly this order, no shortcuts, no skips, periodt:

  • union dmub_addr(9)
  • struct dmub_cursor_offload_pipe_data_dcn30_v1(9)
  • struct dmub_cursor_offload_pipe_data_dcn401_v1(9)
  • struct dmub_cursor_offload_pipe_data_dcn60_v1(9)
  • struct dmub_cursor_offload_pipe_data_v1(9)
  • struct dmub_cursor_offload_payload_data_v1(9)
  • struct dmub_cursor_offload_stream_v1(9)
  • struct dmub_cursor_offload_v1(9)
  • union dmub_fw_meta_feature_bits(9)
  • struct dmub_fw_meta_info(9)
  • union dmub_fw_meta(9)
  • struct dmcub_trace_buf_entry(9)
  • union dmub_fw_boot_status(9)
  • enum dmub_fw_boot_status_bit(9)
  • enum dmub_cursor_offload_comand_type(9)
  • union dmub_fw_boot_options(9)
  • enum dmub_shared_state_feature_id(9)
  • struct dmub_shared_state_ips_fw(9)
  • struct dmub_shared_state_ips_driver(9)
  • struct dmub_shared_state_cursor_offload_v1(9)
  • struct dmub_shared_state_feature_block(9)
  • union dmub_gpint_data_register(9)
  • enum dmub_out_cmd_type(9)
  • struct dmub_cmd_header(9)
  • struct dmub_rb_cmd_common(9)
  • struct dmub_cmd_PLAT_54186_wa(9)
  • struct dmub_rb_cmd_PLAT_54186_wa(9)
  • enum dmub_cmd_mall_type(9)
  • struct dmub_rb_cmd_mall(9)
  • enum dmub_cmd_cab_type(9)
  • struct dmub_rb_cmd_cab_for_ss(9)
  • enum dmub_fams2_allow_delay_check_mode(9)
  • enum dmub_cmd_idle_opt_type(9)
  • struct dmub_rb_cmd_idle_opt_dcn_restore(9)
  • struct dmub_dcn_notify_idle_cntl_data(9)
  • struct dmub_rb_cmd_idle_opt_dcn_notify_idle(9)
  • enum dmub_idle_opt_dc_power_state(9)
  • struct dmub_idle_opt_set_dc_power_state_data(9)
  • struct dmub_rb_cmd_idle_opt_set_dc_power_state(9)
  • struct dmub_clocks(9)
  • enum dmub_cmd_clk_mgr_type(9)
  • struct dmub_rb_cmd_clk_mgr_notify_clocks(9)
  • struct dmub_cmd_digx_encoder_control_data(9)
  • struct dmub_rb_cmd_digx_encoder_control(9)
  • struct dmub_cmd_set_pixel_clock_data(9)
  • struct dmub_cmd_enable_disp_power_gating_data(9)
  • struct dmub_rb_cmd_enable_disp_power_gating(9)
  • struct dmub_dig_transmitter_control_data_v1_7(9)
  • union dmub_cmd_dig1_transmitter_control_data(9)
  • struct dmub_rb_cmd_dig1_transmitter_control(9)
  • struct dmub_rb_cmd_domain_control_data(9)
  • struct dmub_rb_cmd_domain_control(9)
  • struct dmub_rb_cmd_dpphy_init(9)
  • enum dp_aux_request_action(9)
  • enum aux_return_code_type(9)
  • enum aux_channel_type(9)
  • struct aux_transaction_parameters(9)
  • struct dmub_rb_cmd_hpd_sense_notify(9)
  • enum dmub_phy_fsm_state(9)
  • enum dmub_abm_ace_curve_type(9)
  • enum dmub_abm_histogram_type(9)
  • enum dmub_cmd_panel_cntl_type(9)
  • struct dmub_cmd_panel_cntl_data(9)
  • struct dmub_rb_cmd_panel_cntl(9)
  • struct dmub_cmd_cable_id_input(9)
  • struct dmub_cmd_cursor_offload_init_data(9)
  • struct dmub_rb_cmd_cursor_offload_init(9)
  • struct dmub_cmd_cursor_offload_stream_data(9)
  • struct dmub_rb_cmd_cursor_offload_stream_cntl(9)
  • union dmub_rb_cmd(9)
  • union dmub_rb_out_cmd(9)
  • struct dmub_rb_init_params(9)

like... that's the whole friend group πŸ’œ every single one of them linked, every single one of them (9). we don't gatekeep here.


lowkey a note bestie: this page's Members section really is empty in the source β€” i'm not hiding anything from you, promise 🫢

and that's the tea! sign-off time: this cutie lives over at ./drivers/gpu/drm/amd/display/..., dated October 2026, and it belongs to struct dmub_rb(9). slay, go read the ringbuffer, mwah πŸ’…πŸŽ€

πŸ“¦ where this page comes from