sdma_v5_2_vm_write_pte(9)
π sdma_v5_2_vm_write_pte(9) β like, the Kernel API Manual page, bestie β¨
okay so picture this: it's a page from the Kernel API Manual, and honestly? it's a whole little vibe. it's sdma_v5_2_vm_write_pte(9), and no cap, it's lowkey iconic if you're into GPU memory management (iykyk π«Ά).
πΈ NAME πΈ
sdma_v5_2_vm_write_pte β update PTEs by writing them manually π
like, you're literally hand-writing page table entries. main character energy fr.
β¨ SYNOPSIS β¨
void sdma_v5_2_vm_write_pte (struct amdgpu_ib *ib , uint64_t pe ,
uint64_t value , unsigned count , uint32_t incr );
that's the whole signature, bestie. don't skip a single character of it, okay? π
π ARGUMENTS π
okay so every single one of these matters, let's go:
ibβ indirect buffer to fill with commands. this is the little command sandwich you're stuffing β¨peβ addr of the page entry. yes, addr, that's how the page spells it, don't @ me πvalueβ dst addr to write into pe. so this is the destination address that goes into that page entry π―countβ number of page entries to update. not one, not two,countof them πincrβ increase next addr by incr bytes. so after each one, you bump the address forward by this many bytes π¦
π¦ DESCRIPTION π¦
Update PTEs by writing them manually using sDMA. that's it, that's the whole thing π
like yeah, it sounds simple, but the way it does it β manually, with sDMA doing the writes β is the whole point. no shortcuts, no fancy auto-magic, you're just writing those page table entries yourself and honestly? respect. π
β SEE ALSO β
the friend group, the whole squad, the entire roster β every single one of them:
- Kernel file
./drivers/gpu/drm/amd/amdgpu/sdma_v5_2.c 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_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)sdma_v5_2_emit_fill_buffer(9)
all 25 of them, none skipped, periodt π β¨
ngl bestie, this page is short but it ate. now go fill that indirect buffer π
this cutie came from ./drivers/gpu/drm/amd/amdgpu, dated October 2026, and it's titled sdma_v5_2_vm_write_pte(9) β love that for us, 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