[PULL] drm-xe-next

Lucas De Marchi
2025-08-29T22:01:18Z

Hi Dave and Sima,

Here is the first pull targeting 6.18. Quite on the big side and
contains 3 new UAPIs. The 2 backmerges are there since part of the work
went through the PCI subsystem (for SR-IOV) and drm-misc (for madvise
interface).

I anticipate we will have one more pull request in a couple of weeks,
but it should be smaller than this one.

Thaks,
Lucas De Marchi

drm-xe-next-2025-08-29:
UAPI Changes:
- Add madvise interface (Himal Prasad Ghimiray)
- Add DRM_IOCTL_XE_VM_QUERY_MEMORY_RANGE_ATTRS to query VMA count and
memory attributes (Himal Prasad Ghimiray)
- Handle Firmware reported Hardware Errors notifying userspace with
device wedged uevent (Riana Tauro)

Cross-subsystem Changes:

- Add a vendor-specific recovery method to drm device wedged uevent
(Riana Tauro)

Driver Changes:
- Use same directory structure in debugfs as in sysfs (Michal Wajdeczko)
- Cleanup and future-proof VRAM region initialization (Piotr Piórkowski)
- Add G-states and PCIe link states to debugfs (Soham Purkait)
- Cleanup eustall debug messages (Harish Chegondi)
- Add SR-IOV support to restore Compression Control Surface (CCS) to
Xe2 and later (Satyanarayana K V P)
- Enable SR-IOV PF mode by default on supported platforms without
needing CONFIG_DRM_XE_DEBUG and mark some platforms behind
force_probe as supported (Michal Wajdeczko)
- More targeted log messages (Michal Wajdeczko)
- Cleanup STEER_SEMAPHORE/MCFG_MCR_SELECTOR usage (Nitin Gote)
- Use common code to emit flush (Tvrtko Ursulin)
- Add/extend more HW workarounds and tunings for Xe2 and Xe3
(Sk Anirban, Tangudu Tilak Tirumalesh, Nitin Gote, Chaitanya Kumar Borah)
- Add a generic dependency scheduler to help with TLB invalidations
and future scenarios (Matthew Brost)
- Use DRM scheduler for delayed GT TLB invalidations (Matthew Brost)
- Error out on incorrect device use in configfs
(Michal Wajdeczko, Lucas De Marchi)
- Refactor configfs attributes (Michal Wajdeczko / Lucas De Marchi)
- Allow configuring future VF devices via configfs (Michal Wajdeczko)
- Implement some missing XeLP workarounds (Tvrtko Ursulin)
- Generalize WA BB setup/emission and add support for
mid context restore BB, aka indirect context (Tvrtko Ursulin)
- Prepare the driver to expose mmio regions to userspace
in future (Ilia Levi)
- Add more GuC load error status codes (John Harrison)
- Document DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING (Priyanka Dandamudi)
- Disable CSC and RPM on VFs (Lukasz Laguna, Satyanarayana K V P)
- Fix oops in xe_gem_fault with PREEMPT_RT (Maarten Lankhorst)
- Skip LMTT update if no LMEM was provisioned (Michal Wajdeczko)
- Add support to VF migration (Tomasz Lis)
- Use a helper for guc_waklv_enable functions (Jonathan Cavitt)
- Prepare GPU SVM for migration of THP (Francois Dugast)
- Program LMTT directory pointer on all GTs within a tile
(Piotr Piórkowski)
- Rename XE_WA to XE_GT_WA to better convey its scope vs the device WAs
(Matt Atwood)
- Allow to match devices on PCI devid/vendorid only (Lucas De Marchi)
- Improve PDE PAT index selection (Matthew Brost)
- Consolidate ASID allocation in xe_vm_create() vs
xe_vm_create_ioctl() (Piotr Piórkowski)
- Resize VF BARS to max possible size according to number of VFs
(Michał Winiarski)
- Untangle vm_bind_ioctl cleanup order (Christoph Manszewski)
- Start fixing usage of XE_PAGE_SIZE vs PAGE_SIZE to improve
compatibility with non-x86 arch (Simon Richter)
- Improve tile vs gt initialization order and accounting
(Gustavo Sousa)
- Extend WA kunit test to PTL
- Ensure data is initialized before transferring to pcode
(Stuart Summers)
- Add PSMI support for HW validation (Lucas De Marchi,
Vinay Belgaumkar, Badal Nilawar)
- Improve xe_dma_buf test (Thomas Hellström, Marcin Bernatowicz)
- Fix basename() usage in generator with !glibc (Carlos Llamas)
- Ensure GT is in C0 during resumes (Xin Wang)
- Add TLB invalidation abstraction (Matt Brost, Stuart Summers)
- Make MI_TLB_INVALIDATE conditional on migrate (Matthew Auld)
- Prepare xe_nvm to be initialized early for future use cases
(Riana Tauro)
The following changes since commit 1cd0c7afef97c3192edc92774a62d36b2a0bf2e0:

