i915_vma_resource_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… i915_vma_resource_init(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is literally the page for i915_vma_resource_init, and it's about to be your new fave. buckle up πŸŽ€


🌸 NAME 🌸

i915_vma_resource_init β€” Initialize a vma resource. that's it, that's the vibe πŸ’–


✨ SYNOPSIS ✨

void i915_vma_resource_init (struct i915_vma_resource *vma_res , struct
i915_address_space *vm , struct sg_table *pages , const struct
i915_page_sizes *page_sizes , struct i915_refct_sgt *pages_rsgt , bool
readonly , bool lmem , struct intel_memory_region *mr , const struct
i915_vma_ops *ops , void *private , u64 start , u64 node_size , u64 size
, u32 guard );

like, yes, that's a lot of arguments. she's high-maintenance and we love her for it πŸ‘‘


πŸ¦‹ ARGUMENTS πŸ¦‹

  • vma_res β€” The vma resource to initialize. the main character of this whole operation 🫢
  • vm β€” Pointer to the vm.
  • pages β€” The pages sg-table.
  • page_sizes β€” Page sizes of the pages. she knows her measurements πŸ’…
  • pages_rsgt β€” Pointer to a struct i915_refct_sgt of an object with delayed destruction. delayed, not cancelled β€” do not come for her πŸ•
  • readonly β€” Whether the vma should be bound read-only. no writing allowed, hands off 🚫
  • lmem β€” Whether the vma points to lmem.
  • mr β€” The memory region of the object the vma points to.
  • ops β€” The backend ops.
  • private β€” Bind backend private info. her diary, basically πŸ™ˆ
  • start β€” Offset into the address space of bind range start after padding.
  • node_size β€” Size of the allocated range manager node minus padding. minus! padding! πŸ“
  • size β€” Bind size.
  • guard β€” The size of the guard area preceding and trailing the bind. she comes with security, literally both sides πŸ›‘οΈ

πŸ’œ DESCRIPTION πŸ’œ

Initializes a vma resource allocated using i915_vma_resource_alloc. 🌈

and the reason there's a separate allocate function and an initialize function? not just vibes, bestie β€” it's because initialization may need to be performed from under a lock where allocation is not allowed. so like, you literally can't allocate at that moment. no cap πŸ”’


πŸ‘‘ SEE ALSO πŸ‘‘

Kernel file ./drivers/gpu/drm/i915/i915_vma_resource.h

all her friends. go read them too, iykyk πŸ’€βœ¨


πŸ“ that's the whole page, you ate that. go initialize something iconic πŸŽ€

luv u, bye β€” this masterpiece came from ./drivers/gpu/drm/i915, dated October 2026 πŸ’–βœ¨

πŸ“¦ where this page comes from