pvr_vm_gpuva_remap(9)
π pvr_vm_gpuva_remap(9) β like, the whole glow-up
okay so bestie, welcome to the Kernel API Manual entry for pvr_vm_gpuva_remap. yes that's the whole title, it's in section 9, and it's giving "niche kernel lore that only your driver-dev mutuals know about" β¨
πΈ NAME πΈ
pvr_vm_gpuva_remap β remap a mapping within a memory context. that's it, that's the vibe π¦
β¨ SYNOPSIS β¨
int pvr_vm_gpuva_remap (struct drm_gpuva_op *op , void *op_ctx );
literally the whole signature, no cap. returns an int, takes two args, slays π
π ARGUMENTS π
opβ the gpuva op that's carrying all the remap details. it's the main character of this call, it knows what's being remapped π₯op_ctxβ the operation context. the supporting cast, but like, essential supporting cast π«Ά
π§ CONTEXT π§
okay so here's when this gets called: either drm_gpuvm_sm_map or drm_gpuvm_sm_unmap calls it, and it happens when a mapping or unmapping operation causes a region to be split. so you're in the middle of somebody else's business, lowkey π
important detail: the op_ctx.vm_ctx mutex is held. so like, don't go trying to grab it again, bestie, that's not the moment π
β RETURN β
0on success, or- any error returned by
pvr_vm_gpuva_unmaporpvr_vm_gpuva_unmap.
ngl the original page literally lists pvr_vm_gpuva_unmap twice. iconic of it, honestly. we're keeping it exactly as written β not our bug to fix, we just report it π
π SEE ALSO π
the extended universe, fr fr. all of these are connected and you should probably know them:
- Kernel file
./drivers/gpu/drm/imagination/pvr_vm.c Memory context(9)struct pvr_vm_context(9)pvr_vm_get_page_table_root_addr(9)pvr_vm_get_dma_resv(9)Memory mappings(9)struct pvr_vm_gpuva(9)struct pvr_vm_bind_op(9)pvr_vm_bind_op_exec(9)pvr_vm_gpuva_map(9)pvr_vm_gpuva_unmap(9)pvr_device_addr_is_valid(9)pvr_device_addr_and_size_are_valid(9)pvr_vm_create_context(9)pvr_vm_context_release(9)pvr_vm_context_lookup(9)pvr_vm_context_put(9)pvr_destroy_vm_contexts_for_file(9)pvr_vm_map(9)pvr_vm_unmap_obj_locked(9)pvr_vm_unmap_obj(9)pvr_vm_unmap(9)pvr_vm_unmap_all(9)pvr_heap_contains_range(9)pvr_find_heap_containing(9)pvr_vm_find_gem_object(9)pvr_vm_get_fw_mem_context(9)
and that's the page!! π sourced straight from ./drivers/gpu/drm/imagination, dated October 2026 β mwah, go read the other nine-section entries, 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