si_dma_ring_emit_vm_flush(9)
π si_dma_ring_emit_vm_flush(9) π
okay so bestie, welcome to the Kernel API Manual β¨ this one's a little kernel-side icon and she's here to tell you all about flushing a VM TLB with sDMA. buckle up π
πΈ NAME πΈ
si_dma_ring_emit_vm_flush β cik vm flush using sDMA π¦
(yes the NAME says cik and the DESCRIPTION says VI, and yes we're keeping both exactly as they are, no cap π)
β SYNOPSIS β
void si_dma_ring_emit_vm_flush (struct amdgpu_ring *ring , unsigned vmid
, uint64_t pd_addr );
that's the whole signature, copy it exactly, don't be weird about it π«Ά
π ARGUMENTS π
ringβ anamdgpu_ringpointer, literally the ring you're working with π«vmidβ the vmid number to use, that's it, that's the whole vibe π₯pd_addrβ an address π
π DESCRIPTION π
So what she actually does: Update the page table base and flush the VM TLB using sDMA (VI).
that's the tea β page table base gets updated, VM TLB gets flushed, sDMA does the work, and it's the VI situation. short and iconic, periodt π
π SEE ALSO π
the kernel file in question, living its best life at:
./drivers/gpu/drm/amd/amdgpu/si_dma.cπ
and her whole friend group, all of them, in order, no skipping π§:
si_dma_ring_get_rptr(9)si_dma_ring_get_wptr(9)si_dma_ring_emit_fence(9)si_dma_ring_test_ring(9)si_dma_ring_test_ib(9)si_dma_vm_copy_pte(9)si_dma_vm_write_pte(9)si_dma_vm_set_pte_pde(9)si_dma_ring_pad_ib(9)si_dma_ring_emit_pipeline_sync(9)si_dma_emit_copy_buffer(9)si_dma_emit_fill_buffer(9)
ngl bestie, this one's short but she ate π go read the source file if you want the full lore, iykyk π
okay that's the whole page, mwah ππ«Ά this cutie came out of ./drivers/gpu/drm/amd/amdgpu and she's dated October 2026 β bestie really said "future icon" and meant it πβ¨
π¦ 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