sdma_v7_0_emit_copy_buffer(9)
π sdma_v7_0_emit_copy_buffer β the Kernel API Manual page, bestie edition β¨
okay so picture this: it's a (9) man page from the Kernel API Manual, and the star of the show is sdma_v7_0_emit_copy_buffer. yes that's a whole mouthful, we love her anyway π
β¨ NAME β¨
sdma_v7_0_emit_copy_buffer β copying a buffer using the sDMA engine, no cap π¦
β¨ SYNOPSIS β¨
void sdma_v7_0_emit_copy_buffer (struct amdgpu_ib *ib , uint64_t
src_offset , uint64_t dst_offset , uint32_t byte_count , uint32_t
copy_flags );
like, that's the whole signature. void return, so she gives you nothing back β she just does the thing π
β¨ ARGUMENTS β¨
ibβ the indirect buffer that we're filling up with commands. she's the canvas, okay? π¨src_offsetβ the src GPU address. yep, source. where the bytes are coming from π«Άdst_offsetβ the dst GPU address. where they're going. destination era βbyte_countβ number of bytes to xfer. that's the size of the vibe check, literally πcopy_flagsβ copy flags for the buffers. the little settings that make it go π
β¨ DESCRIPTION β¨
so what does she do? she copies GPU buffers using the DMA engine. iconic behavior honestly π₯
and the tea is: she's used by the amdgpu ttm implementation to move pages β but only if she's registered as the asic copy callback. not registered? then she's just sitting there, main character energy with no screen time π
β¨ SEE ALSO β¨
the kernel file herself lives at ./drivers/gpu/drm/amd/amdgpu/sdma_v7_0.c β go say hi π
and here's the whole friend group, all of them (9), all of them slaying:
sdma_v7_0_ring_get_rptr(9)sdma_v7_0_ring_get_wptr(9)sdma_v7_0_ring_set_wptr(9)sdma_v7_0_ring_emit_ib(9)sdma_v7_0_ring_emit_mem_sync(9)sdma_v7_0_ring_emit_hdp_flush(9)sdma_v7_0_ring_emit_fence(9)sdma_v7_0_gfx_stop(9)sdma_v7_0_rlc_stop(9)sdma_v7_0_ctx_switch_enable(9)sdma_v7_0_enable(9)sdma_v7_0_gfx_resume_instance(9)sdma_v7_0_gfx_resume(9)sdma_v7_0_rlc_resume(9)sdma_v7_0_load_microcode(9)sdma_v7_0_start(9)sdma_v7_0_ring_test_ring(9)sdma_v7_0_ring_test_ib(9)sdma_v7_0_vm_copy_pte(9)sdma_v7_0_vm_write_pte(9)sdma_v7_0_vm_set_pte_pde(9)sdma_v7_0_ring_pad_ib(9)sdma_v7_0_ring_emit_pipeline_sync(9)sdma_v7_0_ring_emit_vm_flush(9)sdma_v7_0_emit_fill_buffer(9)
ngl bestie, that's a lot of (9) pages. hydrate, stretch, and read them in order π
and that's the whole page!! π she ships from ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and she's titled sdma_v7_0_emit_copy_buffer(9) all over again at the bottom because she's consistent like that. 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