sdma_v2_4_ring_emit_fence(9)
π sdma_v2_4_ring_emit_fence(9) π
okay so bestie, we're in the Kernel API Manual today β yes, the Kernel API Manual, we're being fancy β and this is literally the page for sdma_v2_4_ring_emit_fence. ngl it's giving "one little function that does one very specific thing" and honestly? iconic.
β¨ NAME β¨
sdma_v2_4_ring_emit_fence β bestie, this one emits a fence on the DMA ring. That's it, that's the whole vibe. π
π¦ SYNOPSIS π¦
void sdma_v2_4_ring_emit_fence (struct amdgpu_ring *ring , u64 addr ,
u64 seq , unsigned flags );
so you call it, it returns void (no return value, no drama, it just does the thing), and it takes four arguments. keep scrolling, we're getting to all of them π
πΈ ARGUMENTS πΈ
ringβ an amdgpu ring pointer. it's the ring, it's a pointer, it's amdgpu. arguably the main character of this whole function π₯addrβ an address. (yes really, that's the whole description, we love a mystery β¨)seqβ the sequence number. your fave little counter πflagsβ fence related flags. fence-adjacent. flags for the fence. flags that are, in a very real way, fence related π
π DESCRIPTION π
ok so what does this actually do, because a synopsis is not a personality π
It adds a DMA fence packet to the ring β that packet writes the fence seq number. Then it adds a DMA trap packet to generate an interrupt if needed. And that's for VI. π
that's the whole thing. two packets, one job, slayed. π«Ά
π₯ SEE ALSO π₯
the kernel file lives at ./drivers/gpu/drm/amd/amdgpu/sdma_v2_4.c β go say hi to it, it's got the whole family in there π§
and here's the full squad, no cap, every single one:
sdma_v2_4_init_microcode(9)sdma_v2_4_ring_get_rptr(9)sdma_v2_4_ring_get_wptr(9)sdma_v2_4_ring_set_wptr(9)sdma_v2_4_ring_emit_ib(9)sdma_v2_4_ring_emit_hdp_flush(9)sdma_v2_4_gfx_stop(9)sdma_v2_4_rlc_stop(9)sdma_v2_4_enable(9)sdma_v2_4_gfx_resume(9)sdma_v2_4_rlc_resume(9)sdma_v2_4_start(9)sdma_v2_4_ring_test_ring(9)sdma_v2_4_ring_test_ib(9)sdma_v2_4_vm_copy_pte(9)sdma_v2_4_vm_write_pte(9)sdma_v2_4_vm_set_pte_pde(9)sdma_v2_4_ring_pad_ib(9)sdma_v2_4_ring_emit_pipeline_sync(9)sdma_v2_4_ring_emit_vm_flush(9)sdma_v2_4_emit_copy_buffer(9)sdma_v2_4_emit_fill_buffer(9)
they're all in ./drivers/gpu/drm/amd/amdgpu together, one big happy directory π π
and that's the page!! this lil drop came to you from ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and yes β we're still running sdma_v2_4_ring_emit_fence(9) in the Kernel API Manual. mwah, ilysm, go write some fences bestie π
β¨π
π¦ 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