Merge tag 'drm-misc-next-2025-08-21' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next (2025-08-25 06:38:49 +1000)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2025-08-29

for you to fetch changes up to 1047bd82794a1eab64d643f196d09171ce983f44:

drm/xe: Fix incorrect migration of backed-up object to VRAM (2025-08-29 15:30:57 +0200)

----------------------------------------------------------------
UAPI Changes:
- Add madvise interface (Himal Prasad Ghimiray)
- Add DRM_IOCTL_XE_VM_QUERY_MEMORY_RANGE_ATTRS to query VMA count and
memory attributes (Himal Prasad Ghimiray)
- Handle Firmware reported Hardware Errors notifying userspace with
device wedged uevent (Riana Tauro)

Cross-subsystem Changes:

- Add a vendor-specific recovery method to drm device wedged uevent
(Riana Tauro)

Driver Changes:
- Use same directory structure in debugfs as in sysfs (Michal Wajdeczko)
- Cleanup and future-proof VRAM region initialization (Piotr Piórkowski)
- Add G-states and PCIe link states to debugfs (Soham Purkait)
- Cleanup eustall debug messages (Harish Chegondi)
- Add SR-IOV support to restore Compression Control Surface (CCS) to
Xe2 and later (Satyanarayana K V P)
- Enable SR-IOV PF mode by default on supported platforms without
needing CONFIG_DRM_XE_DEBUG and mark some platforms behind
force_probe as supported (Michal Wajdeczko)
- More targeted log messages (Michal Wajdeczko)
- Cleanup STEER_SEMAPHORE/MCFG_MCR_SELECTOR usage (Nitin Gote)
- Use common code to emit flush (Tvrtko Ursulin)
- Add/extend more HW workarounds and tunings for Xe2 and Xe3
(Sk Anirban, Tangudu Tilak Tirumalesh, Nitin Gote, Chaitanya Kumar Borah)
- Add a generic dependency scheduler to help with TLB invalidations
and future scenarios (Matthew Brost)
- Use DRM scheduler for delayed GT TLB invalidations (Matthew Brost)
- Error out on incorrect device use in configfs
(Michal Wajdeczko, Lucas De Marchi)
- Refactor configfs attributes (Michal Wajdeczko / Lucas De Marchi)
- Allow configuring future VF devices via configfs (Michal Wajdeczko)
- Implement some missing XeLP workarounds (Tvrtko Ursulin)
- Generalize WA BB setup/emission and add support for
mid context restore BB, aka indirect context (Tvrtko Ursulin)
- Prepare the driver to expose mmio regions to userspace
in future (Ilia Levi)
- Add more GuC load error status codes (John Harrison)
- Document DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING (Priyanka Dandamudi)
- Disable CSC and RPM on VFs (Lukasz Laguna, Satyanarayana K V P)
- Fix oops in xe_gem_fault with PREEMPT_RT (Maarten Lankhorst)
- Skip LMTT update if no LMEM was provisioned (Michal Wajdeczko)
- Add support to VF migration (Tomasz Lis)
- Use a helper for guc_waklv_enable functions (Jonathan Cavitt)
- Prepare GPU SVM for migration of THP (Francois Dugast)
- Program LMTT directory pointer on all GTs within a tile
(Piotr Piórkowski)
- Rename XE_WA to XE_GT_WA to better convey its scope vs the device WAs
(Matt Atwood)
- Allow to match devices on PCI devid/vendorid only (Lucas De Marchi)
- Improve PDE PAT index selection (Matthew Brost)
- Consolidate ASID allocation in xe_vm_create() vs
xe_vm_create_ioctl() (Piotr Piórkowski)
- Resize VF BARS to max possible size according to number of VFs
(Michał Winiarski)
- Untangle vm_bind_ioctl cleanup order (Christoph Manszewski)
- Start fixing usage of XE_PAGE_SIZE vs PAGE_SIZE to improve
compatibility with non-x86 arch (Simon Richter)
- Improve tile vs gt initialization order and accounting
(Gustavo Sousa)
- Extend WA kunit test to PTL
- Ensure data is initialized before transferring to pcode
(Stuart Summers)
- Add PSMI support for HW validation (Lucas De Marchi,
Vinay Belgaumkar, Badal Nilawar)
- Improve xe_dma_buf test (Thomas Hellström, Marcin Bernatowicz)
- Fix basename() usage in generator with !glibc (Carlos Llamas)
- Ensure GT is in C0 during resumes (Xin Wang)
- Add TLB invalidation abstraction (Matt Brost, Stuart Summers)
- Make MI_TLB_INVALIDATE conditional on migrate (Matthew Auld)
- Prepare xe_nvm to be initialized early for future use cases
(Riana Tauro)

