[PULL] drm-xe-next

Thomas Hellstrom
2025-11-14T10:50:15Z

Hi Dave, Simona

This is the last feature drm-xe-next PR towards 6.19.

Note that the PR of 25-11-05 was never pulled, so this one
incorporates that one as well. Please let me know if you want
this done another way.

Thanks,
Thomas

drm-xe-next-2025-11-14:
UAPI Changes:

Limit number of jobs per exec queue (Shuicheng)
Add sriov_admin sysfs tree (Michal)

Driver Changes:

Fix an uninitialized value (Thomas)
Expose a residency counter through debugfs (Mohammed Thasleem)
Workaround enabling and improvement (Tapani, Tangudu)
More Crescent Island-specific support (Sk Anirban, Lucas)
PAT entry dump improvement (Xin)
Inline gt_reset in the worker (Lucas)
Synchronize GT reset with device unbind (Balasubramani)
Do clean shutdown also when using flr (Jouni)
Fix serialization on burst of unbinds (Matt Brost)
Pagefault Refactor (Matt Brost)
Remove some unused code (Gwan-gyeong)
Avoid TOCTOU when montoring throttle reasons (Lucas)
Add/extend workaround (Nitin)
SRIOV migration work / plumbing (Michal Wajdeczko, Michal Winiarski, Lukasz)
Drop debug flag requirement for VF resource fixup
Fix MTL vm_max_level (Rodrigo)
Changes around TILE_ADDR_RANGE for platform compatibility
(Fei, Lucas)
Add runtime registers for GFX ver >= 35 (Piotr)
Kerneldoc fix (Kriish)
Rework pcode error mapping (Lucas)
Allow lockdown the PF (Michal)
Eliminate GUC code caching of some frequency values (Sk)
Improvements around forcewake referencing (Matt Roper)
The following changes since commit 4504e780689245f01bee6ee4c19c74051bd87593:

drm/xe/pf: Access VF's register using dedicated MMIO view (2025-10-27 17:22:18 +0100)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2025-11-14

for you to fetch changes up to 6bcb180f6f4585554cefbe8c412aa8879b15f07a:

drm/xe/oa: Store forcewake reference in stream structure (2025-11-13 14:05:51 -0800)

----------------------------------------------------------------
UAPI Changes:

Limit number of jobs per exec queue (Shuicheng)
Add sriov_admin sysfs tree (Michal)

Driver Changes:

Fix an uninitialized value (Thomas)
Expose a residency counter through debugfs (Mohammed Thasleem)
Workaround enabling and improvement (Tapani, Tangudu)
More Crescent Island-specific support (Sk Anirban, Lucas)
PAT entry dump improvement (Xin)
Inline gt_reset in the worker (Lucas)
Synchronize GT reset with device unbind (Balasubramani)
Do clean shutdown also when using flr (Jouni)
Fix serialization on burst of unbinds (Matt Brost)
Pagefault Refactor (Matt Brost)
Remove some unused code (Gwan-gyeong)
Avoid TOCTOU when montoring throttle reasons (Lucas)
Add/extend workaround (Nitin)
SRIOV migration work / plumbing (Michal Wajdeczko, Michal Winiarski, Lukasz)
Drop debug flag requirement for VF resource fixup
Fix MTL vm_max_level (Rodrigo)
Changes around TILE_ADDR_RANGE for platform compatibility
(Fei, Lucas)
Add runtime registers for GFX ver >= 35 (Piotr)
Kerneldoc fix (Kriish)
Rework pcode error mapping (Lucas)
Allow lockdown the PF (Michal)
Eliminate GUC code caching of some frequency values (Sk)
Improvements around forcewake referencing (Matt Roper)

----------------------------------------------------------------
Balasubramani Vivekanandan (2):
drm/xe/gt: Synchronize GT reset with device unbind
drm/xe/guc: Synchronize Dead CT worker with unbind

Fei Yang (1):
drm/xe: Use SG_TILE_ADDR_RANGE instead of TILE_ADDR_RANGE

Gwan-gyeong Mun (1):
drm/xe: Remove never used code in xe_vm_create()

Jouni Högander (1):
drm/xe: Do clean shutdown also when using flr

Kriish Sharma (1):
drm/xe: fix kernel-doc function name mismatch in xe_pm.c

