sdma_v7_1_emit_copy_buffer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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:


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