STRUCT DRM_NOUVEAU_EXEC_PUSH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct drm_nouveau_exec_push β€” the EXEC push operation, bestie πŸ’… (this is a page from the Kernel API Manual, and yes we're gonna read the whole thing together, don't scroll away)


πŸ¦‹ SYNOPSIS πŸ¦‹

okay so here's the literal shape of it, no cap, copy it exactly:

struct drm_nouveau_exec_push {
    __u64 va;
    __u32 va_len;
    __u32 flags;
  #define DRM_NOUVEAU_EXEC_PUSH_NO_PREFETCH 0x1;
 };

like, that's the whole vibe. it's giving "small struct, big responsibilities" πŸ’–


πŸŽ€ MEMBERS πŸŽ€

one member at a time, we're doing this properly:

  • va β€” the virtual address of the push buffer mapping πŸ‘‘ that's the whole address right there.
  • va_len β€” the length of the push buffer mapping 🌸 like, how much of it there is.
  • flags β€” the flags for this push buffer mapping ✨ and hey, there's a flag hiding up in the synopsis: DRM_NOUVEAU_EXEC_PUSH_NO_PREFETCH 0x1; β€” that's the one define in here, iykyk 🫢

🌈 DESCRIPTION 🌈

okay so picture this: this structure represents a single EXEC push operation. one. just one, that's its whole main character energy 🌟

and UMDs β€” yeah, the user-mode drivers, they know who they are β€” should pass an array of this structure via struct drm_nouveau_exec's push_ptr field πŸ“Œ like, an array of these, not just one, because one push is never enough, periodt.

fr fr, the important bit: it's push_ptr on struct drm_nouveau_exec. not some other field. don't come for me if you get that wrong πŸ™ˆ

πŸ’œ SEE ALSO πŸ’œ

go look at these when you're done here, they're all in the Kernel file ./include/uapi/drm/nouveau_drm.h:

  • struct drm_nouveau_sync(9)
  • struct drm_nouveau_vm_init(9)
  • struct drm_nouveau_vm_bind_op(9)
  • struct drm_nouveau_vm_bind(9)
  • struct drm_nouveau_exec(9)

and that's the whole page, bestie, you ate that πŸ“ the source for all this is ./include/uapi/drm and it's dated October 2026, and the man page itself is struct drm_nouveau_exec_push(9) β€” mwah, go forth and push πŸ’‹πŸ’… ✨ slay ✨

πŸ“¦ where this page comes from