STRUCT DMUB_CMD_PLAT_54186_WA(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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