Hi Dave and Sima, Here goes our likely last PR towards 7.4 of xe changes.
Thanks, Rodrigo. drm-xe-next-2026-10-01: UAPI Changes: - New sysfs to expose device UID (Badal) 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 (Michal) - New workarounds (Tilak, Tales, Daniel) - Keep VF LMEM BAR size low if no VFs enabled (Marcin) - Drop ratelimiting from dev_unhold_work debug trace (Varun) - System Controller's Maibox response improvement (Anoop) - General clean-ups (Roper, Lin) - Revert "drm/xe: Set mask bits for CCS_MODE register" (Roper) - CPU binds and ULLS on migration queue (Brost) - Re-apply an i2c patch silently removed by a merge (Bartosz) - New PTL PCI ID (Atwood) - Enable PXP for NVL-S (Alan) - 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 chained job loss and GT reset replay (Varun) - Refresh TTM LRU on SVM prefetch (Himal) - Fix xe_mmio_wait32() to honor delay/sleep maximums (Alan) 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 for you to fetch changes up to 70dab9ee7d620e6018a64798aed065d14e9baed1: drm/xe/mmio: Fix xe_mmio_wait32() to honor delay/sleep maximums (2026-10-01 08:46:23 -0400) ---------------------------------------------------------------- UAPI Changes: - New sysfs to expose device UID (Badal) 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 (Michal) - New workarounds (Tilak, Tales, Daniel) - Keep VF LMEM BAR size low if no VFs enabled (Marcin) - Drop ratelimiting from dev_unhold_work debug trace (Varun) - System Controller's Maibox response improvement (Anoop) - General clean-ups (Roper, Lin) - Revert "drm/xe: Set mask bits for CCS_MODE register" (Roper) - CPU binds and ULLS on migration queue (Brost) - Re-apply an i2c patch silently removed by a merge (Bartosz) - New PTL PCI ID (Atwood) - Enable PXP for NVL-S (Alan) - 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 chained job loss and GT reset replay (Varun) - Refresh TTM LRU on SVM prefetch (Himal) - Fix xe_mmio_wait32() to honor delay/sleep maximums (Alan) ---------------------------------------------------------------- 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 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 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 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 | 14 + 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_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_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 | 90 ++- 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 | 73 ++ 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_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 | 275 ++++---- 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 | 1 + 81 files changed, 2717 insertions(+), 1370 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
