[PULL] drm-xe-fixes

Thomas Hellstrom
2026-01-22T12:53:08Z

Hi Dave, Simona

The drm-xe-fixes for -rc7.

Some notable changes:
- There is an UAPI fix by Matt Auld that allows us to skip a hairy
fix in the driver that probably nobody would want to use anyway.
- Xe userptr was broken in 6.18 in the absence of CONFIG_DEVICE_PRIVATE.
that's a regression that causes problem for people. Fix included,
although some backporting had to be done so it conflicts a bit with
drm-next. Resolution in drm-rerere.
- There is a (perhaps somewhat late) to the SVM config logic. It's not
CC'd stable to avoid unlikely but possible side-effects from enabling
CONFIG_DEVICE_PRIVATE. The purpose is to make the XE SVM choice more
visible to increase the likelyhood of getting the code exercised and tested.

Thanks,
Thomas

drm-xe-fixes-2026-01-22:
UAPI Changes:
- Disallow bind-queue sharing across multiple VMs (Matt Auld)

Core Changes:
- Fix xe userptr in the absence of CONFIG_DEVICE_PRIVATE (Thomas)

Driver Changes:
- Fix a missed page count update (Matt Brost)
- Fix a confused argument to alloc_workqueue() (Marco Crivellari)
- Kernel-doc fixes (Jani)
- Disable a workaround on VFs (Matt Brost)
- Fix a job lock assert (Matt Auld)
- Update wedged.mode only after successful reset policy change (Lukasz)
- Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected (Thomas)
The following changes since commit 9dd1f5f3eb8cb175e2f7fd2a685bdb6b1bd2a726:

Merge tag 'drm-misc-fixes-2026-01-16' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-fixes (2026-01-16 20:27:21 +0100)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-fixes-2026-01-22

for you to fetch changes up to e27ada4f19e7ffda4c05ce8633daf6daed667eea:

drm/xe: Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected (2026-01-22 11:27:25 +0100)

----------------------------------------------------------------
UAPI Changes:
- Disallow bind-queue sharing across multiple VMs (Matt Auld)

Core Changes:
- Fix xe userptr in the absence of CONFIG_DEVICE_PRIVATE (Thomas)

Driver Changes:
- Fix a missed page count update (Matt Brost)
- Fix a confused argument to alloc_workqueue() (Marco Crivellari)
- Kernel-doc fixes (Jani)
- Disable a workaround on VFs (Matt Brost)
- Fix a job lock assert (Matt Auld)
- Update wedged.mode only after successful reset policy change (Lukasz)
- Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected (Thomas)

----------------------------------------------------------------
Jani Nikula (3):
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

Lukasz Laguna (1):
drm/xe: Update wedged.mode only after successful reset policy change

Marco Crivellari (1):
drm/xe: fix WQ_MEM_RECLAIM passed as max_active to alloc_workqueue()

Matthew Auld (2):
drm/xe/uapi: disallow bind queue sharing
drm/xe/migrate: fix job lock assert

Matthew Brost (2):
drm/xe: Adjust page count tracepoints in shrinker
drm/xe: Disable timestamp WA on VFs

Thomas Hellström (2):
drm, drm/xe: Fix xe userptr in the absence of CONFIG_DEVICE_PRIVATE
drm/xe: Select CONFIG_DEVICE_PRIVATE when DRM_XE_GPUSVM is selected

drivers/gpu/drm/Kconfig | 2 +-
drivers/gpu/drm/Makefile | 4 +-
drivers/gpu/drm/xe/Kconfig | 5 ++-
drivers/gpu/drm/xe/xe_bo.c | 9 +++-
drivers/gpu/drm/xe/xe_debugfs.c | 72 +++++++++++++++++++++++-------
drivers/gpu/drm/xe/xe_device_types.h | 18 ++++++++
drivers/gpu/drm/xe/xe_exec_queue.c | 32 ++++++++++++-
drivers/gpu/drm/xe/xe_exec_queue.h | 1 +
drivers/gpu/drm/xe/xe_exec_queue_types.h | 6 +++
drivers/gpu/drm/xe/xe_ggtt.c | 2 +-
drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 4 +-
drivers/gpu/drm/xe/xe_guc_ads.c | 14 +++---
drivers/gpu/drm/xe/xe_guc_ads.h | 5 ++-
drivers/gpu/drm/xe/xe_late_bind_fw_types.h | 4 +-
drivers/gpu/drm/xe/xe_lrc.c | 3 ++
drivers/gpu/drm/xe/xe_migrate.c | 4 +-
drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 2 +-
drivers/gpu/drm/xe/xe_vm.c | 7 ++-
drivers/gpu/drm/xe/xe_vm.h | 2 +-
include/drm/drm_pagemap.h | 19 +++++++-
20 files changed, 175 insertions(+), 40 deletions(-)