drm_gpuvm_for_each_va(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… drm_gpuvm_for_each_va β€” a Kernel API Manual moment ✨

okay bestie, so this lil gem lives in the Kernel API Manual, and it's literally the iterator that walks all your &drm_gpuvas for you. group-chat energy, but make it DRM. let's get into it πŸŽ€


🌸 NAME 🌸

drm_gpuvm_for_each_va β€” iterate over all &drm_gpuvas πŸ¦‹


✨ SYNOPSIS ✨

drm_gpuvm_for_each_va (va__ , gpuvm__ );

🫢 ARGUMENTS 🫢

  • va__ β€” the drm_gpuva you assign to on each and every iteration step, no cap πŸŒ€
  • gpuvm__ β€” the drm_gpuvm you're walking over, bestie, that's the whole map πŸ’…

πŸ’– DESCRIPTION πŸ’–

so basically this iterator does a full lil stroll over all the drm_gpuva structures that are associated with the drm_gpuvm you handed it. every single one. it's giving thorough. it's giving "i checked under the bed". main character energy fr fr πŸ‘‘


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/drm/drm_gpuvm.h β€” and honestly the whole friend group shows up:

enum drm_gpuva_flags(9), struct drm_gpuva(9), drm_gpuva_invalidate(9), drm_gpuva_invalidated(9), enum drm_gpuvm_flags(9), struct drm_gpuvm(9), drm_gpuvm_get(9), drm_gpuvm_resv_protected(9), drm_gpuvm_immediate_mode(9), drm_gpuvm_resv(9), drm_gpuvm_resv_obj(9), drm_gpuvm_is_extobj(9), drm_gpuvm_for_each_va_range(9), drm_gpuvm_for_each_va_range_safe(9), drm_gpuvm_for_each_va_safe(9), struct drm_gpuvm_exec(9), drm_gpuvm_exec_unlock(9), drm_gpuvm_exec_resv_add_fence(9), drm_gpuvm_exec_validate(9), struct drm_gpuvm_bo(9), drm_gpuvm_bo_get(9), drm_gpuvm_bo_gem_evict(9), drm_gpuvm_bo_for_each_va(9), drm_gpuvm_bo_for_each_va_safe(9), enum drm_gpuva_op_type(9), struct drm_gpuva_op_map(9), struct drm_gpuva_op_unmap(9), struct drm_gpuva_op_remap(9), struct drm_gpuva_op_prefetch(9), struct drm_gpuva_op(9), struct drm_gpuva_ops(9), drm_gpuva_for_each_op(9), drm_gpuva_for_each_op_safe(9), drm_gpuva_for_each_op_from_reverse(9), drm_gpuva_for_each_op_reverse(9), drm_gpuva_first_op(9), drm_gpuva_last_op(9), drm_gpuva_prev_op(9), drm_gpuva_next_op(9), struct drm_gpuvm_map_req(9), struct drm_gpuvm_ops(9), drm_gpuva_op_remap_to_unmap_range(9) 🌈

go read them, iykyk, you'll be obsessed πŸ’€


and that's the whole page, bestie β€” no bugs, no warnings, no secrets hiding in here πŸ™ˆ

mwah πŸ’‹ this one came from ./include/drm, stamped October 2026, and it's filed under drm_gpuvm_for_each_va(9). slay, go forth and iterate πŸ§šπŸ’œ

πŸ“¦ where this page comes from