[PULL] drm-xe-next

Matthew Brost
2026-03-12T14:57:36Z

Hi Dave and Sima,

Here goes our second drm-xe-next PR towards 7.1.

In the big things we have:
- VM_BIND DECOMPRESS support
- Two-pass MMU interval notifiers
- Introduce the DRM RAS infrastructure over generic netlink
- NVL-P enabling patches

Thanks,
Matt

drm-xe-next-2026-03-12:
UAPI Changes:
- add VM_BIND DECOMPRESS support and on-demand decompression (Nitin)
- Allow per queue programming of COMMON_SLICE_CHICKEN3 bit13 (Lionel)

Cross-subsystem Changes:
- Introduce the DRM RAS infrastructure over generic netlink (Riana, Rodrigo)

Core Changes:
- Two-pass MMU interval notifiers (Thomas)

Driver Changes:
- Merge drm/drm-next into drm-xe-next (Brost)
- Fix overflow in guc_ct_snapshot_capture (Mika, Fixes)
- Extract gt_pta_entry (Gustavo)
- Extra enabling patches for NVL-P (Gustavo)
- Add Wa_14026578760 (Varun)
- Add type-specific GT loop iterator (Roper)
- Refactor xe_migrate_prepare_vm (Raag)
- Don't disable GuCRC in suspend path (Vinay, Fixes)
- Add missing kernel docs in xe_exec_queue.c (Niranjana)
- Change TEST_VRAM to work with 32-bit resource_size_t (Wajdeczko)
- Fix memory leak in xe_vm_madvise_ioctl (Varun, Fixes)
- Skip access counter queue init for unsupported platforms (Himal)
The following changes since commit 58351f46de26bcc4403f9972f7aed430d15cbd03:

Merge v7.0-rc3 into drm-next (2026-03-11 11:18:31 +0100)

are available in the Git repository at:

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

for you to fetch changes up to 42d3b66d4cdbacfc9d120d2301b8de89cc29a914:

Merge drm/drm-next into drm-xe-next (2026-03-12 07:23:23 -0700)

----------------------------------------------------------------
UAPI Changes:
- add VM_BIND DECOMPRESS support and on-demand decompression (Nitin)
- Allow per queue programming of COMMON_SLICE_CHICKEN3 bit13 (Lionel)

Cross-subsystem Changes:
- Introduce the DRM RAS infrastructure over generic netlink (Riana, Rodrigo)

Core Changes:
- Two-pass MMU interval notifiers (Thomas)

Driver Changes:
- Merge drm/drm-next into drm-xe-next (Brost)
- Fix overflow in guc_ct_snapshot_capture (Mika, Fixes)
- Extract gt_pta_entry (Gustavo)
- Extra enabling patches for NVL-P (Gustavo)
- Add Wa_14026578760 (Varun)
- Add type-specific GT loop iterator (Roper)
- Refactor xe_migrate_prepare_vm (Raag)
- Don't disable GuCRC in suspend path (Vinay, Fixes)
- Add missing kernel docs in xe_exec_queue.c (Niranjana)
- Change TEST_VRAM to work with 32-bit resource_size_t (Wajdeczko)
- Fix memory leak in xe_vm_madvise_ioctl (Varun, Fixes)
- Skip access counter queue init for unsupported platforms (Himal)

----------------------------------------------------------------
Gustavo Sousa (8):
drm/xe: Modify stepping info directly in xe_step_*_get()
drm/xe: Drop unused IS_PLATFORM_STEP() and IS_SUBPLATFORM_STEP()
drm/xe/nvlp: Read platform-level stepping info
drm/xe/rtp: Add support for matching platform-level stepping
drm/xe/nvlp: Implement Wa_14026539277
drm/xe/xe3p: Drop Wa_16028780921
drm/xe: Translate C-state "reset value" into RC6
drm/xe/pat: Extract gt_pta_entry()

Himal Prasad Ghimiray (1):
drm/xe/guc: Skip access counter queue init for unsupported platforms

Lionel Landwerlin (1):
drm/xe: Allow per queue programming of COMMON_SLICE_CHICKEN3 bit13

Matt Roper (2):
drm/xe: Add for_each_gt_with_type() iterator
drm/xe: Utilize for_each_gt_with_type() for type-specific GT loops

Matthew Brost (1):
Merge drm/drm-next into drm-xe-next

Michal Wajdeczko (1):
drm/xe/tests: Change TEST_VRAM to work with 32-bit resource_size_t

Mika Kuoppala (1):
drm/xe: Fix overflow in guc_ct_snapshot_capture

Niranjana Vishwanathapura (1):
drm/xe: Add missing kernel docs in xe_exec_queue.c

Nitin Gote (3):
drm/xe: add VM_BIND DECOMPRESS uapi flag
drm/xe: add xe_migrate_resolve wrapper and is_vram_resolve support
drm/xe: implement VM_BIND decompression in vm_bind_ioctl

Raag Jadav (1):
drm/xe/migrate: Refactor xe_migrate_prepare_vm()

Riana Tauro (4):
drm/xe/xe_drm_ras: Add support for XE DRM RAS
drm/xe/xe_hw_error: Integrate DRM RAS with hardware error handling
drm/xe/xe_hw_error: Add support for Core-Compute errors
drm/xe/xe_hw_error: Add support for PVC SoC errors

Rodrigo Vivi (1):
drm/ras: Introduce the DRM RAS infrastructure over generic netlink

Thomas Hellström (4):
mm/mmu_notifier: Allow two-pass struct mmu_interval_notifiers
drm/xe/userptr: Convert invalidation to two-pass MMU notifier
drm/xe: Split TLB invalidation into submit and wait steps
drm/xe/userptr: Defer Waiting for TLB invalidation to the second pass if possible

