dmub_srv_su...ve_surf_addr(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dmub_srv_su...ve_surf_addr(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual β€” this lil page is all about dmub_srv_subvp_save_surf_addr(9) and honestly it's giving "tiny function, big job" energy. let's get into it 🫢


✨ NAME ✨

dmub_srv_subvp_save_surf_addr β€” saves the primary and meta address for subvp on each flip πŸ’Ύβœ¨


🌸 SYNOPSIS 🌸

void dmub_srv_subvp_save_surf_addr (struct dmub_srv *dmub , const struct
       dc_plane_address *addr , uint8_t subvp_index );

like, that's the whole signature, no cap πŸŽ€


πŸ¦‹ ARGUMENTS πŸ¦‹

  • dmub β€” the dmub service itself. our main character πŸ’…
  • addr β€” the surface address that's gonna be programmed on the current flip.
  • subvp_index β€” the index of the subvp pipe. it literally tells you which subvp pipe the address should be saved for. iykyk 🧚

πŸ”₯ DESCRIPTION πŸ”₯

so this function saves the surface flip addr into scratch registers πŸŽ€

why tho? because it's fixing a race condition between FW and the driver both reading / writing to the surface address at the same time 😭 literally a "y'all go one at a time" situation.

and it's required because β€” and this is the key part β€” there is no EARLIEST_IN_USE_META. that's it, that's the reason. no cap πŸ’€


⭐ RETURN ⭐

void β€” nothing comes back, bestie. it just does the thing and dips 🌈


πŸ‘‘ SEE ALSO πŸ‘‘

like, that's a lot of see-also, but every single one of them ate fr fr πŸ’–


and that's the page bestie!! mwah πŸ’‹ this icon came from ./drivers/gpu/drm/amd/display/... and the version/date vibes are October 2026, so like, future-era documentation, we love to see it βœ¨πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from