sdma_v5_2_emit_fill_buffer(9)
π sdma_v5_2_emit_fill_buffer β from the Kernel API Manual, bestie
okay so bestie, gather round, because today we're talking about sdma_v5_2_emit_fill_buffer β a function living its best life in the Kernel API Manual (section 9, the kernel-API girlies π). This is the "fill buffer using the sDMA engine" one. Yes, that's what it does, and no, that's not the whole story, keep reading π
β¨ NAME β¨
sdma_v5_2_emit_fill_buffer β literally just fill buffer using the sDMA engine. It's giving utility function with main character energy. π¦
πΈ SYNOPSIS πΈ
void sdma_v5_2_emit_fill_buffer (struct amdgpu_ib *ib , uint32_t
src_data , uint64_t dst_offset , uint32_t byte_count );
yep, that's the whole signature β returns void, takes four things, no notes. π«Ά
π§ ARGUMENTS π§
ibβ the indirect buffer to fill. this is your canvas, your little scratchpad of commands πsrc_dataβ the value to write to buffer. this is the actual juice going in there β¨dst_offsetβ the dst GPU address. where the magic lands, iykyk πbyte_countβ number of bytes to xfer. how much of the good stuff we're moving, no cap π«
π₯ DESCRIPTION π₯
Fill GPU buffers using the DMA engine. That's it, that's the vibe β you hand it an indirect buffer, a value, a GPU address and a byte count, and the sDMA engine gets to work. Lowkey iconic that it's this simple. π
no cap, this is the entire description in the original too β some functions are three words and a dream and that's fine π
π SEE ALSO π
the friend group π«Ά β first up, the kernel file where this all lives:
- Kernel file
./drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c
and then the whole squad of related functions, not me listing them all, but here we go, every single one:
sdma_v5_2_ring_get_rptr(9)sdma_v5_2_ring_get_wptr(9)sdma_v5_2_ring_set_wptr(9)sdma_v5_2_ring_emit_ib(9)sdma_v5_2_ring_emit_mem_sync(9)sdma_v5_2_ring_emit_hdp_flush(9)sdma_v5_2_ring_emit_fence(9)sdma_v5_2_gfx_stop(9)sdma_v5_2_rlc_stop(9)sdma_v5_2_ctx_switch_enable(9)sdma_v5_2_enable(9)sdma_v5_2_gfx_resume_instance(9)sdma_v5_2_gfx_resume(9)sdma_v5_2_rlc_resume(9)sdma_v5_2_load_microcode(9)sdma_v5_2_start(9)sdma_v5_2_ring_test_ring(9)sdma_v5_2_ring_test_ib(9)sdma_v5_2_vm_copy_pte(9)sdma_v5_2_vm_write_pte(9)sdma_v5_2_vm_set_pte_pde(9)sdma_v5_2_ring_pad_ib(9)sdma_v5_2_ring_emit_pipeline_sync(9)sdma_v5_2_ring_emit_vm_flush(9)sdma_v5_2_emit_copy_buffer(9)
and that's the whole page, bestie, you ate that π anyway mwah, this one's dated October 2026, straight outta the ./drivers/gpu/drm/amd/amdgpu directory, Kernel API Manual edition β go read the source, ily, bye πβ¨
π¦ 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