sdma_v5_0_emit_copy_buffer(9)
π sdma_v5_0_emit_copy_buffer(9) β like, the Kernel API Manual edition π
okay bestie, sit down, hydrate, and let me tell you about sdma_v5_0_emit_copy_buffer β she's a function from the Kernel API Manual and she copies buffers using the sDMA engine. no cap, that's literally the whole personality. π¦
β¨ NAME β¨
sdma_v5_0_emit_copy_buffer β copy buffer using the sDMA engine π«
πΈ SYNOPSIS πΈ
void sdma_v5_0_emit_copy_buffer (struct amdgpu_ib *ib , uint64_t
src_offset , uint64_t dst_offset , uint32_t byte_count , uint32_t
copy_flags );
she takes five args and returns nothing (void, the strong silent type π). copy-paste her signature exactly, do not freestyle it, i'm begging π«Ά
π ARGUMENTS π
ibβ the indirect buffer we're copying to. like, the destination of the paperwork, not the data. πsrc_offsetβ src GPU address. the from. where the bytes are living rn. πdst_offsetβ dst GPU address. the to. where the bytes are moving. moving day energy fr fr πbyte_countβ number of bytes to xfer. yes, "xfer". the manpage said it, i'm just the messenger. π¦copy_flagsβ copy flags for the buffers. the lil settings that tell the copy how to behave. π©
π₯ DESCRIPTION π₯
So the whole vibe: she copies GPU buffers using the DMA engine (NAVI10 represent π β¨). iconic honestly.
She's used by the amdgpu ttm implementation to move pages β but only if she's registered as the asic copy callback. so like, conditional main character energy. if the callback registration didn't happen, she's not the one doing the moving. iykyk. π
ngl this is one of those "you probably won't call her directly, but she's holding up the whole operation" situations. respect her. π«‘
π SEE ALSO π
Kernel file: ./drivers/gpu/drm/amd/amdgpu/sdma_v5_0.c β go read the source, bestie, it's giving lore. π
and the whole friend group (her siblings, her cousins, the entire sdma_v5_0 family tree π):
sdma_v5_0_init_microcode(9)sdma_v5_0_ring_get_rptr(9)sdma_v5_0_ring_get_wptr(9)sdma_v5_0_ring_set_wptr(9)sdma_v5_0_ring_emit_ib(9)sdma_v5_0_ring_emit_mem_sync(9)sdma_v5_0_ring_emit_hdp_flush(9)sdma_v5_0_ring_emit_fence(9)sdma_v5_0_gfx_stop(9)sdma_v5_0_rlc_stop(9)sdma_v5_0_ctx_switch_enable(9)sdma_v5_0_enable(9)sdma_v5_0_gfx_resume_instance(9)sdma_v5_0_gfx_resume(9)sdma_v5_0_rlc_resume(9)sdma_v5_0_load_microcode(9)sdma_v5_0_start(9)sdma_v5_0_ring_test_ring(9)sdma_v5_0_ring_test_ib(9)sdma_v5_0_vm_copy_pte(9)sdma_v5_0_vm_write_pte(9)sdma_v5_0_vm_set_pte_pde(9)sdma_v5_0_ring_pad_ib(9)sdma_v5_0_ring_emit_pipeline_sync(9)sdma_v5_0_ring_emit_vm_flush(9)sdma_v5_0_emit_fill_buffer(9)
like. that's the whole group chat. every single one. i listed all 26 of them because i love you and i don't skip. π
and that's the page, bestie!! this one's from ./drivers/gpu/drm/amd/amdgpu, dated October 2026 β so remember to cite her properly, mwah π 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