[PULL] drm-xe-next

Matthew Brost
2026-03-26T04:45:11Z

drm-xe-next-2026-03-25:
Hi Dave and Sima,

Here goes our third, perhaps, final drm-xe-next PR towards 7.1.

In the big things we have:
- THP support in drm_pagemap
- xe_vm_get_property_ioctl

Thanks,
Matt

UAPI Changes:
- Implement xe_vm_get_property_ioctl (Jonathan)

Cross-subsystem Changes:
- Enable THP support in drm_pagemap (Francois, Brost)

Core Changes:
- Improve VF FLR synchronization for Xe VFIO (Piotr)

Driver Changes:
- Fix confusion with locals on context creation (Tomasz, Fixes)
- Add new SVM copy GT stats per size (Francois)
- always keep track of remap prev/next (Auld, Fixes)
- AuxCCS handling and render compression modifiers (Tvrtko)
- Implement recent spec updates to Wa_16025250150 (Roper)
- xe3p_lpg: L2 flush optimization (Tejas)
- vf: Improve getting clean NULL context (Wajdeczko)
- pf: Fix use-after-free in migration restore (Winiarski. Fixes)
- Fix format specifier for printing pointer differences (Nathan Chancellor, Fixes)
- Extend Wa_14026781792 for xe3lpg (Niton)
- xe3p_lpg: Add Wa_16029437861 (Varun)
- Fix spelling mistakes and comment style in ttm_resource.c (Varun)
- Merge drm/drm-next into drm-xe-next (Thomas)
- Fix missing runtime PM reference in ccs_mode_store (Sanjay, Fixes)
- Fix uninitialized new_ts when capturing context timestamp (Umesh)
- Allow reading after disabling OA stream (Ashutosh)
- Page Reclamation Fixes (Brian Nguyen, Fixes)
- Include running dword offset in default_lrc dumps (Roper)
- Assert/Deassert I2C IRQ (Raag)
- Fixup reset, wedge, unload corner cases (Zhanjun, Brost)
- Fail immediately on GuC load error (Daniele)
- Fix kernel-doc for DRM_XE_VM_BIND_FLAG_DECOMPRESS (Niton, Fixes)
- Drop redundant entries for Wa_16021867713 & Wa_14019449301 (Roper, Fixes)
The following changes since commit d93f8ea0e5ad41d661496d205fac3e2fbd9358c0:

Merge tag 'drm-intel-next-2026-03-16' of https://gitlab.freedesktop.org/drm/i915/kernel into drm-next (2026-03-17 15:44:26 +1000)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2026-03-25

for you to fetch changes up to 3d4939c0ec011ad6dfda7c13362b3d2013425789:

drm/xe: Fix confusion with locals on context creation (2026-03-25 18:24:52 -0700)

----------------------------------------------------------------

UAPI Changes:
- Implement xe_vm_get_property_ioctl (Jonathan)

Cross-subsystem Changes:
- Enable THP support in drm_pagemap (Francois, Brost)

Core Changes:
- Improve VF FLR synchronization for Xe VFIO (Piotr)

Driver Changes:
- Fix confusion with locals on context creation (Tomasz, Fixes)
- Add new SVM copy GT stats per size (Francois)
- always keep track of remap prev/next (Auld, Fixes)
- AuxCCS handling and render compression modifiers (Tvrtko)
- Implement recent spec updates to Wa_16025250150 (Roper)
- xe3p_lpg: L2 flush optimization (Tejas)
- vf: Improve getting clean NULL context (Wajdeczko)
- pf: Fix use-after-free in migration restore (Winiarski. Fixes)
- Fix format specifier for printing pointer differences (Nathan Chancellor, Fixes)
- Extend Wa_14026781792 for xe3lpg (Niton)
- xe3p_lpg: Add Wa_16029437861 (Varun)
- Fix spelling mistakes and comment style in ttm_resource.c (Varun)
- Merge drm/drm-next into drm-xe-next (Thomas)
- Fix missing runtime PM reference in ccs_mode_store (Sanjay, Fixes)
- Fix uninitialized new_ts when capturing context timestamp (Umesh)
- Allow reading after disabling OA stream (Ashutosh)
- Page Reclamation Fixes (Brian Nguyen, Fixes)
- Include running dword offset in default_lrc dumps (Roper)
- Assert/Deassert I2C IRQ (Raag)
- Fixup reset, wedge, unload corner cases (Zhanjun, Brost)
- Fail immediately on GuC load error (Daniele)
- Fix kernel-doc for DRM_XE_VM_BIND_FLAG_DECOMPRESS (Niton, Fixes)
- Drop redundant entries for Wa_16021867713 & Wa_14019449301 (Roper, Fixes)

