i915_gem_ob...t_17_swizzle(9)
π i915_gem_ob...t_17_swizzle(9) π
okay so bestie, before we get into it β this is a page from the Kernel API Manual, and the star of the show is i915_gem_object_do_bit_17_swizzle β¨ (the title up top gets truncated to i915_gem_ob...t_17_swizzle(9) because, like, headers have a character limit and we respect it π).
πΈ NAME πΈ
i915_gem_object_do_bit_17_swizzle β the little fixup that handles bit 17 swizzling π«Ά
β SYNOPSIS β
void i915_gem_object_do_bit_17_swizzle (struct drm_i915_gem_object *obj
, struct sg_table *pages );
that's the whole signature, no cap. two args, void return, and it's giving "quietly essential" π₯
π¦ ARGUMENTS π¦
objβ the i915 GEM buffer object in question π like, the actual thing we're fixing up.pagesβ the scattergather list of physical pages π§ this is the physical-page receipts.
π DESCRIPTION π
so here's the vibe: this function fixes up the swizzling in case any page frame number for this object has changed in bit 17 since that state was saved with i915_gem_object_save_bit_17_swizzle π«
it gets called when pinning backing storage again, and the reason is honestly so real of the kernel: unpinned backing storage is free to move around π either by directly moving pages or by swapping them out and back in again. bit 17 does not stay put, bestie. so we re-check and we fix.
π key takeaway: save the state β stuff moves β come back β run this β swizzling is correct again. periodt.
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/i915/gt/intel_ggtt_fencing.cfence register handling(9) i915_vma_revoke_fence(9)i915_vma_pin_fence(9)i915_reserve_fence(9)i915_unreserve_fence(9)intel_ggtt_restore_fences(9)- tiling swizzling details(9)
detect_bit_6_swizzle(9)i915_gem_object_save_bit_17_swizzle(9)
like, the whole fence-register friend group π«Ά go read them, iykyk.
mwah π that's the page!! sourced from ./drivers/gpu/drm/i915/gt, dated October 2026, and filed under i915_gem_ob...t_17_swizzle(9) β slay, 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