Dave, Sima,

Here goes our last push toward 7.4. There are lots of small changes,
along with one major addition: CPU binds and ULLS on the migration
queue.

Matt

drm-xe-next-2026-10-01-1:
Cross-subsystem Changes:
- pagemap: Drop ratelimiting from dev_unhold_work debug trace (Varun)
- gpusvm/pagemap: Add support to get_pages devmem callback (Himal)

Driver Changes:
- nuke PTs only after unlinking contested VMAs (Auld)
- Limit sg segment size to PAGE_SIZE on Xen PV (Szymon)
- Move locking to xe_sriov_pf_reprovision_default (Wajdeczko)
- Add wa_14025941587 to xe2, xe3 and xe3p platforms (Tangudu)
- Keep VF LMEM BAR size low if no VFs enabled (Marcin)
- sysctrl: Allow per-command mailbox response timeout (Anoop)
- Drop old Xe GT ID macros (Roper)
- Implement Wa_22016122933 (Tales)
- TLB debug 0hang enhancements (Tales)
- Revert "drm/xe: Set mask bits for CCS_MODE register" (Roper)
- Remove unreachable madvise_funcs NULL check (Shuicheng)
- Remove no-op ternary in emit_flush_invalidate (Shuicheng)
- CPU binds + ULLS on migration queue (Brost)
- i2c: Re-apply use device_create_managed_software_node (Bartosz)
- Add a new PTL PCI ID (Atwood)
- Add support for Wa_16030224309 (Tangudu)
- cri: Expose device UID through sysfs (Badal)
- Enable GSC loading and PXP for NVL-S (Alan)
- Force non-compressible memory reads to 256B overfetches (Daniel)
- Let xe_guc_ct_send_locked() callers reserve G2H credit (Sujaritha)
- Implement print vfunc for page fault info logging (Brian)
- Do not dma_fence_put zero fences in err_out path (Jonathan)
- Add focused VM teardown and page fault tracing (Daniel)
- Fix ULLS for CRI, GT resets (Varun)
- Add LRU updates on SVM prefetch resident hits (Himal)
- Fix xe_mmio_wait32() to honor delay/sleep maximums (Alan)
- cri: Add new PCI ID (Balasubramani)
- Make driver unbind safer against module unload (Thomas)
- Do not emit Wa_16010904313 twice (Tvrtko)
- Fix race around q->guc->suspend_pending access (Jagmeet)
The following changes since commit 320662381ca243a3364663e917a7447afaf618fa:

  drm/xe: Poll GT for C6 before D3 (2026-09-18 11:52:56 -0400)

are available in the Git repository at:

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

for you to fetch changes up to cf4171a20d13918e07ed01a1e01a6b546825c601:

  drm/xe/guc: Fix race around q->guc->suspend_pending access (2026-10-01 
13:46:31 -0700)

----------------------------------------------------------------
Cross-subsystem Changes:
- pagemap: Drop ratelimiting from dev_unhold_work debug trace (Varun)
- gpusvm/pagemap: Add support to get_pages devmem callback (Himal)

Driver Changes:
- nuke PTs only after unlinking contested VMAs (Auld)
- Limit sg segment size to PAGE_SIZE on Xen PV (Szymon)
- Move locking to xe_sriov_pf_reprovision_default (Wajdeczko)
- Add wa_14025941587 to xe2, xe3 and xe3p platforms (Tangudu)
- Keep VF LMEM BAR size low if no VFs enabled (Marcin)
- sysctrl: Allow per-command mailbox response timeout (Anoop)
- Drop old Xe GT ID macros (Roper)
- Implement Wa_22016122933 (Tales)
- TLB debug 0hang enhancements (Tales)
- Revert "drm/xe: Set mask bits for CCS_MODE register" (Roper)
- Remove unreachable madvise_funcs NULL check (Shuicheng)
- Remove no-op ternary in emit_flush_invalidate (Shuicheng)
- CPU binds + ULLS on migration queue (Brost)
- i2c: Re-apply use device_create_managed_software_node (Bartosz)
- Add a new PTL PCI ID (Atwood)
- Add support for Wa_16030224309 (Tangudu)
- cri: Expose device UID through sysfs (Badal)
- Enable GSC loading and PXP for NVL-S (Alan)
- Force non-compressible memory reads to 256B overfetches (Daniel)
- Let xe_guc_ct_send_locked() callers reserve G2H credit (Sujaritha)
- Implement print vfunc for page fault info logging (Brian)
- Do not dma_fence_put zero fences in err_out path (Jonathan)
- Add focused VM teardown and page fault tracing (Daniel)
- Fix ULLS for CRI, GT resets (Varun)
- Add LRU updates on SVM prefetch resident hits (Himal)
- Fix xe_mmio_wait32() to honor delay/sleep maximums (Alan)
- cri: Add new PCI ID (Balasubramani)
- Make driver unbind safer against module unload (Thomas)
- Do not emit Wa_16010904313 twice (Tvrtko)
- Fix race around q->guc->suspend_pending access (Jagmeet)

