UNION DMUB_GPINT_DATA_REGISTER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– union dmub_gpint_data_register(9) β€” Kernel API Manual

okay so you opened the manpage for union dmub_gpint_data_register(9) and it's giving very "kernel API manual" energy β€” that's the manual name bestie, we're in the kernel docs section 9, hold my iced coffee πŸ§‹


✨ NAME ✨

union dmub_gpint_data_register β€” literally the format for sending a command via the GPINT. that's it. that's the whole name section. slay πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

okay here's the actual shape of it, and yes you have to read it carefully, no skimming πŸ™ˆ

union dmub_gpint_data_register {
    struct {
      uint32_t param : 16;
      uint32_t command_code : 12;
      uint32_t status : 4;
    } bits;
    uint32_t all;
 };

so it's a union (iykyk β€” everyone in the union shares the same storage) and it's got exactly two things in it:

  • bits β€” a struct holding the three bitfields: param is : 16, command_code is : 12, and status is : 4. those colons are bitfield widths, not vibes. 🌸
  • all β€” a plain uint32_t that overlays the whole thing, so you can poke at the packed bits all at once. main character energy fr fr πŸ‘‘

no cap, that's the entire union. iconic of it honestly.


πŸŽ€ Members πŸŽ€

this is the Members section, and bestie… it's empty. like, the heading is there, the section is there, and there is nothing listed under it in the original. so if you came here looking for individual member write-ups, this page is not the one. it's giving minimalist. πŸ’€

(the members you actually care about β€” param, command_code, status, all β€” are all up in the SYNOPSIS. go look there. 😭)


🌈 SEE ALSO 🌈

this part is a whole situation β€” the list goes on and on and honestly? iconic. first up the kernel file, then the references, all of them, in the order the manpage gives them:

  • Kernel file ./drivers/gpu/drm/amd/display/dmub/inc/dmub_cmd.h β€” this is the one, the source file where this union lives 🧚
  • 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)
  • 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)
  • struct dmub_rb(9)

like I said. a lot. all of them are real, all of them are (9), and yes you're gonna want to actually read a few of these if you're doing DMUB stuff. obsessed with the dedication honestly πŸ”₯


quick vibe check bestie: this page gives you the format and the pointers to everything else. it does not hand you a tutorial. that's what SEE ALSO is for. 🫢

and that's the page! πŸŽ€ it comes from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β€” so like, future-dated, very mysterious of it πŸ’œ β€” and the whole thing is filed under union dmub_g...ata_register(9), which is the shortened name you'll see stamped at the top and bottom. periodt. πŸ’…βœ¨

πŸ“¦ where this page comes from