UNION DMUB_RB_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ 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