STRUCT DRM_NOUVEAU_SYNC(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct drm_nouveau_sync(9) β€” the Kernel API Manual, bestie edition πŸŽ€

okay so you're in the Kernel API Manual and the star of the show today is literally struct drm_nouveau_sync(9) β€” a whole sync object, iconic behavior only ✨


🌸 NAME 🌸

struct drm_nouveau_sync β€” it's a sync object, that's the whole vibe 🫢


⭐ SYNOPSIS ⭐

here's the struct in all her glory, copy it exactly please, no typos, we don't do that here πŸ’…

struct drm_nouveau_sync {
    __u32 flags;
  #define DRM_NOUVEAU_SYNC_SYNCOBJ 0x0;
  #define DRM_NOUVEAU_SYNC_TIMELINE_SYNCOBJ 0x1;
  #define DRM_NOUVEAU_SYNC_TYPE_MASK 0xf;
    __u32 handle;
    __u64 timeline_value;
 };

like… look at her. the #defines are literally living inside the struct body. that's just how it is, don't question it 🧚


πŸ¦‹ Members πŸ¦‹

  • flags β€” the flags for a sync object πŸ’– and lowkey the important part: the first 8 bits are what determine the type of the sync object, so those bits are carrying the whole team ngl
  • handle β€” the handle of the sync object, that's it, that's her πŸŽ€
  • timeline_value β€” the timeline point of the sync object, but only in case the syncobj is of type DRM_NOUVEAU_SYNC_TIMELINE_SYNCOBJ (iykyk) ⏱️✨

🌈 Description 🌈

fr fr, this structure serves as a synchronization mechanism for (potentially) asynchronous operations such as EXEC or VM_BIND πŸ”₯

not me being the thing that keeps your async ops from vibing out of order 😭 that's main character energy right there πŸ‘‘

πŸ‘‘ SEE ALSO πŸ‘‘

go read these next, bestie, they're all right there in the Kernel file ./include/uapi/drm/nouveau_drm.h β€” struct:

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

okay that's the whole page, no cap πŸ’œ this lil drop came from ./include/uapi/drm, dated October 2026, and it's filed under struct drm_nouveau_sync(9) β€” slay, go forth and sync responsibly πŸ“βœ¨

πŸ“¦ where this page comes from