cik_sdma_vm_set_pte_pde(9)
π cik_sdma_vm_set_pte_pde(9) β Kernel API Manual, bestie edition π
Okay so real talk: this is a page from the Kernel API Manual and honestly? It's giving "small function, big job." Her whole thing is page-table updates via sDMA, and she ate. Let's get into it β¨
πΈ NAME πΈ
cik_sdma_vm_set_pte_pde β updates the page tables using sDMA. That's it, that's the whole vibe π¦
β¨ SYNOPSIS β¨
void cik_sdma_vm_set_pte_pde (struct amdgpu_ib *ib , uint64_t pe ,
uint64_t addr , unsigned count , uint32_t incr , uint64_t flags );
Like, she takes six args and returns nothing (void), so don't go looking for a return value, she doesn't have one π
π«Ά ARGUMENTS π«Ά
ibβ the indirect buffer you're filling up with commands. She needs somewhere to put the work βοΈpeβ the addr of the page entry. Yes, the page entry. That one πaddrβ the dst addr to write intope. So it's the destination address that goes inside the page entry, iykyk π―countβ how many page entries we're updating. Not one, not two, literallycountof them πincrβ bump the next addr byincrbytes as you go. It's the step size, the lil glow-up between iterations πflagsβ the access flags. Permissions energy π
π DESCRIPTION π
Update the page tables using sDMA (CIK). That's the whole description, no cap β she's short, she's sweet, she's doing page-table maintenance on CIK hardware and she's not gonna over-explain herself π
π SEE ALSO π
The kernel file that she actually lives in, fr fr:
./drivers/gpu/drm/amd/amdgpu/cik_sdma.c
And her whole friend group (the cik_sdma / cik squad, collecting them like stickers π):
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_ib(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_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)
Like. The whole roster. Go read them, they're all lowkey iconic π§
And that's the page, bestie! Live love page-table-updating-via-sDMA. Sending you off with the full receipt: this one lives under ./drivers/gpu/drm/amd/amdgpu, dated October 2026, from the Kernel API Manual. Mwah ππβ¨
π¦ 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