Lucas De Marchi (10):
drm/xe/gt_throttle: Tidy up perf reasons reading
drm/xe/gt_throttle: Always read and mask
drm/xe/gt_throttle: Add throttle_to_gt()
drm/xe/gt_throttle: Tidy up attribute definition
drm/xe: Improve freq and throttle documentation
drm/xe/gt_throttle: Drop individual show functions
drm/xe: Inline gt_reset in the worker
drm/xe/gt_throttle: Avoid TOCTOU when monitoring reasons
drm/xe/vram: Move forcewake down to get_flat_ccs_offset()
drm/xe/pcode: Rework error mapping

Lukasz Laguna (2):
drm/xe/pf: Add helper to retrieve VF's LMEM object
drm/xe/migrate: Add function to copy of VRAM data in chunks

Matt Roper (3):
drm/xe/forcewake: Improve kerneldoc
drm/xe/eustall: Store forcewake reference in stream structure
drm/xe/oa: Store forcewake reference in stream structure

Matthew Brost (13):
drm/xe: Enforce correct user fence signaling order using
drm/xe: Attach last fence to TLB invalidation job queues
drm/xe: Decouple bind queue last fence from TLB invalidations
drm/xe: Skip TLB invalidation waits in page fault binds
drm/xe: Disallow input fences on zero batch execs and zero binds
drm/xe: Remove last fence dependency check from binds and execs
drm/xe: Stub out new pagefault layer
drm/xe: Implement xe_pagefault_init
drm/xe: Implement xe_pagefault_reset
drm/xe: Implement xe_pagefault_handler
drm/xe: Implement xe_pagefault_queue_work
drm/xe: Add xe_guc_pagefault layer
drm/xe: Remove unused GT page fault code

Michal Wajdeczko (22):
drm/xe/pf: Prepare sysfs for SR-IOV admin attributes
drm/xe/pf: Take RPM during calls to SR-IOV attr.store()
drm/xe/pf: Add _locked variants of the VF EQ config functions
drm/xe/pf: Add _locked variants of the VF PT config functions
drm/xe/pf: Allow change PF and VFs EQ/PT using sysfs
drm/xe/pf: Relax report helper to accept PF in bulk configs
drm/xe/pf: Fix signature of internal config helpers
drm/xe/pf: Add functions to bulk configure EQ/PT on GT
drm/xe/pf: Add functions to bulk provision EQ/PT
drm/xe/pf: Allow bulk change all VFs EQ/PT using sysfs
drm/xe/pf: Add functions to provision scheduling priority
drm/xe/pf: Allow bulk change all VFs priority using sysfs
drm/xe/pf: Allow change PF scheduling priority using sysfs
drm/xe/pf: Promote xe_pci_sriov_get_vf_pdev
drm/xe/pf: Add sysfs device symlinks to enabled VFs
drm/xe/pf: Allow to stop the VF using sysfs
drm/xe/pf: Add documentation for sriov_admin attributes
drm/xe/pf: Use migration-friendly context IDs auto-provisioning
drm/xe/pf: Use migration-friendly doorbells auto-provisioning
drm/xe/tests: Add KUnit tests for PF fair provisioning
drm/xe/pf: Allow to lockdown the PF using custom guard
drm/xe/pf: Use migration-friendly GGTT auto-provisioning

Michał Winiarski (23):
drm/xe/vf: Enable VF resource fixup unconditionally
drm/xe/pf: Remove GuC version check for migration support
drm/xe: Move migration support to device-level struct
drm/xe/pf: Convert control state to bitmap
drm/xe/pf: Add save/restore control state stubs and connect to debugfs
drm/xe/pf: Add data structures and handlers for migration rings
drm/xe/pf: Add helpers for migration data packet allocation / free
drm/xe/pf: Add support for encap/decap of bitstream to/from packet
drm/xe/pf: Add minimalistic migration descriptor
drm/xe/pf: Expose VF migration data size over debugfs
drm/xe: Add sa/guc_buf_cache sync interface
drm/xe: Allow the caller to pass guc_buf_cache size
drm/xe/pf: Increase PF GuC Buffer Cache size and use it for VF migration
drm/xe/pf: Remove GuC migration data save/restore from GT debugfs
drm/xe/pf: Don't save GuC VF migration data on pause
drm/xe/pf: Switch VF migration GuC save/restore to struct migration data
drm/xe/pf: Handle GuC migration data as part of PF control
drm/xe/pf: Add helpers for VF GGTT migration data handling
drm/xe/pf: Handle GGTT migration data as part of PF control
drm/xe/pf: Handle MMIO migration data as part of PF control
drm/xe/pf: Handle VRAM migration data as part of PF control
drm/xe/pf: Add wait helper for VF FLR
drm/intel/bmg: Allow device ID usage with single-argument macros