----------------------------------------------------------------
Ashutosh Dixit (1):
drm/xe/oa: Fix static checker warning about null gt

Badal Nilawar (1):
drm/xe/psmi: Add Wa_14020001231

Balasubramani Vivekanandan (1):
drm/xe/devcoredump: Defer devcoredump initialization during probe

Carlos Llamas (1):
drm/xe: switch to local xbasename() helper

Chaitanya Kumar Borah (1):
drm/xe/wcl: Extend L3bank mask workaround

Christoph Manszewski (2):
drm/xe: Fix vm_bind_ioctl double free bug
drm/xe: Untangle vm_bind_ioctl cleanup order

Dan Carpenter (3):
drm/xe: Fix a NULL vs IS_ERR() bug in xe_i2c_register_adapter()
drm/xe: Fix an IS_ERR() vs NULL bug in xe_tile_alloc_vram()
drm/xe/vf: Fix IS_ERR() vs NULL check in xe_sriov_vf_ccs_init()

Francois Dugast (6):
drm/pagemap: Rename drm_pagemap_device_addr to drm_pagemap_addr
drm/pagemap: Use struct drm_pagemap_addr in mapping and copy functions
drm/pagemap: DMA map folios when possible
drm/pagemap: Allocate folios when possible
drm/xe/migrate: Populate struct drm_pagemap_addr array
drm/xe/svm: Migrate folios when possible

Gustavo Sousa (2):
drm/xe: Probe for tile count during device info initialization
drm/xe: Use for_each_gt to define gt_count

Harish Chegondi (1):
drm/xe: Remove unnecessary EU stall debug message

Himal Prasad Ghimiray (21):
drm/xe/uapi: Add madvise interface
drm/xe/vm: Add attributes struct as member of vma
drm/xe/vma: Move pat_index to vma attributes
drm/xe/vma: Modify new_vma to accept struct xe_vma_mem_attr as parameter
drm/xe/svm: Split system allocator vma incase of madvise call
drm/xe: Allow CPU address mirror VMA unbind with gpu bindings for madvise
drm/xe/svm: Add xe_svm_ranges_zap_ptes_in_range() for PTE zapping
drm/xe: Implement madvise ioctl for xe
drm/xe/svm: Add svm ranges migration policy on atomic access
drm/xe/madvise: Update migration policy based on preferred location
drm/xe/svm: Support DRM_XE_SVM_MEM_RANGE_ATTR_PAT memory attribute
drm/xe/uapi: Add flag for consulting madvise hints on svm prefetch
drm/xe/svm: Consult madvise preferred location in prefetch
drm/xe/bo: Add attributes field to xe_bo
drm/xe/bo: Update atomic_access attribute on madvise
drm/xe/madvise: Skip vma invalidation if mem attr are unchanged
drm/xe/vm: Add helper to check for default VMA memory attributes
drm/xe: Reset VMA attributes to default in SVM garbage collector
drm/xe: Enable madvise ioctl for xe
drm/xe/uapi: Add UAPI for querying VMA count and memory attributes
drm/xe/uapi: Fix kernel-doc formatting for madvise and vma_query

Ilia Levi (1):
drm/xe: Support for mmap-ing mmio regions

John Harrison (1):
drm/xe/guc: Add more GuC load error status codes

