<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/gpu/drm/xe/xe_tile.c, branch master</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=master</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2026-01-15T15:05:04Z</updated>
<entry>
<title>drm/xe: Cleanup unused header includes</title>
<updated>2026-01-15T15:05:04Z</updated>
<author>
<name>Matt Roper</name>
<email>matthew.d.roper@intel.com</email>
</author>
<published>2026-01-15T03:28:02Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=83675851547e835c15252c601f41acf269c351d9'/>
<id>urn:sha1:83675851547e835c15252c601f41acf269c351d9</id>
<content type='text'>
clangd reports many "unused header" warnings throughout the Xe driver.
Start working to clean this up by removing unnecessary includes in our
.c files and/or replacing them with explicit includes of other headers
that were previously being included indirectly.

By far the most common offender here was unnecessary inclusion of
xe_gt.h.  That likely originates from the early days of xe.ko when
xe_mmio did not exist and all register accesses, including those
unrelated to GTs, were done with GT functions.

There's still a lot of additional #include cleanup that can be done in
the headers themselves; that will come as a followup series.

v2:
 - Squash the 79-patch series down to a single patch.  (MattB)

Reviewed-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Link: https://patch.msgid.link/20260115032803.4067824-2-matthew.d.roper@intel.com
Signed-off-by: Matt Roper &lt;matthew.d.roper@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Use the drm_pagemap cache and shrinker</title>
<updated>2025-12-23T08:58:33Z</updated>
<author>
<name>Thomas Hellström</name>
<email>thomas.hellstrom@linux.intel.com</email>
</author>
<published>2025-12-19T11:33:04Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8a52f4d9b1efc90eb338b0d59912e640400b9c63'/>
<id>urn:sha1:8a52f4d9b1efc90eb338b0d59912e640400b9c63</id>
<content type='text'>
Define a struct xe_pagemap that embeds all pagemap-related
data used by xekmd, and use the drm_pagemap cache- and
shrinker to manage lifetime.

Signed-off-by: Thomas Hellström &lt;thomas.hellstrom@linux.intel.com&gt;
Reviewed-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Link: https://patch.msgid.link/20251219113320.183860-9-thomas.hellstrom@linux.intel.com
</content>
</entry>
<entry>
<title>drm/xe: Suballocate BO for page reclaim</title>
<updated>2025-12-13T00:59:09Z</updated>
<author>
<name>Brian Nguyen</name>
<email>brian3.nguyen@intel.com</email>
</author>
<published>2025-12-12T21:32:32Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2b192bebaf610abd4aa4f5fdf7282f3c2a347898'/>
<id>urn:sha1:2b192bebaf610abd4aa4f5fdf7282f3c2a347898</id>
<content type='text'>
Page reclamation feature needs the PRL to be suballocated into a
GGTT-mapped BO. On allocation failure, fallback to default tlb
invalidation with full PPC flush.

PRL's BO allocation is managed in separate pool to ensure 4K alignment
for proper GGTT address.

With BO, pass into TLB invalidation backend and modify fence to
accomadate accordingly.

v2:
 - Removed page reclaim related variables from TLB fence. (Matthew B)
 - Allocate PRL bo size to num_entries. (Matthew B)
 - Move PRL bo allocation to tlb_inval run_job. (Matthew B)

v5:
 - Use xe_page_reclaim_list_valid. (Matthew B)

Signed-off-by: Brian Nguyen &lt;brian3.nguyen@intel.com&gt;
Suggested-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Reviewed-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Signed-off-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Link: https://patch.msgid.link/20251212213225.3564537-18-brian3.nguyen@intel.com
</content>
</entry>
<entry>
<title>drm/xe: Move primary GT allocation from xe_tile_init_early to xe_tile_init</title>
<updated>2025-10-14T14:44:57Z</updated>
<author>
<name>Matt Roper</name>
<email>matthew.d.roper@intel.com</email>
</author>
<published>2025-10-13T20:09:51Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=9c52402f6bd0b82f150236bb9b5895af00bb1188'/>
<id>urn:sha1:9c52402f6bd0b82f150236bb9b5895af00bb1188</id>
<content type='text'>
During the early days of the Xe driver, there were cases where we
accessed some fields in the primary GT's xe_gt structure before the GT
itself was formally initialized; this required that the structure itself
be allocated during xe_tile_init_early().  A lot of refactoring of the
device probe has happened since that time and there's no longer a need
to allocate the primary GT early.  Move the allocation into
xe_info_init() where GT initialization happens and where we're doing the
allocation of the media GT.

