xe_lrc_alloc_seqno_fence(9)
π xe_lrc_alloc_seqno_fence(9) π
okay so bestie, welcome to the Kernel API Manual entry for xe_lrc_alloc_seqno_fence β yes that's a whole mouthful, yes we're gonna get through it together, and yes it's section 9 because kernel-internal stuff lives there. pull up a chair π
β¨ NAME β¨
xe_lrc_alloc_seqno_fence β allocate an lrc seqno fence. that's it, that's the whole job description π
πΈ SYNOPSIS πΈ
struct dma_fence * xe_lrc_alloc_seqno_fence (void );
so you call it, you pass it nothing, and it hands you back a struct dma_fence *. iconique. no cap π«Ά
π¦ ARGUMENTS π¦
voidβ literally no arguments. zero. nada. it's giving independent main character energy, it needs no input from you β¨
π DESCRIPTION π
here's the tea π: this function allocates an lrc seqno fence, but β and this is the important part β it does not initialize it. allocate β initialize, bestie, those are two completely different vibes. so what you get back is a fence-shaped blank canvas, just sitting there waiting for someone (hint: probably xe_lrc_init_seqno_fence) to come along and actually fill it in π₯
lowkey the chillest function in the file ngl.
β RETURN β
what you get back is a pointer to the allocated fence β slay π β or, if things go sideways, a negative error pointer instead π. so yeah, do the whole IS_ERR() thing before you go dereferencing it, fr fr. that's not me being dramatic, that's just how error pointers work π
π SEE ALSO π
the whole friend group, assembled π β all of these live in the kernel file ./drivers/gpu/drm/xe/xe_lrc.c:
xe_gt_lrc_hang_replay_size(9)xe_lrc_reg_size(9)xe_lrc_engine_state_size(9)xe_lrc_ctx_timestamp_ggtt_addr(9)xe_lrc_ctx_timestamp_udw_ggtt_addr(9)xe_lrc_ctx_timestamp(9)xe_lrc_queue_timestamp(9)xe_lrc_ctx_job_timestamp_ggtt_addr(9)xe_lrc_ctx_job_timestamp(9)xe_default_lrc_update_memirq_regs_with_address(9)xe_lrc_update_memirq_regs_with_address(9)xe_lrc_setup_wa_bb_with_scratch(9)xe_lrc_set_multi_queue_priority(9)xe_lrc_create(9)xe_lrc_destroy(9)xe_lrc_update_hwctx_regs_with_address(9)xe_lrc_free_seqno_fence(9)xe_lrc_init_seqno_fence(9)xe_lrc_engine_id(9)xe_lrc_timestamp(9)xe_lrc_update_timestamp(9)xe_lrc_ring_is_idle(9)
like, the entire xe_lrc cinematic universe π go read them, iykyk.
aaaand that's the whole page, diva π§ this masterpiece comes courtesy of the fine folks over at ./drivers/gpu/drm/xe, dated October 2026 β so go forth, allocate your fence, and remember: allocation is not initialization π
π¦ 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