__i915_gem_...lmem_with_ps(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

ok so bestie, this is the Kernel API Manual page for __i915_gem_object_create_lmem_with_ps β€” the whole title in the header is __i915_gem_...lmem_with_ps(9) in case you were wondering why it looks truncated, it's not a typo, it's just the manpage being shy ✨

And what does it do? It creates an lmem object and forces the minimum page size for the backing pages. That's the whole vibe. πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct drm_i915_gem_object * __i915_gem_object_create_lmem_with_ps
(struct drm_i915_private *i915 , resource_size_t size , resource_size_t
page_size , unsigned int flags );

yeah she's a mouthful, but she's iconic πŸ’œ


🌸 ARGUMENTS 🌸

  • i915 β€” the i915 instance. your main character struct, obvi πŸ‘‘
  • size β€” the size in bytes for the object. ngl, heads up: we need to round the size up depending on the page_size, so it's not always exactly the number you passed in. you can fish the final object size out from the drm GEM object afterwards, bestie πŸ”
  • page_size β€” the requested minimum page size in bytes for this object. this one's actually so useful: you'd reach for it if you need something bigger than the region's min_page_size because of some hw restriction, or in some very specialised cases where it needs to be smaller β€” because when you round up the object size, the internal fragmentation cost is just too great 😭
  • flags β€” the optional BO allocation flags. sprinkle as needed πŸ“

πŸ’€ DESCRIPTION πŸ’€

ok so read this part twice, fr fr:

this interface assumes you know what you are doing when forcing the page_size πŸ™ˆ

and the consequences are not cute:

  • if page_size is smaller than the region's min_page_size, then the object can never be inserted into any GTT. like, ever. periodt πŸ’€
  • otherwise, it might lead to undefined behaviour 😭

so like… be normal about it pleeeease 🫢


⭐ RETURN ⭐

returns the object pointer, which might be an ERR_PTR in the case of failure. so like, vibe check your pointers before you slay onward, iykyk πŸ”₯


🌈 SEE ALSO 🌈


and that's the whole page, bestie!! this little gem lives in ./drivers/gpu/drm/i915/gem, it's dated October 2026, and the version/title stamp on the bottom is __i915_gem_...lmem_with_ps(9) β€” mwah, go forth and force your page sizes responsibly πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from