----------------------------------------------------------------
Alan Previn (3):
      drm/xe/gsc: Define GSC for NVL-S
      drm/xe/nvl-s: Enable PXP for NVL-S
      drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums

Anoop Vijay (1):
      drm/xe/sysctrl: Allow per-command mailbox response timeout

Badal Nilawar (1):
      drm/xe/cri: Expose device UID through sysfs

Balasubramani Vivekanandan (1):
      drm/xe/cri: Add new PCI ID

Bartosz Golaszewski (1):
      drm/xe/i2c: Re-apply use device_create_managed_software_node()

Brian Nguyen (1):
      drm/xe: Implement print vfunc for page fault info logging

Daniel Charles (2):
      drm/xe/xe3p: Force non-compressible memory reads to 256B overfetches
      drm/xe: Add focused VM teardown and page fault tracing

Himal Prasad Ghimiray (4):
      drm/pagemap: Add helper to access backing devmem allocation
      drm/gpusvm: Add devmem callback to get_pages
      drm/xe: Bump prefetch BO LRU via GPUSVM devmem callback
      drm/xe: Bump prefetch BO LRU for already-valid ranges

Jagmeet Randhawa (1):
      drm/xe/guc: Fix race around q->guc->suspend_pending access

Jonathan Cavitt (1):
      drm/xe/vm: Do not dma_fence_put zero fences in err_out path

Marcin Bernatowicz (1):
      drm/xe/pf: Keep VF LMEM BAR size low if no VFs enabled

Matt Atwood (1):
      drm/xe/ptl: Add a new PTL PCI ID

Matt Roper (2):
      drm/xe: Drop old Xe GT ID macros
      Revert "drm/xe: Set mask bits for CCS_MODE register"

Matthew Auld (1):
      drm/xe/vm: nuke PTs only after unlinking contested VMAs

Matthew Brost (24):
      drm/xe: reference VM from PT BOs
      drm/xe: Drop struct xe_migrate_pt_update argument from populate/clear 
vfuns
      drm/xe: Add xe_migrate_update_pgtables_cpu_execute helper
      drm/xe: Decouple exec queue idle check from LRC
      drm/xe: Add job count to GuC exec queue snapshot
      drm/xe: Update xe_bo_put_deferred arguments to include writeback flag
      drm/xe: Update scheduler job layer to support PT jobs
      drm/xe: Add helpers to access PT ops
      drm/xe: Add struct xe_pt_job_ops
      drm/xe: Update GuC submission backend to run PT jobs
      drm/xe: Store level in struct xe_vm_pgtable_update
      drm/xe: Don't use migrate exec queue for page fault binds
      drm/xe: Enable CPU binds for jobs
      drm/xe: Remove unused arguments from xe_migrate_pt_update_ops
      drm/xe: Make bind queues operate cross-tile
      drm/xe: Add CPU bind layer
      drm/xe: Add device flag to enable PT mirroring across tiles
      drm/xe: Add ULLS support to LRC
      drm/xe: Add ULLS migration job support to migration layer
      drm/xe: Add ULLS migration job support to ring ops
      drm/xe: Add ULLS migration job support to GuC submission
      drm/xe: Enter ULLS for migration jobs upon page fault or SVM prefetch
      drm/xe: add migrate ULLS period configfs attribute
      drm/xe: Document ULLS for migration jobs

Michal Wajdeczko (1):
      drm/xe/pf: Move locking to xe_sriov_pf_reprovision_default