Jonathan Cavitt (1):
drm/xe/xe_guc_ads: Consolidate guc_waklv_enable functions

Karthik Poosa (1):
drm/xe/hwmon: Add SW clamp for power limits writes

Lucas De Marchi (15):
drm/xe: Fix build without debugfs
drm/intel/pciids: Add match on vendor/id only
Merge drm/drm-next into drm-xe-next
drm/xe/psmi: Add GuC flag to enable PSMI
drm/xe/psmi: Add debugfs interface for PSMI
drm/xe/rtp: Add match for psmi
drm/xe/configfs: Simplify kernel doc
drm/xe/configfs: Allow to enable PSMI
drm/xe/configfs: Use guard() for dev->lock
drm/xe/configfs: Use tree-like output in documentation
drm/xe/configfs: Improve documentation steps
drm/xe/configfs: Minor fixes to documentation
drm/xe/configfs: Dump custom settings when binding
Merge drm/drm-next into drm-xe-next
drm/xe/configfs: Block runtime attribute changes

Lukasz Laguna (2):
drm/xe/vf: Don't register I2C devices if VF
drm/xe/vf: Disable CSC support on VF

Maarten Lankhorst (1):
drm/xe: Fix oops in xe_gem_fault when running core_hotunplug test.

Marcin Bernatowicz (1):
drm/xe/tests: Make cross-device dma-buf BOs CPU-visible on small BAR

Matt Atwood (2):
drm/xe: rename XE_WA to XE_GT_WA
drm/xe: Update function names for GT specific workarounds

Matthew Auld (5):
drm/xe/migrate: prevent infinite recursion
drm/xe/migrate: don't overflow max copy size
drm/xe/migrate: prevent potential UAF
drm/xe: rework PDE PAT index selection
drm/xe/migrate: make MI_TLB_INVALIDATE conditional

Matthew Brost (15):
drm/xe: Explicitly mark migration queues with flag
drm/xe: Add generic dependecy jobs / scheduler
drm/xe: Create ordered workqueue for GT TLB invalidation jobs
drm/xe: Add dependency scheduler for GT TLB invalidations to bind queues
drm/xe: Add GT TLB invalidation jobs
drm/xe: Use GT TLB invalidation jobs in PT layer
drm/xe: Remove unused GT TLB invalidation trace points
drm/xe: Don't trigger rebind on initial dma-buf validation
drm/xe: s/tlb_invalidation/tlb_inval
drm/xe: Add xe_tlb_inval structure
drm/xe: Add xe_gt_tlb_invalidation_done_handler
drm/xe: Decouple TLB invalidations from GT
drm/xe: Prep TLB invalidation fence before sending
drm/xe: Add helpers to send TLB invalidations
drm/xe: Split TLB invalidation code in frontend and backend

Michal Wajdeczko (25):
drm/xe: Move debugfs GT attributes under tile directory
drm/xe/pf: Enable SR-IOV PF mode by default
drm/xe: Enable SR-IOV for ADL/ATSM
drm/xe: Enable SR-IOV for TGL
drm/xe: Make GGTT TLB invalidation failure message GT oriented
drm/xe/guc: Clear whole g2h_fence during initialization
drm/xe/configfs: Fix pci_dev reference leak
drm/xe/configfs: Enforce canonical device names
drm/xe/configfs: Use pci_name() for lookup
drm/xe/hw_engine_group: Don't use drm_warn to catch missed case
drm/xe/pf: Skip LMTT update if no LMEM was provisioned
drm/xe/pf: Disable PF restart worker on device removal
drm/xe/pf: Make sure PF is ready to configure VFs
drm/xe/pf: Don't resume device from restart worker
drm/xe: Simplify module initialization code
drm/xe: Print module init abort code
drm/xe/configfs: Destroy xe_configfs.su_mutex on exit/error
drm/xe/configfs: Drop redundant init() error message
drm/xe/configfs: Rename struct xe_config_device
drm/xe/configfs: Rename configfs_find_group() helper
drm/xe/configfs: Reintroduce struct xe_config_device
drm/xe/configfs: Keep default device config settings together
drm/xe/configfs: Only allow configurations for supported devices
drm/xe/configfs: Allow adding configurations for future VFs
drm/xe/kunit: Extend platform generator with PTL

Michał Winiarski (1):
drm/xe/pf: Set VF LMEM BAR size

