STRUCT DMUB_CMD_PLAT_54186_WA(9)
π hey bestie, welcome to the struct dmub_cmd_PLAT_54186_wa page π
okay so real talk β this is a page straight out of the Kernel API Manual, section 9, and the star of the show is literally called struct dmub_cmd_PLAT_54186_wa(9). yes the name is giving "internal codename nobody explained at standup" but we move π
β¨ NAME β¨
struct dmub_cmd_PLAT_54186_wa β the Underflow workaround. that's it, that's the whole name section, no cap π«Ά
π¦ SYNOPSIS π¦
okay bestie, here's the whole struct, copied exactly, do not touch a single character or the compiler WILL come for you π
struct dmub_cmd_PLAT_54186_wa {
uint32_t DCSURF_SURFACE_CONTROL;
uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH;
uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS;
uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS_HIGH_C;
uint32_t DCSURF_PRIMARY_SURFACE_ADDRESS_C;
struct {
uint32_t hubp_inst : 4;
uint32_t tmz_surface : 1;
uint32_t immediate :1;
uint32_t vmid : 4;
uint32_t grph_stereo : 1;
uint32_t reserved : 21;
} flip_params;
uint32_t reserved[9];
};
like look at that β a bunch of uint32_t surface-address fields up top, then a little nested anonymous struct doing bitfield things with flip_params at the end, and a reserved[9] array doing its quiet little reserved-array thing. and yes, immediate :1 really does have no space before the 1, that's not a typo on my end, that's literally how it's written, and we respect it π
also quick heads up: reserved : 21 is doing some serious heavy lifting at the bottom of that bitfield, okurrr πΈ
π Members π
bestie. bestie. it's empty. there is nothing here. the Members section is literally blank β the page just gives you the heading and then dips π no member descriptions, no per-field notes, nothing. so likeβ¦ vibe check passed, information delivered: zero. iconic behaviour honestly π
πΈ DESCRIPTION πΈ
okay so what does it do?? get this β it Reprograms surface parameters to avoid underflow.
that's it. that's the description. short, sweet, and honestly kind of a flex β our little struct just slides in and redoes the surface parameters so the display doesn't underflow on us. main character energy fr fr π₯π
ngl that is the entire description as written, so don't come for me asking for more lore β this page is a one-liner and I refuse to invent fanfiction about it π
π SEE ALSO π
okay buckle up bestie because this list is LONG and every single one of these is a real reference, no skipping, we ride at dawn π§
- kernel file
./drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h 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_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)struct dmub_rb(9)
like?? that is a whole friend group of dmub types and we love every single one of them equally ππ
and that's the page bestie!! π little sign-off for you: this one lives in the source at ./drivers/gpu/drm/amd/display/..., dated October 2026, and it goes by struct dmub...LAT_54186_wa(9) in the footer. underflow? not on our watch π
β¨π¦
π¦ 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