----------------------------------------------------------------
Ashutosh Dixit (1):
drm/xe/oa: Allow reading after disabling OA stream

Brian Nguyen (3):
drm/xe: Skip over non leaf pte for PRL generation
drm/xe: Move page reclaim done_handler to own func
drm/xe: Skip adding PRL entry to NULL VMA

Daniele Ceraolo Spurio (1):
drm/xe/guc: Fail immediately on GuC load error

Francois Dugast (4):
drm/pagemap: Unlock and put folios when possible
drm/pagemap: Add helper to access zone_device_data
drm/pagemap: Enable THP support for GPU memory migration
drm/xe: Add new SVM copy GT stats per size

Jonathan Cavitt (4):
drm/xe/xe_pagefault: Disallow writes to read-only VMAs
drm/xe/uapi: Define drm_xe_vm_get_property
drm/xe/xe_vm: Add per VM fault info
drm/xe/xe_vm: Implement xe_vm_get_property_ioctl

Matt Roper (3):
drm/xe/wa: Drop redundant entries for Wa_16021867713 & Wa_14019449301
drm/xe: Include running dword offset in default_lrc dumps
drm/xe: Implement recent spec updates to Wa_16025250150

Matthew Auld (1):
drm/xe: always keep track of remap prev/next

Matthew Brost (5):
drm/xe: Always kill exec queues in xe_guc_submit_pause_abort
drm/xe: Forcefully tear down exec queues in GuC submit fini
drm/xe: Trigger queue cleanup if not in wedged mode 2
drm/xe: Open-code GGTT MMIO access protection
drm/pagemap: Correct cpages calculation for migrate_vma_setup

Michal Wajdeczko (3):
drm/xe: Add PR_CTR_CTRL/THRSH register definitions
drm/xe: Add MI_SEMAPHORE_WAIT command definition
drm/xe/vf: Improve getting clean NULL context

Michał Winiarski (1):
drm/xe/pf: Fix use-after-free in migration restore

Nathan Chancellor (1):
drm/xe: Fix format specifier for printing pointer differences

Nitin Gote (2):
drm/xe/uapi: Fix kernel-doc for DRM_XE_VM_BIND_FLAG_DECOMPRESS
drm/xe: Extend Wa_14026781792 for xe3lpg

Piotr Piórkowski (2):
drm/xe/pf: Add FLR_PREPARE state to VF control flow
vfio/xe: Notify PF about VF FLR in reset_prepare

Raag Jadav (1):
drm/xe/i2c: Assert/Deassert I2C IRQ

Sanjay Yadav (1):
drm/xe: Fix missing runtime PM reference in ccs_mode_store

Tejas Upadhyay (4):
drm/xe/xe3p_lpg: flush shrinker bo cachelines manually
drm/xe/pat: define coh_mode 2way
drm/xe/xe3p_lpg: Restrict UAPI to enable L2 flush optimization
drm/xe/xe3p: Skip TD flush

Thomas Hellström (1):
Merge drm/drm-next into drm-xe-next

Tomasz Lis (1):
drm/xe: Fix confusion with locals on context creation

Tvrtko Ursulin (12):
drm/xe: Rename XE_BO_FLAG_SCANOUT to XE_BO_FLAG_FORCE_WC
drm/xe: Use write-combine mapping when populating DPT
drm/xe/xelpg: Limit AuxCCS ring buffer programming to Alderlake
drm/xe/xelp: Quiesce memory traffic before invalidating AuxCCS
drm/xe/xelp: Wait for AuxCCS invalidation to complete
drm/xe: Move aux table invalidation to ring ops
drm/xe/xelp: Add AuxCCS invalidation to the indirect context workarounds
drm/xe/display: Move remapped plane loop out of __xe_pin_fb_vma_dpt
drm/xe/display: Change write_dpt_remapped_tiled function signature
drm/xe/display: Respect remapped plane alignment
drm/xe/display: Add support for AuxCCS
drm/xe/xelp: Expose AuxCCS frame buffer modifiers on Alderlake-P

Umesh Nerlige Ramappa (1):
drm/xe/lrc: Fix uninitialized new_ts when capturing context timestamp

Varun Gupta (2):
drm/ttm: Fix spelling mistakes and comment style in ttm_resource.c
drm/xe/xe3p_lpg: Add Wa_16029437861