Shuicheng Lin (2):
      drm/xe/madvise: Remove unreachable madvise_funcs NULL check
      drm/xe: Remove no-op ternary in emit_flush_invalidate()

Sujaritha Sundaresan (1):
      drm/xe/guc: Let xe_guc_ct_send_locked() callers reserve G2H credit

Szymon Acedański (1):
      drm/xe: Limit sg segment size to PAGE_SIZE on Xen PV

Tales A. Mendonça (3):
      drm/xe: Capture devcoredump on TLB invalidation timeout
      drm/xe: Log when a timed out TLB invalidation ack finally arrives
      drm/xe: Implement Wa_22016122933

Tangudu Tilak Tirumalesh (3):
      drm/xe: harden adjust_idledly() against divide-by-zero and overflow
      drm/xe: Add wa_14025941587 to xe2, xe3 and xe3p platforms
      drm/xe/xe3p_lpg: Add support for Wa_16030224309

Thomas Hellström (3):
      drm/xe: Don't unload the driver until all drm devices are freed
      drm/xe: Route deferred xe_vma/xe_vm teardown off system_dfl_wq
      drm/xe: Route execlist exec queue teardown off system_dfl_wq

Tvrtko Ursulin (1):
      drm/xe: Do not emit Wa_16010904313 twice

