STRUCT DMUB_SRV_REGION_INFO(9)
π NAME π
struct dmub_srv_region_info β the output region info that comes back from the dmub service, bestie π«Ά (this one lives in the Kernel API Manual, iykyk)
β¨ SYNOPSIS β¨
struct dmub_srv_region_info {
uint32_t fb_size;
uint32_t gart_size;
uint8_t num_regions;
struct dmub_region regions[DMUB_WINDOW_TOTAL];
uint32_t verified_psp_footer_size;
};
π DESCRIPTION π
Members
fb_sizeβ the required minimum fb size for all the regions, and it's aligned to 4096 bytes. no cap, it's gotta be aligned πnum_regionsβ how many regions the dmub service is actually using.regionsβ the region info itself π
ok so real talk β the struct up in SYNOPSIS also hasgart_sizeandverified_psp_footer_sizechillin' in there, and this manpage just doesn't spell those two out. not me leaving them undescribed, they're literally just listed in the struct, so don't come for me π
Description
The regions are aligned in such a way that they can all be placed inside the same framebuffer β but they can also be placed into different framebuffers. both? both. iconic β¨
The size of each region is something the caller can calculate, like this:
size = reg.top - reg.base
β οΈ heads up bestie: if you're doing custom allocations, you must be careful to make sure every region's base address is 256 byte aligned. fr fr, take the care.
π SEE ALSO π
Kernel file ./drivers/gpu/drm/amd/display/dmub/dmub_srv.h
DMUB interface and operation(9), struct dmub_region(9), 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_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)
k bye ily, go read the whole list, it's giving very thorough π
this lil page came from ./drivers/gpu/drm/amd/display/... and it's dated October 2026 β slay, see you in the next one πβ¨
π¦ 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