v2:
 - Only make this change after a separate patch to perform VF GMD_ID
   lookup with a dummy GT instead of xe_root_mmio_gt().

Cc: Michal Wajdeczko &lt;michal.wajdeczko@intel.com&gt;
Reviewed-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
Link: https://lore.kernel.org/r/20251013200944.2499947-33-matthew.d.roper@intel.com
Signed-off-by: Matt Roper &lt;matthew.d.roper@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Sort include files alphabetically.</title>
<updated>2025-10-13T14:18:20Z</updated>
<author>
<name>Arun Abhishek Chowhan</name>
<email>arun.abhishek.chowhan@intel.com</email>
</author>
<published>2025-10-13T09:59:14Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=64d00d41f57bf2228ed6c217c8e263440a4248df'/>
<id>urn:sha1:64d00d41f57bf2228ed6c217c8e263440a4248df</id>
<content type='text'>
Sort the include lines alphabetically, no impact on code behavior.

Signed-off-by: Arun Abhishek Chowhan &lt;arun.abhishek.chowhan@intel.com&gt;
Reviewed-by: Nitin Gote &lt;nitin.r.gote@intel.com&gt;
Link: https://lore.kernel.org/r/20251013095914.3742505-1-arun.abhishek.chowhan@intel.com
Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Add initial support for separate kernel VRAM region on the tile</title>
<updated>2025-10-06T06:33:46Z</updated>
<author>
<name>Piotr Piórkowski</name>
<email>piotr.piorkowski@intel.com</email>
</author>
<published>2025-10-03T16:26:15Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=db7dde99049f04b99cbf518be3a189b3e9f5c1d8'/>
<id>urn:sha1:db7dde99049f04b99cbf518be3a189b3e9f5c1d8</id>
<content type='text'>
So far, kernel and userspace allocations have shared the same VRAM region.
However, in some scenarios, it may be necessary to reserve a separate
VRAM area exclusively for kernel allocations.
Let's add preliminary support for such a configuration.

v2:
- replaced for_each_bo_flag_vram with the improved
  for_each_set_bo_vram_flag helper (Matthew)
- moved the VRAM flag iteration macro definition into xe_bo.c (Matthew)
- drop unused bo_flgas from bo_vram_flags_to_vram_placement (Matthew)
- use hweight32 helper in __xe_bo_fixed_placement for readability
  (Matthew)
v3: remove unnecessary VRAM fixup id

Signed-off-by: Piotr Piórkowski &lt;piotr.piorkowski@intel.com&gt;
Cc: Matthew Auld &lt;matthew.auld@intel.com&gt;
Reviewed-by: Matthew Auld &lt;matthew.auld@intel.com&gt;
Signed-off-by: Michal Wajdeczko &lt;michal.wajdeczko@intel.com&gt;
Link: https://lore.kernel.org/r/20251003162619.1984236-2-piotr.piorkowski@intel.com
</content>
</entry>
<entry>
<title>drm/xe: Fix an IS_ERR() vs NULL bug in xe_tile_alloc_vram()</title>
<updated>2025-07-21T14:38:05Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@linaro.org</email>
</author>
<published>2025-07-18T21:23:05Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=6c9e64e83b22405622d1f47417cdb0d20d49ca35'/>
<id>urn:sha1:6c9e64e83b22405622d1f47417cdb0d20d49ca35</id>
<content type='text'>
The xe_vram_region_alloc() function returns NULL on error.  It never
returns error pointers.  Update the error checking to match.

