UNION DMUB_RB_CMD(9)
π union dmub_rb_cmd(9) π
okay so bestie, this page is from the Kernel API Manual, section 9, and it's all about union dmub_rb_cmd β the DMUB inbox command. it's giving "one union to rule all the little command payloads" and honestly? iconic. β¨
π NAME π
union dmub_rb_cmd β DMUB inbox command. that's the whole name, short and slay. π
πΈ SYNOPSIS πΈ
here's the union in all its glory, copied exactly because we respect the source code in this house:
union dmub_rb_cmd {
struct dmub_rb_cmd_common cmd_common;
struct dmub_rb_cmd_digx_encoder_control digx_encoder_control;
struct dmub_rb_cmd_set_pixel_clock set_pixel_clock;
struct dmub_rb_cmd_enable_disp_power_gating
enable_disp_power_gating;
struct dmub_rb_cmd_dpphy_init dpphy_init;
struct dmub_rb_cmd_dig1_transmitter_control
dig1_transmitter_control;
struct dmub_rb_cmd_domain_control domain_control;
struct dmub_rb_cmd_psr_set_version psr_set_version;
struct dmub_rb_cmd_psr_copy_settings psr_copy_settings;
struct dmub_rb_cmd_psr_enable psr_enable;
struct dmub_rb_cmd_psr_set_level psr_set_level;
struct dmub_rb_cmd_psr_force_static psr_force_static;
struct dmub_rb_cmd_update_dirty_rect update_dirty_rect;
struct dmub_rb_cmd_update_cursor_info update_cursor_info;
struct dmub_rb_cmd_lock_hw lock_hw;
struct dmub_rb_cmd_psr_set_vtotal psr_set_vtotal;
struct dmub_rb_cmd_psr_set_power_opt psr_set_power_opt;
struct dmub_rb_cmd_PLAT_54186_wa PLAT_54186_wa;
struct dmub_rb_cmd_mall mall;
struct dmub_rb_cmd_cab_for_ss cab;
struct dmub_rb_cmd_fw_assisted_mclk_switch_v2
fw_assisted_mclk_switch_v2;
struct dmub_rb_cmd_idle_opt_dcn_restore dcn_restore;
struct dmub_rb_cmd_clk_mgr_notify_clocks notify_clocks;
struct dmub_rb_cmd_panel_cntl panel_cntl;
struct dmub_rb_cmd_abm_set_pipe abm_set_pipe;
struct dmub_rb_cmd_abm_set_backlight abm_set_backlight;
struct dmub_rb_cmd_abm_set_level abm_set_level;
struct dmub_rb_cmd_abm_set_ambient_level abm_set_ambient_level;
struct dmub_rb_cmd_abm_set_pwm_frac abm_set_pwm_frac;
struct dmub_rb_cmd_abm_init_config abm_init_config;
struct dmub_rb_cmd_abm_pause abm_pause;
struct dmub_rb_cmd_abm_save_restore abm_save_restore;
struct dmub_rb_cmd_abm_query_caps abm_query_caps;
struct dmub_rb_cmd_abm_get_ace_curve abm_get_ace_curve;
struct dmub_rb_cmd_abm_get_histogram abm_get_histogram;
struct dmub_rb_cmd_abm_set_event abm_set_event;
struct dmub_rb_cmd_dp_aux_access dp_aux_access;
struct dmub_rb_cmd_outbox1_enable outbox1_enable;
struct dmub_rb_cmd_query_feature_caps query_feature_caps;
struct dmub_rb_cmd_get_visual_confirm_color visual_confirm_color;
struct dmub_rb_cmd_drr_update drr_update;
struct dmub_rb_cmd_fw_assisted_mclk_switch fw_assisted_mclk_switch;
struct dmub_rb_cmd_lvtma_control lvtma_control;
struct dmub_rb_cmd_transmitter_query_dp_alt query_dp_alt;
struct dmub_rb_cmd_transmitter_set_phy_fsm set_phy_fsm;
struct dmub_rb_cmd_dig1_dpia_control dig1_dpia_control;
struct dmub_rb_cmd_set_config_access set_config_access;
struct dmub_rb_cmd_set_config_request set_config_request;
struct dmub_rb_cmd_set_mst_alloc_slots set_mst_alloc_slots;
struct dmub_rb_cmd_set_tps_notification set_tps_notification;
struct dmub_rb_cmd_edid_cea edid_cea;
struct dmub_rb_cmd_get_usbc_cable_id cable_id;
struct dmub_rb_cmd_query_hpd_state query_hpd;
struct dmub_rb_cmd_secure_display secure_display;
struct dmub_rb_cmd_dpia_hpd_int_enable dpia_hpd_int_enable;
struct dmub_rb_cmd_cacp_set_pipe cacp_set_pipe;
struct dmub_rb_cmd_cacp_set_level cacp_set_level;
struct dmub_rb_cmd_cacp_set_event cacp_set_event;
struct dmub_rb_cmd_cacp_init_config cacp_init_config;
struct dmub_rb_cmd_cacp_pause cacp_pause;
struct dmub_rb_cmd_cacp_set_backlight cacp_set_backlight;
struct dmub_rb_cmd_cacp_set_pwm_frac cacp_set_pwm_frac;
struct dmub_rb_cmd_cacp_get_histogram cacp_get_histogram;
struct dmub_rb_cmd_cacp_get_ace_curve_area cacp_get_ace_curve_area;
struct dmub_rb_cmd_idle_opt_dcn_notify_idle idle_opt_notify_idle;
struct dmub_rb_cmd_idle_opt_set_dc_power_state
idle_opt_set_dc_power_state;
struct dmub_rb_cmd_replay_copy_settings replay_copy_settings;
struct dmub_rb_cmd_replay_enable replay_enable;
struct dmub_rb_cmd_replay_set_power_opt replay_set_power_opt;
struct dmub_rb_cmd_replay_set_coasting_vtotal
replay_set_coasting_vtotal;
struct dmub_rb_cmd_replay_set_power_opt_and_coasting_vtotal
replay_set_power_opt_and_coasting_vtotal;
struct dmub_rb_cmd_replay_set_timing_sync replay_set_timing_sync;
struct dmub_rb_cmd_replay_set_frameupdate_timer
replay_set_frameupdate_timer;
struct dmub_rb_cmd_replay_set_pseudo_vtotal
replay_set_pseudo_vtotal;
struct dmub_rb_cmd_replay_disabled_adaptive_sync_sdp
replay_disabled_adaptive_sync_sdp;
struct dmub_rb_cmd_replay_set_general_cmd replay_set_general_cmd;
struct dmub_rb_cmd_assr_enable assr_enable;
struct dmub_rb_cmd_fams2 fams2_config;
struct dmub_rb_cmd_ib ib_fams2_config;
struct dmub_rb_cmd_ib ib_fams2_debug_meta;
struct dmub_rb_cmd_fams2_drr_update fams2_drr_update;
struct dmub_rb_cmd_fams2_flip fams2_flip;
struct dmub_rb_cmd_fused_io fused_io;
struct dmub_rb_cmd_lsdma lsdma;
struct dmub_rb_cmd_ips_residency_cntl ips_residency_cntl;
struct dmub_rb_cmd_ips_query_residency_info
ips_query_residency_info;
struct dmub_rb_cmd_cursor_offload_init cursor_offload_init;
struct dmub_rb_cmd_cursor_offload_stream_cntl
cursor_offload_stream_ctnl;
struct dmub_rb_cmd_smart_power_oled_enable smart_power_oled_enable;
struct dmub_rb_cmd_smart_power_oled_getmaxcll
smart_power_oled_getmaxcll;
struct dmub_rb_cmd_pr_copy_settings pr_copy_settings;
struct dmub_rb_cmd_pr_enable pr_enable;
struct dmub_rb_cmd_pr_update_state pr_update_state;
struct dmub_rb_cmd_pr_general_cmd pr_general_cmd;
struct dmub_rb_cmd_ihc ihc;
struct dmub_rb_cmd_boot_time_crc_init boot_time_crc_init;
struct dmub_rb_cmd_panel_polarity_enable panel_polarity_enable;
struct dmub_rb_cmd_panel_polarity_get_bias panel_polarity_get_bias;
struct dmub_rb_cmd_panel_polarity_reset panel_polarity_reset;
};
every single field up there is a different command struct packed into the same union β cmd_common is first, then the rest of the squad rolls in. no cap, it's a lot, and that's the point. π«Ά
π« Members π«
so the original manpage has a Members heading and literally nothing else under it β no descriptions, no bullet points, no tea. π the members are all listed in the synopsis above, and that's the whole section. periodt.
π¦ SEE ALSO π¦
the friend group is huge, bestie. first the kernel file:
- Kernel file
./drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h
and then every related type, all of them, in order:
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_out_cmd(9)struct dmub_rb_init_params(9)struct dmub_rb(9)
okay that's the page, mwah π source/version: ./drivers/gpu/drm/amd/display/..., date: October 2026. bye bestie, go be iconic with your inbox commands π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms