sdma_v7_1_emit_copy_buffer(9)
π sdma_v7_1_emit_copy_buffer β Kernel API Manual, bestie edition πΈ
okay so this is the page for sdma_v7_1_emit_copy_buffer(9) from the Kernel API Manual, and honestly? it's giving "small function, big job" energy. let's get into it π
β¨ NAME β¨
sdma_v7_1_emit_copy_buffer β copy a buffer using the sDMA engine π
π¦ SYNOPSIS π¦
void sdma_v7_1_emit_copy_buffer (struct amdgpu_ib *ib , uint64_t
src_offset , uint64_t dst_offset , uint32_t byte_count , uint32_t
copy_flags );
like, it returns void. no cap, nothing comes back. it just does the thing π
π ARGUMENTS π
ibβ the indirect buffer you're filling up with commands. this is the little queue of instructions that's gonna get eaten by the engine πsrc_offsetβ the src GPU address. where the bytes are coming from, bestie β¨dst_offsetβ the dst GPU address. where they're going π«Άbyte_countβ number of bytes to xfer. yes that's literally how it's spelled in the original, "xfer", iconic abbreviation behavior ngl πcopy_flagsβ copy flags for the buffers. the little extra settings vibe π
π DESCRIPTION π
So what does it actually do? it copies GPU buffers using the DMA engine. that's the whole plot π
the tea is: it's used by the amdgpu ttm implementation to move pages β but only if it's registered as the asic copy callback. so like, conditional main character energy. if you're not registered, this function is not the one stepping up πΈ
no cap, that's it. short page, clean page, she said what she said.
π₯ SEE ALSO π₯
Kernel file ./drivers/gpu/drm/amd/amdgpu/sdma_v7_1.c
and the whole friend group, fr fr:
sdma_v7_1_ring_get_rptr(9)sdma_v7_1_ring_get_wptr(9)sdma_v7_1_ring_set_wptr(9)sdma_v7_1_ring_emit_ib(9)sdma_v7_1_ring_emit_mem_sync(9)sdma_v7_1_ring_emit_fence(9)sdma_v7_1_inst_gfx_stop(9)sdma_v7_1_inst_rlc_stop(9)sdma_v7_1_inst_ctx_switch_enable(9)sdma_v7_1_inst_enable(9)sdma_v7_1_gfx_resume_instance(9)sdma_v7_1_inst_gfx_resume(9)sdma_v7_1_inst_rlc_resume(9)sdma_v7_1_inst_load_microcode(9)sdma_v7_1_inst_start(9)sdma_v7_1_ring_test_ring(9)sdma_v7_1_ring_test_ib(9)sdma_v7_1_vm_copy_pte(9)sdma_v7_1_vm_write_pte(9)sdma_v7_1_vm_set_pte_pde(9)sdma_v7_1_ring_pad_ib(9)sdma_v7_1_ring_emit_pipeline_sync(9)sdma_v7_1_ring_emit_vm_flush(9)sdma_v7_1_emit_fill_buffer(9)π
lowkey go read the sibling pages too, they're all part of the same ./drivers/gpu/drm/amd/amdgpu fam π§
k bye bestie, this page lives in ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and it's sdma_v7_1_emit_copy_buffer(9) all the way down. slay π
β¨ππ¦πΈ
π¦ 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