Zhanjun Dong (3):
drm/xe: Use XE_WEDGED_MODE_UPON_ANY_HANG_NO_RESET enum instead of magic number
drm/xe/guc: Ensure CT state transitions via STOP before DISABLED
drm/xe/uc: Drop xe_guc_sanitize in favor of managed cleanup

drivers/gpu/drm/drm_gpusvm.c | 7 +-
drivers/gpu/drm/drm_pagemap.c | 157 ++++++++++++---
drivers/gpu/drm/ttm/ttm_resource.c | 28 +--
drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 12 +-
drivers/gpu/drm/xe/display/xe_display.c | 8 +
drivers/gpu/drm/xe/display/xe_display_bo.c | 6 +-
drivers/gpu/drm/xe/display/xe_dsb_buffer.c | 4 +-
drivers/gpu/drm/xe/display/xe_fb_pin.c | 118 ++++++++----
drivers/gpu/drm/xe/display/xe_initial_plane.c | 2 +-
drivers/gpu/drm/xe/instructions/xe_mi_commands.h | 19 ++
drivers/gpu/drm/xe/regs/xe_engine_regs.h | 8 +
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 1 +
drivers/gpu/drm/xe/xe_bo.c | 24 ++-
drivers/gpu/drm/xe/xe_bo.h | 2 +-
drivers/gpu/drm/xe/xe_device.c | 33 ++++
drivers/gpu/drm/xe/xe_device.h | 1 +
drivers/gpu/drm/xe/xe_ggtt.c | 15 +-
drivers/gpu/drm/xe/xe_gt.c | 9 +-
drivers/gpu/drm/xe/xe_gt_ccs_mode.c | 2 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c | 78 ++++++--
drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h | 1 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_control_types.h | 2 +
drivers/gpu/drm/xe/xe_gt_stats.c | 6 +
drivers/gpu/drm/xe/xe_gt_stats_types.h | 6 +
drivers/gpu/drm/xe/xe_guc.c | 35 +++-
drivers/gpu/drm/xe/xe_guc.h | 1 +
drivers/gpu/drm/xe/xe_guc_ct.c | 24 +--
drivers/gpu/drm/xe/xe_guc_fwif.h | 1 +
drivers/gpu/drm/xe/xe_guc_submit.c | 87 ++++++---
drivers/gpu/drm/xe/xe_i2c.c | 15 +-
drivers/gpu/drm/xe/xe_lrc.c | 96 +++++++---
drivers/gpu/drm/xe/xe_oa.c | 7 +-
drivers/gpu/drm/xe/xe_page_reclaim.c | 26 +++
drivers/gpu/drm/xe/xe_page_reclaim.h | 3 +
drivers/gpu/drm/xe/xe_pagefault.c | 32 ++++
drivers/gpu/drm/xe/xe_pat.c | 14 +-
drivers/gpu/drm/xe/xe_pat.h | 5 +-
drivers/gpu/drm/xe/xe_pt.c | 50 +++--
drivers/gpu/drm/xe/xe_ring_ops.c | 143 ++++++++++++--
drivers/gpu/drm/xe/xe_ring_ops_types.h | 8 +-
drivers/gpu/drm/xe/xe_sched_job_types.h | 2 +
drivers/gpu/drm/xe/xe_sriov_packet.c | 2 +
drivers/gpu/drm/xe/xe_sriov_pf_control.c | 24 +++
drivers/gpu/drm/xe/xe_sriov_pf_control.h | 1 +
drivers/gpu/drm/xe/xe_sriov_vfio.c | 1 +
drivers/gpu/drm/xe/xe_svm.c | 27 ++-
drivers/gpu/drm/xe/xe_uc.c | 22 +--
drivers/gpu/drm/xe/xe_vm.c | 223 +++++++++++++++++++++-
drivers/gpu/drm/xe/xe_vm.h | 12 ++
drivers/gpu/drm/xe/xe_vm_madvise.c | 25 ++-
drivers/gpu/drm/xe/xe_vm_types.h | 33 ++++
drivers/gpu/drm/xe/xe_wa.c | 27 +--
drivers/vfio/pci/xe/main.c | 14 ++
include/drm/drm_pagemap.h | 21 ++
include/drm/intel/xe_sriov_vfio.h | 11 ++
include/uapi/drm/xe_drm.h | 92 ++++++++-
56 files changed, 1340 insertions(+), 293 deletions(-)