Mohammed Thasleem (1):
drm/xe/xe_debugfs: Expose G7 package state residency counter through debugfs

Nitin Gote (1):
drm/xe/xe3lpg: Extend Wa_15016589081 for xe3lpg

Piotr Piórkowski (1):
drm/xe/pf: Add runtime registers for GFX ver >= 35

Rodrigo Vivi (1):
drm/xe: Fix MTL vm_max_level

Shuicheng Lin (1):
drm/xe: Limit number of jobs per exec queue

Sk Anirban (3):
drm/xe/cri: Add new performance limit reasons bits
drm/xe/guc: Eliminate RPe caching for SLPC parameter handling
drm/xe/guc: Eliminate RPa frequency caching

Tangudu Tilak Tirumalesh (1):
drm/xe/xe3: Extend wa_14023061436

Tapani Pälli (1):
drm/xe/xe3: Apply wa_14024997852

Thomas Hellström (1):
drm/xe: Fix uninitialized return value from xe_validation_guard()

Xin Wang (1):
drm/xe: highlight reserved PAT entries in dump output

.../ABI/testing/sysfs-driver-intel-xe-sriov | 159 +++
Documentation/gpu/xe/xe_gt_freq.rst | 3 +
drivers/gpu/drm/xe/Makefile | 6 +-
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 14 +-
drivers/gpu/drm/xe/regs/xe_pmt.h | 1 +
drivers/gpu/drm/xe/regs/xe_regs.h | 2 +
.../gpu/drm/xe/tests/xe_gt_sriov_pf_config_kunit.c | 208 ++++
drivers/gpu/drm/xe/xe_debugfs.c | 1 +
drivers/gpu/drm/xe/xe_device.c | 23 +-
drivers/gpu/drm/xe/xe_device_types.h | 11 +
drivers/gpu/drm/xe/xe_eu_stall.c | 8 +-
drivers/gpu/drm/xe/xe_exec.c | 14 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 124 ++-
drivers/gpu/drm/xe/xe_exec_queue.h | 23 +-
drivers/gpu/drm/xe/xe_exec_queue_types.h | 17 +
drivers/gpu/drm/xe/xe_force_wake_types.h | 26 +-
drivers/gpu/drm/xe/xe_ggtt.c | 104 ++
drivers/gpu/drm/xe/xe_ggtt.h | 3 +
drivers/gpu/drm/xe/xe_ggtt_types.h | 2 +
drivers/gpu/drm/xe/xe_gt.c | 44 +-
drivers/gpu/drm/xe/xe_gt_freq.c | 30 +-
drivers/gpu/drm/xe/xe_gt_pagefault.c | 679 ------------
drivers/gpu/drm/xe/xe_gt_pagefault.h | 19 -
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 351 +++++-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 16 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c | 650 +++++++++++-
drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h | 10 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_control_types.h | 34 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 47 -
drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c | 1112 +++++++++++++++-----
drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.h | 46 +-
.../gpu/drm/xe/xe_gt_sriov_pf_migration_types.h | 34 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_service.c | 21 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h | 5 +-
drivers/gpu/drm/xe/xe_gt_throttle.c | 375 +++----
drivers/gpu/drm/xe/xe_gt_types.h | 65 --
drivers/gpu/drm/xe/xe_guard.h | 119 +++
drivers/gpu/drm/xe/xe_guc.c | 13 +-
drivers/gpu/drm/xe/xe_guc_buf.c | 57 +-
drivers/gpu/drm/xe/xe_guc_buf.h | 2 +
drivers/gpu/drm/xe/xe_guc_ct.c | 9 +-
drivers/gpu/drm/xe/xe_guc_pagefault.c | 95 ++
drivers/gpu/drm/xe/xe_guc_pagefault.h | 15 +
drivers/gpu/drm/xe/xe_guc_pc.c | 100 +-
drivers/gpu/drm/xe/xe_guc_pc_types.h | 4 -
drivers/gpu/drm/xe/xe_migrate.c | 142 ++-
drivers/gpu/drm/xe/xe_migrate.h | 16 +
drivers/gpu/drm/xe/xe_oa.c | 54 +-
drivers/gpu/drm/xe/xe_oa_types.h | 11 +
drivers/gpu/drm/xe/xe_pagefault.c | 445 ++++++++
drivers/gpu/drm/xe/xe_pagefault.h | 19 +
drivers/gpu/drm/xe/xe_pagefault_types.h | 136 +++
drivers/gpu/drm/xe/xe_pat.c | 15 +-
drivers/gpu/drm/xe/xe_pat.h | 5 +
drivers/gpu/drm/xe/xe_pci.c | 2 +-
drivers/gpu/drm/xe/xe_pci_sriov.c | 62 +-
drivers/gpu/drm/xe/xe_pci_sriov.h | 1 +
drivers/gpu/drm/xe/xe_pcode.c | 40 +-
drivers/gpu/drm/xe/xe_pcode_api.h | 6 -
drivers/gpu/drm/xe/xe_pm.c | 2 +-
drivers/gpu/drm/xe/xe_pt.c | 80 +-
drivers/gpu/drm/xe/xe_reg_whitelist.c | 7 +
drivers/gpu/drm/xe/xe_sa.c | 21 +
drivers/gpu/drm/xe/xe_sa.h | 1 +
drivers/gpu/drm/xe/xe_sched_job.c | 19 +-
drivers/gpu/drm/xe/xe_sched_job.h | 1 -
drivers/gpu/drm/xe/xe_sriov_packet.c | 520 +++++++++
drivers/gpu/drm/xe/xe_sriov_packet.h | 30 +
drivers/gpu/drm/xe/xe_sriov_packet_types.h | 75 ++
drivers/gpu/drm/xe/xe_sriov_pf.c | 107 ++
drivers/gpu/drm/xe/xe_sriov_pf.h | 4 +
drivers/gpu/drm/xe/xe_sriov_pf_control.c | 128 +++
drivers/gpu/drm/xe/xe_sriov_pf_control.h | 5 +
drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c | 131 +++
drivers/gpu/drm/xe/xe_sriov_pf_helpers.h | 16 +
drivers/gpu/drm/xe/xe_sriov_pf_migration.c | 342 ++++++
drivers/gpu/drm/xe/xe_sriov_pf_migration.h | 29 +
drivers/gpu/drm/xe/xe_sriov_pf_migration_types.h | 37 +
drivers/gpu/drm/xe/xe_sriov_pf_provision.c | 284 +++++
drivers/gpu/drm/xe/xe_sriov_pf_provision.h | 14 +
drivers/gpu/drm/xe/xe_sriov_pf_sysfs.c | 647 ++++++++++++
drivers/gpu/drm/xe/xe_sriov_pf_sysfs.h | 16 +
drivers/gpu/drm/xe/xe_sriov_pf_types.h | 21 +
drivers/gpu/drm/xe/xe_sriov_vf.c | 8 -
drivers/gpu/drm/xe/xe_svm.c | 3 +-
drivers/gpu/drm/xe/xe_sync.c | 95 +-
drivers/gpu/drm/xe/xe_sync.h | 3 +
drivers/gpu/drm/xe/xe_sync_types.h | 3 +
drivers/gpu/drm/xe/xe_tlb_inval_job.c | 31 +-
drivers/gpu/drm/xe/xe_tlb_inval_job.h | 5 +-
drivers/gpu/drm/xe/xe_trace.h | 23 +
drivers/gpu/drm/xe/xe_validation.h | 8 +-
drivers/gpu/drm/xe/xe_vm.c | 101 +-
drivers/gpu/drm/xe/xe_vm_types.h | 6 +-
drivers/gpu/drm/xe/xe_vram.c | 26 +-
drivers/gpu/drm/xe/xe_wa.c | 7 +
include/drm/intel/pciids.h | 2 +-
97 files changed, 6762 insertions(+), 1751 deletions(-)
create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-sriov
create mode 100644 drivers/gpu/drm/xe/tests/xe_gt_sriov_pf_config_kunit.c
delete mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
delete mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
create mode 100644 drivers/gpu/drm/xe/xe_guard.h
create mode 100644 drivers/gpu/drm/xe/xe_guc_pagefault.c
create mode 100644 drivers/gpu/drm/xe/xe_guc_pagefault.h
create mode 100644 drivers/gpu/drm/xe/xe_pagefault.c
create mode 100644 drivers/gpu/drm/xe/xe_pagefault.h
create mode 100644 drivers/gpu/drm/xe/xe_pagefault_types.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet.c
create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_packet_types.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration.c
create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_migration_types.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_sysfs.c
create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_sysfs.h