sdma_v4_0_vm_set_pte_pde(9)
π sdma_v4_0_vm_set_pte_pde(9) β a Kernel API Manual moment π
okay so bestie, we're in the Kernel API Manual today and this one's a little baddie from the AMDGPU world. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
sdma_v4_0_vm_set_pte_pde β the girlies who update the page tables using sDMA. that's it. that's the whole job. slay.
πΈ SYNOPSIS πΈ
void sdma_v4_0_vm_set_pte_pde (struct amdgpu_ib *ib , uint64_t pe ,
uint64_t addr , unsigned count , uint32_t incr , uint64_t flags );
no cap, that's the whole signature. she takes six arguments and returns literally nothing (void, iconic, unbothered, moisturised β¨). copy it exactly, don't get creative with the types, uint64_t is not a suggestion.
π¦ ARGUMENTS π¦
okay so every single one of these matters, let's go one by one π
ibβ indirect buffer to fill with commands. this is the lil container she's gonna stuff full of commands, main character energy fr.peβ addr of the page entry. the spot we're targeting, iykyk.addrβ dst addr to write into pe. that's the destination address going into the page entry.countβ number of page entries to update. how many we doing? this many. periodt.incrβ increase next addr byincrbytes. so after each one, bump the address by this much. the way that math just works π.flagsβ access flags. the vibes/permissions, basically. tell her how to access it.
π₯ DESCRIPTION π₯
Update the page tables using sDMA (VEGA10). that's the whole description and honestly? she ate. no extra lore, no side quests, just page table updates via sDMA on VEGA10, and we respect the brevity π«Ά
lowkey important: this is a void function. she does the thing and dips. don't go looking for a return value, you will not find one π
π SEE ALSO π
the whole friend group, in order, no one left out π
- Kernel file
./drivers/gpu/drm/amd/amdgpu/sdma_v4_0.c sdma_v4_0_init_microcode(9)sdma_v4_0_ring_get_rptr(9)sdma_v4_0_ring_get_wptr(9)sdma_v4_0_ring_set_wptr(9)sdma_v4_0_page_ring_get_wptr(9)sdma_v4_0_page_ring_set_wptr(9)sdma_v4_0_ring_emit_ib(9)sdma_v4_0_ring_emit_hdp_flush(9)sdma_v4_0_ring_emit_fence(9)sdma_v4_0_gfx_enable(9)sdma_v4_0_rlc_stop(9)sdma_v4_0_page_stop(9)sdma_v4_0_ctx_switch_enable(9)sdma_v4_0_enable(9)sdma_v4_0_gfx_resume(9)sdma_v4_0_page_resume(9)sdma_v4_0_rlc_resume(9)sdma_v4_0_load_microcode(9)sdma_v4_0_start(9)sdma_v4_0_ring_test_ring(9)sdma_v4_0_ring_test_ib(9)sdma_v4_0_vm_copy_pte(9)sdma_v4_0_vm_write_pte(9)sdma_v4_0_ring_pad_ib(9)sdma_v4_0_ring_emit_pipeline_sync(9)sdma_v4_0_ring_emit_vm_flush(9)sdma_v4_0_emit_copy_buffer(9)sdma_v4_0_emit_fill_buffer(9)
literally the entire sdma_v4_0 cinematic universe π go read the others if you want the full lore.
and that's the page bestie!! π§ from ./drivers/gpu/drm/amd/amdgpu, dated October 2026 β mwah, love that for us. now go update those page tables with sDMA and have the best day ever πβ¨π
π¦ 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