STRUCT DRM_SYNCOBJ_EVENTFD(9)
π struct drm_syncobj_eventfd(9) π
okay so bestie, welcome to the Kernel API Manual β yes we're reading kernel docs together, this is our moment, bestie. no cap, it's giving "I actually understand DRM now" energy. π
β¨ NAME β¨
struct drm_syncobj_eventfd β that's it, that's the name, the manpage is lowkey mysterious about it but the struct itself is about to spill all the details below π«Ά
πΈ SYNOPSIS πΈ
here's the whole vibe, literally just this:
struct drm_syncobj_eventfd {
__u32 handle;
__u32 flags;
__u64 point;
__s32 fd;
__u32 pad;
};
π Members π
okay bestie, field-by-field, don't skip, this is the important part:
handleβ the syncobj handle. that's your little ticket to the syncobj, iconic. ποΈflagsβ set this to zero if you wanna wait for the point to be signalled, OR set it toDRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLEif you wanna wait for a fence to be available for the point. two moods, pick one. πpointβ the syncobj timeline point. and listen: for binary syncobjs you set it to zero. zero it is. πfdβ the existing eventfd you want events sent to. like, an eventfd that already exists, not a fresh one. π₯padβ must be zero. not optional, not cute, just zero. π
π Description π
so what does this actually do? it registers an eventfd to be signalled by a syncobj. and the eventfd counter? it gets incremented by one. that's the whole thing. one. increment. by. one. slay. β¨
bestie reminder: pad must be zero. i'm not kidding, the manpage said it, i'm just the messenger. π
π SEE ALSO π
the friend group, the whole squad, everybody's here β kernel file ./tools/perf/trace/beauty/include/uapi/drm/drm.h plus:
struct drm_gem_close(9)struct drm_gem_flink(9)struct drm_gem_open(9)struct drm_gem_change_handle(9)DRM_CAP_DUMB_BUFFER(9)DRM_CAP_VBLANK_HIGH_CRTC(9)DRM_CAP_DUMB_PREFERRED_DEPTH(9)DRM_CAP_DUMB_PREFER_SHADOW(9)DRM_CAP_PRIME(9)DRM_PRIME_CAP_IMPORT(9)DRM_PRIME_CAP_EXPORT(9)DRM_CAP_TIMESTAMP_MONOTONIC(9)DRM_CAP_ASYNC_PAGE_FLIP(9)DRM_CAP_CURSOR_WIDTH(9)DRM_CAP_CURSOR_HEIGHT(9)DRM_CAP_ADDFB2_MODIFIERS(9)DRM_CAP_PAGE_FLIP_TARGET(9)DRM_CAP_CRTC_IN_VBLANK_EVENT(9)DRM_CAP_SYNCOBJ(9)DRM_CAP_SYNCOBJ_TIMELINE(9)DRM_CAP_ATOMIC_ASYNC_PAGE_FLIP(9)DRM_CLIENT_CAP_STEREO_3D(9)DRM_CLIENT_CAP_UNIVERSAL_PLANES(9)DRM_CLIENT_CAP_ATOMIC(9)DRM_CLIENT_CAP_ASPECT_RATIO(9)DRM_CLIENT_CAP_WRITEBACK_CONNECTORS(9)DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT(9)DRM_CLIENT_CAP_PLANE_COLOR_PIPELINE(9)DRM_IOCTL_GEM_CLOSE(9)DRM_IOCTL_PRIME_HANDLE_TO_FD(9)DRM_IOCTL_PRIME_FD_TO_HANDLE(9)DRM_IOCTL_MODE_RMFB(9)DRM_IOCTL_MODE_CREATE_DUMB(9)DRM_IOCTL_MODE_GETFB2(9)DRM_IOCTL_SYNCOBJ_EVENTFD(9)DRM_IOCTL_MODE_CLOSEFB(9)DRM_IOCTL_SET_CLIENT_NAME(9)DRM_IOCTL_GEM_CHANGE_HANDLE(9)struct drm_event(9)DRM_EVENT_VBLANK(9)DRM_EVENT_FLIP_COMPLETE(9)DRM_EVENT_CRTC_SEQUENCE(9)
and that's the page bestie, you ate that π«Ά oh and for the sign-off β this one comes from ./tools/perf/trace/beauty/incl... (yeah it's truncated in the source, not me, i would never π) and it's dated October 2026, and the header up top says struct drm_syncobj_eventfd(9), Kernel API Manual. periodt. π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms