[PULL] drm-xe-next

Rodrigo Vivi
2026-01-15T16:16:19Z

Hi Dave and Sima,

This is likely our last drm-xe-next PR towards 7.0. But perhaps
an extra one coming in the beginning of next week depending on
how the THP patches and a few other cases goes.

It is important to highlight that this PR brings a revert of a
flag in the new multi-queue uAPI that had been added in the first
PR of this round. After that PR, with multiple uAPI changes, I
scrutinized them and found out this flag was not used nor planned
to be used. Hence, I requested the removal before the 7.0 deadline.

Thanks,
Rodrigo.

drm-xe-next-2026-01-15:
UAPI Changes:
- Remove unused KEEP_ACTIVE flag in the new multi queue uAPI (Niranjana)
- Expose new temperature attributes in HWMON (Karthik)

Driver Changes:
- Force i2c into polling mode when in survivability (Raag)
- Validate preferred system memory placement in xe_svm_range_validate (Brost)
- Adjust page count tracepoints in shrinker (Brost)
- Fix a couple drm_pagemap issues with multi-GPU (Brost)
- Define GuC firmware for NVL-S (Roper)
- Handle GT resume failure (Raag)
- Improve wedged mode handling (Lukasz)
- Add missing newlines to drm_warn messages (Osama)
- Fix WQ_MEM_RECLAIM passed as max_active to alloc_workqueue (Marco)
- Page-reclaim fixes and PRL stats addition (Brian)
- Fix struct guc_lfd_file_header kernel-doc (Jani)
- Allow compressible surfaces to be 1-way coherent (Xin)
- Fix DRM scheduler layering violations in Xe (Brost)
- Minor improvements to MERT code (Michal)
- Privatize struct xe_ggtt_node (Maarten)
- Convert wait for lmem init into an assert (Bala)
- Enable GSC loading and PXP for PTL (Daniele)
- Replace use of system_wq with tlb_inval->timeout_wq (Marco)
- VRAM addr range bit expansion (Fei)
- Cleanup unused header includes (Roper)
The following changes since commit 59260fe5821ad108d0fda8a4a4fe0448e9821f27:

Merge tag 'drm-xe-next-2025-12-30' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next (2026-01-01 17:00:59 +1000)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2026-01-15

for you to fetch changes up to 83675851547e835c15252c601f41acf269c351d9:

drm/xe: Cleanup unused header includes (2026-01-15 07:05:04 -0800)

----------------------------------------------------------------
UAPI Changes:
- Remove unused KEEP_ACTIVE flag in the new multi queue uAPI (Niranjana)
- Expose new temperature attributes in HWMON (Karthik)

Driver Changes:
- Force i2c into polling mode when in survivability (Raag)
- Validate preferred system memory placement in xe_svm_range_validate (Brost)
- Adjust page count tracepoints in shrinker (Brost)
- Fix a couple drm_pagemap issues with multi-GPU (Brost)
- Define GuC firmware for NVL-S (Roper)
- Handle GT resume failure (Raag)
- Improve wedged mode handling (Lukasz)
- Add missing newlines to drm_warn messages (Osama)
- Fix WQ_MEM_RECLAIM passed as max_active to alloc_workqueue (Marco)
- Page-reclaim fixes and PRL stats addition (Brian)
- Fix struct guc_lfd_file_header kernel-doc (Jani)
- Allow compressible surfaces to be 1-way coherent (Xin)
- Fix DRM scheduler layering violations in Xe (Brost)
- Minor improvements to MERT code (Michal)
- Privatize struct xe_ggtt_node (Maarten)
- Convert wait for lmem init into an assert (Bala)
- Enable GSC loading and PXP for PTL (Daniele)
- Replace use of system_wq with tlb_inval->timeout_wq (Marco)
- VRAM addr range bit expansion (Fei)
- Cleanup unused header includes (Roper)

----------------------------------------------------------------
Balasubramani Vivekanandan (1):
drm/xe/device: Convert wait for lmem init into an assert

Brian Nguyen (4):
drm/xe: Remove debug comment in page reclaim
drm/xe: Add explicit abort page reclaim list
drm/xe: Fix page reclaim entry handling for large pages
drm/xe: Add page reclamation related stats

Daniele Ceraolo Spurio (3):
drm/xe/gsc: Make GSC FW load optional for newer platforms
drm/xe/ptl: Define GSC for PTL
drm/xe/ptl: Enable PXP for PTL

Fei Yang (1):
drm/xe: vram addr range is expanded to bit[17:8]

Jani Nikula (5):
drm/xe/guc: fix struct guc_lfd_file_header kernel-doc
drm/xe/vf: fix struct xe_gt_sriov_vf_migration kernel-doc
drm/xe/xe_late_bind_fw: fix enum xe_late_bind_fw_id kernel-doc
drm/xe/vm: fix xe_vm_validation_exec() kernel-doc
drm/xe: improve header check

Karthik Poosa (4):
drm/xe/hwmon: Expose temperature limits
drm/xe/hwmon: Expose memory controller temperature
drm/xe/hwmon: Expose GPU PCIe temperature
drm/xe/hwmon: Expose individual VRAM channel temperature

Lukasz Laguna (4):
drm/xe: Validate wedged_mode parameter and define enum for modes
drm/xe: Update wedged.mode only after successful reset policy change
drm/xe/vf: Disallow setting wedged mode to upon-any-hang
drm/xe/pf: Allow upon-any-hang wedged mode only in debug config

Maarten Lankhorst (7):
drm/xe: Start using ggtt->start in preparation of balloon removal
drm/xe: Convert xe_fb_pin to use a callback for insertion into GGTT
drm/xe: Add xe_ggtt_node_addr() to avoid dereferencing xe_ggtt_node
drm/xe/display: Avoid dereferencing xe_ggtt_node
drm/xe: Do not dereference ggtt_node in xe_bo.c
drm/xe: Improve xe_gt_sriov_pf_config GGTT handling
drm/xe: Privatize xe_ggtt_node

Marco Crivellari (2):
drm/xe: fix WQ_MEM_RECLAIM passed as max_active to alloc_workqueue()
drm/xe: Replace use of system_wq with tlb_inval->timeout_wq

Matt Roper (2):
drm/xe/nvls: Define GuC firmware for NVL-S
drm/xe: Cleanup unused header includes

Matthew Brost (11):
drm/xe: Validate preferred system memory placement in xe_svm_range_validate
drm/xe: Adjust page count tracepoints in shrinker
drm/pagemap Fix error paths in drm_pagemap_migrate_to_devmem
drm/pagemap: Disable device-to-device migration
drm/xe: Add dedicated message lock
drm/xe: Stop abusing DRM scheduler internals
drm/xe: Only toggle scheduling in TDR if GuC is running
drm/xe: Do not deregister queues in TDR
drm/xe: Remove special casing for LR queues in submission
drm/xe: Disable timestamp WA on VFs
drm/xe: Avoid toggling schedule state to check LRC timestamp in TDR

Michal Wajdeczko (6):
drm/xe/mert: Normalize xe_mert.h include guards
drm/xe/mert: Fix kernel-doc for struct xe_mert
drm/xe/mert: Always refer to MERT using xe_device
drm/xe/mert: Use local mert variable to simplify the code
drm/xe/mert: Move MERT initialization to xe_mert.c
drm/xe/mert: Improve handling of MERT CAT errors

Niranjana Vishwanathapura (2):
Revert "drm/xe/multi_queue: Support active group after primary is destroyed"
drm/xe/doc: Remove KEEP_ACTIVE feature

Osama Abdelkader (1):
drm/xe: Add missing newlines to drm_warn messages

Raag Jadav (2):
drm/xe/i2c: Force polling mode in survivability
drm/xe/pm: Handle GT resume failure

Rodrigo Vivi (1):
Merge drm/drm-next into drm-xe-next

Xin Wang (1):
drm/xe: Allow compressible surfaces to be 1-way coherent

.../ABI/testing/sysfs-driver-intel-xe-hwmon | 110 ++++++
drivers/gpu/drm/drm_pagemap.c | 22 +-
drivers/gpu/drm/xe/Makefile | 3 +-
drivers/gpu/drm/xe/abi/guc_lfd_abi.h | 5 +-
drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h | 4 +-
drivers/gpu/drm/xe/display/xe_fb_pin.c | 104 +++---
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 2 +-
drivers/gpu/drm/xe/display/xe_stolen.c | 2 +-
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 6 +
drivers/gpu/drm/xe/regs/xe_mert_regs.h | 10 +-
drivers/gpu/drm/xe/regs/xe_pcode_regs.h | 3 +
drivers/gpu/drm/xe/tests/xe_bo.c | 1 +
drivers/gpu/drm/xe/tests/xe_guc_buf_kunit.c | 2 +-
drivers/gpu/drm/xe/xe_bb.c | 3 +-
drivers/gpu/drm/xe/xe_bo.c | 33 +-
drivers/gpu/drm/xe/xe_bo.h | 8 +-
drivers/gpu/drm/xe/xe_debugfs.c | 75 +++-
drivers/gpu/drm/xe/xe_devcoredump.c | 3 +-
drivers/gpu/drm/xe/xe_device.c | 141 ++++----
drivers/gpu/drm/xe/xe_device.h | 2 +
drivers/gpu/drm/xe/xe_device_types.h | 25 +-
drivers/gpu/drm/xe/xe_exec.c | 1 -
drivers/gpu/drm/xe/xe_exec_queue.c | 62 +---
drivers/gpu/drm/xe/xe_exec_queue.h | 2 -
drivers/gpu/drm/xe/xe_exec_queue_types.h | 4 -
drivers/gpu/drm/xe/xe_execlist.c | 3 +-
drivers/gpu/drm/xe/xe_ggtt.c | 219 ++++++++----
drivers/gpu/drm/xe/xe_ggtt.h | 14 +-
drivers/gpu/drm/xe/xe_ggtt_types.h | 32 +-
drivers/gpu/drm/xe/xe_gpu_scheduler.c | 9 +-
drivers/gpu/drm/xe/xe_gpu_scheduler.h | 37 +-
drivers/gpu/drm/xe/xe_gpu_scheduler_types.h | 2 +
drivers/gpu/drm/xe/xe_gsc.c | 13 +-
drivers/gpu/drm/xe/xe_gsc_debugfs.c | 5 +-
drivers/gpu/drm/xe/xe_gsc_proxy.c | 2 +-
drivers/gpu/drm/xe/xe_gsc_submit.c | 2 -
drivers/gpu/drm/xe/xe_gt.c | 34 +-
drivers/gpu/drm/xe/xe_gt_clock.c | 6 +-
drivers/gpu/drm/xe/xe_gt_debugfs.c | 1 -
drivers/gpu/drm/xe/xe_gt_idle.c | 1 -
drivers/gpu/drm/xe/xe_gt_mcr.c | 1 -
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 21 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 1 -
drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c | 2 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.c | 1 -
drivers/gpu/drm/xe/xe_gt_sriov_pf_service.c | 5 +-
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 1 -
drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 4 +-
drivers/gpu/drm/xe/xe_gt_stats.c | 7 +-
drivers/gpu/drm/xe/xe_gt_stats_types.h | 5 +
drivers/gpu/drm/xe/xe_gt_sysfs.c | 2 +-
drivers/gpu/drm/xe/xe_gt_throttle.c | 2 +-
drivers/gpu/drm/xe/xe_guc_ads.c | 18 +-
drivers/gpu/drm/xe/xe_guc_ads.h | 5 +-
drivers/gpu/drm/xe/xe_guc_buf.c | 1 -
drivers/gpu/drm/xe/xe_guc_capture.c | 14 +-
drivers/gpu/drm/xe/xe_guc_debugfs.c | 5 +-
drivers/gpu/drm/xe/xe_guc_exec_queue_types.h | 2 -
drivers/gpu/drm/xe/xe_guc_hwconfig.c | 4 +-
drivers/gpu/drm/xe/xe_guc_log.c | 2 +-
drivers/gpu/drm/xe/xe_guc_relay.c | 3 +-
drivers/gpu/drm/xe/xe_guc_submit.c | 377 ++++-----------------
drivers/gpu/drm/xe/xe_guc_submit_types.h | 11 -
drivers/gpu/drm/xe/xe_guc_tlb_inval.c | 3 +
drivers/gpu/drm/xe/xe_heci_gsc.c | 1 -
drivers/gpu/drm/xe/xe_huc.c | 1 -
drivers/gpu/drm/xe/xe_huc_debugfs.c | 5 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 1 -
drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 2 +-
drivers/gpu/drm/xe/xe_hw_engine_group.c | 2 +-
drivers/gpu/drm/xe/xe_hw_fence.c | 20 +-
drivers/gpu/drm/xe/xe_hw_fence.h | 2 -
drivers/gpu/drm/xe/xe_hwmon.c | 279 ++++++++++++++-
drivers/gpu/drm/xe/xe_i2c.c | 13 +-
drivers/gpu/drm/xe/xe_irq.c | 1 -
drivers/gpu/drm/xe/xe_late_bind_fw_types.h | 4 +-
drivers/gpu/drm/xe/xe_lmtt.c | 2 +-
drivers/gpu/drm/xe/xe_lrc.c | 45 ++-
drivers/gpu/drm/xe/xe_lrc.h | 3 +-
drivers/gpu/drm/xe/xe_memirq.c | 2 -
drivers/gpu/drm/xe/xe_mert.c | 76 +++--
drivers/gpu/drm/xe/xe_mert.h | 15 +-
drivers/gpu/drm/xe/xe_mmio.c | 4 -
drivers/gpu/drm/xe/xe_mocs.c | 2 -
drivers/gpu/drm/xe/xe_module.c | 10 +-
drivers/gpu/drm/xe/xe_module.h | 2 +-
drivers/gpu/drm/xe/xe_nvm.c | 1 -
drivers/gpu/drm/xe/xe_page_reclaim.c | 6 +-
drivers/gpu/drm/xe/xe_page_reclaim.h | 20 ++
drivers/gpu/drm/xe/xe_pat.c | 52 ++-
drivers/gpu/drm/xe/xe_pat.h | 2 +
drivers/gpu/drm/xe/xe_pci.c | 5 +-
drivers/gpu/drm/xe/xe_pci_types.h | 1 +
drivers/gpu/drm/xe/xe_pcode_api.h | 7 +
drivers/gpu/drm/xe/xe_pm.c | 26 +-
drivers/gpu/drm/xe/xe_psmi.c | 2 +-
drivers/gpu/drm/xe/xe_pt.c | 84 +++--
drivers/gpu/drm/xe/xe_pt_types.h | 1 +
drivers/gpu/drm/xe/xe_pxp.c | 1 -
drivers/gpu/drm/xe/xe_pxp_debugfs.c | 2 +-
drivers/gpu/drm/xe/xe_reg_sr.c | 5 +-
drivers/gpu/drm/xe/xe_reg_whitelist.c | 1 -
drivers/gpu/drm/xe/xe_ring_ops.c | 29 +-
drivers/gpu/drm/xe/xe_rtp.c | 1 -
drivers/gpu/drm/xe/xe_sa.c | 2 +-
drivers/gpu/drm/xe/xe_sched_job.c | 3 +-
drivers/gpu/drm/xe/xe_sched_job_types.h | 2 +
drivers/gpu/drm/xe/xe_sriov_packet.c | 1 -
drivers/gpu/drm/xe/xe_sriov_pf.c | 4 +-
drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c | 1 -
drivers/gpu/drm/xe/xe_sriov_vf.c | 1 -
drivers/gpu/drm/xe/xe_step.c | 3 +-
drivers/gpu/drm/xe/xe_survivability_mode.c | 3 +-
drivers/gpu/drm/xe/xe_svm.c | 2 +
drivers/gpu/drm/xe/xe_tile.c | 3 +-
drivers/gpu/drm/xe/xe_tlb_inval.c | 17 +-
drivers/gpu/drm/xe/xe_tlb_inval_types.h | 2 +
drivers/gpu/drm/xe/xe_trace.h | 5 -
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 1 -
drivers/gpu/drm/xe/xe_ttm_sys_mgr.c | 1 -
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 1 -
drivers/gpu/drm/xe/xe_uc.c | 2 -
drivers/gpu/drm/xe/xe_uc_debugfs.c | 2 +-
drivers/gpu/drm/xe/xe_uc_fw.c | 14 +-
drivers/gpu/drm/xe/xe_validation.c | 1 -
drivers/gpu/drm/xe/xe_vm.c | 28 +-
drivers/gpu/drm/xe/xe_vm.h | 2 +-
drivers/gpu/drm/xe/xe_vram.c | 4 +-
drivers/gpu/drm/xe/xe_vram_freq.c | 1 -
drivers/gpu/drm/xe/xe_vsec.c | 1 -
drivers/gpu/drm/xe/xe_wa.c | 2 +-
drivers/gpu/drm/xe/xe_wait_user_fence.c | 1 -
drivers/gpu/drm/xe/xe_wopcm.c | 2 +-
include/uapi/drm/xe_drm.h | 4 -
134 files changed, 1391 insertions(+), 973 deletions(-)