Hi Dave and Sima, Here goes our second drm-xe-next pull towards 7.4.
Big things we have are: VRAM health check + CCS fix (test for a bug Linus root caused), GPUSVM supporting multiple dma-mappings for a get_pages() call + inline mappings, memory page offlining, and continued SIGID logging work. Matt drm-xe-next-2026-09-18: UAPI Changes: - Add SRCID to pagefault reporting (Jonathan) Cross-subsystem Changes: - gpusvm: share one HMM fault and keep single mappings inline (Honglei) - pagemap: Prevent CPU stalls during unbounded pagemap teardown (Varun) Driver Changes: - VRAM health check + CCS fix (Auld) - Add memory page offlining support (Tejas) - Report GT TDR and VM rebind faults using SIGID (Arvind) - Flush LSC untyped L1 dataport cache after rcs/ccs batches (Thomas) - Add multi_queue_active_lrca debugfs (Varun) - mmio_gem: fix fault handler and destroy path (Auld, Ilia, Shuicheng) - sysctrl: Add helper to query application status (Anoop) - shrinker: Runtime PM reference for non-system memory (Shuicheng) - pcode: Increase default mailbox timeout (Karthik) - Skip clearing purged page-table BOs (Tejas) - tests: Fix subplatform selection (Wajdeczko) - log: Relax location ID recognition (Wajdeczko) - i2c: Disable IRQ on unbind (Raag) - Refactor VF LMEM BAR resize helper function (Wajdeczko) - pf: Add _locked variant of config functions (Wajdeczko) - nvm: add system controller region (Alexander) - guc: Add simple KLV decoder helpers (Wajdeczko) - debugfs: Expose per-engine idle status (Anirban) - gt_throttle: Report power brake as a throttle reason on CRI (Anirban) - tlb_inval: Treat wedged-device invalidations as complete (Shuicheng) - Add mnemonic error reason to page fault diagnostics (Brost) - Keep walking on SVM eviction failure (Brost) - Make p2pdma distance check verbose via dynamic debug (Thomas) - Consolidate semaphore instruction definitions (Roper) - Poll GT for C6 before D3 (Vinay) The following changes since commit cc467969646b9778c947bec1383fb3cdaada14d5: Merge drm/drm-next into drm-xe-next (2026-08-31 15:42:28 -0700) are available in the Git repository at: https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2026-09-18 for you to fetch changes up to 320662381ca243a3364663e917a7447afaf618fa: drm/xe: Poll GT for C6 before D3 (2026-09-18 11:52:56 -0400) ---------------------------------------------------------------- UAPI Changes: - Add SRCID to pagefault reporting (Jonathan) Cross-subsystem Changes: - gpusvm: share one HMM fault and keep single mappings inline (Honglei) - pagemap: Prevent CPU stalls during unbounded pagemap teardown (Varun) Driver Changes: - VRAM health check + CCS fix (Auld) - Add memory page offlining support (Tejas) - Report GT TDR and VM rebind faults using SIGID (Arvind) - Flush LSC untyped L1 dataport cache after rcs/ccs batches (Thomas) - Add multi_queue_active_lrca debugfs (Varun) - mmio_gem: fix fault handler and destroy path (Auld, Ilia, Shuicheng) - sysctrl: Add helper to query application status (Anoop) - shrinker: Runtime PM reference for non-system memory (Shuicheng) - pcode: Increase default mailbox timeout (Karthik) - Skip clearing purged page-table BOs (Tejas) - tests: Fix subplatform selection (Wajdeczko) - log: Relax location ID recognition (Wajdeczko) - i2c: Disable IRQ on unbind (Raag) - Refactor VF LMEM BAR resize helper function (Wajdeczko) - pf: Add _locked variant of config functions (Wajdeczko) - nvm: add system controller region (Alexander) - guc: Add simple KLV decoder helpers (Wajdeczko) - debugfs: Expose per-engine idle status (Anirban) - gt_throttle: Report power brake as a throttle reason on CRI (Anirban) - tlb_inval: Treat wedged-device invalidations as complete (Shuicheng) - Add mnemonic error reason to page fault diagnostics (Brost) - Keep walking on SVM eviction failure (Brost) - Make p2pdma distance check verbose via dynamic debug (Thomas) - Consolidate semaphore instruction definitions (Roper) - Poll GT for C6 before D3 (Vinay) ---------------------------------------------------------------- Alexander Usyskin (1): drm/xe/nvm: add system controller region Anoop Vijay (2): drm/xe/sysctrl: Add helper to query application status drm/xe/sysctrl: Add helper to check oCode firmware readiness Arvind Yadav (4): drm/xe/log: Add GUCSUBMIT component drm/xe/guc: Report reset failure using SIGID drm/xe/svm: Report terminal page-fault failures using SIGID drm/xe/gt: Report GT reset failure using SIGID Honglei Huang (6): drm/gpusvm: move dma_addr allocation before the notifier lock drm/gpusvm: extract drm_gpusvm_dma_map_pages() helper drm/gpusvm: let drm_gpusvm_get_pages() map an array of pages drm/gpusvm: make the DMA mapping step in get_pages() optional drm/gpusvm: keep a single DMA mapping inline for THP drm/gpusvm: keep an IOVA mapped range dma address inline Ilia Levi (5): drm/xe/mmio_gem: forbid VMA split drm/xe/mmio_gem: use write-back mapping for dummy page drm/xe/mmio_gem: simplify fault handler loop drm/xe/mmio_gem: cache the dummy page per object drm/xe/mmio_gem: fix destroy flow Jonathan Cavitt (2): drm/xe/pagefault: Add SRCID to pagefault struct drm/xe/vm: Add srcid to xe_vm_get_property_ioctl fault report Karthik Poosa (2): drm/xe/pcode: Increase default pcode mailbox timeout to 10ms drm/xe/hwmon: Use shared pcode default timeout for power limit write Matt Roper (1): drm/xe: Consolidate semaphore instruction definitions Matthew Auld (7): drm/xe/migrate: support 4K PTEs for identity map drm/xe/vram: report FLAT_CCS base misalignment drm/xe/vram: revamp CPU VRAM mapping drm/xe: add force option for global invalidation drm/xe/vram: add early VRAM health check drm/xe/mmio_gem: reject VM_EXEC and drop VM_DONTCOPY drm/xe: convert PCI barrier mmap to use xe_mmio_gem Matthew Brost (2): drm/xe: Add mnemonic error reason to page fault diagnostics drm/xe: Keep walking on SVM eviction failure Michal Wajdeczko (15): drm/xe/tests: Fix default subplatform selection drm/xe/tests: Fix subplatform selection drm/xe: Drop unused parameter from xe_info_init drm/xe: Keep reference to device descriptor drm/xe: Drop redundant parameters from xe_info_init_early drm/xe: Drop redundant parameter from xe_probe_info_early drm/xe: Drop redundant parameter from xe_probe_info and friends drm/xe/log: Relax location ID recognition drm/xe/pf: Refactor VF LMEM BAR resize helper function drm/xe/pf: Add _locked variant of the priority config function drm/xe/pf: Add _locked variant of the release config function drm/xe/pf: Add _locked variant of the fair sched config function drm/xe/guc: Add simple KLV decoder helpers drm/xe/tests: Add kunit tests for KLV decoders drm/xe/pf: Use KLV decode helpers to parse migration packet Raag Jadav (1): drm/xe/i2c: Disable IRQ on unbind Shuicheng Lin (4): drm/xe/mmio_gem: Revoke drm_vma_node on xe_mmio_gem destroy drm/xe/shrinker: Return the freed page count through a parameter drm/xe/shrinker: Take a runtime PM ref before shrinking non-system memory drm/xe/tlb_inval: Treat wedged-device invalidations as complete Sk Anirban (2): drm/xe/debugfs: Expose per-engine idle status drm/xe/gt_throttle: Report power brake as a throttle reason on CRI Tejas Upadhyay (16): drm/xe: Link VRAM resource allocation with gpu buddy drm/xe: Link LRC BO and its execution queue with safe lifetime rules drm/xe: Export xe_ttm_bo_purge() drm/xe: Handle NULL resource and allow purging of VRAM pages drm/xe/bo: Make xe_bo_is_user() public drm/xe: Guard teardown paths against purged BOs drm/xe/vram: Extract buddy allocation and free helpers drm/xe/vram: Add page offline data structures and lifecycle drm/xe/vram: Add VRAM page offline fault handler drm/xe/configfs: Add disable_vram_page_offline attribute drm/xe/ras: Cache disable_vram_page_offline policy at init drm/xe/vram: Check disable_vram_page_offline policy in fault handler drm/xe: Expose bad VRAM pages via debugfs drm/xe/uapi: Expose ban reason in EXEC_QUEUE_GET_PROPERTY_BAN drm/xe: Add fault-inject based VRAM page offline injection drm/xe: Skip clearing purged page-table BOs Thomas Hellström (2): drm/xe: Flush LSC untyped L1 dataport cache after rcs/ccs batches drm/xe: Make p2pdma distance check verbose via dynamic debug Varun Gupta (3): drm/xe: Guard page-fault worker with runtime PM check drm/xe: Add multi_queue_active_lrca debugfs drm/pagemap: Prevent CPU stalls during unbounded pagemap teardown Vinay Belgaumkar (1): drm/xe: Poll GT for C6 before D3 drivers/gpu/drm/drm_gpusvm.c | 410 ++++++++++---- drivers/gpu/drm/drm_pagemap.c | 5 +- drivers/gpu/drm/xe/abi/xe_log_abi.h | 1 + drivers/gpu/drm/xe/display/xe_dsb_buffer.c | 2 +- drivers/gpu/drm/xe/display/xe_fb_pin.c | 2 +- drivers/gpu/drm/xe/display/xe_panic.c | 3 +- drivers/gpu/drm/xe/instructions/xe_gpu_commands.h | 1 + drivers/gpu/drm/xe/instructions/xe_mi_commands.h | 7 +- drivers/gpu/drm/xe/regs/xe_gt_regs.h | 28 + .../gpu/drm/xe/tests/xe_guc_klv_helpers_kunit.c | 303 +++++++++++ drivers/gpu/drm/xe/tests/xe_pci.c | 25 +- drivers/gpu/drm/xe/xe_bo.c | 83 ++- drivers/gpu/drm/xe/xe_bo.h | 3 +- drivers/gpu/drm/xe/xe_bo_types.h | 8 + drivers/gpu/drm/xe/xe_configfs.c | 72 ++- drivers/gpu/drm/xe/xe_configfs.h | 2 + drivers/gpu/drm/xe/xe_debugfs.c | 51 ++ drivers/gpu/drm/xe/xe_debugfs.h | 2 + drivers/gpu/drm/xe/xe_devcoredump.c | 4 +- drivers/gpu/drm/xe/xe_device.c | 120 +---- drivers/gpu/drm/xe/xe_device.h | 2 +- drivers/gpu/drm/xe/xe_device_types.h | 19 + drivers/gpu/drm/xe/xe_dma_buf.c | 22 +- drivers/gpu/drm/xe/xe_drm_ras_types.h | 3 + drivers/gpu/drm/xe/xe_exec_queue.c | 72 ++- drivers/gpu/drm/xe/xe_exec_queue_types.h | 7 +- drivers/gpu/drm/xe/xe_execlist.c | 4 +- drivers/gpu/drm/xe/xe_gt.c | 11 +- drivers/gpu/drm/xe/xe_gt_debugfs.c | 106 +++- drivers/gpu/drm/xe/xe_gt_idle.c | 39 ++ drivers/gpu/drm/xe/xe_gt_idle.h | 1 + drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 108 +++- drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 4 + drivers/gpu/drm/xe/xe_gt_throttle.c | 5 +- drivers/gpu/drm/xe/xe_guc_capture.c | 2 - drivers/gpu/drm/xe/xe_guc_klv_helpers.c | 78 +++ drivers/gpu/drm/xe/xe_guc_klv_helpers.h | 5 + drivers/gpu/drm/xe/xe_guc_pagefault.c | 8 +- drivers/gpu/drm/xe/xe_guc_submit.c | 115 +++- drivers/gpu/drm/xe/xe_guc_submit.h | 5 + drivers/gpu/drm/xe/xe_hwmon.c | 7 +- drivers/gpu/drm/xe/xe_i2c.c | 3 + drivers/gpu/drm/xe/xe_log.c | 42 +- drivers/gpu/drm/xe/xe_lrc.c | 6 +- drivers/gpu/drm/xe/xe_lrc.h | 1 + drivers/gpu/drm/xe/xe_migrate.c | 121 ++++- drivers/gpu/drm/xe/xe_migrate.h | 6 + drivers/gpu/drm/xe/xe_mmio_gem.c | 115 ++-- drivers/gpu/drm/xe/xe_mmio_gem.h | 2 +- drivers/gpu/drm/xe/xe_nvm.c | 1 + drivers/gpu/drm/xe/xe_pagefault.c | 128 ++++- drivers/gpu/drm/xe/xe_pagefault.h | 67 ++- drivers/gpu/drm/xe/xe_pagefault_types.h | 91 +++- drivers/gpu/drm/xe/xe_pci.c | 42 +- drivers/gpu/drm/xe/xe_pci_sriov.c | 27 +- drivers/gpu/drm/xe/xe_pcode.c | 2 +- drivers/gpu/drm/xe/xe_pcode.h | 4 +- drivers/gpu/drm/xe/xe_pm.c | 18 + drivers/gpu/drm/xe/xe_pm.h | 1 + drivers/gpu/drm/xe/xe_pt.c | 28 +- drivers/gpu/drm/xe/xe_ras.c | 9 + drivers/gpu/drm/xe/xe_res_cursor.h | 5 +- drivers/gpu/drm/xe/xe_ring_ops.c | 15 +- drivers/gpu/drm/xe/xe_shrinker.c | 124 +++-- drivers/gpu/drm/xe/xe_sriov_packet.c | 31 +- drivers/gpu/drm/xe/xe_svm.c | 36 +- drivers/gpu/drm/xe/xe_svm.h | 20 + drivers/gpu/drm/xe/xe_sysctrl.c | 92 ++++ drivers/gpu/drm/xe/xe_sysctrl.h | 2 + drivers/gpu/drm/xe/xe_sysctrl_mailbox_types.h | 45 ++ drivers/gpu/drm/xe/xe_tile_types.h | 4 + drivers/gpu/drm/xe/xe_tlb_inval.c | 3 +- drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 600 ++++++++++++++++++++- drivers/gpu/drm/xe/xe_ttm_vram_mgr.h | 3 + drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h | 40 ++ drivers/gpu/drm/xe/xe_userptr.c | 2 +- drivers/gpu/drm/xe/xe_vm.c | 15 +- drivers/gpu/drm/xe/xe_vm_types.h | 2 + drivers/gpu/drm/xe/xe_vram.c | 258 ++++++++- drivers/gpu/drm/xe/xe_vram.h | 10 + include/drm/drm_gpusvm.h | 71 ++- include/uapi/drm/xe_drm.h | 22 +- 82 files changed, 3301 insertions(+), 568 deletions(-)
