cik_sdma_ring_emit_ib(9)
π cik_sdma_ring_emit_ib β from the Kernel API Manual, bestie
okay so picture this: it's a whole manual page called cik_sdma_ring_emit_ib(9), and it's literally about scheduling stuff on the DMA engine. sit down, hydrate, let's get into it π«Ά
β¨ NAME β¨
cik_sdma_ring_emit_ib β schedule an IB on the DMA engine. that's it, that's the vibe. π
πΈ SYNOPSIS πΈ
void cik_sdma_ring_emit_ib (struct amdgpu_ring *ring , struct amdgpu_job *job , struct amdgpu_ib *ib , uint32_t flags );
like, it returns void, so it gives you nothing back emotionally. no cap, it's giving "i do the work and i don't need applause." π
π ARGUMENTS π
ringβ the amdgpu ring pointer. this is the ring we're doing all of this on, bestie.jobβ the job you're pulling thevmidfrom. yes, that's where thevmidlives, go get it πββοΈibβ the IB object you wanna schedule. the main character of this whole function, fr fr.flagsβ unused. literally just sitting there, minding its own business, iconic behaviour honestly π
π¦ DESCRIPTION π¦
schedule an IB in the DMA ring (CIK). that's the entire plot. one sentence, no notes, periodt. β¨
ngl it's a short description but the details are the point β it's the DMA ring, and it's specifically the CIK one. don't go confusing it with other rings, iykyk π§
π SEE ALSO π
first up, the kernel file β this is where the actual source lives, go be nosy:
Kernel file ./drivers/gpu/drm/amd/amdgpu/cik_sdma.c
and then the whole friend group, the entire cik_sdma cinematic universe, in order:
cik_sdma_init_microcode(9)cik_sdma_ring_get_rptr(9)cik_sdma_ring_get_wptr(9)cik_sdma_ring_set_wptr(9)cik_sdma_ring_emit_hdp_flush(9)cik_sdma_ring_emit_fence(9)cik_sdma_gfx_stop(9)cik_sdma_rlc_stop(9)cik_ctx_switch_enable(9)cik_sdma_enable(9)cik_sdma_gfx_resume(9)cik_sdma_rlc_resume(9)cik_sdma_load_microcode(9)cik_sdma_start(9)cik_sdma_ring_test_ring(9)cik_sdma_ring_test_ib(9)cik_sdma_vm_copy_pte(9)cik_sdma_vm_write_pte(9)cik_sdma_vm_set_pte_pde(9)cik_sdma_ring_pad_ib(9)cik_sdma_ring_emit_pipeline_sync(9)cik_sdma_ring_emit_vm_flush(9)cik_sdma_emit_copy_buffer(9)cik_sdma_emit_fill_buffer(9)
and that's the page!! π go read the sibling functions, they all ate. this lil manual lives under ./drivers/gpu/drm/amd/amdgpu and it's dated October 2026 β so yeah, it's from the future, and it still says flags is unused π stay hydrated, bestie, and may all your IBs be scheduled ππ
π¦ 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