DMUB INTERFACE AND OPERATION(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… DMUB interface and operation (9) πŸ’…

Okay bestie, welcome to the Kernel API Manual! This is the whole vibe for DMUB interface and operation. DMUB is the interface to the display DMCUB microcontroller on DCN hardware. It delegates hardware initialization and command submission to the microcontroller. DMUB is the shortname for DMCUB. πŸ’–

🚨 Not thread-safe! Ensure that all access to the interface is properly synchronized by the caller. No cap β€” the caller has to handle the sync. 😭

Initialization and usage of the DMUB service should be done in the steps given below:

  1. dmub_srv_create
  2. dmub_srv_has_hw_support
  3. dmub_srv_calc_region_info
  4. dmub_srv_hw_init

The call to dmub_srv_create is required to use the server. ✨

The calls to dmub_srv_has_hw_support and dmub_srv_calc_region_info are helpers to query cache window size and allocate framebuffer(s) for the cache windows. Very much the β€œget your space ready” era. πŸŽ€

The call to dmub_srv_hw_init programs the DMCUB registers to prepare for command submission. Commands can be queued via dmub_srv_fb_cmd_queue and executed via dmub_srv_fb_cmd_execute. 🫢

If the queue is full the dmub_srv_wait_for_idle call can be used to wait until the queue has been cleared. Lowkey the chill-until-there’s-room move. πŸ’…

Destroying the DMUB service can be done by calling dmub_srv_destroy. This does not clear DMUB hardware state, only software state. Important, bestie β€” hardware state stays put. πŸ’€

The interface is intended to be standalone and should not depend on any other component within DAL. Main character energy, periodt. 🌈

🌸 SEE ALSO 🌸


Source: ./drivers/gpu/drm/amd/display/... Β· Date: October 2026 Β· Page: DMUB interfa...nd operation(9) β€” mwah, bestie, go sync your access properly! πŸ’‹βœ¨πŸ“

πŸ“¦ where this page comes from