Fixes: 4b0a5f5ce784 ("drm/xe: Unify the initialization of VRAM regions")
Signed-off-by: Dan Carpenter &lt;dan.carpenter@linaro.org&gt;
Link: https://lore.kernel.org/r/5449065e-9758-4711-b706-78771c0753c4@sabinyo.mountain
Reviewed-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
Signed-off-by: Rodrigo Vivi &lt;rodrigo.vivi@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Unify the initialization of VRAM regions</title>
<updated>2025-07-16T19:15:00Z</updated>
<author>
<name>Piotr Piórkowski</name>
<email>piotr.piorkowski@intel.com</email>
</author>
<published>2025-07-14T18:48:18Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=4b0a5f5ce7849aab7a67ba9f113ed75626f6de36'/>
<id>urn:sha1:4b0a5f5ce7849aab7a67ba9f113ed75626f6de36</id>
<content type='text'>
Currently in the drivers we have defined VRAM regions per device and per
tile. Initialization of these regions is done in two completely different
ways. To simplify the logic of the code and make it easier to add new
regions in the future, let's unify the way we initialize VRAM regions.

v2:
- fix doc comments in struct xe_vram_region
- remove unnecessary includes (Jani)
v3:
- move code from xe_vram_init_regions_managers to xe_tile_init_noalloc
  (Matthew)
- replace ioremap_wc to devm_ioremap_wc for mapping VRAM BAR
  (Matthew)
- Replace the tile id parameter with vram region in the xe_pf_begin
  function.
v4:
- remove tile back pointer from struct xe_vram_region
- add new back pointers: xe and migarte to xe_vram_region

Signed-off-by: Piotr Piórkowski &lt;piotr.piorkowski@intel.com&gt;
Cc: Stuart Summers &lt;stuart.summers@intel.com&gt;
Cc: Matthew Auld &lt;matthew.auld@intel.com&gt;
Cc: Jani Nikula &lt;jani.nikula@intel.com&gt;
Reviewed-by: Matthew Auld &lt;matthew.auld@intel.com&gt; # rev3
Acked-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Link: https://lore.kernel.org/r/20250714184818.89201-6-piotr.piorkowski@intel.com
Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Split xe_migrate allocation from initialization</title>
<updated>2025-07-16T19:12:49Z</updated>
<author>
<name>Piotr Piórkowski</name>
<email>piotr.piorkowski@intel.com</email>
</author>
<published>2025-07-14T18:48:17Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d65ff1ec85355959e4ca452fba458687e4da583a'/>
<id>urn:sha1:d65ff1ec85355959e4ca452fba458687e4da583a</id>
<content type='text'>
Currently, xe_migrate_init handled both allocation and initialization,
Lets moves allocation to xe_tile_alloc via a new xe_migrate_alloc
function, and keep initialization in xe_migrate_init.
This will allow the migration pointers to be passed to other structures
before full initialization.
Also replaces devm_kzalloc with drmm_kzalloc for better
DRM-managed memory.

Signed-off-by: Piotr Piórkowski &lt;piotr.piorkowski@intel.com&gt;
Reviewed-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Link: https://lore.kernel.org/r/20250714184818.89201-5-piotr.piorkowski@intel.com
Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
</content>
</entry>
<entry>
<title>drm/xe: Move struct xe_vram_region to a dedicated header</title>
<updated>2025-07-16T19:12:36Z</updated>
<author>
<name>Piotr Piórkowski</name>
<email>piotr.piorkowski@intel.com</email>
</author>
<published>2025-07-14T18:48:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7a20b4f558f4291161f71a5b7384262db9ccd6b0'/>
<id>urn:sha1:7a20b4f558f4291161f71a5b7384262db9ccd6b0</id>
<content type='text'>
Let's move the xe_vram_region structure to a new header dedicated to VRAM
to improve modularity and avoid unnecessary dependencies when only
VRAM-related structures are needed.

v2: Fix build if CONFIG_DRM_XE_DEVMEM_MIRROR is enabled
v3: Fix build if CONFIG_DRM_XE_DISPLAY is enabled
v4: Move helper to get tile dpagemap to xe_svm.c

Signed-off-by: Piotr Piórkowski &lt;piotr.piorkowski@intel.com&gt;
Suggested-by: Jani Nikula &lt;jani.nikula@intel.com&gt;
Reviewed-by: Satyanarayana K V P &lt;satyanarayana.k.v.p@intel.com&gt; # rev3
Acked-by: Matthew Brost &lt;matthew.brost@intel.com&gt;
Link: https://lore.kernel.org/r/20250714184818.89201-4-piotr.piorkowski@intel.com
Signed-off-by: Lucas De Marchi &lt;lucas.demarchi@intel.com&gt;
</content>
</entry>
</feed>
