ENUM DRM_GPUVM_FLAGS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum drm_gpuvm_flags(9) β€” the group-chat rundown πŸŽ€

okay so bestie, this is a page from the Kernel API Manual (that's the manual name, iykyk ✨) and it's literally all about the flags you can slap on a struct drm_gpuvm. yes. flags. for GPU virtual memory. we're doing this. πŸ¦‹


✨ NAME ✨

enum drm_gpuvm_flags β€” the flags you use with struct drm_gpuvm πŸ’–


🌸 SYNOPSIS 🌸

here's the exact shape of it, no cap:

enum drm_gpuvm_flags {
    DRM_GPUVM_RESV_PROTECTED ,
    DRM_GPUVM_IMMEDIATE_MODE ,
    DRM_GPUVM_USERBITS

};

look at her. three members. main character energy. πŸ‘‘


⭐ Constants ⭐

okay so here's what each one actually means, fr fr:

  • DRM_GPUVM_RESV_PROTECTED β€” this GPUVM is protected externally by the GPUVM's own dma_resv lock πŸ”’ (yes, externally, that's the whole vibe)
  • DRM_GPUVM_IMMEDIATE_MODE β€” this one uses the locking scheme for GEMs that's designed for modifying the GPUVM during the fence signalling path 🧚

like, when it's set, gpuva.lock is the thing protecting gpuva.list in all GEM objects associated with this GPUVM. but when it's not set? then the GEMs dma-resv gets used instead. two totally different lock situations, don't mix them up bestie 😭

  • DRM_GPUVM_USERBITS β€” user defined bits 🫢 (they're yours, do what you want, that's the whole point)

πŸ¦‹ SEE ALSO πŸ¦‹

okay this list is long and I'm obsessed, go read all of these:

Kernel file ./include/drm/drm_gpuvm.h


πŸ’€ tiny disclaimer bestie: this is kernel API stuff, so read the actual header before you go poking at it. the flags are real, the vibes are mine. πŸŽ€

and that's the whole page!! 🌈 source livin' in ./include/drm, dated October 2026 β€” slay, see you in the next release, mwah πŸ’œπŸ«Άβœ¨

πŸ“¦ where this page comes from