STRUCT DMUB_REGION(9)
β¨ struct dmub_region(9) β¨
okay so bestie, welcome to the Kernel API Manual β yes that's the manual name, and yes we're reading it for fun now π. Today's main character is struct dmub_region, aka the lil' struct that describes a dmub hw memory region. That's it. That's the whole vibe. It's giving "small but important" and honestly? Obsessed. π
πΈ NAME πΈ
struct dmub_region β literally just the dmub hw memory region. no cap, that's the entire name section π«Ά
β SYNOPSIS β
here's the whole struct, bestie β only two members, we love a minimal queen π
struct dmub_region {
uint32_t base;
uint32_t top;
};
π¦ Members π¦
so there's exactly two fields and you're gonna wanna know both, fr fr:
baseβ the base address for the region. β οΈ heads up: it must be 256 byte aligned β like, this is not a suggestion, it's a requirement, don't come crying to me if you ignore it πtopβ the top address for the region. that's it, that's the vibe π
bestie moment:base= where it starts,top= where it tops out. 256-byte alignment onbase, or it's not slaying. periodt. π
π SEE ALSO π
okay this is the part where the page goes absolutely feral and lists like every single DMUB thing in existence π but we respect the hustle. Go read these, iykyk:
- the Kernel file
./drivers/gpu/drm/amd/display/dmub/dmub_srv.hβ DMUB interface and operation(9) β start here honestly, it's the mothership π§ struct dmub_window(9)struct dmub_fb(9)struct dmub_srv_region_params(9)struct dmub_srv_fw_meta_info_params(9)struct dmub_srv_region_info(9)struct dmub_srv_memory_params(9)struct dmub_srv_fb_info(9)struct dmub_soc_fb_info(9)struct dmub_diagnostic_data(9)struct dmub_preos_info(9)struct dmub_srv_base_funcs(9)struct dmub_srv_hw_funcs(9)struct dmub_srv_create_params(9)struct dmub_srv(9)struct dmub_notification(9)dmub_srv_create(9)dmub_srv_destroy(9)dmub_srv_calc_region_info(9)dmub_srv_has_hw_support(9)dmub_srv_is_hw_init(9)dmub_srv_hw_init(9)dmub_srv_hw_reset(9)dmub_srv_fb_cmd_queue(9)dmub_srv_fb_cmd_execute(9)dmub_srv_wait_for_hw_pwr_up(9)dmub_srv_wait_for_auto_load(9)dmub_srv_wait_for_phy_init(9)dmub_srv_wait_for_pending(9)dmub_srv_wait_for_idle(9)dmub_srv_send_gpint_command(9)dmub_srv_get_gpint_response(9)dmub_srv_get_gpint_dataout(9)dmub_srv_flush_buffer_mem(9)dmub_srv_get_fw_boot_status(9)dmub_srv_send_inbox0_cmd(9)dmub_srv_wait_for_inbox0_ack(9)dmub_srv_subvp_save_surf_addr(9)dmub_srv_set_power_state(9)dmub_srv_reg_cmd_execute(9)dmub_srv_cmd_get_response(9)dmub_srv_sync_inboxes(9)dmub_srv_wait_for_inbox_free(9)dmub_srv_update_inbox_status(9)dmub_srv_get_preos_info(9)dmub_srv_get_fw_meta_info_from_raw_fw(9)
no seriously, that's the whole list, i counted, and yes i am tired but we ate π₯
and that's the page, bestie!! πβ¨ this lil' beauty lives over at ./drivers/gpu/drm/amd/display/..., dated October 2026, and it's filed under struct dmub_region(9) in the Kernel API Manual. go forth and align your base addresses to 256 bytes, ily, bye ππ¦πΈ
π¦ 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