Varun Gupta (2):
drm/xe: Fix memory leak in xe_vm_madvise_ioctl
drm/xe: Add Wa_14026578760

Vinay Belgaumkar (1):
drm/xe: Don't disable GuCRC in suspend path

Documentation/gpu/drm-ras.rst | 103 +++++
Documentation/gpu/index.rst | 1 +
Documentation/netlink/specs/drm_ras.yaml | 115 ++++++
drivers/gpu/drm/Kconfig | 10 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm_drv.c | 6 +
drivers/gpu/drm/drm_ras.c | 354 ++++++++++++++++
drivers/gpu/drm/drm_ras_genl_family.c | 42 ++
drivers/gpu/drm/drm_ras_nl.c | 56 +++
drivers/gpu/drm/drm_ras_nl.h | 24 ++
drivers/gpu/drm/xe/Makefile | 1 +
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 12 +-
drivers/gpu/drm/xe/regs/xe_hw_error_regs.h | 86 +++-
.../gpu/drm/xe/tests/xe_gt_sriov_pf_config_kunit.c | 2 +-
drivers/gpu/drm/xe/xe_bo.c | 55 +++
drivers/gpu/drm/xe/xe_bo.h | 2 +
drivers/gpu/drm/xe/xe_device.c | 5 +-
drivers/gpu/drm/xe/xe_device.h | 4 +
drivers/gpu/drm/xe/xe_device_types.h | 16 +-
drivers/gpu/drm/xe/xe_device_wa_oob.rules | 1 +
drivers/gpu/drm/xe/xe_drm_ras.c | 186 +++++++++
drivers/gpu/drm/xe/xe_drm_ras.h | 15 +
drivers/gpu/drm/xe/xe_drm_ras_types.h | 48 +++
drivers/gpu/drm/xe/xe_exec_queue.c | 131 +++++-
drivers/gpu/drm/xe/xe_exec_queue_types.h | 2 +
drivers/gpu/drm/xe/xe_gt.c | 41 ++
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 5 +-
drivers/gpu/drm/xe/xe_guc.c | 1 -
drivers/gpu/drm/xe/xe_guc_ads.c | 11 +
drivers/gpu/drm/xe/xe_guc_ct_types.h | 2 +-
drivers/gpu/drm/xe/xe_guc_pc.c | 8 +
drivers/gpu/drm/xe/xe_hw_error.c | 451 +++++++++++++++++++--
drivers/gpu/drm/xe/xe_lrc.c | 9 +
drivers/gpu/drm/xe/xe_lrc.h | 1 +
drivers/gpu/drm/xe/xe_migrate.c | 143 +++++--
drivers/gpu/drm/xe/xe_migrate.h | 4 +
drivers/gpu/drm/xe/xe_pat.c | 33 +-
drivers/gpu/drm/xe/xe_pci.c | 12 +-
drivers/gpu/drm/xe/xe_pci_types.h | 1 +
drivers/gpu/drm/xe/xe_query.c | 2 +
drivers/gpu/drm/xe/xe_rtp.c | 7 +
drivers/gpu/drm/xe/xe_rtp.h | 20 +
drivers/gpu/drm/xe/xe_rtp_types.h | 1 +
drivers/gpu/drm/xe/xe_step.c | 74 +++-
drivers/gpu/drm/xe/xe_step.h | 10 +-
drivers/gpu/drm/xe/xe_step_types.h | 1 +
drivers/gpu/drm/xe/xe_svm.c | 8 +-
drivers/gpu/drm/xe/xe_tlb_inval.c | 84 ++++
drivers/gpu/drm/xe/xe_tlb_inval.h | 6 +
drivers/gpu/drm/xe/xe_tlb_inval_types.h | 14 +
drivers/gpu/drm/xe/xe_userptr.c | 155 ++++++-
drivers/gpu/drm/xe/xe_userptr.h | 31 +-
drivers/gpu/drm/xe/xe_vm.c | 136 +++----
drivers/gpu/drm/xe/xe_vm.h | 5 +-
drivers/gpu/drm/xe/xe_vm_madvise.c | 10 +-
drivers/gpu/drm/xe/xe_vm_types.h | 3 +
drivers/gpu/drm/xe/xe_wa.c | 9 +-
include/drm/drm_ras.h | 75 ++++
include/drm/drm_ras_genl_family.h | 17 +
include/linux/mmu_notifier.h | 42 ++
include/uapi/drm/drm_ras.h | 49 +++
include/uapi/drm/xe_drm.h | 95 +++++
mm/mmu_notifier.c | 65 ++-
63 files changed, 2653 insertions(+), 266 deletions(-)
create mode 100644 Documentation/gpu/drm-ras.rst
create mode 100644 Documentation/netlink/specs/drm_ras.yaml
create mode 100644 drivers/gpu/drm/drm_ras.c
create mode 100644 drivers/gpu/drm/drm_ras_genl_family.c
create mode 100644 drivers/gpu/drm/drm_ras_nl.c
create mode 100644 drivers/gpu/drm/drm_ras_nl.h
create mode 100644 drivers/gpu/drm/xe/xe_drm_ras.c
create mode 100644 drivers/gpu/drm/xe/xe_drm_ras.h
create mode 100644 drivers/gpu/drm/xe/xe_drm_ras_types.h
create mode 100644 include/drm/drm_ras.h
create mode 100644 include/drm/drm_ras_genl_family.h
create mode 100644 include/uapi/drm/drm_ras.h