Varun Gupta (4):
      drm/pagemap: Drop ratelimiting from dev_unhold_work debug trace
      drm/xe: Park on the ULLS semaphore before publishing the next job's tail
      drm/xe/guc: Publish the ring tail when replaying a chained ULLS job
      drm/xe/guc: Rewind the LRC ring head when replaying a ULLS job

 .../ABI/testing/sysfs-driver-intel-xe-gpu          |  10 +
 Documentation/gpu/xe/xe_migrate.rst                |   3 +
 drivers/gpu/drm/drm_gpusvm.c                       | 105 ++-
 drivers/gpu/drm/drm_pagemap.c                      |  17 +-
 drivers/gpu/drm/xe/Makefile                        |   1 +
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |   1 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h               |   3 +-
 drivers/gpu/drm/xe/regs/xe_regs.h                  |   2 +
 drivers/gpu/drm/xe/xe_bo.c                         |   4 +-
 drivers/gpu/drm/xe/xe_bo.h                         |  29 +-
 drivers/gpu/drm/xe/xe_bo_types.h                   |   2 -
 drivers/gpu/drm/xe/xe_configfs.c                   |  67 ++
 drivers/gpu/drm/xe/xe_configfs.h                   |   2 +
 drivers/gpu/drm/xe/xe_cpu_bind.c                   | 296 ++++++++
 drivers/gpu/drm/xe/xe_cpu_bind.h                   | 111 +++
 drivers/gpu/drm/xe/xe_devcoredump.c                |  46 +-
 drivers/gpu/drm/xe/xe_devcoredump.h                |  15 +-
 drivers/gpu/drm/xe/xe_device.c                     |  43 ++
 drivers/gpu/drm/xe/xe_device.h                     |   2 +
 drivers/gpu/drm/xe/xe_device_sysfs.c               |  36 +
 drivers/gpu/drm/xe/xe_device_types.h               |  15 +-
 drivers/gpu/drm/xe/xe_drm_client.c                 |   2 +-
 drivers/gpu/drm/xe/xe_exec_queue.c                 | 161 ++---
 drivers/gpu/drm/xe/xe_exec_queue.h                 |  16 +-
 drivers/gpu/drm/xe/xe_exec_queue_types.h           |  20 +-
 drivers/gpu/drm/xe/xe_execlist.c                   |   6 +-
 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   5 +-
 drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |   6 -
 drivers/gpu/drm/xe/xe_guc.c                        |  16 +
 drivers/gpu/drm/xe/xe_guc.h                        |   2 +
 drivers/gpu/drm/xe/xe_guc_ads.c                    |  11 +-
 drivers/gpu/drm/xe/xe_guc_ct.c                     |  23 +-
 drivers/gpu/drm/xe/xe_guc_ct.h                     |   2 +-
 drivers/gpu/drm/xe/xe_guc_engine_activity.c        |   6 +-
 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   5 +-
 drivers/gpu/drm/xe/xe_guc_hwconfig.c               |   2 +-
 drivers/gpu/drm/xe/xe_guc_log.c                    |   7 +-
 drivers/gpu/drm/xe/xe_guc_pagefault.c              |  35 +-
 drivers/gpu/drm/xe/xe_guc_pc.c                     |   3 +-
 drivers/gpu/drm/xe/xe_guc_submit.c                 | 148 +++-
 drivers/gpu/drm/xe/xe_guc_submit_types.h           |   2 +
 drivers/gpu/drm/xe/xe_hw_engine.c                  |  96 ++-
 drivers/gpu/drm/xe/xe_i2c.c                        |  22 +-
 drivers/gpu/drm/xe/xe_i2c.h                        |   1 -
 drivers/gpu/drm/xe/xe_lrc.c                        | 111 ++-
 drivers/gpu/drm/xe/xe_lrc.h                        |   4 +
 drivers/gpu/drm/xe/xe_lrc_types.h                  |   4 +
 drivers/gpu/drm/xe/xe_migrate.c                    | 771 +++++++++-----------
 drivers/gpu/drm/xe/xe_migrate.h                    |  95 +--
 drivers/gpu/drm/xe/xe_mmio.c                       |   5 +-
 drivers/gpu/drm/xe/xe_module.c                     |  24 +-
 drivers/gpu/drm/xe/xe_pagefault.c                  |  53 +-
 drivers/gpu/drm/xe/xe_pagefault_types.h            |  10 +
 drivers/gpu/drm/xe/xe_pci.c                        |   5 +
 drivers/gpu/drm/xe/xe_pci_sriov.c                  |   3 +
 drivers/gpu/drm/xe/xe_pci_types.h                  |   4 +-
 drivers/gpu/drm/xe/xe_pt.c                         | 779 ++++++++++++---------
 drivers/gpu/drm/xe/xe_pt.h                         |  12 +-
 drivers/gpu/drm/xe/xe_pt_types.h                   |  49 +-
 drivers/gpu/drm/xe/xe_ring_ops.c                   |  86 ++-
 drivers/gpu/drm/xe/xe_ring_ops_types.h             |  24 +
 drivers/gpu/drm/xe/xe_sched_job.c                  | 101 ++-
 drivers/gpu/drm/xe/xe_sched_job.h                  |  56 ++
 drivers/gpu/drm/xe/xe_sched_job_types.h            |  49 +-
 drivers/gpu/drm/xe/xe_sriov_pf_provision.c         |   4 +-
 drivers/gpu/drm/xe/xe_svm.c                        |  68 ++
 drivers/gpu/drm/xe/xe_svm.h                        |  18 +
 drivers/gpu/drm/xe/xe_sync.c                       |  20 +-
 drivers/gpu/drm/xe/xe_sysctrl_mailbox.c            |   7 +-
 drivers/gpu/drm/xe/xe_sysctrl_mailbox_types.h      |   3 +
 drivers/gpu/drm/xe/xe_tlb_inval.c                  |  54 ++
 drivers/gpu/drm/xe/xe_tlb_inval_job.c              |  28 +-
 drivers/gpu/drm/xe/xe_tlb_inval_job.h              |   4 +-
 drivers/gpu/drm/xe/xe_tlb_inval_types.h            |  17 +
 drivers/gpu/drm/xe/xe_trace.h                      |   2 +-
 drivers/gpu/drm/xe/xe_trace_bo.h                   |  58 +-
 drivers/gpu/drm/xe/xe_tuning.c                     |   4 +
 drivers/gpu/drm/xe/xe_uc_fw.c                      |   1 +
 drivers/gpu/drm/xe/xe_vm.c                         | 293 ++++----
 drivers/gpu/drm/xe/xe_vm.h                         |   3 +
 drivers/gpu/drm/xe/xe_vm_madvise.c                 |   6 -
 drivers/gpu/drm/xe/xe_vm_types.h                   |  12 +-
 drivers/gpu/drm/xe/xe_wa_oob.rules                 |   4 +
 include/drm/drm_gpusvm.h                           |   6 +
 include/drm/drm_pagemap.h                          |   7 +
 include/drm/intel/pciids.h                         |   4 +-
 86 files changed, 2865 insertions(+), 1410 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-gpu
 create mode 100644 drivers/gpu/drm/xe/xe_cpu_bind.c
 create mode 100644 drivers/gpu/drm/xe/xe_cpu_bind.h

Reply via email to