Nitin Gote (2):
drm/xe: Rename MCFG_MCR_SELECTOR to STEER_SEMAPHORE
drm/xe/tuning: Apply "Disable NULL query for Anyhit Shader" to Xe2

Piotr Piórkowski (8):
drm/xe: Use devm_ioremap_wc for VRAM mapping and drop manual unmap
drm/xe: Use dynamic allocation for tile and device VRAM region structures
drm/xe: Move struct xe_vram_region to a dedicated header
drm/xe: Split xe_migrate allocation from initialization
drm/xe: Unify the initialization of VRAM regions
drm/xe/pf: Program LMTT directory pointer on all GTs within a tile
drm/xe: Assign ioctl xe file handler to vm in xe_vm_create
drm/xe: Move ASID allocation and user PT BO tracking into xe_vm_create

Priyanka Dandamudi (1):
drm/xe/uapi: Add documentation for DRM_XE_GEM_CREATE_FLAG_DEFER_BACKING

Raag Jadav (2):
drm/xe: Don't fail probe on unsupported mailbox command
drm/xe/i2c: Introduce xe_i2c_present()

Riana Tauro (11):
drm/xe: Add documentation for Xe Device Wedging
drm: Add a vendor-specific recovery method to drm device wedged uevent
drm/xe: Set GT as wedged before sending wedged uevent
drm/xe: Add a helper function to set recovery method
drm/xe/xe_survivability: Refactor survivability mode
drm/xe/xe_survivability: Add support for Runtime survivability mode
drm/xe/doc: Document device wedged and runtime survivability
drm/xe: Add support to handle hardware errors
drm/xe/xe_hw_error: Handle CSC Firmware reported Hardware errors
drm/xe/xe_hw_error: Add fault injection to trigger csc error handler
drm/xe/nvm: Use root tile mmio

Satyanarayana K V P (6):
drm/xe/vf: Create contexts for CCS read write
drm/xe/vf: Attach and detach CCS copy commands with BO
drm/xe/vf: Register CCS read/write contexts with Guc
drm/xe/vf: Fix VM crash during VF driver release
drm/xe/vf: Refactor CCS save/restore to use default migration context
drm/xe/pm: Disable RPM for SR-IOV VFs

Shuicheng Lin (1):
drm/xe/hw_engine_group: Avoid call kfree() for drmm_kzalloc()

Simon Richter (2):
Mark xe driver as BROKEN if kernel page size is not 4kB
drm/xe: Make page size consistent in loop

Sk Anirban (1):
drm/xe/ptl: Apply Wa_16026007364

Soham Purkait (1):
drm/xe/xe_debugfs: Exposure of G-State and pcie link state residency counters through debugfs

Stuart Summers (3):
drm/xe/pcode: Initialize data0 for pcode read routine
drm/xe: Move explicit CT lock in TLB invalidation sequence
drm/xe: Cancel pending TLB inval workers on teardown

Tangudu Tilak Tirumalesh (1):
drm/xe: Extend wa_13012615864 to additional Xe2 and Xe3 platforms

Thomas Hellström (5):
drm/xe: Defer buffer object shrinker write-backs and GPU waits
drm/xe/vm: Don't pin the vm_resv during validation
drm/xe/tests/xe_dma_buf: Set the drm_object::dma_buf member
drm/xe/vm: Clear the scratch_pt pointer on error
drm/xe: Fix incorrect migration of backed-up object to VRAM

Tomasz Lis (8):
drm/xe/sa: Avoid caching GGTT address within the manager
drm/xe/vf: Pause submissions during RESFIX fixups
drm/xe: Block reset while recovering from VF migration
drm/xe/vf: Rebase HWSP of all contexts after migration
drm/xe/vf: Rebase MEMIRQ structures for all contexts after migration
drm/xe/vf: Post migration, repopulate ring area for pending request
drm/xe/vf: Refresh utilization buffer during migration recovery
drm/xe/vf: Rebase exec queue parallel commands during migration recovery

Tvrtko Ursulin (3):
drm/xe: Use emit_flush_imm_ggtt helper instead of open coding
drm/xe/xelp: Implement Wa_16010904313
drm/xe/xelp: Add Wa_18022495364

Vinay Belgaumkar (1):
drm/xe/psmi: Add Wa_16023683509

