Hi Dave and Sima, Here goes our first drm-xe-next PR towards 7.0.
In the big things we have: - xe maintainership change. - Many uAPI changes. - Many SRIOV changes, specially to support migration in BMG, but also the introduction of the new xe-vfio driver. - and many more changes, fixes and improvements... Thanks, Rodrigo. drm-xe-next-2025-12-19: UAPI Changes: - Multi-Queue support (Niranjana) - Add DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE (Brost) - Add NO_COMPRESSION BO flag and query capability (Sanjay) - Add gt_id to struct drm_xe_oa_unit (Ashutosh) - Expose MERT OA unit (Ashutosh) - Sysfs Survivability refactor (Riana) Cross-subsystem Changes: - VFIO: Add device specific vfio_pci driver variant for Intel graphics (Winiarski) Driver Changes: - MAINTAINERS update (Lucas -> Matt) - Add helper to query compression enable status (Xin) - Xe_VM fixes and updates (Shuicheng, Himal) - Documentation fixes (Winiarski, Swaraj, Niranjana) - Kunit fix (Roper) - Fix potential leaks, uaf, null derref, and oversized allocations (Shuicheng, Sanjay, Mika, Tapani) - Other minor fixes like kbuild duplication and sysfs_emit (Shuicheng, Madhur) - Handle msix vector0 interrupt (Venkata) - Scope-based forcewake and runtime PM (Roper, Raag) - GuC/HuC related fixes and refactors (Lucas, Zhanjun, Brost, Julia, Wajdeczko) - Fix conversion from clock ticks to milliseconds (Harish) - SRIOV PF PF: Add support for MERT (Lukasz) - Enable SR-IOV VF migration and other SRIOV updates (Winiarski, Satya, Brost, Wajdeczko, Piotr, Tomasz, Daniele) - Optimize runtime suspend/resume and other PM improvements (Raag) - Some W/a additions and updates (Bala, Harish, Roper) - Use for_each_tlb_inval() to calculate invalidation fences (Roper) - Fix VFIO link error (Arnd) - Fix ix drm_gpusvm_init() arguments (Arnd) - Other OA refactor (Ashutosh) - Refactor PAT and expose debugfs (Xin) - Enable Indirect Ring State for xe3p_xpc (Niranjana) - MEI interrupt fix (Junxiao) - Add stats for mode switching on hw_engine_group (Francois) - DMA-Buf related changes (Thomas) - Multi Queue feature support (Niranjana) - Enable I2C controller for Crescent Island (Raag) - Enable NVM for Crescent Island (Sasha) - Increase TDF timeout (Jagmeet) - Restore engine registers before restarting schedulers after GT reset (Jan) - Page Reclamation Support for Xe3p Platforms (Brian, Brost, Oak) - Fix performance when pagefaults and 3d/display share resources (Brost) - More OA MERT work (Ashutosh) - Fix return values (Dan) - Some log level and messages improvements (Brost) The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8: Linux 6.19-rc1 (2025-12-14 16:05:07 +1200) are available in the Git repository at: https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2025-12-19 for you to fetch changes up to 844758bd99a86e6a07247784727fb337c4b979ca: drm/xe: Print GuC queue submission state on engine reset (2025-12-19 11:45:29 -0800) ---------------------------------------------------------------- UAPI Changes: - Multi-Queue support (Niranjana) - Add DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE (Brost) - Add NO_COMPRESSION BO flag and query capability (Sanjay) - Add gt_id to struct drm_xe_oa_unit (Ashutosh) - Expose MERT OA unit (Ashutosh) - Sysfs Survivability refactor (Riana) Cross-subsystem Changes: - VFIO: Add device specific vfio_pci driver variant for Intel graphics (Winiarski) Driver Changes: - MAINTAINERS update (Lucas -> Matt) - Add helper to query compression enable status (Xin) - Xe_VM fixes and updates (Shuicheng, Himal) - Documentation fixes (Winiarski, Swaraj, Niranjana) - Kunit fix (Roper) - Fix potential leaks, uaf, null derref, and oversized allocations (Shuicheng, Sanjay, Mika, Tapani) - Other minor fixes like kbuild duplication and sysfs_emit (Shuicheng, Madhur) - Handle msix vector0 interrupt (Venkata) - Scope-based forcewake and runtime PM (Roper, Raag) - GuC/HuC related fixes and refactors (Lucas, Zhanjun, Brost, Julia, Wajdeczko) - Fix conversion from clock ticks to milliseconds (Harish) - SRIOV PF PF: Add support for MERT (Lukasz) - Enable SR-IOV VF migration and other SRIOV updates (Winiarski, Satya, Brost, Wajdeczko, Piotr, Tomasz, Daniele) - Optimize runtime suspend/resume and other PM improvements (Raag) - Some W/a additions and updates (Bala, Harish, Roper) - Use for_each_tlb_inval() to calculate invalidation fences (Roper) - Fix VFIO link error (Arnd) - Fix ix drm_gpusvm_init() arguments (Arnd) - Other OA refactor (Ashutosh) - Refactor PAT and expose debugfs (Xin) - Enable Indirect Ring State for xe3p_xpc (Niranjana) - MEI interrupt fix (Junxiao) - Add stats for mode switching on hw_engine_group (Francois) - DMA-Buf related changes (Thomas) - Multi Queue feature support (Niranjana) - Enable I2C controller for Crescent Island (Raag) - Enable NVM for Crescent Island (Sasha) - Increase TDF timeout (Jagmeet) - Restore engine registers before restarting schedulers after GT reset (Jan) - Page Reclamation Support for Xe3p Platforms (Brian, Brost, Oak) - Fix performance when pagefaults and 3d/display share resources (Brost) - More OA MERT work (Ashutosh) - Fix return values (Dan) - Some log level and messages improvements (Brost) ---------------------------------------------------------------- Alexander Usyskin (1): drm/xe/nvm: enable cri platform Arnd Bergmann (2): drm/xe/pf: fix VFIO link error drm/xe: fix drm_gpusvm_init() arguments Ashutosh Dixit (11): drm/xe/oa: Use explicit struct initialization for struct xe_oa_regs drm/xe/oa/uapi: Add gt_id to struct drm_xe_oa_unit drm/xe/oa: Allow exec_queue's to be specified only for OAG OA unit drm/xe/rtp: Refactor OAG MMIO trigger register whitelisting drm/xe/rtp: Whitelist OAM MMIO trigger registers drm/xe/oa/uapi: Expose MERT OA unit drm/xe/rtp: Whitelist OAMERT MMIO trigger registers drm/xe/oa: Always set OAG_OAGLBCTXCTRL_COUNTER_RESUME drm/xe/oa: Move default oa unit assignment earlier during stream open drm/xe/oa: Disallow 0 OA property values drm/xe/eustall: Disallow 0 EU stall property values Balasubramani Vivekanandan (1): drm/xe/xe3_lpg: Apply Wa_16028005424 Brian Nguyen (8): drm/xe/xe_tlb_inval: Modify fence interface to support PPC flush drm/xe/guc: Add page reclamation interface to GuC drm/xe: Create page reclaim list on unbind drm/xe: Suballocate BO for page reclaim drm/xe: Prep page reclaim in tlb inval job drm/xe: Append page reclamation action to tlb inval drm/xe: Optimize flushing of L2$ by skipping unnecessary page reclaim drm/xe: Add debugfs support for page reclamation Dan Carpenter (2): drm/xe/vf: fix return type in vf_migration_init_late() drm/xe/xe_sriov_vfio: Fix return value in xe_sriov_vfio_migration_supported() Daniele Ceraolo Spurio (1): drm/xe/pf: Add handling for MLRC adverse event threshold Francois Dugast (1): drm/xe/hw_engine_group: Add stats for mode switching Harish Chegondi (2): drm/xe: Fix conversion from clock ticks to milliseconds drm/xe/xe3: Remove graphics IP 30.01 from Wa_18041344222 IP list Himal Prasad Ghimiray (5): drm/xe: Add helper to extend CPU-mirrored VMA range for merge drm/xe: Merge adjacent default-attribute VMAs during garbage collection drm/xe/svm: Extend MAP range to reduce vma fragmentation drm/xe/svm: Enable UNMAP for VMA merging operations drm/xe/vm: Skip ufence association for CPU address mirror VMA during MAP Jagmeet Randhawa (1): drm/xe: Increase TDF timeout Jan Maslak (1): drm/xe: Restore engine registers before restarting schedulers after GT reset Jonathan Cavitt (1): drm/xe/xe_sriov_packet: Return int from pf_descriptor_init Julia Filipchuk (2): drm/xe/guc: Recommend GuC v70.53.0 for MTL, DG2, LNL drm/xe/guc: Recommend GuC v70.54.0 for BMG, PTL Junxiao Chang (1): drm/me/gsc: mei interrupt top half should be in irq disabled context Lucas De Marchi (3): drm/xe/guc: Fix stack_depot usage drm/xe/guc_ct: Cleanup ifdef'ry MAINTAINERS: Remove myself from xe maintainers Lukasz Laguna (4): drm/xe: Add device flag to indicate standalone MERT drm/xe/pf: Configure LMTT in MERT drm/xe/pf: Add TLB invalidation support for MERT drm/xe/pf: Handle MERT catastrophic errors Madhur Kumar (1): drm/xe/pmu: Replace sprintf() with sysfs_emit() Matt Roper (32): drm/xe/kunit: Fix forcewake assertion in mocs test drm/xe/vm: Use for_each_tlb_inval() to calculate invalidation fences drm/xe/forcewake: Add scope-based cleanup for forcewake drm/xe/pm: Add scope-based cleanup helper for runtime PM drm/xe/gt: Use scope-based cleanup drm/xe/gt_idle: Use scope-based cleanup drm/xe/guc: Use scope-based cleanup drm/xe/guc_pc: Use scope-based cleanup drm/xe/mocs: Use scope-based cleanup drm/xe/pat: Use scope-based forcewake drm/xe/pxp: Use scope-based cleanup drm/xe/gsc: Use scope-based cleanup drm/xe/device: Use scope-based cleanup drm/xe/devcoredump: Use scope-based cleanup drm/xe/display: Use scoped-cleanup drm/xe: Return forcewake reference type from force_wake_get_any_engine() drm/xe/drm_client: Use scope-based cleanup drm/xe/gt_debugfs: Use scope-based cleanup drm/xe/huc: Use scope-based forcewake drm/xe/query: Use scope-based forcewake drm/xe/reg_sr: Use scope-based forcewake drm/xe/vram: Use scope-based forcewake drm/xe/bo: Use scope-based runtime PM drm/xe/ggtt: Use scope-based runtime pm drm/xe/hwmon: Use scope-based runtime PM drm/xe/sriov: Use scope-based runtime PM drm/xe/tests: Use scope-based runtime PM drm/xe/sysfs: Use scope-based runtime power management drm/xe/debugfs: Use scope-based runtime PM drm/xe/sync: Use for_each_tlb_inval() to calculate invalidation fences drm/xe: Track pre-production workaround support drm/xe/lnl: Drop pre-production workaround support Matthew Brost (23): drm/xe/vf: Start re-emission from first unsignaled job during VF migration drm/gpusvm: Limit the number of retries in drm_gpusvm_get_pages drm/xe: Covert return of -EBUSY to -ENOMEM in VM bind IOCTL drm/xe: Add properties line to VM snapshot capture drm/xe: Add "null_sparse" type to VM snap properties drm/xe: Add mem_region to properties line in VM snapshot capture drm/xe: Add pat_index to properties line in VM snapshot capture drm/xe: Add cpu_caching to properties line in VM snapshot capture drm/xe: Add VM.uapi_flags to VM snapshot capture drm/xe/uapi: Add DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE drm/xe: Add replay_offset and replay_length lines to LRC HWCTX snapshot drm/xe: Implement DRM_XE_EXEC_QUEUE_SET_HANG_REPLAY_STATE drm/xe: Do not reference loop variable directly drm/xe: Do not forward invalid TLB invalidation seqnos to upper layers drm/xe: Adjust long-running workload timeslices to reasonable values drm/xe: Use usleep_range for accurate long-running workload timeslicing drm/xe: Add debugfs knobs to control long running workload timeslicing drm/xe: Skip exec queue schedule toggle if queue is idle during suspend drm/xe: Wait on in-syncs when swicthing to dma-fence mode drm/xe: Add GT stats ktime helpers drm/xe: Add more GT stats around pagefault mode switch flows drm/xe: Increase log level for unhandled page faults drm/xe: Print GuC queue submission state on engine reset Michal Wajdeczko (6): drm/xe/pf: Use div_u64 when calculating GGTT profile drm/xe/pf: Fix .bulk_profile/sched_priority description drm/xe/guc: Fix version check for page-reclaim feature drm/xe: Introduce IF_ARGS macro utility drm/xe/guc: Introduce GUC_FIRMWARE_VER_AT_LEAST helper drm/xe/pf: Prepare for new threshold KLVs Michał Winiarski (7): drm/xe/pf: Fix kernel-doc warning in migration_save_consume drm/xe/pf: Drop the VF VRAM BO reference on successful restore drm/xe/pf: Check for fence error on VRAM save/restore drm/xe/pf: Enable SR-IOV VF migration drm/xe/pci: Introduce a helper to allow VF access to PF xe_device drm/xe/pf: Export helpers for VFIO vfio/xe: Add device specific vfio_pci driver variant for Intel graphics Mika Kuoppala (1): drm/xe: Fix memory leak when handling pagefault vma Niranjana Vishwanathapura (18): drm/xe/xe3p_xpc: Enable Indirect Ring State for xe3p_xpc drm/xe/multi_queue: Add multi_queue_enable_mask to gt information drm/xe/multi_queue: Add user interface for multi queue support drm/xe/multi_queue: Add GuC interface for multi queue support drm/xe/multi_queue: Add multi queue priority property drm/xe/multi_queue: Handle invalid exec queue property setting drm/xe/multi_queue: Add exec_queue set_property ioctl support drm/xe/multi_queue: Add support for multi queue dynamic priority change drm/xe/multi_queue: Add multi queue information to guc_info dump drm/xe/multi_queue: Handle tearing down of a multi queue drm/xe/multi_queue: Set QUEUE_DRAIN_MODE for Multi Queue batches drm/xe/multi_queue: Handle CGP context error drm/xe/multi_queue: Reset GT upon CGP_SYNC failure drm/xe/multi_queue: Teardown group upon job timeout drm/xe/multi_queue: Tracepoint support drm/xe/multi_queue: Support active group after primary is destroyed drm/xe/doc: Add documentation for Multi Queue Group drm/xe/doc: Add documentation for Multi Queue Group GuC interface Oak Zeng (1): drm/xe: Add page reclamation info to device info Piotr Piórkowski (1): drm/xe: Move VRAM MM debugfs creation to tile level Raag Jadav (8): drm/xe/vf: Update pause/unpause() helpers with VF naming drm/xe/guc_submit: Introduce pause/unpause() helpers for PF drm/xe/pm: Assert on runtime suspend if VFs are enabled drm/xe/gt: Introduce runtime suspend/resume drm/xe/gt: Use scope-based forcewake drm/xe/guc_ct: Assert on credits mismatch during runtime suspend drm/xe/throttle: Skip reason prefix while emitting array drm/xe/cri: Enable I2C controller Riana Tauro (5): drm/xe/xe_survivability: Redesign survivability mode drm/xe/xe_survivability: Add support for survivability mode v2 drm/xe/xe_survivability: Remove unused index drm/xe/xe_survivability: Use static for survivability info attributes drm/xe/xe_survivability: Add index bound check Rodrigo Vivi (1): MAINTAINERS: Update Xe driver maintainers Sanjay Yadav (2): drm/xe/oa: Fix potential UAF in xe_oa_add_config_ioctl() drm/xe/uapi: Add NO_COMPRESSION BO flag and query capability Satyanarayana K V P (8): drm/xe/sa: Shadow buffer support in the sub-allocator pool drm/xe/vf: Shadow buffer management for CCS read/write operations drm/xe/vf: Enable VF migration only on supported GuC versions drm/xe/vf: Introduce RESFIX start marker support drm/xe/vf: Requeue recovery on GuC MIGRATION error during VF post-migration drm/xe/vf: Add debugfs entries to test VF double migration drm/xe/vf: Fix queuing of recovery work drm/xe/vf: Reset recovery_queued after issuing RESFIX_START Shuicheng Lin (6): drm/xe: Prevent BIT() overflow when handling invalid prefetch region drm/xe: Remove duplicate DRM_EXEC selection from Kconfig drm/xe/guc: Fix resource leak in xe_guc_ct_init_noalloc() drm/xe: Fix freq kobject leak on sysfs_create_files failure drm/xe: Limit num_syncs to prevent oversized allocations drm/xe/oa: Limit num_syncs to prevent oversized allocations Swaraj Gaikwad (1): drm/xe: Fix documentation heading levels in xe_guc_pc.c Tapani Pälli (1): drm/xe: Fix NULL pointer dereference in xe_exec_ioctl Thomas Hellström (4): Merge drm/drm-next into drm-xe-next drm/xe/bo: Don't include the CCS metadata in the dma-buf sg-table drm/xe: Drop preempt-fences when destroying imported dma-bufs. Merge drm/drm-next into drm-xe-next Tomasz Lis (2): drm/xe: Protect against unset LRC when pausing submissions drm/xe/vf: Stop waiting for ring space on VF post migration recovery Venkata Ramana Nayana (1): drm/xe/irq: Handle msix vector0 interrupt Vinay Belgaumkar (1): drm/xe: Apply Wa_14020316580 in xe_gt_idle_enable_pg() Xin Wang (3): drm/xe/pat: Add helper to query compression enable status drm/xe: Refactor PAT dump to use shared helpers drm/xe: expose PAT software config to debugfs Zbigniew Kempczyński (1): drm/xe: Add caching pagetable flag Zhanjun Dong (8): drm/xe/guc: Cleanup GuC log buffer macros and helpers drm/xe/uc: Change assertion to error on huc authentication failure drm/xe/guc: Add log init config abi definitions drm/xe/guc: Add LFD related abi definitions drm/xe/guc: Add GuC log init config in LFD format drm/xe/guc: Add GuC log event buffer output in LFD format drm/xe/guc: Only add GuC crash dump if available drm/xe/guc: Add new debugfs entry for lfd format output .mailmap | 1 + .../ABI/testing/sysfs-driver-intel-xe-sriov | 2 +- Documentation/gpu/xe/xe_exec_queue.rst | 14 + MAINTAINERS | 2 +- drivers/gpu/drm/drm_gpusvm.c | 3 + drivers/gpu/drm/xe/Makefile | 2 + drivers/gpu/drm/xe/abi/guc_actions_abi.h | 6 + drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h | 67 +- drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 9 + drivers/gpu/drm/xe/abi/guc_lfd_abi.h | 171 +++++ drivers/gpu/drm/xe/abi/guc_lic_abi.h | 77 +++ drivers/gpu/drm/xe/abi/guc_log_abi.h | 42 +- drivers/gpu/drm/xe/display/xe_fb_pin.c | 23 +- drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 31 +- drivers/gpu/drm/xe/instructions/xe_gpu_commands.h | 1 + drivers/gpu/drm/xe/regs/xe_gt_regs.h | 3 + drivers/gpu/drm/xe/regs/xe_gtt_defs.h | 1 + drivers/gpu/drm/xe/regs/xe_guc_regs.h | 3 + drivers/gpu/drm/xe/regs/xe_irq_regs.h | 1 + drivers/gpu/drm/xe/regs/xe_mert_regs.h | 21 + drivers/gpu/drm/xe/regs/xe_oa_regs.h | 17 + drivers/gpu/drm/xe/tests/xe_args_test.c | 54 ++ drivers/gpu/drm/xe/tests/xe_bo.c | 10 +- drivers/gpu/drm/xe/tests/xe_dma_buf.c | 3 +- drivers/gpu/drm/xe/tests/xe_migrate.c | 10 +- drivers/gpu/drm/xe/tests/xe_mocs.c | 27 +- drivers/gpu/drm/xe/xe_args.h | 27 + drivers/gpu/drm/xe/xe_bo.c | 41 +- drivers/gpu/drm/xe/xe_bo.h | 1 + drivers/gpu/drm/xe/xe_debugfs.c | 143 +++- drivers/gpu/drm/xe/xe_devcoredump.c | 30 +- drivers/gpu/drm/xe/xe_device.c | 102 ++- drivers/gpu/drm/xe/xe_device.h | 5 + drivers/gpu/drm/xe/xe_device_sysfs.c | 33 +- drivers/gpu/drm/xe/xe_device_types.h | 27 + drivers/gpu/drm/xe/xe_dma_buf.c | 2 +- drivers/gpu/drm/xe/xe_drm_client.c | 67 +- drivers/gpu/drm/xe/xe_eu_stall.c | 2 +- drivers/gpu/drm/xe/xe_exec.c | 12 +- drivers/gpu/drm/xe/xe_exec_queue.c | 455 ++++++++++++- drivers/gpu/drm/xe/xe_exec_queue.h | 68 ++ drivers/gpu/drm/xe/xe_exec_queue_types.h | 62 ++ drivers/gpu/drm/xe/xe_execlist.c | 2 +- drivers/gpu/drm/xe/xe_force_wake.c | 7 + drivers/gpu/drm/xe/xe_force_wake.h | 40 ++ drivers/gpu/drm/xe/xe_ggtt.c | 3 +- drivers/gpu/drm/xe/xe_gsc.c | 21 +- drivers/gpu/drm/xe/xe_gsc_debugfs.c | 3 +- drivers/gpu/drm/xe/xe_gsc_proxy.c | 17 +- drivers/gpu/drm/xe/xe_gt.c | 181 ++--- drivers/gpu/drm/xe/xe_gt.h | 2 + drivers/gpu/drm/xe/xe_gt_debugfs.c | 30 +- drivers/gpu/drm/xe/xe_gt_freq.c | 31 +- drivers/gpu/drm/xe/xe_gt_idle.c | 49 +- drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 19 +- drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c | 21 +- drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c | 2 +- drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 172 +++-- drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.c | 12 + drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h | 13 + drivers/gpu/drm/xe/xe_gt_stats.c | 10 + drivers/gpu/drm/xe/xe_gt_stats.h | 32 + drivers/gpu/drm/xe/xe_gt_stats_types.h | 5 + drivers/gpu/drm/xe/xe_gt_throttle.c | 11 +- drivers/gpu/drm/xe/xe_gt_types.h | 5 + drivers/gpu/drm/xe/xe_guc.c | 80 ++- drivers/gpu/drm/xe/xe_guc.h | 23 + drivers/gpu/drm/xe/xe_guc_ads.c | 6 +- drivers/gpu/drm/xe/xe_guc_buf.c | 2 +- drivers/gpu/drm/xe/xe_guc_capture.c | 16 +- drivers/gpu/drm/xe/xe_guc_ct.c | 273 +++++--- drivers/gpu/drm/xe/xe_guc_ct.h | 2 + drivers/gpu/drm/xe/xe_guc_debugfs.c | 15 +- drivers/gpu/drm/xe/xe_guc_fwif.h | 10 +- .../gpu/drm/xe/xe_guc_klv_thresholds_set_types.h | 6 + drivers/gpu/drm/xe/xe_guc_log.c | 507 +++++++++++--- drivers/gpu/drm/xe/xe_guc_log.h | 30 +- drivers/gpu/drm/xe/xe_guc_pc.c | 66 +- drivers/gpu/drm/xe/xe_guc_submit.c | 734 +++++++++++++++++++-- drivers/gpu/drm/xe/xe_guc_submit.h | 9 +- drivers/gpu/drm/xe/xe_guc_submit_types.h | 13 + drivers/gpu/drm/xe/xe_guc_tlb_inval.c | 41 +- drivers/gpu/drm/xe/xe_heci_gsc.c | 4 +- drivers/gpu/drm/xe/xe_huc.c | 7 +- drivers/gpu/drm/xe/xe_huc_debugfs.c | 3 +- drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c | 16 +- drivers/gpu/drm/xe/xe_hw_engine_group.c | 79 ++- drivers/gpu/drm/xe/xe_hw_engine_group.h | 4 +- drivers/gpu/drm/xe/xe_hwmon.c | 52 +- drivers/gpu/drm/xe/xe_i2c.c | 2 +- drivers/gpu/drm/xe/xe_irq.c | 2 + drivers/gpu/drm/xe/xe_lmtt.c | 25 +- drivers/gpu/drm/xe/xe_lrc.c | 73 +- drivers/gpu/drm/xe/xe_lrc.h | 7 +- drivers/gpu/drm/xe/xe_lrc_types.h | 3 + drivers/gpu/drm/xe/xe_mert.c | 82 +++ drivers/gpu/drm/xe/xe_mert.h | 32 + drivers/gpu/drm/xe/xe_migrate.c | 57 +- drivers/gpu/drm/xe/xe_migrate.h | 3 + drivers/gpu/drm/xe/xe_mocs.c | 18 +- drivers/gpu/drm/xe/xe_nvm.c | 34 +- drivers/gpu/drm/xe/xe_oa.c | 106 ++- drivers/gpu/drm/xe/xe_oa_types.h | 1 + drivers/gpu/drm/xe/xe_page_reclaim.c | 136 ++++ drivers/gpu/drm/xe/xe_page_reclaim.h | 105 +++ drivers/gpu/drm/xe/xe_pagefault.c | 36 +- drivers/gpu/drm/xe/xe_pat.c | 220 ++++-- drivers/gpu/drm/xe/xe_pat.h | 21 + drivers/gpu/drm/xe/xe_pci.c | 29 + drivers/gpu/drm/xe/xe_pci_sriov.c | 10 +- drivers/gpu/drm/xe/xe_pci_types.h | 6 + drivers/gpu/drm/xe/xe_pcode_api.h | 2 + drivers/gpu/drm/xe/xe_pm.c | 10 +- drivers/gpu/drm/xe/xe_pmu.c | 2 +- drivers/gpu/drm/xe/xe_pt.c | 135 +++- drivers/gpu/drm/xe/xe_pt_types.h | 5 + drivers/gpu/drm/xe/xe_pxp.c | 55 +- drivers/gpu/drm/xe/xe_query.c | 23 +- drivers/gpu/drm/xe/xe_reg_sr.c | 17 +- drivers/gpu/drm/xe/xe_reg_whitelist.c | 81 ++- drivers/gpu/drm/xe/xe_ring_ops.c | 70 +- drivers/gpu/drm/xe/xe_sa.c | 67 +- drivers/gpu/drm/xe/xe_sa.h | 20 +- drivers/gpu/drm/xe/xe_sa_types.h | 3 + drivers/gpu/drm/xe/xe_sriov_packet.c | 2 +- drivers/gpu/drm/xe/xe_sriov_pf.c | 4 + drivers/gpu/drm/xe/xe_sriov_pf_debugfs.c | 6 +- drivers/gpu/drm/xe/xe_sriov_pf_sysfs.c | 16 +- drivers/gpu/drm/xe/xe_sriov_vf.c | 84 ++- drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 27 +- drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 1 + drivers/gpu/drm/xe/xe_sriov_vfio.c | 2 +- drivers/gpu/drm/xe/xe_survivability_mode.c | 279 +++++--- drivers/gpu/drm/xe/xe_survivability_mode_types.h | 28 +- drivers/gpu/drm/xe/xe_svm.c | 88 ++- drivers/gpu/drm/xe/xe_svm.h | 2 +- drivers/gpu/drm/xe/xe_sync.c | 33 +- drivers/gpu/drm/xe/xe_sync.h | 2 + drivers/gpu/drm/xe/xe_tile.c | 5 + drivers/gpu/drm/xe/xe_tile_debugfs.c | 17 +- drivers/gpu/drm/xe/xe_tile_sriov_pf_debugfs.c | 3 +- drivers/gpu/drm/xe/xe_tlb_inval.c | 27 +- drivers/gpu/drm/xe/xe_tlb_inval.h | 2 +- drivers/gpu/drm/xe/xe_tlb_inval_job.c | 36 +- drivers/gpu/drm/xe/xe_tlb_inval_job.h | 4 + drivers/gpu/drm/xe/xe_tlb_inval_types.h | 5 +- drivers/gpu/drm/xe/xe_trace.h | 46 ++ drivers/gpu/drm/xe/xe_uc.c | 35 +- drivers/gpu/drm/xe/xe_uc.h | 2 + drivers/gpu/drm/xe/xe_uc_fw.c | 10 +- drivers/gpu/drm/xe/xe_vm.c | 158 ++++- drivers/gpu/drm/xe/xe_vm.h | 3 + drivers/gpu/drm/xe/xe_vm_types.h | 3 +- drivers/gpu/drm/xe/xe_vram.c | 6 +- drivers/gpu/drm/xe/xe_wa.c | 60 +- drivers/gpu/drm/xe/xe_wa_oob.rules | 7 +- include/uapi/drm/xe_drm.h | 82 ++- 157 files changed, 5404 insertions(+), 1543 deletions(-) create mode 100644 drivers/gpu/drm/xe/abi/guc_lfd_abi.h create mode 100644 drivers/gpu/drm/xe/abi/guc_lic_abi.h create mode 100644 drivers/gpu/drm/xe/regs/xe_mert_regs.h create mode 100644 drivers/gpu/drm/xe/xe_mert.c create mode 100644 drivers/gpu/drm/xe/xe_mert.h create mode 100644 drivers/gpu/drm/xe/xe_page_reclaim.c create mode 100644 drivers/gpu/drm/xe/xe_page_reclaim.h
