STRUCT XE_RING_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct xe_ring_ops (9) πŸ’–

okay bestie, so this is a page from the Kernel API Manual, and it's literally all about struct xe_ring_ops β€” the ring operations struct. yes, that ring. no cap, it's giving "small but iconic."


πŸŽ€ NAME πŸŽ€

struct xe_ring_ops β€” Ring operations πŸŒ€

like, the whole struct is just... ring ops. that's the vibe. it ate and left no crumbs.


✨ SYNOPSIS ✨

here's the exact shape of it, copy it character for character or don't come to my birthday party:

struct xe_ring_ops {
    void (*emit_job)(struct xe_sched_job *job);
    u32 *(*emit_aux_table_inv)(struct xe_gt *gt, u32 *cmd);
};

two function pointers. that's the entire struct. lowkey minimal queen behavior. 🫢


πŸ‘‘ Members πŸ‘‘

  • emit_job β€” Write job to ring πŸ’… this one takes a struct xe_sched_job *job and just... puts the job on the ring. iconic. no notes.
  • emit_aux_table_inv β€” Emit aux table invalidation to the ring 🧚✨ this one's signature is u32 *(*emit_aux_table_inv)(struct xe_gt *gt, u32 *cmd), so it takes a struct xe_gt *gt and a u32 *cmd and hands you back a u32 *. she's basically the aux table invalidation delivery service, fr fr.
ngl bestie, both of these are function pointers, so mind your parameter types β€” the compiler is not the forgiving type 😭

🌈 SEE ALSO 🌈

  • Kernel file ./drivers/gpu/drm/xe/xe_ring_ops_types.h β€” go read the source, iykyk πŸ¦‹ it's literally right there.

okay that's the whole page, we literally covered everything πŸ’€πŸ©· this was struct xe_ring_ops(9) from the Kernel API Manual, and the source/version situation is ./drivers/gpu/drm/xe, dated October 2026 β€” so yeah, mwah, happy hacking, slay, periodt πŸ’œβ­

πŸ“¦ where this page comes from