Xin Wang (2):
drm/xe: make xe_gt_idle_disable_c6() handle the forcewake internally
drm/xe: Ensure GT is in C0 during resumes

Zbigniew Kempczyński (1):
drm/xe/xe_sync: avoid race during ufence signaling

Zhanjun Dong (1):
drm/xe/uc: Fix missing unwind goto

Documentation/gpu/drm-uapi.rst | 47 +-
Documentation/gpu/xe/index.rst | 1 +
Documentation/gpu/xe/xe_device.rst | 10 +
Documentation/gpu/xe/xe_pcode.rst | 6 +-
drivers/gpu/drm/drm_drv.c | 2 +
drivers/gpu/drm/drm_gpusvm.c | 4 +-
drivers/gpu/drm/drm_pagemap.c | 142 +++--
drivers/gpu/drm/xe/Makefile | 10 +-
drivers/gpu/drm/xe/abi/guc_actions_abi.h | 8 +
drivers/gpu/drm/xe/abi/guc_errors_abi.h | 3 +
drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 2 +
drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 2 +-
drivers/gpu/drm/xe/display/xe_display_wa.c | 2 +-
drivers/gpu/drm/xe/display/xe_fb_pin.c | 5 +-
drivers/gpu/drm/xe/display/xe_plane_initial.c | 5 +-
drivers/gpu/drm/xe/instructions/xe_mi_commands.h | 1 +
drivers/gpu/drm/xe/regs/xe_engine_regs.h | 3 +
drivers/gpu/drm/xe/regs/xe_gsc_regs.h | 2 +
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 2 +-
drivers/gpu/drm/xe/regs/xe_hw_error_regs.h | 20 +
drivers/gpu/drm/xe/regs/xe_irq_regs.h | 1 +
drivers/gpu/drm/xe/regs/xe_pmt.h | 10 +
drivers/gpu/drm/xe/tests/xe_dma_buf.c | 13 +-
drivers/gpu/drm/xe/tests/xe_pci.c | 7 +
drivers/gpu/drm/xe/tests/xe_wa_test.c | 1 +
drivers/gpu/drm/xe/xe_assert.h | 4 +-
drivers/gpu/drm/xe/xe_bb.c | 35 ++
drivers/gpu/drm/xe/xe_bb.h | 3 +
drivers/gpu/drm/xe/xe_bo.c | 94 +++-
drivers/gpu/drm/xe/xe_bo.h | 4 +-
drivers/gpu/drm/xe/xe_bo_types.h | 12 +
drivers/gpu/drm/xe/xe_configfs.c | 346 ++++++++++---
drivers/gpu/drm/xe/xe_configfs.h | 4 +
drivers/gpu/drm/xe/xe_debugfs.c | 114 ++++
drivers/gpu/drm/xe/xe_dep_job_types.h | 29 ++
drivers/gpu/drm/xe/xe_dep_scheduler.c | 143 +++++
drivers/gpu/drm/xe/xe_dep_scheduler.h | 21 +
drivers/gpu/drm/xe/xe_device.c | 112 +++-
drivers/gpu/drm/xe/xe_device.h | 1 +
drivers/gpu/drm/xe/xe_device_sysfs.c | 8 +-
drivers/gpu/drm/xe/xe_device_types.h | 86 +---
drivers/gpu/drm/xe/xe_eu_stall.c | 4 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 111 ++++
drivers/gpu/drm/xe/xe_exec_queue.h | 5 +
drivers/gpu/drm/xe/xe_exec_queue_types.h | 15 +
drivers/gpu/drm/xe/xe_gen_wa_oob.c | 10 +-
drivers/gpu/drm/xe/xe_ggtt.c | 15 +-
drivers/gpu/drm/xe/xe_gpu_scheduler.c | 13 +
drivers/gpu/drm/xe/xe_gpu_scheduler.h | 1 +
drivers/gpu/drm/xe/xe_gsc.c | 6 +-
drivers/gpu/drm/xe/xe_gt.c | 34 +-
drivers/gpu/drm/xe/xe_gt_debugfs.c | 56 +-
drivers/gpu/drm/xe/xe_gt_idle.c | 21 +-
drivers/gpu/drm/xe/xe_gt_idle.h | 2 +-
drivers/gpu/drm/xe/xe_gt_mcr.c | 4 +-
drivers/gpu/drm/xe/xe_gt_pagefault.c | 35 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf.c | 24 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 13 +-
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 14 +
drivers/gpu/drm/xe/xe_gt_sriov_vf.h | 1 +
drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c | 596 ---------------------
drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h | 40 --
drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h | 32 --
drivers/gpu/drm/xe/xe_gt_topology.c | 2 +-
drivers/gpu/drm/xe/xe_gt_types.h | 33 +-
drivers/gpu/drm/xe/xe_guc.c | 43 +-
drivers/gpu/drm/xe/xe_guc_ads.c | 123 ++---
drivers/gpu/drm/xe/xe_guc_buf.c | 2 +-
drivers/gpu/drm/xe/xe_guc_ct.c | 8 +-
drivers/gpu/drm/xe/xe_guc_fwif.h | 7 +
drivers/gpu/drm/xe/xe_guc_pc.c | 23 +-
drivers/gpu/drm/xe/xe_guc_submit.c | 209 +++++++-
drivers/gpu/drm/xe/xe_guc_submit.h | 10 +
drivers/gpu/drm/xe/xe_guc_tlb_inval.c | 242 +++++++++
drivers/gpu/drm/xe/xe_guc_tlb_inval.h | 19 +
drivers/gpu/drm/xe/xe_guc_types.h | 6 +
drivers/gpu/drm/xe/xe_heci_gsc.c | 2 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 2 +-
drivers/gpu/drm/xe/xe_hw_engine_group.c | 4 +-
drivers/gpu/drm/xe/xe_hw_error.c | 182 +++++++
drivers/gpu/drm/xe/xe_hw_error.h | 15 +
drivers/gpu/drm/xe/xe_hwmon.c | 8 +-
drivers/gpu/drm/xe/xe_i2c.c | 18 +-
drivers/gpu/drm/xe/xe_i2c.h | 2 +
drivers/gpu/drm/xe/xe_irq.c | 4 +
drivers/gpu/drm/xe/xe_lmtt.c | 21 +-
drivers/gpu/drm/xe/xe_lrc.c | 174 ++++++-
drivers/gpu/drm/xe/xe_lrc.h | 9 +
drivers/gpu/drm/xe/xe_migrate.c | 424 +++++++++++----
drivers/gpu/drm/xe/xe_migrate.h | 29 +-
drivers/gpu/drm/xe/xe_mmio.c | 33 --
drivers/gpu/drm/xe/xe_mmio_gem.c | 226 ++++++++
drivers/gpu/drm/xe/xe_mmio_gem.h | 20 +
drivers/gpu/drm/xe/xe_module.c | 29 +-
drivers/gpu/drm/xe/xe_nvm.c | 8 +-
drivers/gpu/drm/xe/xe_oa.c | 8 +-
drivers/gpu/drm/xe/xe_pci.c | 76 ++-
drivers/gpu/drm/xe/xe_pci_types.h | 2 +-
drivers/gpu/drm/xe/xe_pm.c | 23 +-
drivers/gpu/drm/xe/xe_psmi.c | 306 +++++++++++
drivers/gpu/drm/xe/xe_psmi.h | 14 +
drivers/gpu/drm/xe/xe_pt.c | 238 +++++----
drivers/gpu/drm/xe/xe_pt_types.h | 3 +-
drivers/gpu/drm/xe/xe_pxp_submit.c | 2 +-
drivers/gpu/drm/xe/xe_query.c | 13 +-
drivers/gpu/drm/xe/xe_res_cursor.h | 10 +-
drivers/gpu/drm/xe/xe_ring_ops.c | 22 +-
drivers/gpu/drm/xe/xe_rtp.c | 7 +
drivers/gpu/drm/xe/xe_rtp.h | 3 +
drivers/gpu/drm/xe/xe_sa.c | 1 -
drivers/gpu/drm/xe/xe_sa.h | 15 +-
drivers/gpu/drm/xe/xe_sa_types.h | 1 -
drivers/gpu/drm/xe/xe_sriov.c | 19 +
drivers/gpu/drm/xe/xe_sriov.h | 1 +
drivers/gpu/drm/xe/xe_sriov_vf.c | 78 ++-
drivers/gpu/drm/xe/xe_sriov_vf_ccs.c | 377 ++++++++++++++
drivers/gpu/drm/xe/xe_sriov_vf_ccs.h | 17 +
drivers/gpu/drm/xe/xe_sriov_vf_ccs_types.h | 53 ++
drivers/gpu/drm/xe/xe_sriov_vf_types.h | 6 +
drivers/gpu/drm/xe/xe_survivability_mode.c | 169 ++++--
drivers/gpu/drm/xe/xe_survivability_mode.h | 5 +-
drivers/gpu/drm/xe/xe_survivability_mode_types.h | 8 +
drivers/gpu/drm/xe/xe_svm.c | 369 ++++++++++---
drivers/gpu/drm/xe/xe_svm.h | 27 +-
drivers/gpu/drm/xe/xe_sync.c | 2 +-
drivers/gpu/drm/xe/xe_tile.c | 62 ++-
drivers/gpu/drm/xe/xe_tile.h | 14 +-
drivers/gpu/drm/xe/xe_tlb_inval.c | 434 ++++++++++++++++
drivers/gpu/drm/xe/xe_tlb_inval.h | 46 ++
drivers/gpu/drm/xe/xe_tlb_inval_job.c | 268 ++++++++++
drivers/gpu/drm/xe/xe_tlb_inval_job.h | 33 ++
drivers/gpu/drm/xe/xe_tlb_inval_types.h | 130 +++++
drivers/gpu/drm/xe/xe_trace.h | 40 +-
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 12 +-
drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 22 +-
drivers/gpu/drm/xe/xe_ttm_vram_mgr.h | 3 +-
drivers/gpu/drm/xe/xe_tuning.c | 2 +-
drivers/gpu/drm/xe/xe_vm.c | 602 ++++++++++++++++++----
drivers/gpu/drm/xe/xe_vm.h | 31 +-
drivers/gpu/drm/xe/xe_vm_madvise.c | 445 ++++++++++++++++
drivers/gpu/drm/xe/xe_vm_madvise.h | 15 +
drivers/gpu/drm/xe/xe_vm_types.h | 57 +-
drivers/gpu/drm/xe/xe_vram.c | 211 +++++---
drivers/gpu/drm/xe/xe_vram.h | 11 +
drivers/gpu/drm/xe/xe_vram_freq.c | 4 +-
drivers/gpu/drm/xe/xe_vram_types.h | 85 +++
drivers/gpu/drm/xe/xe_wa.c | 25 +-
drivers/gpu/drm/xe/xe_wa.h | 8 +-
drivers/gpu/drm/xe/xe_wa_oob.rules | 11 +-
include/drm/drm_device.h | 4 +
include/drm/drm_gpusvm.h | 4 +-
include/drm/drm_pagemap.h | 50 +-
include/drm/intel/pciids.h | 5 +
include/uapi/drm/xe_drm.h | 282 +++++++++-
154 files changed, 7228 insertions(+), 1877 deletions(-)
create mode 100644 Documentation/gpu/xe/xe_device.rst
create mode 100644 drivers/gpu/drm/xe/regs/xe_hw_error_regs.h
create mode 100644 drivers/gpu/drm/xe/xe_dep_job_types.h
create mode 100644 drivers/gpu/drm/xe/xe_dep_scheduler.c
create mode 100644 drivers/gpu/drm/xe/xe_dep_scheduler.h
delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
delete mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
create mode 100644 drivers/gpu/drm/xe/xe_guc_tlb_inval.c
create mode 100644 drivers/gpu/drm/xe/xe_guc_tlb_inval.h
create mode 100644 drivers/gpu/drm/xe/xe_hw_error.c
create mode 100644 drivers/gpu/drm/xe/xe_hw_error.h
create mode 100644 drivers/gpu/drm/xe/xe_mmio_gem.c
create mode 100644 drivers/gpu/drm/xe/xe_mmio_gem.h
create mode 100644 drivers/gpu/drm/xe/xe_psmi.c
create mode 100644 drivers/gpu/drm/xe/xe_psmi.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf_ccs.c
create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf_ccs.h
create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf_ccs_types.h
create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval.c
create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval.h
create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval_job.c
create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval_job.h
create mode 100644 drivers/gpu/drm/xe/xe_tlb_inval_types.h
create mode 100644 drivers/gpu/drm/xe/xe_vm_madvise.c
create mode 100644 drivers/gpu/drm/xe/xe_vm_madvise.h
create mode 100644 drivers/gpu/drm/xe/xe_vram_types.h