STRUCT DMUB_SRV_REGION_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 has gart_size and verified_psp_footer_size chillin' 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