mbox series

[PULL] drm-xe-next

Message ID ZXzTA75G5VhCrDis@intel.com (mailing list archive)
State New, archived
Headers show
Series [PULL] drm-xe-next | expand

Pull-request

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2023-12-15-pr1

Message

Rodrigo Vivi Dec. 15, 2023, 10:28 p.m. UTC
Hi Dave and Sima,

Here goes the first pull request for the drm/xe driver.

Our team was focused on putting together a driver that uses most, if not all,
of the key drm concepts and has a functional display that is shared with i915.
All the platforms are still protected by the force_probe protection because they
are either officially supported by i915, or because they are still under
enablement like Lunar Lake.

We still have a lot of work ahead of us, but we believe that it will be better
to work with all of these cross-driver concepts after we are merged to drm-next
along with the other drivers.

Besides the cross-driver collaboration and enabling of upcoming hardware, one of
our key areas will be to improve performance and address reports by users so that
the driver keeps getting better.

I’m having the honor to send this first pull request on behalf of the new team of
maintainers that we are putting together for the xe driver: Lucas, Thomas, and
Oded. I’m going to assist them to get this through and to set up the drm-tip
development flow. Then, you should expect future pull requests coming directly
from them. Likely, with a rotation of duties that they will define by themselves,
but that should be similar to drm-intel and drm-misc.

Thanks,
Rodrigo.

The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:

  Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-12-08 16:27:00 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2023-12-15-pr1

for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:

  MAINTAINERS: Updates to Intel DRM (2023-12-15 16:41:56 -0500)

----------------------------------------------------------------
Introduce a new DRM driver for Intel GPUs

Xe, is a new driver for Intel GPUs that supports both integrated and
discrete platforms. The experimental support starts with Tiger Lake.
i915 will continue be the main production driver for the platforms
up to Meteor Lake and Alchemist. Then the goal is to make this Intel
Xe driver the primary driver for Lunar Lake and newer platforms.

It uses most, if not all, of the key drm concepts, in special: TTM,
drm-scheduler, drm-exec, drm-gpuvm/gpuva and others.

It reuses/shares i915 code for display support.

----------------------------------------------------------------
Alan Previn (1):
      drm/xe/guc: Fix h2g_write usage of GUC_CTB_MSG_MAX_LEN

Alexander Usyskin (1):
      drm/xe/gsc: enable pvc support

Andrzej Hajda (1):
      drm/xe: implement driver initiated function-reset

Animesh Manna (1):
      drm/xe/dsb: DSB implementation for xe

Anshuman Gupta (7):
      drm/xe/pm: Disable PM on unbounded pcie parent bridge
      drm/xe/pm: Add pci d3cold_capable support
      drm/xe/pm: Refactor xe_pm_runtime_init
      drm/xe/pm: Add vram_d3cold_threshold Sysfs
      drm/xe/pm: Toggle d3cold_allowed using vram_usages
      drm/xe/pm: Init pcode and restore vram on power lost
      drm/xe/pm: Add vram_d3cold_threshold for d3cold capable device

Anusha Srivatsa (10):
      drm/xe/huc: Support for loading unversiond HuC
      drm/xe: Load HuC on Alderlake S
      drm/xe: GuC and HuC loading support for RKL
      drm/xe: Add Rocketlake device info
      drm/xe/kunit: Handle fake device creation for all platform/subplatform cases
      drm/xe: Add missing ADL entries to xe_test_wa
      drm/xe/rplu: s/ADLP/ALDERLAKE_P
      drm/xe/rpls: Add RPLS Support
      drm/xe/rpls: Add Stepping info for RPLS
      drm/xe: Add missing ADL entries to xe_test_wa

Aravind Iddamsetty (5):
      drm/xe: Get GT clock to nanosecs
      drm/xe: Use spinlock in forcewake instead of mutex
      drm/xe/pmu: Enable PMU interface
      drm/xe/pmu: Drop interrupt pmu event
      drm/xe: Fix lockdep warning in xe_force_wake calls

Ashutosh Dixit (2):
      drm/xe/uapi: Use common drm_xe_ext_set_property extension
      drm/xe/pmu: Remove PMU from Xe till uapi is finalized

Badal Nilawar (11):
      drm/xe: Donot apply forcewake while reading actual frequency
      drm/xe/mtl: Add support to get C6 residency/status of MTL
      drm/xe/hwmon: Expose power attributes
      drm/xe/hwmon: Expose card reactive critical power
      drm/xe/hwmon: Expose input voltage attribute
      drm/xe/hwmon: Expose hwmon energy attribute
      drm/xe: Extend rpX values extraction for future platforms
      drm/xe/hwmon: Add kernel doc and refactor xe hwmon
      drm/xe/hwmon: Protect hwmon rw attributes with hwmon_lock
      drm/xe/hwmon: Expose power1_max_interval
      drm/xe/mtl: Use 16.67 Mhz freq scale factor to get rpX

Balasubramani Vivekanandan (9):
      drm/xe/gt: Enable interrupt while initializing root gt
      drm/xe: Use max wopcm size when validating the preset GuC wopcm size
      drm/xe: Stop accepting value in xe_migrate_clear
      drm/xe: Keep all resize bar related prints inside xe_resize_vram_bar
      drm/xe/xe2: Add MOCS table
      drm/xe/lnl: Hook up MOCS table
      drm/xe: Leverage ComputeCS read L3 caching
      drm/xe: Add event tracing for CTB
      drm/xe/trace: Optimize trace definition

Bommithi Sakeena (3):
      drm/xe: Ensure mutex are destroyed
      drm/xe: Add a missing mutex_destroy to xe_ttm_vram_mgr
      drm/xe: Encapsulate all the module parameters

Bommu Krishnaiah (2):
      drm/xe/uapi: add exec_queue_id member to drm_xe_wait_user_fence structure
      drm/xe/uapi: Return correct error code for xe_wait_user_fence_ioctl

Brian Welty (12):
      drm/xe: Fix BUG_ON during bind with prefetch
      drm/xe: Fix lockdep warning from xe_vm_madvise
      drm/xe: Simplify xe_res_get_buddy()
      drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region
      drm/xe: Remove unused xe_bo_to_tile
      drm/xe: Replace usage of mem_type_to_tile
      drm/xe: Fix dequeue of access counter work item
      drm/xe: Fix pagefault and access counter worker functions
      drm/xe: Fix unbind of unaccessed VMA (fault mode)
      drm/xe: Make xe_mmio_tile_vram_size() static
      drm/xe: Support device page faults on integrated platforms
      drm/xe/xe2: Respond to TRTT faults as unsuccessful page fault

Carlos Santa (2):
      drm/xe: Update the list of devices to add even more TGL devices
      drm/xe: stringify the argument to avoid potential vulnerability

Chang, Bruce (2):
      drm/xe: don't auto fall back to execlist mode if guc failed to init
      drm/xe: fix pvc unload issue

Christopher Snowhill (3):
      drm/xe: Enable the compat ioctl functionality
      drm/xe: Add explicit padding to uAPI definition
      drm/xe: Validate uAPI padding and reserved fields

Dani Liberman (3):
      drm/xe: proper setting of irq enabled flag
      drm/xe: change old msi irq api to a new one
      drm/xe: add msix support

Daniele Ceraolo Spurio (36):
      drm/xe: limit GGTT size to GUC_GGTT_TOP
      drm/xe: fix HuC FW ordering for DG1
      drm/xe/slpc: Start SLPC before GuC submission on reset
      drm/xe: fix mcr semaphore locking for MTL
      drm/xe: common function to assign queue name
      drm/xe: base definitions for the GSCCS
      drm/xe: add GSCCS irq support
      drm/xe: add GSCCS ring ops
      drm/xe: GSC forcewake support
      drm/xe: don't expose the GSCCS to users
      drm/xe: enable idle msg and set hysteresis for GSCCS
      drm/xe: fix submissions without vm
      drm/xe: split kernel vs permanent engine flags
      drm/xe: standardize vm-less kernel submissions
      drm/xe/guc: Switch to major-only GuC FW tracking for MTL
      drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()
      drm/xe/uc: Fix uC status tracking
      drm/xe/uc: Add GuC/HuC firmware path overrides
      drm/xe: Add child contexts to the GuC context lookup
      drm/xe/guc: Bump PVC GuC version to 70.9.1
      drm/xe/uc: Prepare for parsing of different header types
      drm/xe/huc: Extract version and binary offset from new HuC headers
      drm/xe/huc: HuC is not supported on GTs that don't have video engines
      drm/xe/huc: Don't re-auth HuC if it's already authenticated
      drm/xe/huc: Define HuC for MTL
      drm/xe/uc: Rework uC version tracking
      drm/xe/gsc: Introduce GSC FW
      drm/xe/gsc: Parse GSC FW header
      drm/xe/gsc: GSC FW load
      drm/xe/gsc: Implement WA 14015076503
      drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
      drm/xe/gsc: Query GSC compatibility version
      drm/xe/gsc: Define GSCCS for MTL
      drm/xe/gsc: Define GSC FW for MTL
      drm/xe/huc: Prepare for 2-step HuC authentication
      drm/xe/huc: HuC authentication via GSC

David Kershner (2):
      drm/xe/xe_migrate.c: Use DPA offset for page table entries.
      drm/xe/tests/xe_migrate.c: Add vram to vram KUNIT test

Dnyaneshwar Bhadane (1):
      drm/xe/xe2: Add initial workarounds

Fei Yang (3):
      drm/xe: set PTE_AE for all platforms supporting it
      drm/xe: timeout needs to be a signed value
      drm/xe: explicitly set GGTT access for GuC DMA

Francois Dugast (57):
      drm/xe: Use global macros to set PM functions
      drm/xe: Fix build without CONFIG_PM_SLEEP
      drm/xe: Fix splat during error dump
      drm/xe: Remove unused define
      drm/xe: Use SPDX-License-Identifier instead of license text
      drm/xe: Group engine related structs
      drm/xe: Fix some formatting issues in uAPI
      drm/xe: Document structures for device query
      drm/xe: Move defines before relevant fields
      drm/xe: Document topology mask query
      drm/xe: Cleanup SPACING style issues
      drm/xe: Cleanup OPEN_BRACE style issues
      drm/xe: Cleanup POINTER_LOCATION style issues
      drm/xe: Cleanup CODE_INDENT style issues
      drm/xe: Cleanup TRAILING_WHITESPACE style issues
      drm/xe: Cleanup COMPLEX_MACRO style issues
      drm/xe: Fix typos
      drm/xe: Prevent flooding the kernel log with XE_IOCTL_ERR
      drm/xe: Cleanup style warnings
      drm/xe: Rely on kmalloc/kzalloc log message
      drm/xe/execlist: Remove leftover printk messages
      drm/xe: Cleanup style warnings and errors
      drm/xe/execlist: Log when using execlist submission
      drm/xe/macro: Remove unused constant
      drm/xe: Prefer WARN() over BUG() to avoid crashing the kernel
      drm/xe: Rename xe_engine.[ch] to xe_exec_queue.[ch]
      drm/xe: Rename engine to exec_queue
      drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
      drm/xe: Replace XE_WARN_ON with drm_warn when just printing a string
      drm/xe: Use Xe assert macros instead of XE_WARN_ON macro
      drm/xe/uapi: Separate VM_BIND's operation and flag
      drm/xe/vm: Remove VM_BIND_OP macro
      drm/xe/uapi: Remove MMIO ioctl
      drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
      drm/xe/display: Use acpi_target_system_state only if ACPI_SLEEP is enabled
      drm/xe/uapi: Remove useless XE_QUERY_CONFIG_NUM_PARAM
      drm/xe/uapi: Remove unused inaccessible memory region
      drm/xe/uapi: Remove unused QUERY_CONFIG_MEM_REGION_COUNT
      drm/xe/uapi: Remove unused QUERY_CONFIG_GT_COUNT
      drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
      drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
      drm/xe/uapi: Change rsvd to pad in struct drm_xe_class_instance
      drm/xe/uapi: Align on a common way to return arrays (memory regions)
      drm/xe/uapi: Align on a common way to return arrays (gt)
      drm/xe/uapi: Align on a common way to return arrays (engines)
      drm/xe/uapi: Remove DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
      drm/xe/uapi: Remove DRM_XE_UFENCE_WAIT_MASK_*
      drm/xe/uapi: Add a comment to each struct
      drm/xe/uapi: Add missing documentation for struct members
      drm/xe/uapi: Document use of size in drm_xe_device_query
      drm/xe/uapi: Document drm_xe_query_config keys
      drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
      drm/xe/uapi: Make constant comments visible in kernel doc
      drm/xe/uapi: Add block diagram of a device
      drm/xe/uapi: Add examples of user space code
      drm/xe/uapi: Move CPU_CACHING defines before doc
      drm/xe/uapi: Move DRM_XE_ACC_GRANULARITY_* where they are used

Gustavo Sousa (15):
      drm/xe: Include only relevant header in xe_module.h
      drm/xe: Get rid of MAKE_INIT_EXIT_FUNCS
      drm/xe: Call exit functions when xe_register_pci_driver() fails
      drm/xe: Do not forget to drm_dev_put() in xe_pci_probe()
      drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
      drm/xe: Fail xe_device_create() if wq allocation fails
      drm/xe: Replace deprecated DRM_ERROR()
      drm/xe/reg_sr: Use a single parameter for xe_reg_sr_apply_whitelist()
      drm/xe/reg_sr: Apply limit to register whitelisting
      drm/xe: Simplify final return from xe_irq_install()
      drm/xe/irq: Clear GFX_MSTR_IRQ as part of IRQ reset
      drm/xe/rtp: Fix doc for XE_RTP_ACTIONS
      drm/xe/xelpmp: Add Wa_16021867713
      drm/xe/mmio: Move xe_mmio_wait32() to xe_mmio.c
      drm/xe/mmio: Make xe_mmio_wait32() aware of interrupts

Haridhar Kalvala (6):
      drm/xe: Adjust mocs field mask definitions
      drm/xe: Rename MEM_SET instruction
      drm/xe/xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4
      drm/xe/xe2: Update MOCS fields in blitter instructions
      drm/xe: Add Wa_14019877138
      drm/xe: ATS-M device ID update

Himal Prasad Ghimiray (12):
      drm/xe: Notify Userspace when gt reset fails
      drm/xe: Introduce fault injection for gt reset
      drm/xe/xe2: Determine bios enablement for flat ccs on igfx
      drm/xe/xe2: Modify main memory to ccs memory ratio.
      drm/xe/xe2: Allocate extra pages for ccs during bo create
      drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
      drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
      drm/xe/xe2: Update chunk size for each iteration of ccs copy
      drm/xe/xe2: Update emit_pte to use compression enabled PAT index
      drm/xe/xe2: Handle flat ccs move for igfx.
      drm/xe/xe2: Modify xe_bo_test for system memory
      drm/xe/xe2: Support flat ccs

Janga Rahul Kumar (1):
      drm/Xe: Use EOPNOTSUPP instead of ENOTSUPP

Jani Nikula (3):
      drm/xe: make compound literal initialization const
      drm/xe/irq: the irq handler local variable need not be static
      drm/xe/mmio: add xe_mmio_read16()

Jonathan Cavitt (1):
      drm/xe: clear the serviced bits on INTR_IDENTITY_REG

José Roberto de Souza (17):
      drm/xe/uapi: Rename XE_ENGINE_PROPERTY_X to XE_ENGINE_SET_PROPERTY_X
      drm/xe/uapi: Add XE_ENGINE_GET_PROPERTY uAPI
      drm/xe: Initialize ret in mcr_lock()
      drm/xe: Fix size of xe_eu_mask_t
      drm/xe: Add max engine priority to xe query
      drm/xe: Limit the system memory size to half of the system memory
      drm/xe: Enable Raptorlake-P
      drm/xe: Set default MOCS value for cs instructions
      drm/xe: Set default MOCS value for copy cs instructions
      drm/xe: Replace PVC check by engine type check
      drm/xe: Fix RING_MI_MODE label in devcoredump
      drm/xe: Fix devcoredump readout of IPEHR
      drm/xe: Remove devcoredump readout of IPEIR
      drm/xe: Set PTE_AE for smem allocations in integrated devices
      drm/xe: Include RPL-U to pciidlist
      drm/xe: Add missing RPL and ADL
      drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof

Jouni Högander (9):
      drm/xe/display: Add struct i915_active for Xe
      drm/xe/display: Add macro to get i915 device from xe_bo
      drm/xe/display: Add frontbuffer setter/getter for xe_bo
      drm/xe/display: Add i915_active.h compatibility header
      drm/xe/display: Add empty def for i915_gem_object_flush_if_display
      drm/xe/display: Add empty define for i915_ggtt_clear_scanout
      drm/xe/display: Xe stolen memory handling for fbc support
      drm/xe/display: Add i915_gem.h compatibility header
      drm/xe/display: Add Xe implementation for fence checks used by fbc code

Juha-Pekka Heikkila (2):
      drm/xe/display: Don't try to use vram if not available
      drm/xe/display: Add writing of remapped dpt

Koby Elbaz (10):
      drm/xe: add 28-bit address support in struct xe_reg
      drm/xe: add read/write support for MMIO extension space
      drm/xe: add a flag to bypass multi-tile config from MTCFG reg
      drm/xe: add MMIO extension support flags
      drm/xe: map MMIO BAR according to the num of tiles in device desc
      drm/xe: refactor xe_mmio_probe_tiles to support MMIO extension
      drm/xe: move the lmem verification code into a separate function
      drm/xe/display: fix error handling flow when device probing fails
      drm/xe: add skip_pcode flag
      drm/xe: rename bypass_mtcfg to skip_mtcfg

Lucas De Marchi (176):
      drm/xe/ggtt: Use BIT_ULL() for 64bit
      drm/xe: Fix some log messages on 32b
      drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
      drm/xe: Fix tracepoints on 32b
      drm/xe/gt: Fix min() with u32 and u64
      drm/xe: Add documentation for mem_type
      drm/xe: Add min config for kunit integration ARCH=um
      drm/xe: Fix typo in MCR documentation
      drm/xe: Fix xe_tuning include
      drm/xe: Remove TODO from rtp infra
      drm/xe: Remove TODO from workaround documentation
      drm/xe/mcr: Use designated init for xe_steering_types
      drm/xe/mcr: Add SQIDI steering for DG2
      drm/xe: Rename xe_rtp_regval to xe_rtp_action
      drm/xe/rtp: Split action and entry flags
      drm/xe/rtp: Support multiple actions per entry
      drm/xe: Make local functions static
      drm/xe: Fix application of LRC tunings
      drm/xe: Remove unused functions
      drm/xe: Add missing doc for xe parameter
      drm/xe: Add missing include xe_wait_user_fence.h
      drm/xe: Remove duplicate media_ver
      drm/xe: Remove outdated build workaround
      drm/xe/guc: Remove i915_regs.h include
      drm/xe: Fix kunit integration due to missing prototypes
      drm/xe: Sort includes
      drm/xe: Remove dependency on intel_engine_regs.h
      drm/xe: Remove dependency on intel_gt_regs.h
      drm/xe: Remove dependency on intel_lrc_reg.h
      drm/xe: Remove dependency on intel_gpu_commands.h
      drm/xe: Remove dependency on i915_reg.h
      drm/xe/guc_pc: Move gt register to the proper place
      drm/xe: Remove dependency on intel_mchbar_regs.h
      drm/xe: Prefer single underscore for header guards
      drm/xe: Do not spread i915_reg_defs.h include
      drm/xe/device: Prefer the drm-managed mutex_init
      drm/xe: Fix typo persitent->persistent
      drm/xe: Fix duplicated setting for register 0x6604
      drm/xe: Fix ROW_CHICKEN2 define
      drm/xe/mcr: Add L3BANK steering for DG2
      drm/xe/mcr: Document how to initialize group/instance
      drm/xe: Allow const propagation in gt_to_xe()
      drm/xe: Constify xe_dss_mask_group_ffs()
      drm/xe/rtp: Move match function from wa to rtp
      drm/xe/rtp: Add match for render reset domain
      drm/xe: Remove dump function from reg_sr
      drm/xe: Name LRC wa after the engine it belongs
      drm/xe/pvc: Remove A* steppings
      drm/xe/rtp: Add match helper for gslice fused off
      drm/xe/reg_sr: Tweak verbosity for register printing
      drm/xe: Print whitelist while applying
      drm/xe/debugfs: Dump register save-restore tables
      drm/xe: Reorder WAs to consider the platform
      drm/xe: Add PVC gt workarounds
      drm/xe: Add PVC engine workarounds
      drm/xe: Add missing DG2 gt workarounds and tunings
      drm/xe: Add missing DG2 engine workarounds
      drm/xe: Add missing DG2 lrc tunings
      drm/xe: Add missing DG2 lrc workarounds
      drm/xe: Add missing ADL-P engine workaround
      drm/xe: Add missing LRC workarounds for graphics 1200
      drm/xe: Replace i915 with xe in uapi
      drm/xe/mcr: Separate version from engine type selection
      drm/xe: Remove unused revid from firmware name
      drm/xe: Fix platform order
      drm/xe: Extract function to initialize xe->info
      drm/xe: Move test infra out of xe_pci.[ch]
      drm/xe: Use symbol namespace for kunit tests
      drm/xe: Generalize fake device creation
      drm/xe/reg_sr: Save errors for kunit integration
      drm/xe: Add basic unit tests for rtp
      drm/xe: Add test for GT workarounds and tunings
      drm/xe: Update GuC/HuC firmware autoselect logic
      drm/xe: Always log GuC/HuC firmware versions
      drm/xe: Cleanup page-related defines
      drm/xe: Rename RC0/RC6 macros
      drm/xe: Rename instruction field to avoid confusion
      drm/xe/guc: Rename GEN11_SOFT_SCRATCH for clarity
      drm/xe/guc: Move GuC registers to regs/
      drm/xe/guc: Convert GuC registers to REG_FIELD/REG_BIT
      drm/xe: Drop gen afixes from registers
      drm/xe: Use REG_FIELD/REG_BIT for all regs/*.h
      drm/xe: Clarify register types on PAT programming
      drm/xe: Introduce xe_reg/xe_reg_mcr
      drm/xe: Use XE_REG/XE_REG_MCR
      drm/xe: Annotate masked registers used by RTP
      drm/xe: Plumb xe_reg into WAs, rtp, etc
      drm/xe: Move helper macros to separate header
      drm/xe: Fix media detection for pre-GMD_ID platforms
      drm/xe: Do not mark 1809175790 as a WA
      drm/xe: Fix comment on Wa_22013088509
      drm/xe/guc: Remove special handling for PVC A*
      drm/xe/guc: Handle RCU_MODE as masked from definition
      drm/xe/mmio: Use struct xe_reg
      drm/xe: Rename reg field to addr
      drm/xe: Fix indent in xe_hw_engine_print_state()
      drm/xe: Load HuC on Alderlake P
      drm/xe: Fix Wa_22011802037 annotation
      drm/xe/rtp: Split rtp process initialization
      drm/xe/rtp: Replace XE_WARN_ON
      drm/xe/rtp: Add "_sr" to entry/function names
      drm/xe/rtp: Allow to track active workarounds
      drm/xe/wa: Track gt/engine/lrc active workarounds
      drm/xe/debugfs: Dump active workarounds
      drm/xe/rtp: Rename STEP to GRAPHICS_STEP
      drm/xe/rtp: Add check for media stepping
      drm/xe/rtp: Add support for entries with no action
      drm/xe: Include build directory
      drm/xe: Add support for OOB workarounds
      drm/xe/guc: Port Wa_22012773006 to xe_wa
      drm/xe/guc: Port Wa_16011759253 to xe_wa
      drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
      drm/xe/guc: Port Wa_16011777198 to xe_wa
      drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
      drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
      drm/xe/guc: Port Wa_1509372804 to xe_wa
      drm/xe/rtp: Also check gt type
      drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
      drm/xe: Rename pte/pde encoding functions
      drm/xe/guc: Fix typo s/enabled/enable/
      drm/xe/guc: Normalize error messages with %#x
      drm/xe: Skip applying copy engine fuses
      drm/xe: Normalize XE_VM_FLAG* names
      drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
      drm/xe: Fix checking for unset value
      drm/xe: Remove vma arg from xe_pte_encode()
      drm/xe: Decouple vram check from xe_bo_addr()
      drm/xe: Set PTE_DM bit for stolen on MTL
      drm/xe: Fix MTL+ stolen memory mapping
      drm/xe: Carve out top of DSM as reserved
      drm/xe: Sort xe_regs.h
      drm/xe: Fix error path in xe_guc_pc_gucrc_disable()
      drm/xe: Fix error path in xe_guc_pc_start()
      drm/xe: Update ARL-S DevIDs to the latest BSpec
      drm/xe/pat: Use 0 instead of space on error
      drm/xe/reg_sr: Simplify check for masked registers
      drm/xe/reg_sr: Use xe_gt_dbg
      drm/xe: Add dbg messages for LRC WAs
      drm/xe: Fix LRC workarounds
      drm/xe/mmio: Account for GSI offset when checking ranges
      drm/xe: Accept a const xe device
      drm/xe: Normalize pte/pde encoding
      drm/xe: Remove check for vma == NULL
      drm/xe: Use vfunc for pte/pde ppgtt encoding
      drm/xe/migrate: Do not hand-encode pte
      drm/xe: Use vfunc to initialize PAT
      drm/xe/dg2: Fix using wrong PAT table
      drm/xe/pat: Prefer the arch/IP names
      drm/xe/pat: Keep track of relevant indexes
      drm/xe: Use pat_index to encode pde/pte
      drm/xe: Use vfunc for ggtt pte encoding
      drm/xe/xe2: Extend reserved stolen sizes
      drm/xe/xe2: Add missing mocs entry
      drm/xe/vm: Prefer xe_assert() over XE_WARN_ON()
      drm/xe/xe2: Follow XeHPC for TLB invalidation
      drm/xe/xe2: Add one more bit to encode PAT to ppgtt entries
      drm/xe/pat: Add debugfs node to dump PAT
      drm/xe/gt: Dump PAT table when failing to initialize
      drm/xe: Fix WA 14010918519 write to wrong register
      drm/xe: Fix build with KUNIT=m
      drm/xe/display: Silence kernel-doc warnings related to display
      drm/xe: Fold GEN11_MOCS_ENTRIES into gen12_mocs_desc
      drm/xe/mocs: Bring comment about mocs back to reality
      drm/xe: Remove GEN[0-9]*_ prefixes
      drm/xe: Fix modpost warning on kunit modules
      drm/xe: Sync MTL PCI IDs with i915
      drm/xe: Expand XE_REG_OPTION_MASKED documentation
      drm/xe/kunit: Remove handling of XE_TEST_SUBPLATFORM_ANY
      drm/xe/kunit: Move fake pci data to test-priv
      drm/xe/kunit: Add stub to read_gmdid
      drm/xe/kunit: Test WAs for MTL and LNL
      drm/xe: Rename info.supports_* to info.has_*
      drm/xe: Return error if drm_buddy_init() fails
      drm/xe/bo: Remove unusued variable
      drm/xe/display: Fix dummy __i915_inject_probe_error()
      drm/xe: Enable W=1 warnings by default

Maarten Lankhorst (11):
      drm/xe: Implement stolen memory.
      drm/xe: Fix hidden gotcha regression with bo create
      drm/xe: Convert memory device refcount to s32
      drm/xe: Map initial FB at the same place in GGTT too
      drm/xe: Add debugfs for dumping GGTT mappings
      drm/xe: Use atomic instead of mutex for xe_device_mem_access_ongoing
      drm/xe: Remove extra xe_mmio_read32 from xe_mmio_wait32
      drm/xe: Prevent evicting for page tables
      drm/xe: Fix error paths of __xe_bo_create_locked
      drm/xe/display: Implement display support
      drm/xe/display: Improve s2idle handling.

Matt Atwood (2):
      drm/xe: Add infrastructure for per engine tuning
      drm/xe: add gt tuning for indirect state

Matt Roper (131):
      drm/xe: Remove gen-based mmio offsets from hw engine init
      drm/xe: Assume MTL's forcewake register continues to future platforms
      drm/xe/mocs: Drop unwanted TGL table
      drm/xe/mocs: Add missing RKL handling
      drm/xe/mocs: Drop xe_mocs_info_index
      drm/xe/mocs: Drop duplicate assignment of uc_index
      drm/xe/mocs: LNCF MOCS settings only need to be restored on pre-Xe_HP
      drm/xe/mocs: Drop HAS_RENDER_L3CC flag
      drm/xe/guc: Handle regset overflow check for entire GT
      drm/xe: Separate engine fuse handling into dedicated functions
      drm/xe: Add support for CCS engine fusing
      drm/xe/pat: Move PAT setup to a dedicated file
      drm/xe/pat: Use table-based programming of PAT settings
      drm/xe/pat: Handle unicast vs MCR PAT registers
      drm/xe/pat: Clean up PAT register definitions
      drm/xe/mtl: Fix PAT table coherency settings
      drm/xe/mtl: Handle PAT_INDEX offset jump
      drm/xe/pat: Define PAT tables as static
      drm/xe: Include hardware prefetch buffer in batchbuffer allocations
      drm/xe: Adjust batchbuffer space warning when creating a job
      drm/xe: Don't emit extra MI_BATCH_BUFFER_END in WA batchbuffer
      drm/xe/irq: Drop gen3_ prefixes
      drm/xe/irq: Add helpers to find ISR/IIR/IMR/IER registers
      drm/xe/irq: Drop IRQ_INIT and IRQ_RESET macros
      drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
      drm/xe/irq: Rename and clarify top-level interrupt handling routines
      drm/xe/irq: Drop remaining "gen11_" prefix from IRQ functions
      drm/xe/irq: Drop commented-out code for non-existent media engines
      drm/xe/irq: Don't clobber display interrupts on multi-tile platforms
      drm/xe: Start splitting xe_device_desc into graphics/media structures
      drm/xe: Set require_force_probe in each platform's description
      drm/xe: Move most platform traits to graphics IP
      drm/xe: Move engine masks into IP descriptor structures
      drm/xe: Clarify GT counting logic
      drm/xe: Add printable name to IP descriptors
      drm/xe: Select graphics/media descriptors from GMD_ID
      drm/xe: Add KUnit test for xe_pci.c IP engine lists
      drm/xe: Clean up xe_device_desc
      drm/xe: Let primary and media GT share a kernel_bb_pool
      drm/xe: Use packed bitfields for xe->info feature flags
      drm/xe: Track whether platform has LLC
      drm/xe: Only request PCODE_WRITE_MIN_FREQ_TABLE on LLC platforms
      drm/xe/sr: Apply masked registers properly
      drm/xe: Fix xe_mmio_rmw32 operation
      drm/xe: Drop GFX_FLSH_CNTL_GEN6 write during GGTT invalidation
      drm/xe/adlp: Add revid => step mapping
      drm/xe/adln: Enable ADL-N
      drm/xe: Add stepping support for GMD_ID platforms
      drm/xe/pvc: Don't try to invalidate AuxCCS TLB
      drm/xe/mtl: Disable media GT
      drm/xe: Introduce xe_tile
      drm/xe: Add backpointer from gt to tile
      drm/xe: Add for_each_tile iterator
      drm/xe: Move register MMIO into xe_tile
      drm/xe: Move GGTT from GT to tile
      drm/xe: Move VRAM from GT to tile
      drm/xe: Memory allocations are tile-based, not GT-based
      drm/xe: Move migration from GT to tile
      drm/xe: Clarify 'gt' retrieval for primary tile
      drm/xe: Drop vram_id
      drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE
      drm/xe: Allocate GT dynamically
      drm/xe: Add media GT to tile
      drm/xe: Interrupts are delivered per-tile, not per-GT
      drm/xe/irq: Move ASLE backlight interrupt logic
      drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask
      drm/xe/irq: Untangle postinstall functions
      drm/xe: Replace xe_gt_irq_postinstall with xe_irq_enable_hwe
      drm/xe: Invalidate TLB on all affected GTs during GGTT updates
      drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations
      drm/xe: Allow GT looping and lookup on standalone media
      drm/xe: Update query uapi to support standalone media
      drm/xe: Reinstate media GT support
      drm/xe: Add kerneldoc description of multi-tile devices
      drm/xe: Reformat xe_guc_regs.h
      drm/xe: Initialize MOCS earlier
      drm/xe: Don't hardcode GuC's MOCS index in register header
      drm/xe/wa: Extend scope of Wa_14015795083
      drm/xe/mtl: Add some initial MTL workarounds
      drm/xe: Return GMD_ID revid properly
      drm/xe: Don't raise error on fused-off media
      drm/xe: Print proper revid value for unknown media revision
      drm/xe: Enable PCI device earlier
      drm/xe/mtl: Map PPGTT as CPU:WC
      drm/xe: xe_engine_create_ioctl should check gt_count, not tile_count
      drm/xe/mtl: Reduce Wa_14018575942 scope to the CCS engine
      drm/xe: Add Wa_14015150844 for DG2 and Xe_LPG
      drm/xe: Stop tracking 4-tile support
      drm/xe/xe2: Update render/compute context image sizes
      drm/xe/xe2: Add GT topology readout
      drm/xe/xe2: Add MCR register steering for primary GT
      drm/xe/xe2: Add MCR register steering for media GT
      drm/xe/xe2: Update context image layouts
      drm/xe/xe2: Handle fused-off CCS engines
      drm/xe/xe2: AuxCCS is no longer used
      drm/xe/xe2: Define Xe2_LPG IP features
      drm/xe/xe2: Define Xe2_LPM IP features
      drm/xe/xe2: Track VA bits independently of max page table level
      drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond
      drm/xe/lnl: Add LNL platform definition
      drm/xe/lnl: Add GuC firmware definition
      drm/xe: Avoid 64-bit register reads
      drm/xe: Drop xe_mmio_write64()
      drm/xe/wa: Apply tile workarounds at probe/resume
      drm/xe: Infer service copy functionality from engine list
      drm/xe/tuning: Add missing engine class rules for LRC tuning
      drm/xe/xe2: Program PAT tables
      drm/xe: Make MI_FLUSH_DW immediate size more explicit
      drm/xe: Separate number of registers from MI_LRI opcode
      drm/xe: Clarify number of dwords/qwords stored by MI_STORE_DATA_IMM
      drm/xe: Extract MI_* instructions to their own header
      drm/xe/debugfs: Add dump of default LRCs' MI instructions
      drm/xe/debugfs: Include GFXPIPE commands in LRC dump
      drm/xe: Prepare to emit non-register state while recording default LRC
      drm/xe: Emit SVG state on RCS during driver load on DG2 and MTL
      drm/xe/xe2: Update SVG state handling
      drm/xe/mocs: MOCS registers are multicast on Xe_HP and beyond
      drm/xe/xe2: Program correct MOCS registers
      drm/xe: Add Wa_14019821291
      drm/xe: Drop EXECLIST_CONTROL from error state dump
      drm/xe/dg2: Wa_18028616096 now applies to all DG2
      drm/xe/dg2: Drop Wa_22014600077
      drm/xe: Remove duplicate RING_MAX_NONPRIV_SLOTS definition
      drm/xe: Drop "_REG" suffix from CSFE_CHICKEN1
      drm/xe: Move some per-engine register definitions to the engine header
      drm/xe: Fix whitespace in register definitions
      drm/xe: Move engine base offsets to engine register header
      drm/xe: Move GSC HECI base offsets out of register header
      drm/xe: Define interrupt vector bits with the interrupt registers
      drm/xe: Re-sort GT register header
      drm/xe: Drop some unnecessary header includes

Matthew Auld (94):
      drm/xe/pcode: fix pcode error check
      drm/xe/bo: reduce xe_bo_create_pin_map() restrictions
      drm/xe/ppgtt: clear the scratch page
      drm/xe/ppgtt: fix scratch page usage on DG2
      drm/xe/ggtt: fix alignment usage for DG2
      drm/xe/ggtt: fix GGTT scratch usage for DG2
      drm/xe/mmio: fix forcewake ref leak in xe_mmio_ioctl
      drm/xe/stolen: don't map stolen on small-bar
      drm/xe/query: zero the region info
      drm/xe/pm: fix unbalanced ref handling
      drm/xe: prefer xe_bo_create_pin_map()
      drm/xe/bo: explicitly reject zero sized BO
      drm/xe: s/lmem/vram/
      drm/xe: one more s/lmem/vram/
      drm/xe: add xe_ttm_stolen_cpu_access_needs_ggtt()
      drm/xe/vram: start tracking the io_size
      drm/xe/buddy: remove the virtualized start
      drm/xe/buddy: add visible tracking
      drm/xe/buddy: add compatible and intersects hooks
      drm/xe/gt: some error handling fixes
      drm/xe: add XE_BO_CREATE_VRAM_MASK
      drm/xe/bo: refactor try_add_vram
      drm/xe: fix suspend-resume for dgfx
      drm/xe/mmio: stop incorrectly triggering drm_warn
      drm/xe/tlb: fix expected_seqno calculation
      drm/xe/sched_job: prefer dma_fence_is_later
      drm/xe/lrc: give start_seqno a better default
      drm/xe: fix tlb_invalidation_seqno_past()
      drm/xe: fix kernel-doc issues
      drm/xe/bo: further limit where CCS pages are needed
      drm/xe/migrate: retain CCS aux state for vram -> vram
      drm/xe: don't allocate under ct->lock
      drm/xe: keep pulling mem_access_get further back
      drm/xe/vm: fix double list add
      drm/xe/bo: handle PL_TT -> PL_TT
      drm/xe/uapi: restrict system wide accounting
      drm/xe/uapi: add some kernel-doc for region query
      drm/xe/uapi: silence kernel-doc errors
      drm/doc: include xe_drm.h
      drm/xe/bo: consider bo->flags in xe_bo_migrate()
      drm/xe/tlb: drop unnecessary smp_wmb()
      drm/xe/tlb: ensure we access seqno_recv once
      drm/xe: hold mem_access.ref for CT fast-path
      drm/xe/ct: hold fast_lock when reserving space for g2h
      drm/xe/tlb: increment next seqno after successful CT send
      drm/xe/ct: serialise fast_lock during CT disable
      drm/xe/gt: tweak placement for signalling TLB fences after GT reset
      drm/xe/tlb: also update seqno_recv during reset
      drm/xe/tlb: print seqno_recv on fence TLB timeout
      drm/xe/ct: update g2h outstanding for CTB capture
      drm/xe: handle TLB invalidations from CT fast-path
      drm/xe/mmio: update gt_count when probing multi-tile
      drm/xe: fix xe_device_mem_access_get() races
      drm/xe/vm: tidy up xe_runtime_pm usage
      drm/xe/debugfs: grab mem_access around forcewake
      drm/xe/guc_pc: add missing mem_access for freq_rpe_show
      drm/xe/mmio: grab mem_access in xe_mmio_ioctl
      drm/xe: ensure correct access_put ordering
      drm/xe: drop xe_device_mem_access_get() from guc_ct_send
      drm/xe/ggtt: prime ggtt->lock against FS_RECLAIM
      drm/xe: drop xe_device_mem_access_get() from invalidation_vma
      drm/xe: add lockdep annotation for xe_device_mem_access_get()
      drm/xe/selftests: hold rpm for evict_test_run_device()
      drm/xe/selftests: hold rpm for ccs_test_migrate()
      drm/xe/selftests: restart GT after xe_bo_restore_kernel()
      drm/xe: add missing bulk_move reset
      drm/xe: add lockdep annotation for xe_device_mem_access_put()
      drm/xe/bo: support tiered vram allocation for small-bar
      drm/xe/uapi: add the userspace bits for small-bar
      drm/xe: fully turn on small-bar support
      drm/xe/engine: add missing rpm for bind engines
      drm/xe/guc_submit: prevent repeated unregister
      drm/xe: don't warn for bogus pagefaults
      drm/xe/guc_submit: fixup deregister in job timeout
      drm/xe: skip rebind_list if vma destroyed
      drm/xe/ct: fix resv_space print
      drm/xe: nuke GuC on unload
      drm/xe: fix has_llc on rkl
      drm/xe/selftests: consider multi-GT for eviction test
      drm/xe/selftests: make eviction test tile centric
      drm/xe/hwmon: fix uaf on unload
      drm/xe/pat: trim the xelp PAT table
      drm/xe: directly use pat_index for pte_encode
      drm/xe: fix pat[2] programming with 2M/1G pages
      drm/xe/migrate: fix MI_ARB_ON_OFF usage
      drm/xe/bo: consider dma-resv fences for clear job
      drm/xe/bo: sync kernel fences for KMD buffers
      drm/xe/display: ensure clear-color surfaces are cpu mappable
      drm/xe/bo: don't hold dma-resv lock over drm_gem_handle_create
      drm/xe: fix mem_access for early lrc generation
      drm/xe/pat: annotate pat_index with coherency mode
      drm/xe/uapi: support pat_index selection with vm_bind
      drm/xe/mocs: update MOCS table for xe2
      drm/xe: add some debug info for d3cold

Matthew Brost (90):
      drm/xe: Introduce a new DRM driver for Intel GPUs
      drm/xe: Take memory ref on kernel job creation
      drm/xe: Ensure VMA not userptr before calling xe_bo_is_stolen
      drm/xe: Fake pulling gt->info.engine_mask from hwconfig blob
      drm/xe/guc: Report submission version of GuC firmware
      drm/xe/guc: s/xe_guc_send_mmio/xe_guc_mmio_send
      drm/xe/guc: Add support GuC MMIO send / recv
      drm/xe/migrate: Update emit_pte to cope with a size level than 4k
      drm/xe: Don't process TLB invalidation done in CT fast-path
      drm/xe: Break of TLB invalidation into its own file
      drm/xe: Move TLB invalidation variable to own sub-structure in GT
      drm/xe: Add TLB invalidation fence
      drm/xe: Invalidate TLB after unbind is complete
      drm/xe: Kernel doc GT TLB invalidations
      drm/xe: Add TLB invalidation fence ftrace
      drm/xe: Add TDR for invalidation fence timeout cleanup
      drm/xe: Only set VM->asid for platforms that support a ASID
      drm/xe: Delete debugfs entry to issue TLB invalidation
      drm/xe: Add has_range_tlb_invalidation device attribute
      drm/xe: Add range based TLB invalidations
      drm/xe: Propagate error from bind operations to async fence
      drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
      drm/xe: Lock GGTT on when restoring kernel BOs
      drm/xe: Propagate VM unbind error to invalidation fence
      drm/xe: Signal invalidation fence immediately if CT send fails
      drm/xe: Add has_asid to device info
      drm/xe: Add TLB invalidation fence after rebinds issued from execs
      drm/xe: Drop TLB invalidation from ring operations
      drm/xe: Drop zero length arrays
      drm/xe: Reinstate render / compute cache invalidation in ring ops
      drm/xe: Use BO's GT to determine dma_offset when programming PTEs
      drm/xe: Fix potential deadlock handling page faults
      drm/xe: Decrement fault mode counts in xe_vm_close_and_put
      drm/xe: Better error messages for xe_gt_record_default_lrcs
      drm/xe: Always write GEN12_RCU_MODE.GEN12_RCU_MODE_CCS_ENABLE for CCS engines
      drm/xe: Don't grab runtime PM ref in engine create IOCTL
      drm/xe: Allow compute VMs to output dma-fences on binds
      drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
      drm/xe/guc: Read HXG fields from DW1 of G2H response
      drm/xe: Handle unmapped userptr in analyze VM
      drm/xe: Use Xe ordered workqueue for rebind worker
      drm/xe: s/XE_PTE_READ_ONLY/XE_PTE_FLAG_READ_ONLY
      drm/xe: Move XE_PTE_FLAG_READ_ONLY to xe_vm_types.h
      drm/xe: NULL binding implementation
      drm/xe: Long running job update
      drm/xe: Ensure LR engines are not persistent
      drm/xe: Only try to lock external BOs in VM bind
      drm/xe: VM LRU bulk move
      drm/xe: Use internal VM flags in xe_vm_create
      drm/xe: Ban a VM if rebind worker hits an error
      drm/xe: Add helpers to hide struct xe_vma internals
      drm/xe: Remove __xe_vm_bind forward declaration
      drm/xe: Port Xe to GPUVA
      drm/xe: Make bind engines safe
      drm/xe: Remove xe_vma_op_unmap
      drm/xe: Avoid doing rebinds
      drm/xe: Reduce the number list links in xe_vma
      drm/xe: Replace list_del_init with list_del for userptr.invalidate_link cleanup
      drm/xe: Change tile masks from u64 to u8
      drm/xe: Combine destroy_cb and destroy_work in xe_vma into union
      drm/xe: Only alloc userptr part of xe_vma for userptrs
      drm/xe: Use migrate engine for page fault binds
      drm/xe: Always use xe_vm_queue_rebind_worker helper
      drm/xe: Signal out-syncs on VM binds if no operations
      drm/xe: Remove XE_GUC_CT_SELFTEST
      drm/xe: Remove ct->fence_context
      drm/xe: Add define WQ_HEADER_SIZE
      drm/xe: remove header variable from parse_g2h_msg
      drm/xe: Set max pte size when skipping rebinds
      drm/xe: Call __guc_exec_queue_fini_async direct for KERNEL exec_queues
      drm/xe: Convert xe_vma_op_flags to BIT macros
      drm/xe: Fixup unwind on VM ops errors
      drm/gpuva: Add drm_gpuva_for_each_op_reverse
      drm/xe: Fix array of binds
      drm/xe: Fix fence reservation accouting
      drm/xe: Fix exec queue usage for unbinds
      drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
      drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation
      drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue
      drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
      drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
      drm/xe: Remove async worker and rework sync binds
      drm/xe: Fix VM bind out-sync signaling ordering
      drm/xe: Adjust tile_present mask when skipping rebinds
      drm/xe: Use pool of ordered wq for GuC submission
      drm/xe: Only set xe_vma_op.map fields for GPUVA map operations
      drm/xe: Use a flags field instead of bools for VMA create
      drm/xe: Use a flags field instead of bools for sync parse
      drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs
      drm/xe/uapi: Remove sync binds

Mauro Carvalho Chehab (5):
      drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs
      drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION
      drm/xe: skip Kunit tests requiring real hardware when running on UML
      drm/xe/xe_uc_fw: Use firmware files from standard locations
      drm/xe/uapi: Reject bo creation of unaligned size

Michael J. Ruhl (5):
      drm/xe: Rework size helper to be a little more correct
      drm/xe: Simplify rebar sizing
      drm/xe: Size GT device memory correctly
      drm/xe: Rename GPU offset helper to reflect true usage
      drm/xe: REBAR resize should be best effort

Michal Wajdeczko (23):
      drm/xe: Introduce GT oriented log messages
      drm/xe: Use GT oriented log messages in xe_gt.c
      drm/xe: Move Media GuC register definition to regs/
      drm/xe: Change GuC interrupt data
      drm/xe: Introduce Xe assert macros
      drm/xe/guc: Promote guc_to_gt/xe helpers to .h
      drm/xe/guc: Fix wrong assert about full_len
      drm/xe/guc: Copy response data from proper registers
      drm/xe/guc: Fix handling of GUC_HXG_TYPE_NO_RESPONSE_BUSY
      drm/xe/guc: Use valid scratch register for posting read
      drm/xe: Add device flag to indicate SR-IOV support
      drm/xe: Prepare for running in different SR-IOV modes
      drm/xe: Print virtualization mode during probe
      drm/xe/kunit: Return number of iterated devices
      drm/xe/guc: Drop ancient GuC CTB definitions
      drm/xe/guc: Remove obsolete GuC CTB documentation
      drm/xe/guc: Include only required GuC ABI headers
      drm/xe/doc: Include documentation about xe_assert()
      drm/xe: Define DRM_XE_DEBUG_SRIOV config
      drm/xe: Introduce SR-IOV logging macros
      drm/xe/pf: Introduce Local Memory Translation Table
      drm/xe/kunit: Enable CONFIG_PCI_IOV in .kunitconfig
      drm/xe/kunit: Add test for LMTT operations

Michał Winiarski (21):
      drm/xe: Fix uninitialized variables
      drm/xe: Fix check for platform without geometry pipeline
      drm/xe: Fix header guard warning
      drm/xe: Skip calling drm_dev_put on probe error
      drm/xe: Use managed pci_enable_device
      drm/xe/irq: Don't call pci_free_irq_vectors
      drm/xe: Move xe_set_dma_info outside of MMIO setup
      drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
      drm/xe: Split xe_info_init
      drm/xe: Introduce xe_tile_init_early and use at earlier point in probe
      drm/xe: Map the entire BAR0 and hold onto the initial mapping
      drm/xe/device: Introduce xe_device_probe_early
      drm/xe: Don't "peek" into GMD_ID
      drm/xe: Move system memory management init to earlier point in probe
      drm/xe: Move force_wake init to earlier point in probe
      drm/xe: Reorder GGTT init to earlier point in probe
      drm/xe: Add a helper for DRM device-lifetime BO create
      drm/xe/uc: Split xe_uc_fw_init
      drm/xe/uc: Store firmware binary in system-memory backed BO
      drm/xe/uc: Extract xe_uc_sanitize_reset
      drm/xe/guc: Split GuC params used for "hwconfig" and "post-hwconfig"

Mika Kuoppala (4):
      drm/xe: destroy clients engine and vm xarrays on close
      drm/xe: Fix unreffed ptr leak on engine lookup
      drm/xe: Extend drm_xe_vm_bind_op
      drm/xe/vm: Avoid asid lookup if none allocated

Niranjana Vishwanathapura (16):
      drm/xe/migrate: Fix number of PT structs in docbook
      drm/xe/tests: Use proper batch base address
      drm/xe/tests: Set correct expectation
      drm/xe: Use proper vram offset
      drm/xe: Fix memory use after free
      drm/xe: Handle -EDEADLK case in preempt worker
      drm/xe: Handle -EDEADLK case in exec ioctl
      drm/xe: Apply upper limit to sg element size
      drm/xe: Simplify engine class sched_props setting
      drm/xe: Add CONFIG_DRM_XE_PREEMPT_TIMEOUT
      drm/xe/pvc: Blacklist BCS_SWCTRL register
      drm/xe/pvc: Force even num engines to use 64B
      drm/xe/pvc: Use fast copy engines as migrate engine on PVC
      drm/xe: Enable Fixed CCS mode setting
      drm/xe: Allow userspace to configure CCS mode
      drm/xe: Avoid any races around ccs_mode update

Nirmoy Das (3):
      drm/xe/stolen: Exclude reserved lmem portion
      drm/xe: Do not sleep in atomic
      drm/xe: Print GT info on TLB inv failure

Oak Zeng (3):
      drm/xe: Implement HW workaround 14016763929
      drm/xe: Make xe_mem_region struct
      drm/xe: Improve vram info debug printing

Ohad Sharabi (1):
      drm/xe: do not register to PM if GuC is disabled

Pallavi Mishra (5):
      drm/xe: Prevent return with locked vm
      drm/xe: Align size to PAGE_SIZE
      drm/xe: Dump CTB during TLB timeout
      drm/xe/tests: Fix migrate test
      drm/xe/uapi: Add support for CPU caching mode

Paulo Zanoni (5):
      drm/xe: fix bounds checking for 'len' in xe_engine_create_ioctl
      drm/xe: properly check bounds for xe_wait_user_fence_ioctl()
      drm/xe/vm: print the correct 'keep' when printing gpuva ops
      drm/xe/vm: use list_last_entry() to fetch last_op
      drm/xe: fix range printing for debug messages

Philippe Lecluse (4):
      drm/xe: enforce GSMBASE for DG1 instead of BAR2
      drm/xe: fix xe_mmio_total_vram_size
      drm/xe: Fix Meteor Lake rsa issue on guc loading
      drm/xe/mocs: add MTL mocs

Priyanka Dandamudi (1):
      drm/xe/xe_exec_queue: Add check for access counter granularity

Riana Tauro (5):
      drm/xe: Fix overflow in vram manager
      drm/xe/guc_pc: Reorder forcewake and xe_pm_runtime calls
      drm/xe: Fix GT looping for standalone media
      drm/xe: add a new sysfs directory for gtidle properties
      drm/xe: remove gucrc disable from suspend path

Rodrigo Vivi (65):
      drm/xe: Implement a local xe_mmio_wait32
      drm/xe: Stop using i915's range_overflows_t macro.
      drm/xe: Let's return last value read on xe_mmio_wait32.
      drm/xe: Convert guc_ready to regular xe_mmio_wait32
      drm/xe: Wait for success on guc done.
      drm/xe: Remove i915_utils dependency from xe_guc_pc.
      drm/xe: Stop using i915_utils in xe_wopcm.
      drm/xe: Let's avoid i915_utils in the xe_force_wake.
      drm/xe: Convert xe_mmio_wait32 to us so we can stop using wait_for_us.
      drm/xe: Remove i915_utils dependency from xe_pcode.
      drm/xe/guc_pc: Fix Meteor Lake registers.
      drm/xe: Remove unseless xe_force_wake_prune.
      drm/xe: Update comment on why d3cold is still blocked.
      drm/xe: Fix print of RING_EXECLIST_SQ_CONTENTS_HI
      drm/xe: Introduce the dev_coredump infrastructure.
      drm/xe: Do not take any action if our device was removed.
      drm/xe: Extract non mapped regions out of GuC CTB into its own struct.
      drm/xe: Convert GuC CT print to snapshot capture and print.
      drm/xe: Add GuC CT snapshot to xe_devcoredump.
      drm/xe: Introduce guc_submit_types.h with relevant structs.
      drm/xe: Convert GuC Engine print to snapshot capture and print.
      drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
      drm/xe: Convert Xe HW Engine print to snapshot capture and print.
      drm/xe: Add HW Engine snapshot to xe_devcoredump.
      drm/xe: Limit CONFIG_DRM_XE_SIMPLE_ERROR_CAPTURE to itself.
      drm/xe/uapi: Remove XE_QUERY_CONFIG_FLAGS_USE_GUC
      drm/xe: Invert guc vs execlists parameters and info.
      drm/xe: Fix an invalid locking wait context bug
      drm/xe: Invert mask and val in xe_mmio_wait32.
      drm/xe: Only set PCI d3cold_allowed when we are really allowing.
      drm/xe: Move d3cold_allowed decision all together.
      drm/xe: Fix the runtime_idle call and d3cold.allowed decision.
      drm/xe: Only init runtime PM after all d3cold config is in place.
      drm/xe: Ensure memory eviction on s2idle.
      drm/xe/uapi: Typo lingo and other small backwards compatible fixes
      drm/xe/uapi: Remove useless max_page_size
      drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
      drm/xe/uapi: Document drm_xe_query_gt
      drm/xe/uapi: Replace useless 'instance' per unique gt_id
      drm/xe/uapi: Remove unused field of drm_xe_query_gt
      drm/xe/uapi: Rename gts to gt_list
      drm/xe/uapi: Remove GT_TYPE_REMOTE
      drm/xe/uapi: Kill VM_MADVISE IOCTL
      drm/xe/uapi: Rename *_mem_regions masks
      drm/xe/uapi: Rename query's mem_usage to mem_regions
      drm/xe/uapi: Standardize the FLAG naming and assignment
      drm/xe/uapi: Differentiate WAIT_OP from WAIT_MASK
      drm/xe/uapi: Be more specific about the vm_bind prefetch region
      drm/xe/uapi: Separate bo_create placement from flags
      drm/xe/uapi: Split xe_sync types from flags
      drm/xe/uapi: Kill tile_mask
      drm/xe/uapi: Crystal Reference Clock updates
      drm/xe/uapi: Add Tile ID information to the GT info query
      drm/xe/uapi: Fix various struct padding for 64b alignment
      drm/xe/uapi: Move xe_exec after xe_exec_queue
      drm/xe: Remove unused extension definition
      drm/xe/uapi: Kill exec_queue_set_property
      drm/xe: Create a xe_gt_freq component for raw management and sysfs
      drm/xe: Remove vram size info from sysfs
      drm/xe/uapi: Ensure every uapi struct has drm_xe prefix
      drm/xe/uapi: Order sections
      drm/xe/uapi: More uAPI documentation additions and cosmetic updates
      drm/xe/uapi: Document the memory_region bitmask
      drm/xe/uapi: Remove reset uevent for now
      MAINTAINERS: Updates to Intel DRM

Ruthuvikas Ravikumar (1):
      drm/xe: Add mocs kunit

Shekhar Chauhan (6):
      drm/xe/dg2: Remove Wa_15010599737
      drm/xe: Add Wa_18028616096
      drm/xe: Add new DG2 PCI IDs
      drm/xe/dg2: Remove one PCI ID
      drm/xe: Add performance tuning settings for MTL and Xe2
      drm/xe/xelpmp: Extend Wa_22016670082 to Xe_LPM+

Sujaritha Sundaresan (2):
      drm/xe: Change the name of frequency sysfs attributes
      drm/xe: Add frequency throttle reasons sysfs attributes

Suraj Kandpal (1):
      drm/xe/hdcp: Define intel_hdcp_gsc_check_status in Xe

Tejas Upadhyay (26):
      drm/xe: Add sysfs entry for tile
      drm/xe: Add GTs under respective tile sysfs
      drm/xe: Add sysfs entry to report per tile memory size
      drm/xe: Make usable size of VRAM readable
      drm/xe: make GT sysfs init return void
      drm/xe: make kobject type struct as constant
      drm/xe: Add sysfs entries for engines under its GT
      drm/xe: Add sysfs for default engine scheduler properties
      drm/xe: Add job timeout engine property to sysfs
      drm/xe: Add timeslice duration engine property to sysfs
      drm/xe: Add sysfs for preempt reset timeout
      drm/xe: Add min/max cap for engine scheduler properties
      drm/xe: Add drm-client infrastructure
      drm/xe: Interface xe drm client with fdinfo interface
      drm/xe: Add tracking support for bos per client
      drm/xe: Record each drm client with its VM
      drm/xe: Track page table memory usage for client
      drm/xe: Account ring buffer and context state storage
      drm/xe: Implement fdinfo memory stats printing
      drm/xe/xe2: Add workaround 14017421178
      drm/xe/xe2: Add workaround 16021867713
      drm/xe/xe2: Add workaround 14019449301
      drm/xe/xe2: Add workaround 14020013138
      drm/xe/xe2: Add workaround 16020292621
      drm/xe/xe2: Add workaround 14019988906
      drm/xe/xe2: Add workaround 18032095049 and 16021639441

Thomas Hellström (41):
      drm/xe/migrate: Add kerneldoc for the migrate subsystem
      drm/xe/tests: Remove CONFIG_FB dependency
      drm/xe/tests: Grab a memory access reference around the migrate sanity test
      drm/xe/vm: Use the correct vma destroy sequence on userptr failure
      drm/xe: Use a define to set initial seqno for fences
      drm/xe/migrate: Update cpu page-table updates
      drm/xe/tests: Support CPU page-table updates in the migrate test
      drm/xe: Introduce xe_engine_is_idle()
      drm/xe: Use a small negative initial seqno
      drm/xe/tests: Test both CPU- and GPU page-table updates with the migrate test
      drm/xe/vm: Defer vm rebind until next exec if nothing to execute
      drm/xe: Fix the migrate selftest for integrated GPUs
      drm/xe: Support copying of data between system memory bos
      drm/xe: Invalidate TLB also on bind if in scratch page mode
      drm/xe: Emit a render cache flush after each rcs/ccs batch
      drm/xe/bo: Fix swapin when moving to VRAM
      drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
      drm/xe/bo: Gracefully handle errors from ttm_bo_move_accel_cleanup().
      drm/xe/bo: Evict VRAM to TT rather than to system
      drm/xe: Fix vm refcount races
      drm/xe: Make page-table updates using the default engine happen in order
      drm/xe: Introduce a range-fence utility
      drm/xe/bo: Simplify xe_bo_lock()
      drm/xe/vm: Simplify and document xe_vm_lock()
      drm/xe/bo: Remove the lock_no_vm()/unlock_no_vm() interface
      drm/xe: Rework xe_exec and the VM rebind worker to use the drm_exec helper
      drm/xe: Convert pagefaulting code to use drm_exec
      drm/xe: Convert remaining instances of ttm_eu_reserve_buffers to drm_exec
      drm/xe: Reinstate pipelined fence enable_signaling
      drm/xe: Disallow pinning dma-bufs in VRAM
      drm/xe: Update SPDX deprecated license identifier
      drm/xe: Ensure that we don't access the placements array out-of-bounds
      drm/xe/bo: Rename xe_bo_get_sg() to xe_bo_sg()
      drm/xe/bo: Remove leftover trace_printk()
      drm/xe/vm: Fix ASID XA usage
      drm/xe: Internally change the compute_mode and no_dma_fence mode naming
      drm/xe/uapi: Use LR abbrev for long-running vms
      drm/xe: Restrict huge PTEs to 1GiB
      drm/xe: Use NULL PTEs as scratch PTEs
      drm/xe: Use DRM GPUVM helpers for external- and evicted objects
      drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm

Uma Shankar (1):
      drm/xe/display: Create a dummy version for vga decode

Umesh Nerlige Ramappa (3):
      drm/xe: Fix array bounds check for queries
      drm/xe: Set the correct type for xe_to_user_engine_class
      drm/xe: Correlate engine and cpu timestamps with better accuracy

Vinay Belgaumkar (5):
      drm/xe: Raise GT frequency before GuC/HuC load
      drm/xe: Rename xe_gt_idle_sysfs to xe_gt_idle
      drm/xe: Add skip_guc_pc flag
      drm/xe: Manually setup C6 when skip_guc_pc is set
      drm/xe: Check skip_guc_pc before disabling gucrc

Vitaly Lubart (3):
      drm/xe/gsc: add HECI2 register offsets
      drm/xe/gsc: add has_heci_gscfi indication to device
      drm/xe/gsc: add gsc device support

Zbigniew Kempczyński (1):
      drm/xe: Use nanoseconds instead of jiffies in uapi for user fence

Zhanjun Dong (1):
      drm/xe: Add patch version on guc firmware init

 .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   70 +
 Documentation/gpu/driver-uapi.rst                  |    5 +
 Documentation/gpu/drivers.rst                      |    1 +
 Documentation/gpu/xe/index.rst                     |   25 +
 Documentation/gpu/xe/xe_cs.rst                     |    8 +
 Documentation/gpu/xe/xe_debugging.rst              |    7 +
 Documentation/gpu/xe/xe_firmware.rst               |   37 +
 Documentation/gpu/xe/xe_gt_mcr.rst                 |   13 +
 Documentation/gpu/xe/xe_map.rst                    |    8 +
 Documentation/gpu/xe/xe_migrate.rst                |    8 +
 Documentation/gpu/xe/xe_mm.rst                     |   14 +
 Documentation/gpu/xe/xe_pcode.rst                  |   14 +
 Documentation/gpu/xe/xe_pm.rst                     |   14 +
 Documentation/gpu/xe/xe_rtp.rst                    |   20 +
 Documentation/gpu/xe/xe_tile.rst                   |   14 +
 Documentation/gpu/xe/xe_wa.rst                     |   14 +
 MAINTAINERS                                        |   29 +-
 drivers/gpu/drm/Kconfig                            |    2 +
 drivers/gpu/drm/Makefile                           |    1 +
 drivers/gpu/drm/xe/.gitignore                      |    4 +
 drivers/gpu/drm/xe/.kunitconfig                    |   13 +
 drivers/gpu/drm/xe/Kconfig                         |   96 +
 drivers/gpu/drm/xe/Kconfig.debug                   |  107 +
 drivers/gpu/drm/xe/Kconfig.profile                 |   54 +
 drivers/gpu/drm/xe/Makefile                        |  305 ++
 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h    |   46 +
 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h     |   39 +
 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h      |   59 +
 drivers/gpu/drm/xe/abi/guc_actions_abi.h           |  219 ++
 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h      |  249 ++
 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |  127 +
 .../gpu/drm/xe/abi/guc_communication_mmio_abi.h    |   49 +
 drivers/gpu/drm/xe/abi/guc_errors_abi.h            |   37 +
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  322 ++
 drivers/gpu/drm/xe/abi/guc_messages_abi.h          |  234 ++
 .../drm/xe/compat-i915-headers/gem/i915_gem_lmem.h |    1 +
 .../drm/xe/compat-i915-headers/gem/i915_gem_mman.h |   17 +
 .../xe/compat-i915-headers/gem/i915_gem_object.h   |   65 +
 .../gem/i915_gem_object_frontbuffer.h              |   12 +
 .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h  |   11 +
 .../gpu/drm/xe/compat-i915-headers/i915_active.h   |   22 +
 .../drm/xe/compat-i915-headers/i915_active_types.h |   13 +
 .../gpu/drm/xe/compat-i915-headers/i915_config.h   |   19 +
 .../gpu/drm/xe/compat-i915-headers/i915_debugfs.h  |   14 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  233 ++
 .../gpu/drm/xe/compat-i915-headers/i915_fixed.h    |    6 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h  |    9 +
 .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   79 +
 .../drm/xe/compat-i915-headers/i915_gpu_error.h    |   17 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h  |    6 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h  |    6 +
 .../gpu/drm/xe/compat-i915-headers/i915_reg_defs.h |    6 +
 .../gpu/drm/xe/compat-i915-headers/i915_trace.h    |    6 +
 .../gpu/drm/xe/compat-i915-headers/i915_utils.h    |    6 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h |   44 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h  |   34 +
 .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 +
 .../xe/compat-i915-headers/intel_clock_gating.h    |    6 +
 .../drm/xe/compat-i915-headers/intel_gt_types.h    |   11 +
 .../drm/xe/compat-i915-headers/intel_mchbar_regs.h |    6 +
 .../drm/xe/compat-i915-headers/intel_pci_config.h  |    6 +
 .../gpu/drm/xe/compat-i915-headers/intel_pcode.h   |   42 +
 .../drm/xe/compat-i915-headers/intel_runtime_pm.h  |   16 +
 .../gpu/drm/xe/compat-i915-headers/intel_step.h    |   20 +
 .../gpu/drm/xe/compat-i915-headers/intel_uc_fw.h   |   11 +
 .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |  175 ++
 .../gpu/drm/xe/compat-i915-headers/intel_wakeref.h |    8 +
 .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |   28 +
 .../drm/xe/compat-i915-headers/soc/intel_dram.h    |    6 +
 .../drm/xe/compat-i915-headers/soc/intel_gmch.h    |    6 +
 .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h |    6 +
 .../gpu/drm/xe/compat-i915-headers/vlv_sideband.h  |  132 +
 .../drm/xe/compat-i915-headers/vlv_sideband_reg.h  |    6 +
 drivers/gpu/drm/xe/display/ext/i915_irq.c          |   77 +
 drivers/gpu/drm/xe/display/ext/i915_utils.c        |   26 +
 drivers/gpu/drm/xe/display/intel_fb_bo.c           |   74 +
 drivers/gpu/drm/xe/display/intel_fb_bo.h           |   24 +
 drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |  104 +
 drivers/gpu/drm/xe/display/intel_fbdev_fb.h        |   21 +
 drivers/gpu/drm/xe/display/xe_display_misc.c       |   16 +
 drivers/gpu/drm/xe/display/xe_display_rps.c        |   17 +
 drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |   71 +
 drivers/gpu/drm/xe/display/xe_fb_pin.c             |  384 +++
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   34 +
 drivers/gpu/drm/xe/display/xe_plane_initial.c      |  291 ++
 .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |  160 +
 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h  |   36 +
 drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |   33 +
 drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   61 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  184 ++
 drivers/gpu/drm/xe/regs/xe_gpu_commands.h          |   70 +
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |   41 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  478 +++
 drivers/gpu/drm/xe/regs/xe_guc_regs.h              |  143 +
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   17 +
 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h           |   44 +
 drivers/gpu/drm/xe/regs/xe_reg_defs.h              |  120 +
 drivers/gpu/drm/xe/regs/xe_regs.h                  |   68 +
 drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   17 +
 drivers/gpu/drm/xe/tests/Makefile                  |   10 +
 drivers/gpu/drm/xe/tests/xe_bo.c                   |  353 +++
 drivers/gpu/drm/xe/tests/xe_bo_test.c              |   26 +
 drivers/gpu/drm/xe/tests/xe_bo_test.h              |   14 +
 drivers/gpu/drm/xe/tests/xe_dma_buf.c              |  278 ++
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |   25 +
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h         |   13 +
 drivers/gpu/drm/xe/tests/xe_lmtt_test.c            |   73 +
 drivers/gpu/drm/xe/tests/xe_migrate.c              |  444 +++
 drivers/gpu/drm/xe/tests/xe_migrate_test.c         |   25 +
 drivers/gpu/drm/xe/tests/xe_migrate_test.h         |   13 +
 drivers/gpu/drm/xe/tests/xe_mocs.c                 |  130 +
 drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   24 +
 drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   13 +
 drivers/gpu/drm/xe/tests/xe_pci.c                  |  166 +
 drivers/gpu/drm/xe/tests/xe_pci_test.c             |   71 +
 drivers/gpu/drm/xe/tests/xe_pci_test.h             |   36 +
 drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  319 ++
 drivers/gpu/drm/xe/tests/xe_test.h                 |   67 +
 drivers/gpu/drm/xe/tests/xe_wa_test.c              |  170 ++
 drivers/gpu/drm/xe/xe_assert.h                     |  174 ++
 drivers/gpu/drm/xe/xe_bb.c                         |  110 +
 drivers/gpu/drm/xe/xe_bb.h                         |   25 +
 drivers/gpu/drm/xe/xe_bb_types.h                   |   20 +
 drivers/gpu/drm/xe/xe_bo.c                         | 2269 ++++++++++++++
 drivers/gpu/drm/xe/xe_bo.h                         |  355 +++
 drivers/gpu/drm/xe/xe_bo_doc.h                     |  179 ++
 drivers/gpu/drm/xe/xe_bo_evict.c                   |  228 ++
 drivers/gpu/drm/xe/xe_bo_evict.h                   |   15 +
 drivers/gpu/drm/xe/xe_bo_types.h                   |   96 +
 drivers/gpu/drm/xe/xe_debugfs.c                    |  148 +
 drivers/gpu/drm/xe/xe_debugfs.h                    |   13 +
 drivers/gpu/drm/xe/xe_devcoredump.c                |  196 ++
 drivers/gpu/drm/xe/xe_devcoredump.h                |   20 +
 drivers/gpu/drm/xe/xe_devcoredump_types.h          |   55 +
 drivers/gpu/drm/xe/xe_device.c                     |  700 +++++
 drivers/gpu/drm/xe/xe_device.h                     |  173 ++
 drivers/gpu/drm/xe/xe_device_sysfs.c               |   89 +
 drivers/gpu/drm/xe/xe_device_sysfs.h               |   13 +
 drivers/gpu/drm/xe/xe_device_types.h               |  545 ++++
 drivers/gpu/drm/xe/xe_display.c                    |  422 +++
 drivers/gpu/drm/xe/xe_display.h                    |   72 +
 drivers/gpu/drm/xe/xe_dma_buf.c                    |  322 ++
 drivers/gpu/drm/xe/xe_dma_buf.h                    |   15 +
 drivers/gpu/drm/xe/xe_drm_client.c                 |  204 ++
 drivers/gpu/drm/xe/xe_drm_client.h                 |   70 +
 drivers/gpu/drm/xe/xe_drv.h                        |   23 +
 drivers/gpu/drm/xe/xe_exec.c                       |  350 +++
 drivers/gpu/drm/xe/xe_exec.h                       |   14 +
 drivers/gpu/drm/xe/xe_exec_queue.c                 |  956 ++++++
 drivers/gpu/drm/xe/xe_exec_queue.h                 |   69 +
 drivers/gpu/drm/xe/xe_exec_queue_types.h           |  222 ++
 drivers/gpu/drm/xe/xe_execlist.c                   |  474 +++
 drivers/gpu/drm/xe/xe_execlist.h                   |   21 +
 drivers/gpu/drm/xe/xe_execlist_types.h             |   49 +
 drivers/gpu/drm/xe/xe_force_wake.c                 |  199 ++
 drivers/gpu/drm/xe/xe_force_wake.h                 |   38 +
 drivers/gpu/drm/xe/xe_force_wake_types.h           |   86 +
 drivers/gpu/drm/xe/xe_gen_wa_oob.c                 |  165 +
 drivers/gpu/drm/xe/xe_ggtt.c                       |  428 +++
 drivers/gpu/drm/xe/xe_ggtt.h                       |   33 +
 drivers/gpu/drm/xe/xe_ggtt_types.h                 |   39 +
 drivers/gpu/drm/xe/xe_gpu_scheduler.c              |  101 +
 drivers/gpu/drm/xe/xe_gpu_scheduler.h              |   73 +
 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   57 +
 drivers/gpu/drm/xe/xe_gsc.c                        |  438 +++
 drivers/gpu/drm/xe/xe_gsc.h                        |   20 +
 drivers/gpu/drm/xe/xe_gsc_submit.c                 |  184 ++
 drivers/gpu/drm/xe/xe_gsc_submit.h                 |   30 +
 drivers/gpu/drm/xe/xe_gsc_types.h                  |   39 +
 drivers/gpu/drm/xe/xe_gt.c                         |  778 +++++
 drivers/gpu/drm/xe/xe_gt.h                         |   72 +
 drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  191 ++
 drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |   24 +
 drivers/gpu/drm/xe/xe_gt_clock.c                   |   85 +
 drivers/gpu/drm/xe/xe_gt_clock.h                   |   15 +
 drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  249 ++
 drivers/gpu/drm/xe/xe_gt_debugfs.h                 |   13 +
 drivers/gpu/drm/xe/xe_gt_freq.c                    |  219 ++
 drivers/gpu/drm/xe/xe_gt_freq.h                    |   13 +
 drivers/gpu/drm/xe/xe_gt_idle.c                    |  192 ++
 drivers/gpu/drm/xe/xe_gt_idle.h                    |   17 +
 drivers/gpu/drm/xe/xe_gt_idle_types.h              |   38 +
 drivers/gpu/drm/xe/xe_gt_mcr.c                     |  685 +++++
 drivers/gpu/drm/xe/xe_gt_mcr.h                     |   29 +
 drivers/gpu/drm/xe/xe_gt_pagefault.c               |  646 ++++
 drivers/gpu/drm/xe/xe_gt_pagefault.h               |   19 +
 drivers/gpu/drm/xe/xe_gt_printk.h                  |   46 +
 drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   61 +
 drivers/gpu/drm/xe/xe_gt_sysfs.h                   |   19 +
 drivers/gpu/drm/xe/xe_gt_sysfs_types.h             |   26 +
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |  251 ++
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |   16 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  406 +++
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   26 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h  |   28 +
 drivers/gpu/drm/xe/xe_gt_topology.c                |  169 ++
 drivers/gpu/drm/xe/xe_gt_topology.h                |   25 +
 drivers/gpu/drm/xe/xe_gt_types.h                   |  363 +++
 drivers/gpu/drm/xe/xe_guc.c                        |  911 ++++++
 drivers/gpu/drm/xe/xe_guc.h                        |   72 +
 drivers/gpu/drm/xe/xe_guc_ads.c                    |  672 ++++
 drivers/gpu/drm/xe/xe_guc_ads.h                    |   17 +
 drivers/gpu/drm/xe/xe_guc_ads_types.h              |   25 +
 drivers/gpu/drm/xe/xe_guc_ct.c                     | 1320 ++++++++
 drivers/gpu/drm/xe/xe_guc_ct.h                     |   59 +
 drivers/gpu/drm/xe/xe_guc_ct_types.h               |  115 +
 drivers/gpu/drm/xe/xe_guc_debugfs.c                |   74 +
 drivers/gpu/drm/xe/xe_guc_debugfs.h                |   14 +
 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   54 +
 drivers/gpu/drm/xe/xe_guc_fwif.h                   |  361 +++
 drivers/gpu/drm/xe/xe_guc_hwconfig.c               |  104 +
 drivers/gpu/drm/xe/xe_guc_hwconfig.h               |   17 +
 drivers/gpu/drm/xe/xe_guc_log.c                    |   97 +
 drivers/gpu/drm/xe/xe_guc_log.h                    |   48 +
 drivers/gpu/drm/xe/xe_guc_log_types.h              |   23 +
 drivers/gpu/drm/xe/xe_guc_pc.c                     | 1000 ++++++
 drivers/gpu/drm/xe/xe_guc_pc.h                     |   31 +
 drivers/gpu/drm/xe/xe_guc_pc_types.h               |   34 +
 drivers/gpu/drm/xe/xe_guc_submit.c                 | 1990 ++++++++++++
 drivers/gpu/drm/xe/xe_guc_submit.h                 |   38 +
 drivers/gpu/drm/xe/xe_guc_submit_types.h           |  155 +
 drivers/gpu/drm/xe/xe_guc_types.h                  |   81 +
 drivers/gpu/drm/xe/xe_heci_gsc.c                   |  234 ++
 drivers/gpu/drm/xe/xe_heci_gsc.h                   |   35 +
 drivers/gpu/drm/xe/xe_huc.c                        |  307 ++
 drivers/gpu/drm/xe/xe_huc.h                        |   26 +
 drivers/gpu/drm/xe/xe_huc_debugfs.c                |   70 +
 drivers/gpu/drm/xe/xe_huc_debugfs.h                |   14 +
 drivers/gpu/drm/xe/xe_huc_types.h                  |   24 +
 drivers/gpu/drm/xe/xe_hw_engine.c                  |  883 ++++++
 drivers/gpu/drm/xe/xe_hw_engine.h                  |   70 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  675 +++++
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |   36 +
 drivers/gpu/drm/xe/xe_hw_engine_types.h            |  225 ++
 drivers/gpu/drm/xe/xe_hw_fence.c                   |  230 ++
 drivers/gpu/drm/xe/xe_hw_fence.h                   |   30 +
 drivers/gpu/drm/xe/xe_hw_fence_types.h             |   72 +
 drivers/gpu/drm/xe/xe_hwmon.c                      |  776 +++++
 drivers/gpu/drm/xe/xe_hwmon.h                      |   19 +
 drivers/gpu/drm/xe/xe_irq.c                        |  666 ++++
 drivers/gpu/drm/xe/xe_irq.h                        |   19 +
 drivers/gpu/drm/xe/xe_lmtt.c                       |  506 +++
 drivers/gpu/drm/xe/xe_lmtt.h                       |   27 +
 drivers/gpu/drm/xe/xe_lmtt_2l.c                    |  150 +
 drivers/gpu/drm/xe/xe_lmtt_ml.c                    |  161 +
 drivers/gpu/drm/xe/xe_lmtt_types.h                 |   63 +
 drivers/gpu/drm/xe/xe_lrc.c                        | 1272 ++++++++
 drivers/gpu/drm/xe/xe_lrc.h                        |   58 +
 drivers/gpu/drm/xe/xe_lrc_types.h                  |   46 +
 drivers/gpu/drm/xe/xe_macros.h                     |   18 +
 drivers/gpu/drm/xe/xe_map.h                        |   93 +
 drivers/gpu/drm/xe/xe_migrate.c                    | 1410 +++++++++
 drivers/gpu/drm/xe/xe_migrate.h                    |  110 +
 drivers/gpu/drm/xe/xe_migrate_doc.h                |   88 +
 drivers/gpu/drm/xe/xe_mmio.c                       |  524 ++++
 drivers/gpu/drm/xe/xe_mmio.h                       |  107 +
 drivers/gpu/drm/xe/xe_mocs.c                       |  580 ++++
 drivers/gpu/drm/xe/xe_mocs.h                       |   17 +
 drivers/gpu/drm/xe/xe_module.c                     |  101 +
 drivers/gpu/drm/xe/xe_module.h                     |   26 +
 drivers/gpu/drm/xe/xe_pat.c                        |  459 +++
 drivers/gpu/drm/xe/xe_pat.h                        |   61 +
 drivers/gpu/drm/xe/xe_pci.c                        |  951 ++++++
 drivers/gpu/drm/xe/xe_pci.h                        |   12 +
 drivers/gpu/drm/xe/xe_pci_types.h                  |   46 +
 drivers/gpu/drm/xe/xe_pcode.c                      |  296 ++
 drivers/gpu/drm/xe/xe_pcode.h                      |   30 +
 drivers/gpu/drm/xe/xe_pcode_api.h                  |   49 +
 drivers/gpu/drm/xe/xe_platform_types.h             |   37 +
 drivers/gpu/drm/xe/xe_pm.c                         |  405 +++
 drivers/gpu/drm/xe/xe_pm.h                         |   35 +
 drivers/gpu/drm/xe/xe_preempt_fence.c              |  158 +
 drivers/gpu/drm/xe/xe_preempt_fence.h              |   61 +
 drivers/gpu/drm/xe/xe_preempt_fence_types.h        |   32 +
 drivers/gpu/drm/xe/xe_pt.c                         | 1653 ++++++++++
 drivers/gpu/drm/xe/xe_pt.h                         |   48 +
 drivers/gpu/drm/xe/xe_pt_types.h                   |   77 +
 drivers/gpu/drm/xe/xe_pt_walk.c                    |  160 +
 drivers/gpu/drm/xe/xe_pt_walk.h                    |  161 +
 drivers/gpu/drm/xe/xe_query.c                      |  552 ++++
 drivers/gpu/drm/xe/xe_query.h                      |   14 +
 drivers/gpu/drm/xe/xe_range_fence.c                |  156 +
 drivers/gpu/drm/xe/xe_range_fence.h                |   75 +
 drivers/gpu/drm/xe/xe_reg_sr.c                     |  284 ++
 drivers/gpu/drm/xe/xe_reg_sr.h                     |   28 +
 drivers/gpu/drm/xe/xe_reg_sr_types.h               |   37 +
 drivers/gpu/drm/xe/xe_reg_whitelist.c              |  146 +
 drivers/gpu/drm/xe/xe_reg_whitelist.h              |   23 +
 drivers/gpu/drm/xe/xe_res_cursor.h                 |  240 ++
 drivers/gpu/drm/xe/xe_ring_ops.c                   |  482 +++
 drivers/gpu/drm/xe/xe_ring_ops.h                   |   17 +
 drivers/gpu/drm/xe/xe_ring_ops_types.h             |   22 +
 drivers/gpu/drm/xe/xe_rtp.c                        |  325 ++
 drivers/gpu/drm/xe/xe_rtp.h                        |  430 +++
 drivers/gpu/drm/xe/xe_rtp_helpers.h                |   81 +
 drivers/gpu/drm/xe/xe_rtp_types.h                  |  124 +
 drivers/gpu/drm/xe/xe_sa.c                         |  106 +
 drivers/gpu/drm/xe/xe_sa.h                         |   40 +
 drivers/gpu/drm/xe/xe_sa_types.h                   |   19 +
 drivers/gpu/drm/xe/xe_sched_job.c                  |  280 ++
 drivers/gpu/drm/xe/xe_sched_job.h                  |   80 +
 drivers/gpu/drm/xe/xe_sched_job_types.h            |   46 +
 drivers/gpu/drm/xe/xe_sriov.c                      |   55 +
 drivers/gpu/drm/xe/xe_sriov.h                      |   42 +
 drivers/gpu/drm/xe/xe_sriov_printk.h               |   46 +
 drivers/gpu/drm/xe/xe_sriov_types.h                |   28 +
 drivers/gpu/drm/xe/xe_step.c                       |  264 ++
 drivers/gpu/drm/xe/xe_step.h                       |   23 +
 drivers/gpu/drm/xe/xe_step_types.h                 |   50 +
 drivers/gpu/drm/xe/xe_sync.c                       |  344 +++
 drivers/gpu/drm/xe/xe_sync.h                       |   36 +
 drivers/gpu/drm/xe/xe_sync_types.h                 |   28 +
 drivers/gpu/drm/xe/xe_tile.c                       |  185 ++
 drivers/gpu/drm/xe/xe_tile.h                       |   18 +
 drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   57 +
 drivers/gpu/drm/xe/xe_tile_sysfs.h                 |   19 +
 drivers/gpu/drm/xe/xe_tile_sysfs_types.h           |   27 +
 drivers/gpu/drm/xe/xe_trace.c                      |    9 +
 drivers/gpu/drm/xe/xe_trace.h                      |  608 ++++
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |  334 ++
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h             |   21 +
 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |  118 +
 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h                |   13 +
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |  480 +++
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |   44 +
 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h         |   52 +
 drivers/gpu/drm/xe/xe_tuning.c                     |  121 +
 drivers/gpu/drm/xe/xe_tuning.h                     |   16 +
 drivers/gpu/drm/xe/xe_uc.c                         |  258 ++
 drivers/gpu/drm/xe/xe_uc.h                         |   24 +
 drivers/gpu/drm/xe/xe_uc_debugfs.c                 |   26 +
 drivers/gpu/drm/xe/xe_uc_debugfs.h                 |   14 +
 drivers/gpu/drm/xe/xe_uc_fw.c                      |  884 ++++++
 drivers/gpu/drm/xe/xe_uc_fw.h                      |  184 ++
 drivers/gpu/drm/xe/xe_uc_fw_abi.h                  |  321 ++
 drivers/gpu/drm/xe/xe_uc_fw_types.h                |  146 +
 drivers/gpu/drm/xe/xe_uc_types.h                   |   28 +
 drivers/gpu/drm/xe/xe_vm.c                         | 3206 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_vm.h                         |  263 ++
 drivers/gpu/drm/xe/xe_vm_doc.h                     |  555 ++++
 drivers/gpu/drm/xe/xe_vm_types.h                   |  373 +++
 drivers/gpu/drm/xe/xe_wa.c                         |  895 ++++++
 drivers/gpu/drm/xe/xe_wa.h                         |   32 +
 drivers/gpu/drm/xe/xe_wa_oob.rules                 |   24 +
 drivers/gpu/drm/xe/xe_wait_user_fence.c            |  178 ++
 drivers/gpu/drm/xe/xe_wait_user_fence.h            |   15 +
 drivers/gpu/drm/xe/xe_wopcm.c                      |  270 ++
 drivers/gpu/drm/xe/xe_wopcm.h                      |   16 +
 drivers/gpu/drm/xe/xe_wopcm_types.h                |   26 +
 include/drm/drm_gpuvm.h                            |   10 +
 include/drm/xe_pciids.h                            |  190 ++
 include/uapi/drm/xe_drm.h                          | 1347 ++++++++
 352 files changed, 61427 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon
 create mode 100644 Documentation/gpu/xe/index.rst
 create mode 100644 Documentation/gpu/xe/xe_cs.rst
 create mode 100644 Documentation/gpu/xe/xe_debugging.rst
 create mode 100644 Documentation/gpu/xe/xe_firmware.rst
 create mode 100644 Documentation/gpu/xe/xe_gt_mcr.rst
 create mode 100644 Documentation/gpu/xe/xe_map.rst
 create mode 100644 Documentation/gpu/xe/xe_migrate.rst
 create mode 100644 Documentation/gpu/xe/xe_mm.rst
 create mode 100644 Documentation/gpu/xe/xe_pcode.rst
 create mode 100644 Documentation/gpu/xe/xe_pm.rst
 create mode 100644 Documentation/gpu/xe/xe_rtp.rst
 create mode 100644 Documentation/gpu/xe/xe_tile.rst
 create mode 100644 Documentation/gpu/xe/xe_wa.rst
 create mode 100644 drivers/gpu/drm/xe/.gitignore
 create mode 100644 drivers/gpu/drm/xe/.kunitconfig
 create mode 100644 drivers/gpu/drm/xe/Kconfig
 create mode 100644 drivers/gpu/drm/xe/Kconfig.debug
 create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
 create mode 100644 drivers/gpu/drm/xe/Makefile
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_errors_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_klvs_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_messages_abi.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
 create mode 100644 drivers/gpu/drm/xe/display/ext/i915_irq.c
 create mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c
 create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c
 create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
 create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.c
 create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
 create mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_fb_pin.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_instr_defs.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_mi_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_engine_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gpu_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gt_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_guc_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_lrc_layout.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_reg_defs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_sriov_regs.h
 create mode 100644 drivers/gpu/drm/xe/tests/Makefile
 create mode 100644 drivers/gpu/drm/xe/tests/xe_bo.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_lmtt_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c
 create mode 100644 drivers/gpu/drm/xe/xe_assert.h
 create mode 100644 drivers/gpu/drm/xe/xe_bb.c
 create mode 100644 drivers/gpu/drm/xe/xe_bb.h
 create mode 100644 drivers/gpu/drm/xe/xe_bb_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo.c
 create mode 100644 drivers/gpu/drm/xe/xe_bo.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo_doc.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.c
 create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.c
 create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.h
 create mode 100644 drivers/gpu/drm/xe/xe_devcoredump_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_device.c
 create mode 100644 drivers/gpu/drm/xe/xe_device.h
 create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_device_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_display.c
 create mode 100644 drivers/gpu/drm/xe/xe_display.h
 create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.c
 create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.h
 create mode 100644 drivers/gpu/drm/xe/xe_drm_client.c
 create mode 100644 drivers/gpu/drm/xe/xe_drm_client.h
 create mode 100644 drivers/gpu/drm/xe/xe_drv.h
 create mode 100644 drivers/gpu/drm/xe/xe_exec.c
 create mode 100644 drivers/gpu/drm/xe/xe_exec.h
 create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.c
 create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.h
 create mode 100644 drivers/gpu/drm/xe/xe_exec_queue_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_execlist.c
 create mode 100644 drivers/gpu/drm/xe/xe_execlist.h
 create mode 100644 drivers/gpu/drm/xe/xe_execlist_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_force_wake.c
 create mode 100644 drivers/gpu/drm/xe/xe_force_wake.h
 create mode 100644 drivers/gpu/drm/xe/xe_force_wake_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
 create mode 100644 drivers/gpu/drm/xe/xe_ggtt.c
 create mode 100644 drivers/gpu/drm/xe/xe_ggtt.h
 create mode 100644 drivers/gpu/drm/xe/xe_ggtt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.c
 create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.h
 create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_idle_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_printk.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ads_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ct_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_fwif.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_log.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_log.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_log_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_pc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_submit_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.c
 create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.h
 create mode 100644 drivers/gpu/drm/xe/xe_huc.c
 create mode 100644 drivers/gpu/drm/xe/xe_huc.h
 create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_huc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_fence_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_hwmon.c
 create mode 100644 drivers/gpu/drm/xe/xe_hwmon.h
 create mode 100644 drivers/gpu/drm/xe/xe_irq.c
 create mode 100644 drivers/gpu/drm/xe/xe_irq.h
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt.c
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt.h
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt_2l.c
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt_ml.c
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_lrc.c
 create mode 100644 drivers/gpu/drm/xe/xe_lrc.h
 create mode 100644 drivers/gpu/drm/xe/xe_lrc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_macros.h
 create mode 100644 drivers/gpu/drm/xe/xe_map.h
 create mode 100644 drivers/gpu/drm/xe/xe_migrate.c
 create mode 100644 drivers/gpu/drm/xe/xe_migrate.h
 create mode 100644 drivers/gpu/drm/xe/xe_migrate_doc.h
 create mode 100644 drivers/gpu/drm/xe/xe_mmio.c
 create mode 100644 drivers/gpu/drm/xe/xe_mmio.h
 create mode 100644 drivers/gpu/drm/xe/xe_mocs.c
 create mode 100644 drivers/gpu/drm/xe/xe_mocs.h
 create mode 100644 drivers/gpu/drm/xe/xe_module.c
 create mode 100644 drivers/gpu/drm/xe/xe_module.h
 create mode 100644 drivers/gpu/drm/xe/xe_pat.c
 create mode 100644 drivers/gpu/drm/xe/xe_pat.h
 create mode 100644 drivers/gpu/drm/xe/xe_pci.c
 create mode 100644 drivers/gpu/drm/xe/xe_pci.h
 create mode 100644 drivers/gpu/drm/xe/xe_pci_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pcode.c
 create mode 100644 drivers/gpu/drm/xe/xe_pcode.h
 create mode 100644 drivers/gpu/drm/xe/xe_pcode_api.h
 create mode 100644 drivers/gpu/drm/xe/xe_platform_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pm.c
 create mode 100644 drivers/gpu/drm/xe/xe_pm.h
 create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pt.c
 create mode 100644 drivers/gpu/drm/xe/xe_pt.h
 create mode 100644 drivers/gpu/drm/xe/xe_pt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.c
 create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.h
 create mode 100644 drivers/gpu/drm/xe/xe_query.c
 create mode 100644 drivers/gpu/drm/xe/xe_query.h
 create mode 100644 drivers/gpu/drm/xe/xe_range_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_range_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.c
 create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.h
 create mode 100644 drivers/gpu/drm/xe/xe_reg_sr_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.c
 create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.h
 create mode 100644 drivers/gpu/drm/xe/xe_res_cursor.h
 create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.c
 create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.h
 create mode 100644 drivers/gpu/drm/xe/xe_ring_ops_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_rtp.c
 create mode 100644 drivers/gpu/drm/xe/xe_rtp.h
 create mode 100644 drivers/gpu/drm/xe/xe_rtp_helpers.h
 create mode 100644 drivers/gpu/drm/xe/xe_rtp_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sa.c
 create mode 100644 drivers/gpu/drm/xe/xe_sa.h
 create mode 100644 drivers/gpu/drm/xe/xe_sa_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sched_job.c
 create mode 100644 drivers/gpu/drm/xe/xe_sched_job.h
 create mode 100644 drivers/gpu/drm/xe/xe_sched_job_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_printk.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_step.c
 create mode 100644 drivers/gpu/drm/xe/xe_step.h
 create mode 100644 drivers/gpu/drm/xe/xe_step_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sync.c
 create mode 100644 drivers/gpu/drm/xe/xe_sync.h
 create mode 100644 drivers/gpu/drm/xe/xe_sync_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_tile.c
 create mode 100644 drivers/gpu/drm/xe/xe_tile.h
 create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_trace.c
 create mode 100644 drivers/gpu/drm/xe/xe_trace.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_tuning.c
 create mode 100644 drivers/gpu/drm/xe/xe_tuning.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc.c
 create mode 100644 drivers/gpu/drm/xe/xe_uc.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.c
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_abi.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_vm.c
 create mode 100644 drivers/gpu/drm/xe/xe_vm.h
 create mode 100644 drivers/gpu/drm/xe/xe_vm_doc.h
 create mode 100644 drivers/gpu/drm/xe/xe_vm_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_wa.c
 create mode 100644 drivers/gpu/drm/xe/xe_wa.h
 create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules
 create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_wopcm.c
 create mode 100644 drivers/gpu/drm/xe/xe_wopcm.h
 create mode 100644 drivers/gpu/drm/xe/xe_wopcm_types.h
 create mode 100644 include/drm/xe_pciids.h
 create mode 100644 include/uapi/drm/xe_drm.h

Comments

Oded Gabbay Dec. 17, 2023, 12:35 p.m. UTC | #1
On Sat, Dec 16, 2023 at 12:28 AM Rodrigo Vivi <rodrigo.vivi@intel.com> wrote:
>
> Hi Dave and Sima,
>
> Here goes the first pull request for the drm/xe driver.
>
> Our team was focused on putting together a driver that uses most, if not all,
> of the key drm concepts and has a functional display that is shared with i915.
> All the platforms are still protected by the force_probe protection because they
> are either officially supported by i915, or because they are still under
> enablement like Lunar Lake.
>
> We still have a lot of work ahead of us, but we believe that it will be better
> to work with all of these cross-driver concepts after we are merged to drm-next
> along with the other drivers.
>
> Besides the cross-driver collaboration and enabling of upcoming hardware, one of
> our key areas will be to improve performance and address reports by users so that
> the driver keeps getting better.
>
> I’m having the honor to send this first pull request on behalf of the new team of
> maintainers that we are putting together for the xe driver: Lucas, Thomas, and
> Oded. I’m going to assist them to get this through and to set up the drm-tip
> development flow. Then, you should expect future pull requests coming directly
> from them. Likely, with a rotation of duties that they will define by themselves,
> but that should be similar to drm-intel and drm-misc.
>
> Thanks,
> Rodrigo.

Hi Rodrigo,
You and the team did a great job on bringing the driver to this stage. Congrats!

I reviewed a large part of the driver, mainly focusing on init/fini,
ioctls, memory management, dma-buf.
There were multiple issues raised and all of them were fixed/answered
to my satisfaction.

For the PR:
Acked-by: Oded Gabbay <ogabbay@kernel.org>

Thanks,
Oded

>
> The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:
>
>   Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-12-08 16:27:00 +1000)
>
> are available in the Git repository at:
>
>   https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2023-12-15-pr1
>
> for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:
>
>   MAINTAINERS: Updates to Intel DRM (2023-12-15 16:41:56 -0500)
>
> ----------------------------------------------------------------
> Introduce a new DRM driver for Intel GPUs
>
> Xe, is a new driver for Intel GPUs that supports both integrated and
> discrete platforms. The experimental support starts with Tiger Lake.
> i915 will continue be the main production driver for the platforms
> up to Meteor Lake and Alchemist. Then the goal is to make this Intel
> Xe driver the primary driver for Lunar Lake and newer platforms.
>
> It uses most, if not all, of the key drm concepts, in special: TTM,
> drm-scheduler, drm-exec, drm-gpuvm/gpuva and others.
>
> It reuses/shares i915 code for display support.
>
> ----------------------------------------------------------------
> Alan Previn (1):
>       drm/xe/guc: Fix h2g_write usage of GUC_CTB_MSG_MAX_LEN
>
> Alexander Usyskin (1):
>       drm/xe/gsc: enable pvc support
>
> Andrzej Hajda (1):
>       drm/xe: implement driver initiated function-reset
>
> Animesh Manna (1):
>       drm/xe/dsb: DSB implementation for xe
>
> Anshuman Gupta (7):
>       drm/xe/pm: Disable PM on unbounded pcie parent bridge
>       drm/xe/pm: Add pci d3cold_capable support
>       drm/xe/pm: Refactor xe_pm_runtime_init
>       drm/xe/pm: Add vram_d3cold_threshold Sysfs
>       drm/xe/pm: Toggle d3cold_allowed using vram_usages
>       drm/xe/pm: Init pcode and restore vram on power lost
>       drm/xe/pm: Add vram_d3cold_threshold for d3cold capable device
>
> Anusha Srivatsa (10):
>       drm/xe/huc: Support for loading unversiond HuC
>       drm/xe: Load HuC on Alderlake S
>       drm/xe: GuC and HuC loading support for RKL
>       drm/xe: Add Rocketlake device info
>       drm/xe/kunit: Handle fake device creation for all platform/subplatform cases
>       drm/xe: Add missing ADL entries to xe_test_wa
>       drm/xe/rplu: s/ADLP/ALDERLAKE_P
>       drm/xe/rpls: Add RPLS Support
>       drm/xe/rpls: Add Stepping info for RPLS
>       drm/xe: Add missing ADL entries to xe_test_wa
>
> Aravind Iddamsetty (5):
>       drm/xe: Get GT clock to nanosecs
>       drm/xe: Use spinlock in forcewake instead of mutex
>       drm/xe/pmu: Enable PMU interface
>       drm/xe/pmu: Drop interrupt pmu event
>       drm/xe: Fix lockdep warning in xe_force_wake calls
>
> Ashutosh Dixit (2):
>       drm/xe/uapi: Use common drm_xe_ext_set_property extension
>       drm/xe/pmu: Remove PMU from Xe till uapi is finalized
>
> Badal Nilawar (11):
>       drm/xe: Donot apply forcewake while reading actual frequency
>       drm/xe/mtl: Add support to get C6 residency/status of MTL
>       drm/xe/hwmon: Expose power attributes
>       drm/xe/hwmon: Expose card reactive critical power
>       drm/xe/hwmon: Expose input voltage attribute
>       drm/xe/hwmon: Expose hwmon energy attribute
>       drm/xe: Extend rpX values extraction for future platforms
>       drm/xe/hwmon: Add kernel doc and refactor xe hwmon
>       drm/xe/hwmon: Protect hwmon rw attributes with hwmon_lock
>       drm/xe/hwmon: Expose power1_max_interval
>       drm/xe/mtl: Use 16.67 Mhz freq scale factor to get rpX
>
> Balasubramani Vivekanandan (9):
>       drm/xe/gt: Enable interrupt while initializing root gt
>       drm/xe: Use max wopcm size when validating the preset GuC wopcm size
>       drm/xe: Stop accepting value in xe_migrate_clear
>       drm/xe: Keep all resize bar related prints inside xe_resize_vram_bar
>       drm/xe/xe2: Add MOCS table
>       drm/xe/lnl: Hook up MOCS table
>       drm/xe: Leverage ComputeCS read L3 caching
>       drm/xe: Add event tracing for CTB
>       drm/xe/trace: Optimize trace definition
>
> Bommithi Sakeena (3):
>       drm/xe: Ensure mutex are destroyed
>       drm/xe: Add a missing mutex_destroy to xe_ttm_vram_mgr
>       drm/xe: Encapsulate all the module parameters
>
> Bommu Krishnaiah (2):
>       drm/xe/uapi: add exec_queue_id member to drm_xe_wait_user_fence structure
>       drm/xe/uapi: Return correct error code for xe_wait_user_fence_ioctl
>
> Brian Welty (12):
>       drm/xe: Fix BUG_ON during bind with prefetch
>       drm/xe: Fix lockdep warning from xe_vm_madvise
>       drm/xe: Simplify xe_res_get_buddy()
>       drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region
>       drm/xe: Remove unused xe_bo_to_tile
>       drm/xe: Replace usage of mem_type_to_tile
>       drm/xe: Fix dequeue of access counter work item
>       drm/xe: Fix pagefault and access counter worker functions
>       drm/xe: Fix unbind of unaccessed VMA (fault mode)
>       drm/xe: Make xe_mmio_tile_vram_size() static
>       drm/xe: Support device page faults on integrated platforms
>       drm/xe/xe2: Respond to TRTT faults as unsuccessful page fault
>
> Carlos Santa (2):
>       drm/xe: Update the list of devices to add even more TGL devices
>       drm/xe: stringify the argument to avoid potential vulnerability
>
> Chang, Bruce (2):
>       drm/xe: don't auto fall back to execlist mode if guc failed to init
>       drm/xe: fix pvc unload issue
>
> Christopher Snowhill (3):
>       drm/xe: Enable the compat ioctl functionality
>       drm/xe: Add explicit padding to uAPI definition
>       drm/xe: Validate uAPI padding and reserved fields
>
> Dani Liberman (3):
>       drm/xe: proper setting of irq enabled flag
>       drm/xe: change old msi irq api to a new one
>       drm/xe: add msix support
>
> Daniele Ceraolo Spurio (36):
>       drm/xe: limit GGTT size to GUC_GGTT_TOP
>       drm/xe: fix HuC FW ordering for DG1
>       drm/xe/slpc: Start SLPC before GuC submission on reset
>       drm/xe: fix mcr semaphore locking for MTL
>       drm/xe: common function to assign queue name
>       drm/xe: base definitions for the GSCCS
>       drm/xe: add GSCCS irq support
>       drm/xe: add GSCCS ring ops
>       drm/xe: GSC forcewake support
>       drm/xe: don't expose the GSCCS to users
>       drm/xe: enable idle msg and set hysteresis for GSCCS
>       drm/xe: fix submissions without vm
>       drm/xe: split kernel vs permanent engine flags
>       drm/xe: standardize vm-less kernel submissions
>       drm/xe/guc: Switch to major-only GuC FW tracking for MTL
>       drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()
>       drm/xe/uc: Fix uC status tracking
>       drm/xe/uc: Add GuC/HuC firmware path overrides
>       drm/xe: Add child contexts to the GuC context lookup
>       drm/xe/guc: Bump PVC GuC version to 70.9.1
>       drm/xe/uc: Prepare for parsing of different header types
>       drm/xe/huc: Extract version and binary offset from new HuC headers
>       drm/xe/huc: HuC is not supported on GTs that don't have video engines
>       drm/xe/huc: Don't re-auth HuC if it's already authenticated
>       drm/xe/huc: Define HuC for MTL
>       drm/xe/uc: Rework uC version tracking
>       drm/xe/gsc: Introduce GSC FW
>       drm/xe/gsc: Parse GSC FW header
>       drm/xe/gsc: GSC FW load
>       drm/xe/gsc: Implement WA 14015076503
>       drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
>       drm/xe/gsc: Query GSC compatibility version
>       drm/xe/gsc: Define GSCCS for MTL
>       drm/xe/gsc: Define GSC FW for MTL
>       drm/xe/huc: Prepare for 2-step HuC authentication
>       drm/xe/huc: HuC authentication via GSC
>
> David Kershner (2):
>       drm/xe/xe_migrate.c: Use DPA offset for page table entries.
>       drm/xe/tests/xe_migrate.c: Add vram to vram KUNIT test
>
> Dnyaneshwar Bhadane (1):
>       drm/xe/xe2: Add initial workarounds
>
> Fei Yang (3):
>       drm/xe: set PTE_AE for all platforms supporting it
>       drm/xe: timeout needs to be a signed value
>       drm/xe: explicitly set GGTT access for GuC DMA
>
> Francois Dugast (57):
>       drm/xe: Use global macros to set PM functions
>       drm/xe: Fix build without CONFIG_PM_SLEEP
>       drm/xe: Fix splat during error dump
>       drm/xe: Remove unused define
>       drm/xe: Use SPDX-License-Identifier instead of license text
>       drm/xe: Group engine related structs
>       drm/xe: Fix some formatting issues in uAPI
>       drm/xe: Document structures for device query
>       drm/xe: Move defines before relevant fields
>       drm/xe: Document topology mask query
>       drm/xe: Cleanup SPACING style issues
>       drm/xe: Cleanup OPEN_BRACE style issues
>       drm/xe: Cleanup POINTER_LOCATION style issues
>       drm/xe: Cleanup CODE_INDENT style issues
>       drm/xe: Cleanup TRAILING_WHITESPACE style issues
>       drm/xe: Cleanup COMPLEX_MACRO style issues
>       drm/xe: Fix typos
>       drm/xe: Prevent flooding the kernel log with XE_IOCTL_ERR
>       drm/xe: Cleanup style warnings
>       drm/xe: Rely on kmalloc/kzalloc log message
>       drm/xe/execlist: Remove leftover printk messages
>       drm/xe: Cleanup style warnings and errors
>       drm/xe/execlist: Log when using execlist submission
>       drm/xe/macro: Remove unused constant
>       drm/xe: Prefer WARN() over BUG() to avoid crashing the kernel
>       drm/xe: Rename xe_engine.[ch] to xe_exec_queue.[ch]
>       drm/xe: Rename engine to exec_queue
>       drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
>       drm/xe: Replace XE_WARN_ON with drm_warn when just printing a string
>       drm/xe: Use Xe assert macros instead of XE_WARN_ON macro
>       drm/xe/uapi: Separate VM_BIND's operation and flag
>       drm/xe/vm: Remove VM_BIND_OP macro
>       drm/xe/uapi: Remove MMIO ioctl
>       drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
>       drm/xe/display: Use acpi_target_system_state only if ACPI_SLEEP is enabled
>       drm/xe/uapi: Remove useless XE_QUERY_CONFIG_NUM_PARAM
>       drm/xe/uapi: Remove unused inaccessible memory region
>       drm/xe/uapi: Remove unused QUERY_CONFIG_MEM_REGION_COUNT
>       drm/xe/uapi: Remove unused QUERY_CONFIG_GT_COUNT
>       drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
>       drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
>       drm/xe/uapi: Change rsvd to pad in struct drm_xe_class_instance
>       drm/xe/uapi: Align on a common way to return arrays (memory regions)
>       drm/xe/uapi: Align on a common way to return arrays (gt)
>       drm/xe/uapi: Align on a common way to return arrays (engines)
>       drm/xe/uapi: Remove DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
>       drm/xe/uapi: Remove DRM_XE_UFENCE_WAIT_MASK_*
>       drm/xe/uapi: Add a comment to each struct
>       drm/xe/uapi: Add missing documentation for struct members
>       drm/xe/uapi: Document use of size in drm_xe_device_query
>       drm/xe/uapi: Document drm_xe_query_config keys
>       drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
>       drm/xe/uapi: Make constant comments visible in kernel doc
>       drm/xe/uapi: Add block diagram of a device
>       drm/xe/uapi: Add examples of user space code
>       drm/xe/uapi: Move CPU_CACHING defines before doc
>       drm/xe/uapi: Move DRM_XE_ACC_GRANULARITY_* where they are used
>
> Gustavo Sousa (15):
>       drm/xe: Include only relevant header in xe_module.h
>       drm/xe: Get rid of MAKE_INIT_EXIT_FUNCS
>       drm/xe: Call exit functions when xe_register_pci_driver() fails
>       drm/xe: Do not forget to drm_dev_put() in xe_pci_probe()
>       drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
>       drm/xe: Fail xe_device_create() if wq allocation fails
>       drm/xe: Replace deprecated DRM_ERROR()
>       drm/xe/reg_sr: Use a single parameter for xe_reg_sr_apply_whitelist()
>       drm/xe/reg_sr: Apply limit to register whitelisting
>       drm/xe: Simplify final return from xe_irq_install()
>       drm/xe/irq: Clear GFX_MSTR_IRQ as part of IRQ reset
>       drm/xe/rtp: Fix doc for XE_RTP_ACTIONS
>       drm/xe/xelpmp: Add Wa_16021867713
>       drm/xe/mmio: Move xe_mmio_wait32() to xe_mmio.c
>       drm/xe/mmio: Make xe_mmio_wait32() aware of interrupts
>
> Haridhar Kalvala (6):
>       drm/xe: Adjust mocs field mask definitions
>       drm/xe: Rename MEM_SET instruction
>       drm/xe/xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4
>       drm/xe/xe2: Update MOCS fields in blitter instructions
>       drm/xe: Add Wa_14019877138
>       drm/xe: ATS-M device ID update
>
> Himal Prasad Ghimiray (12):
>       drm/xe: Notify Userspace when gt reset fails
>       drm/xe: Introduce fault injection for gt reset
>       drm/xe/xe2: Determine bios enablement for flat ccs on igfx
>       drm/xe/xe2: Modify main memory to ccs memory ratio.
>       drm/xe/xe2: Allocate extra pages for ccs during bo create
>       drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
>       drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
>       drm/xe/xe2: Update chunk size for each iteration of ccs copy
>       drm/xe/xe2: Update emit_pte to use compression enabled PAT index
>       drm/xe/xe2: Handle flat ccs move for igfx.
>       drm/xe/xe2: Modify xe_bo_test for system memory
>       drm/xe/xe2: Support flat ccs
>
> Janga Rahul Kumar (1):
>       drm/Xe: Use EOPNOTSUPP instead of ENOTSUPP
>
> Jani Nikula (3):
>       drm/xe: make compound literal initialization const
>       drm/xe/irq: the irq handler local variable need not be static
>       drm/xe/mmio: add xe_mmio_read16()
>
> Jonathan Cavitt (1):
>       drm/xe: clear the serviced bits on INTR_IDENTITY_REG
>
> José Roberto de Souza (17):
>       drm/xe/uapi: Rename XE_ENGINE_PROPERTY_X to XE_ENGINE_SET_PROPERTY_X
>       drm/xe/uapi: Add XE_ENGINE_GET_PROPERTY uAPI
>       drm/xe: Initialize ret in mcr_lock()
>       drm/xe: Fix size of xe_eu_mask_t
>       drm/xe: Add max engine priority to xe query
>       drm/xe: Limit the system memory size to half of the system memory
>       drm/xe: Enable Raptorlake-P
>       drm/xe: Set default MOCS value for cs instructions
>       drm/xe: Set default MOCS value for copy cs instructions
>       drm/xe: Replace PVC check by engine type check
>       drm/xe: Fix RING_MI_MODE label in devcoredump
>       drm/xe: Fix devcoredump readout of IPEHR
>       drm/xe: Remove devcoredump readout of IPEIR
>       drm/xe: Set PTE_AE for smem allocations in integrated devices
>       drm/xe: Include RPL-U to pciidlist
>       drm/xe: Add missing RPL and ADL
>       drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
>
> Jouni Högander (9):
>       drm/xe/display: Add struct i915_active for Xe
>       drm/xe/display: Add macro to get i915 device from xe_bo
>       drm/xe/display: Add frontbuffer setter/getter for xe_bo
>       drm/xe/display: Add i915_active.h compatibility header
>       drm/xe/display: Add empty def for i915_gem_object_flush_if_display
>       drm/xe/display: Add empty define for i915_ggtt_clear_scanout
>       drm/xe/display: Xe stolen memory handling for fbc support
>       drm/xe/display: Add i915_gem.h compatibility header
>       drm/xe/display: Add Xe implementation for fence checks used by fbc code
>
> Juha-Pekka Heikkila (2):
>       drm/xe/display: Don't try to use vram if not available
>       drm/xe/display: Add writing of remapped dpt
>
> Koby Elbaz (10):
>       drm/xe: add 28-bit address support in struct xe_reg
>       drm/xe: add read/write support for MMIO extension space
>       drm/xe: add a flag to bypass multi-tile config from MTCFG reg
>       drm/xe: add MMIO extension support flags
>       drm/xe: map MMIO BAR according to the num of tiles in device desc
>       drm/xe: refactor xe_mmio_probe_tiles to support MMIO extension
>       drm/xe: move the lmem verification code into a separate function
>       drm/xe/display: fix error handling flow when device probing fails
>       drm/xe: add skip_pcode flag
>       drm/xe: rename bypass_mtcfg to skip_mtcfg
>
> Lucas De Marchi (176):
>       drm/xe/ggtt: Use BIT_ULL() for 64bit
>       drm/xe: Fix some log messages on 32b
>       drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
>       drm/xe: Fix tracepoints on 32b
>       drm/xe/gt: Fix min() with u32 and u64
>       drm/xe: Add documentation for mem_type
>       drm/xe: Add min config for kunit integration ARCH=um
>       drm/xe: Fix typo in MCR documentation
>       drm/xe: Fix xe_tuning include
>       drm/xe: Remove TODO from rtp infra
>       drm/xe: Remove TODO from workaround documentation
>       drm/xe/mcr: Use designated init for xe_steering_types
>       drm/xe/mcr: Add SQIDI steering for DG2
>       drm/xe: Rename xe_rtp_regval to xe_rtp_action
>       drm/xe/rtp: Split action and entry flags
>       drm/xe/rtp: Support multiple actions per entry
>       drm/xe: Make local functions static
>       drm/xe: Fix application of LRC tunings
>       drm/xe: Remove unused functions
>       drm/xe: Add missing doc for xe parameter
>       drm/xe: Add missing include xe_wait_user_fence.h
>       drm/xe: Remove duplicate media_ver
>       drm/xe: Remove outdated build workaround
>       drm/xe/guc: Remove i915_regs.h include
>       drm/xe: Fix kunit integration due to missing prototypes
>       drm/xe: Sort includes
>       drm/xe: Remove dependency on intel_engine_regs.h
>       drm/xe: Remove dependency on intel_gt_regs.h
>       drm/xe: Remove dependency on intel_lrc_reg.h
>       drm/xe: Remove dependency on intel_gpu_commands.h
>       drm/xe: Remove dependency on i915_reg.h
>       drm/xe/guc_pc: Move gt register to the proper place
>       drm/xe: Remove dependency on intel_mchbar_regs.h
>       drm/xe: Prefer single underscore for header guards
>       drm/xe: Do not spread i915_reg_defs.h include
>       drm/xe/device: Prefer the drm-managed mutex_init
>       drm/xe: Fix typo persitent->persistent
>       drm/xe: Fix duplicated setting for register 0x6604
>       drm/xe: Fix ROW_CHICKEN2 define
>       drm/xe/mcr: Add L3BANK steering for DG2
>       drm/xe/mcr: Document how to initialize group/instance
>       drm/xe: Allow const propagation in gt_to_xe()
>       drm/xe: Constify xe_dss_mask_group_ffs()
>       drm/xe/rtp: Move match function from wa to rtp
>       drm/xe/rtp: Add match for render reset domain
>       drm/xe: Remove dump function from reg_sr
>       drm/xe: Name LRC wa after the engine it belongs
>       drm/xe/pvc: Remove A* steppings
>       drm/xe/rtp: Add match helper for gslice fused off
>       drm/xe/reg_sr: Tweak verbosity for register printing
>       drm/xe: Print whitelist while applying
>       drm/xe/debugfs: Dump register save-restore tables
>       drm/xe: Reorder WAs to consider the platform
>       drm/xe: Add PVC gt workarounds
>       drm/xe: Add PVC engine workarounds
>       drm/xe: Add missing DG2 gt workarounds and tunings
>       drm/xe: Add missing DG2 engine workarounds
>       drm/xe: Add missing DG2 lrc tunings
>       drm/xe: Add missing DG2 lrc workarounds
>       drm/xe: Add missing ADL-P engine workaround
>       drm/xe: Add missing LRC workarounds for graphics 1200
>       drm/xe: Replace i915 with xe in uapi
>       drm/xe/mcr: Separate version from engine type selection
>       drm/xe: Remove unused revid from firmware name
>       drm/xe: Fix platform order
>       drm/xe: Extract function to initialize xe->info
>       drm/xe: Move test infra out of xe_pci.[ch]
>       drm/xe: Use symbol namespace for kunit tests
>       drm/xe: Generalize fake device creation
>       drm/xe/reg_sr: Save errors for kunit integration
>       drm/xe: Add basic unit tests for rtp
>       drm/xe: Add test for GT workarounds and tunings
>       drm/xe: Update GuC/HuC firmware autoselect logic
>       drm/xe: Always log GuC/HuC firmware versions
>       drm/xe: Cleanup page-related defines
>       drm/xe: Rename RC0/RC6 macros
>       drm/xe: Rename instruction field to avoid confusion
>       drm/xe/guc: Rename GEN11_SOFT_SCRATCH for clarity
>       drm/xe/guc: Move GuC registers to regs/
>       drm/xe/guc: Convert GuC registers to REG_FIELD/REG_BIT
>       drm/xe: Drop gen afixes from registers
>       drm/xe: Use REG_FIELD/REG_BIT for all regs/*.h
>       drm/xe: Clarify register types on PAT programming
>       drm/xe: Introduce xe_reg/xe_reg_mcr
>       drm/xe: Use XE_REG/XE_REG_MCR
>       drm/xe: Annotate masked registers used by RTP
>       drm/xe: Plumb xe_reg into WAs, rtp, etc
>       drm/xe: Move helper macros to separate header
>       drm/xe: Fix media detection for pre-GMD_ID platforms
>       drm/xe: Do not mark 1809175790 as a WA
>       drm/xe: Fix comment on Wa_22013088509
>       drm/xe/guc: Remove special handling for PVC A*
>       drm/xe/guc: Handle RCU_MODE as masked from definition
>       drm/xe/mmio: Use struct xe_reg
>       drm/xe: Rename reg field to addr
>       drm/xe: Fix indent in xe_hw_engine_print_state()
>       drm/xe: Load HuC on Alderlake P
>       drm/xe: Fix Wa_22011802037 annotation
>       drm/xe/rtp: Split rtp process initialization
>       drm/xe/rtp: Replace XE_WARN_ON
>       drm/xe/rtp: Add "_sr" to entry/function names
>       drm/xe/rtp: Allow to track active workarounds
>       drm/xe/wa: Track gt/engine/lrc active workarounds
>       drm/xe/debugfs: Dump active workarounds
>       drm/xe/rtp: Rename STEP to GRAPHICS_STEP
>       drm/xe/rtp: Add check for media stepping
>       drm/xe/rtp: Add support for entries with no action
>       drm/xe: Include build directory
>       drm/xe: Add support for OOB workarounds
>       drm/xe/guc: Port Wa_22012773006 to xe_wa
>       drm/xe/guc: Port Wa_16011759253 to xe_wa
>       drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
>       drm/xe/guc: Port Wa_16011777198 to xe_wa
>       drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
>       drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
>       drm/xe/guc: Port Wa_1509372804 to xe_wa
>       drm/xe/rtp: Also check gt type
>       drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
>       drm/xe: Rename pte/pde encoding functions
>       drm/xe/guc: Fix typo s/enabled/enable/
>       drm/xe/guc: Normalize error messages with %#x
>       drm/xe: Skip applying copy engine fuses
>       drm/xe: Normalize XE_VM_FLAG* names
>       drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
>       drm/xe: Fix checking for unset value
>       drm/xe: Remove vma arg from xe_pte_encode()
>       drm/xe: Decouple vram check from xe_bo_addr()
>       drm/xe: Set PTE_DM bit for stolen on MTL
>       drm/xe: Fix MTL+ stolen memory mapping
>       drm/xe: Carve out top of DSM as reserved
>       drm/xe: Sort xe_regs.h
>       drm/xe: Fix error path in xe_guc_pc_gucrc_disable()
>       drm/xe: Fix error path in xe_guc_pc_start()
>       drm/xe: Update ARL-S DevIDs to the latest BSpec
>       drm/xe/pat: Use 0 instead of space on error
>       drm/xe/reg_sr: Simplify check for masked registers
>       drm/xe/reg_sr: Use xe_gt_dbg
>       drm/xe: Add dbg messages for LRC WAs
>       drm/xe: Fix LRC workarounds
>       drm/xe/mmio: Account for GSI offset when checking ranges
>       drm/xe: Accept a const xe device
>       drm/xe: Normalize pte/pde encoding
>       drm/xe: Remove check for vma == NULL
>       drm/xe: Use vfunc for pte/pde ppgtt encoding
>       drm/xe/migrate: Do not hand-encode pte
>       drm/xe: Use vfunc to initialize PAT
>       drm/xe/dg2: Fix using wrong PAT table
>       drm/xe/pat: Prefer the arch/IP names
>       drm/xe/pat: Keep track of relevant indexes
>       drm/xe: Use pat_index to encode pde/pte
>       drm/xe: Use vfunc for ggtt pte encoding
>       drm/xe/xe2: Extend reserved stolen sizes
>       drm/xe/xe2: Add missing mocs entry
>       drm/xe/vm: Prefer xe_assert() over XE_WARN_ON()
>       drm/xe/xe2: Follow XeHPC for TLB invalidation
>       drm/xe/xe2: Add one more bit to encode PAT to ppgtt entries
>       drm/xe/pat: Add debugfs node to dump PAT
>       drm/xe/gt: Dump PAT table when failing to initialize
>       drm/xe: Fix WA 14010918519 write to wrong register
>       drm/xe: Fix build with KUNIT=m
>       drm/xe/display: Silence kernel-doc warnings related to display
>       drm/xe: Fold GEN11_MOCS_ENTRIES into gen12_mocs_desc
>       drm/xe/mocs: Bring comment about mocs back to reality
>       drm/xe: Remove GEN[0-9]*_ prefixes
>       drm/xe: Fix modpost warning on kunit modules
>       drm/xe: Sync MTL PCI IDs with i915
>       drm/xe: Expand XE_REG_OPTION_MASKED documentation
>       drm/xe/kunit: Remove handling of XE_TEST_SUBPLATFORM_ANY
>       drm/xe/kunit: Move fake pci data to test-priv
>       drm/xe/kunit: Add stub to read_gmdid
>       drm/xe/kunit: Test WAs for MTL and LNL
>       drm/xe: Rename info.supports_* to info.has_*
>       drm/xe: Return error if drm_buddy_init() fails
>       drm/xe/bo: Remove unusued variable
>       drm/xe/display: Fix dummy __i915_inject_probe_error()
>       drm/xe: Enable W=1 warnings by default
>
> Maarten Lankhorst (11):
>       drm/xe: Implement stolen memory.
>       drm/xe: Fix hidden gotcha regression with bo create
>       drm/xe: Convert memory device refcount to s32
>       drm/xe: Map initial FB at the same place in GGTT too
>       drm/xe: Add debugfs for dumping GGTT mappings
>       drm/xe: Use atomic instead of mutex for xe_device_mem_access_ongoing
>       drm/xe: Remove extra xe_mmio_read32 from xe_mmio_wait32
>       drm/xe: Prevent evicting for page tables
>       drm/xe: Fix error paths of __xe_bo_create_locked
>       drm/xe/display: Implement display support
>       drm/xe/display: Improve s2idle handling.
>
> Matt Atwood (2):
>       drm/xe: Add infrastructure for per engine tuning
>       drm/xe: add gt tuning for indirect state
>
> Matt Roper (131):
>       drm/xe: Remove gen-based mmio offsets from hw engine init
>       drm/xe: Assume MTL's forcewake register continues to future platforms
>       drm/xe/mocs: Drop unwanted TGL table
>       drm/xe/mocs: Add missing RKL handling
>       drm/xe/mocs: Drop xe_mocs_info_index
>       drm/xe/mocs: Drop duplicate assignment of uc_index
>       drm/xe/mocs: LNCF MOCS settings only need to be restored on pre-Xe_HP
>       drm/xe/mocs: Drop HAS_RENDER_L3CC flag
>       drm/xe/guc: Handle regset overflow check for entire GT
>       drm/xe: Separate engine fuse handling into dedicated functions
>       drm/xe: Add support for CCS engine fusing
>       drm/xe/pat: Move PAT setup to a dedicated file
>       drm/xe/pat: Use table-based programming of PAT settings
>       drm/xe/pat: Handle unicast vs MCR PAT registers
>       drm/xe/pat: Clean up PAT register definitions
>       drm/xe/mtl: Fix PAT table coherency settings
>       drm/xe/mtl: Handle PAT_INDEX offset jump
>       drm/xe/pat: Define PAT tables as static
>       drm/xe: Include hardware prefetch buffer in batchbuffer allocations
>       drm/xe: Adjust batchbuffer space warning when creating a job
>       drm/xe: Don't emit extra MI_BATCH_BUFFER_END in WA batchbuffer
>       drm/xe/irq: Drop gen3_ prefixes
>       drm/xe/irq: Add helpers to find ISR/IIR/IMR/IER registers
>       drm/xe/irq: Drop IRQ_INIT and IRQ_RESET macros
>       drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
>       drm/xe/irq: Rename and clarify top-level interrupt handling routines
>       drm/xe/irq: Drop remaining "gen11_" prefix from IRQ functions
>       drm/xe/irq: Drop commented-out code for non-existent media engines
>       drm/xe/irq: Don't clobber display interrupts on multi-tile platforms
>       drm/xe: Start splitting xe_device_desc into graphics/media structures
>       drm/xe: Set require_force_probe in each platform's description
>       drm/xe: Move most platform traits to graphics IP
>       drm/xe: Move engine masks into IP descriptor structures
>       drm/xe: Clarify GT counting logic
>       drm/xe: Add printable name to IP descriptors
>       drm/xe: Select graphics/media descriptors from GMD_ID
>       drm/xe: Add KUnit test for xe_pci.c IP engine lists
>       drm/xe: Clean up xe_device_desc
>       drm/xe: Let primary and media GT share a kernel_bb_pool
>       drm/xe: Use packed bitfields for xe->info feature flags
>       drm/xe: Track whether platform has LLC
>       drm/xe: Only request PCODE_WRITE_MIN_FREQ_TABLE on LLC platforms
>       drm/xe/sr: Apply masked registers properly
>       drm/xe: Fix xe_mmio_rmw32 operation
>       drm/xe: Drop GFX_FLSH_CNTL_GEN6 write during GGTT invalidation
>       drm/xe/adlp: Add revid => step mapping
>       drm/xe/adln: Enable ADL-N
>       drm/xe: Add stepping support for GMD_ID platforms
>       drm/xe/pvc: Don't try to invalidate AuxCCS TLB
>       drm/xe/mtl: Disable media GT
>       drm/xe: Introduce xe_tile
>       drm/xe: Add backpointer from gt to tile
>       drm/xe: Add for_each_tile iterator
>       drm/xe: Move register MMIO into xe_tile
>       drm/xe: Move GGTT from GT to tile
>       drm/xe: Move VRAM from GT to tile
>       drm/xe: Memory allocations are tile-based, not GT-based
>       drm/xe: Move migration from GT to tile
>       drm/xe: Clarify 'gt' retrieval for primary tile
>       drm/xe: Drop vram_id
>       drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE
>       drm/xe: Allocate GT dynamically
>       drm/xe: Add media GT to tile
>       drm/xe: Interrupts are delivered per-tile, not per-GT
>       drm/xe/irq: Move ASLE backlight interrupt logic
>       drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask
>       drm/xe/irq: Untangle postinstall functions
>       drm/xe: Replace xe_gt_irq_postinstall with xe_irq_enable_hwe
>       drm/xe: Invalidate TLB on all affected GTs during GGTT updates
>       drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations
>       drm/xe: Allow GT looping and lookup on standalone media
>       drm/xe: Update query uapi to support standalone media
>       drm/xe: Reinstate media GT support
>       drm/xe: Add kerneldoc description of multi-tile devices
>       drm/xe: Reformat xe_guc_regs.h
>       drm/xe: Initialize MOCS earlier
>       drm/xe: Don't hardcode GuC's MOCS index in register header
>       drm/xe/wa: Extend scope of Wa_14015795083
>       drm/xe/mtl: Add some initial MTL workarounds
>       drm/xe: Return GMD_ID revid properly
>       drm/xe: Don't raise error on fused-off media
>       drm/xe: Print proper revid value for unknown media revision
>       drm/xe: Enable PCI device earlier
>       drm/xe/mtl: Map PPGTT as CPU:WC
>       drm/xe: xe_engine_create_ioctl should check gt_count, not tile_count
>       drm/xe/mtl: Reduce Wa_14018575942 scope to the CCS engine
>       drm/xe: Add Wa_14015150844 for DG2 and Xe_LPG
>       drm/xe: Stop tracking 4-tile support
>       drm/xe/xe2: Update render/compute context image sizes
>       drm/xe/xe2: Add GT topology readout
>       drm/xe/xe2: Add MCR register steering for primary GT
>       drm/xe/xe2: Add MCR register steering for media GT
>       drm/xe/xe2: Update context image layouts
>       drm/xe/xe2: Handle fused-off CCS engines
>       drm/xe/xe2: AuxCCS is no longer used
>       drm/xe/xe2: Define Xe2_LPG IP features
>       drm/xe/xe2: Define Xe2_LPM IP features
>       drm/xe/xe2: Track VA bits independently of max page table level
>       drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond
>       drm/xe/lnl: Add LNL platform definition
>       drm/xe/lnl: Add GuC firmware definition
>       drm/xe: Avoid 64-bit register reads
>       drm/xe: Drop xe_mmio_write64()
>       drm/xe/wa: Apply tile workarounds at probe/resume
>       drm/xe: Infer service copy functionality from engine list
>       drm/xe/tuning: Add missing engine class rules for LRC tuning
>       drm/xe/xe2: Program PAT tables
>       drm/xe: Make MI_FLUSH_DW immediate size more explicit
>       drm/xe: Separate number of registers from MI_LRI opcode
>       drm/xe: Clarify number of dwords/qwords stored by MI_STORE_DATA_IMM
>       drm/xe: Extract MI_* instructions to their own header
>       drm/xe/debugfs: Add dump of default LRCs' MI instructions
>       drm/xe/debugfs: Include GFXPIPE commands in LRC dump
>       drm/xe: Prepare to emit non-register state while recording default LRC
>       drm/xe: Emit SVG state on RCS during driver load on DG2 and MTL
>       drm/xe/xe2: Update SVG state handling
>       drm/xe/mocs: MOCS registers are multicast on Xe_HP and beyond
>       drm/xe/xe2: Program correct MOCS registers
>       drm/xe: Add Wa_14019821291
>       drm/xe: Drop EXECLIST_CONTROL from error state dump
>       drm/xe/dg2: Wa_18028616096 now applies to all DG2
>       drm/xe/dg2: Drop Wa_22014600077
>       drm/xe: Remove duplicate RING_MAX_NONPRIV_SLOTS definition
>       drm/xe: Drop "_REG" suffix from CSFE_CHICKEN1
>       drm/xe: Move some per-engine register definitions to the engine header
>       drm/xe: Fix whitespace in register definitions
>       drm/xe: Move engine base offsets to engine register header
>       drm/xe: Move GSC HECI base offsets out of register header
>       drm/xe: Define interrupt vector bits with the interrupt registers
>       drm/xe: Re-sort GT register header
>       drm/xe: Drop some unnecessary header includes
>
> Matthew Auld (94):
>       drm/xe/pcode: fix pcode error check
>       drm/xe/bo: reduce xe_bo_create_pin_map() restrictions
>       drm/xe/ppgtt: clear the scratch page
>       drm/xe/ppgtt: fix scratch page usage on DG2
>       drm/xe/ggtt: fix alignment usage for DG2
>       drm/xe/ggtt: fix GGTT scratch usage for DG2
>       drm/xe/mmio: fix forcewake ref leak in xe_mmio_ioctl
>       drm/xe/stolen: don't map stolen on small-bar
>       drm/xe/query: zero the region info
>       drm/xe/pm: fix unbalanced ref handling
>       drm/xe: prefer xe_bo_create_pin_map()
>       drm/xe/bo: explicitly reject zero sized BO
>       drm/xe: s/lmem/vram/
>       drm/xe: one more s/lmem/vram/
>       drm/xe: add xe_ttm_stolen_cpu_access_needs_ggtt()
>       drm/xe/vram: start tracking the io_size
>       drm/xe/buddy: remove the virtualized start
>       drm/xe/buddy: add visible tracking
>       drm/xe/buddy: add compatible and intersects hooks
>       drm/xe/gt: some error handling fixes
>       drm/xe: add XE_BO_CREATE_VRAM_MASK
>       drm/xe/bo: refactor try_add_vram
>       drm/xe: fix suspend-resume for dgfx
>       drm/xe/mmio: stop incorrectly triggering drm_warn
>       drm/xe/tlb: fix expected_seqno calculation
>       drm/xe/sched_job: prefer dma_fence_is_later
>       drm/xe/lrc: give start_seqno a better default
>       drm/xe: fix tlb_invalidation_seqno_past()
>       drm/xe: fix kernel-doc issues
>       drm/xe/bo: further limit where CCS pages are needed
>       drm/xe/migrate: retain CCS aux state for vram -> vram
>       drm/xe: don't allocate under ct->lock
>       drm/xe: keep pulling mem_access_get further back
>       drm/xe/vm: fix double list add
>       drm/xe/bo: handle PL_TT -> PL_TT
>       drm/xe/uapi: restrict system wide accounting
>       drm/xe/uapi: add some kernel-doc for region query
>       drm/xe/uapi: silence kernel-doc errors
>       drm/doc: include xe_drm.h
>       drm/xe/bo: consider bo->flags in xe_bo_migrate()
>       drm/xe/tlb: drop unnecessary smp_wmb()
>       drm/xe/tlb: ensure we access seqno_recv once
>       drm/xe: hold mem_access.ref for CT fast-path
>       drm/xe/ct: hold fast_lock when reserving space for g2h
>       drm/xe/tlb: increment next seqno after successful CT send
>       drm/xe/ct: serialise fast_lock during CT disable
>       drm/xe/gt: tweak placement for signalling TLB fences after GT reset
>       drm/xe/tlb: also update seqno_recv during reset
>       drm/xe/tlb: print seqno_recv on fence TLB timeout
>       drm/xe/ct: update g2h outstanding for CTB capture
>       drm/xe: handle TLB invalidations from CT fast-path
>       drm/xe/mmio: update gt_count when probing multi-tile
>       drm/xe: fix xe_device_mem_access_get() races
>       drm/xe/vm: tidy up xe_runtime_pm usage
>       drm/xe/debugfs: grab mem_access around forcewake
>       drm/xe/guc_pc: add missing mem_access for freq_rpe_show
>       drm/xe/mmio: grab mem_access in xe_mmio_ioctl
>       drm/xe: ensure correct access_put ordering
>       drm/xe: drop xe_device_mem_access_get() from guc_ct_send
>       drm/xe/ggtt: prime ggtt->lock against FS_RECLAIM
>       drm/xe: drop xe_device_mem_access_get() from invalidation_vma
>       drm/xe: add lockdep annotation for xe_device_mem_access_get()
>       drm/xe/selftests: hold rpm for evict_test_run_device()
>       drm/xe/selftests: hold rpm for ccs_test_migrate()
>       drm/xe/selftests: restart GT after xe_bo_restore_kernel()
>       drm/xe: add missing bulk_move reset
>       drm/xe: add lockdep annotation for xe_device_mem_access_put()
>       drm/xe/bo: support tiered vram allocation for small-bar
>       drm/xe/uapi: add the userspace bits for small-bar
>       drm/xe: fully turn on small-bar support
>       drm/xe/engine: add missing rpm for bind engines
>       drm/xe/guc_submit: prevent repeated unregister
>       drm/xe: don't warn for bogus pagefaults
>       drm/xe/guc_submit: fixup deregister in job timeout
>       drm/xe: skip rebind_list if vma destroyed
>       drm/xe/ct: fix resv_space print
>       drm/xe: nuke GuC on unload
>       drm/xe: fix has_llc on rkl
>       drm/xe/selftests: consider multi-GT for eviction test
>       drm/xe/selftests: make eviction test tile centric
>       drm/xe/hwmon: fix uaf on unload
>       drm/xe/pat: trim the xelp PAT table
>       drm/xe: directly use pat_index for pte_encode
>       drm/xe: fix pat[2] programming with 2M/1G pages
>       drm/xe/migrate: fix MI_ARB_ON_OFF usage
>       drm/xe/bo: consider dma-resv fences for clear job
>       drm/xe/bo: sync kernel fences for KMD buffers
>       drm/xe/display: ensure clear-color surfaces are cpu mappable
>       drm/xe/bo: don't hold dma-resv lock over drm_gem_handle_create
>       drm/xe: fix mem_access for early lrc generation
>       drm/xe/pat: annotate pat_index with coherency mode
>       drm/xe/uapi: support pat_index selection with vm_bind
>       drm/xe/mocs: update MOCS table for xe2
>       drm/xe: add some debug info for d3cold
>
> Matthew Brost (90):
>       drm/xe: Introduce a new DRM driver for Intel GPUs
>       drm/xe: Take memory ref on kernel job creation
>       drm/xe: Ensure VMA not userptr before calling xe_bo_is_stolen
>       drm/xe: Fake pulling gt->info.engine_mask from hwconfig blob
>       drm/xe/guc: Report submission version of GuC firmware
>       drm/xe/guc: s/xe_guc_send_mmio/xe_guc_mmio_send
>       drm/xe/guc: Add support GuC MMIO send / recv
>       drm/xe/migrate: Update emit_pte to cope with a size level than 4k
>       drm/xe: Don't process TLB invalidation done in CT fast-path
>       drm/xe: Break of TLB invalidation into its own file
>       drm/xe: Move TLB invalidation variable to own sub-structure in GT
>       drm/xe: Add TLB invalidation fence
>       drm/xe: Invalidate TLB after unbind is complete
>       drm/xe: Kernel doc GT TLB invalidations
>       drm/xe: Add TLB invalidation fence ftrace
>       drm/xe: Add TDR for invalidation fence timeout cleanup
>       drm/xe: Only set VM->asid for platforms that support a ASID
>       drm/xe: Delete debugfs entry to issue TLB invalidation
>       drm/xe: Add has_range_tlb_invalidation device attribute
>       drm/xe: Add range based TLB invalidations
>       drm/xe: Propagate error from bind operations to async fence
>       drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
>       drm/xe: Lock GGTT on when restoring kernel BOs
>       drm/xe: Propagate VM unbind error to invalidation fence
>       drm/xe: Signal invalidation fence immediately if CT send fails
>       drm/xe: Add has_asid to device info
>       drm/xe: Add TLB invalidation fence after rebinds issued from execs
>       drm/xe: Drop TLB invalidation from ring operations
>       drm/xe: Drop zero length arrays
>       drm/xe: Reinstate render / compute cache invalidation in ring ops
>       drm/xe: Use BO's GT to determine dma_offset when programming PTEs
>       drm/xe: Fix potential deadlock handling page faults
>       drm/xe: Decrement fault mode counts in xe_vm_close_and_put
>       drm/xe: Better error messages for xe_gt_record_default_lrcs
>       drm/xe: Always write GEN12_RCU_MODE.GEN12_RCU_MODE_CCS_ENABLE for CCS engines
>       drm/xe: Don't grab runtime PM ref in engine create IOCTL
>       drm/xe: Allow compute VMs to output dma-fences on binds
>       drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
>       drm/xe/guc: Read HXG fields from DW1 of G2H response
>       drm/xe: Handle unmapped userptr in analyze VM
>       drm/xe: Use Xe ordered workqueue for rebind worker
>       drm/xe: s/XE_PTE_READ_ONLY/XE_PTE_FLAG_READ_ONLY
>       drm/xe: Move XE_PTE_FLAG_READ_ONLY to xe_vm_types.h
>       drm/xe: NULL binding implementation
>       drm/xe: Long running job update
>       drm/xe: Ensure LR engines are not persistent
>       drm/xe: Only try to lock external BOs in VM bind
>       drm/xe: VM LRU bulk move
>       drm/xe: Use internal VM flags in xe_vm_create
>       drm/xe: Ban a VM if rebind worker hits an error
>       drm/xe: Add helpers to hide struct xe_vma internals
>       drm/xe: Remove __xe_vm_bind forward declaration
>       drm/xe: Port Xe to GPUVA
>       drm/xe: Make bind engines safe
>       drm/xe: Remove xe_vma_op_unmap
>       drm/xe: Avoid doing rebinds
>       drm/xe: Reduce the number list links in xe_vma
>       drm/xe: Replace list_del_init with list_del for userptr.invalidate_link cleanup
>       drm/xe: Change tile masks from u64 to u8
>       drm/xe: Combine destroy_cb and destroy_work in xe_vma into union
>       drm/xe: Only alloc userptr part of xe_vma for userptrs
>       drm/xe: Use migrate engine for page fault binds
>       drm/xe: Always use xe_vm_queue_rebind_worker helper
>       drm/xe: Signal out-syncs on VM binds if no operations
>       drm/xe: Remove XE_GUC_CT_SELFTEST
>       drm/xe: Remove ct->fence_context
>       drm/xe: Add define WQ_HEADER_SIZE
>       drm/xe: remove header variable from parse_g2h_msg
>       drm/xe: Set max pte size when skipping rebinds
>       drm/xe: Call __guc_exec_queue_fini_async direct for KERNEL exec_queues
>       drm/xe: Convert xe_vma_op_flags to BIT macros
>       drm/xe: Fixup unwind on VM ops errors
>       drm/gpuva: Add drm_gpuva_for_each_op_reverse
>       drm/xe: Fix array of binds
>       drm/xe: Fix fence reservation accouting
>       drm/xe: Fix exec queue usage for unbinds
>       drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
>       drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation
>       drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue
>       drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
>       drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
>       drm/xe: Remove async worker and rework sync binds
>       drm/xe: Fix VM bind out-sync signaling ordering
>       drm/xe: Adjust tile_present mask when skipping rebinds
>       drm/xe: Use pool of ordered wq for GuC submission
>       drm/xe: Only set xe_vma_op.map fields for GPUVA map operations
>       drm/xe: Use a flags field instead of bools for VMA create
>       drm/xe: Use a flags field instead of bools for sync parse
>       drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs
>       drm/xe/uapi: Remove sync binds
>
> Mauro Carvalho Chehab (5):
>       drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs
>       drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION
>       drm/xe: skip Kunit tests requiring real hardware when running on UML
>       drm/xe/xe_uc_fw: Use firmware files from standard locations
>       drm/xe/uapi: Reject bo creation of unaligned size
>
> Michael J. Ruhl (5):
>       drm/xe: Rework size helper to be a little more correct
>       drm/xe: Simplify rebar sizing
>       drm/xe: Size GT device memory correctly
>       drm/xe: Rename GPU offset helper to reflect true usage
>       drm/xe: REBAR resize should be best effort
>
> Michal Wajdeczko (23):
>       drm/xe: Introduce GT oriented log messages
>       drm/xe: Use GT oriented log messages in xe_gt.c
>       drm/xe: Move Media GuC register definition to regs/
>       drm/xe: Change GuC interrupt data
>       drm/xe: Introduce Xe assert macros
>       drm/xe/guc: Promote guc_to_gt/xe helpers to .h
>       drm/xe/guc: Fix wrong assert about full_len
>       drm/xe/guc: Copy response data from proper registers
>       drm/xe/guc: Fix handling of GUC_HXG_TYPE_NO_RESPONSE_BUSY
>       drm/xe/guc: Use valid scratch register for posting read
>       drm/xe: Add device flag to indicate SR-IOV support
>       drm/xe: Prepare for running in different SR-IOV modes
>       drm/xe: Print virtualization mode during probe
>       drm/xe/kunit: Return number of iterated devices
>       drm/xe/guc: Drop ancient GuC CTB definitions
>       drm/xe/guc: Remove obsolete GuC CTB documentation
>       drm/xe/guc: Include only required GuC ABI headers
>       drm/xe/doc: Include documentation about xe_assert()
>       drm/xe: Define DRM_XE_DEBUG_SRIOV config
>       drm/xe: Introduce SR-IOV logging macros
>       drm/xe/pf: Introduce Local Memory Translation Table
>       drm/xe/kunit: Enable CONFIG_PCI_IOV in .kunitconfig
>       drm/xe/kunit: Add test for LMTT operations
>
> Michał Winiarski (21):
>       drm/xe: Fix uninitialized variables
>       drm/xe: Fix check for platform without geometry pipeline
>       drm/xe: Fix header guard warning
>       drm/xe: Skip calling drm_dev_put on probe error
>       drm/xe: Use managed pci_enable_device
>       drm/xe/irq: Don't call pci_free_irq_vectors
>       drm/xe: Move xe_set_dma_info outside of MMIO setup
>       drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
>       drm/xe: Split xe_info_init
>       drm/xe: Introduce xe_tile_init_early and use at earlier point in probe
>       drm/xe: Map the entire BAR0 and hold onto the initial mapping
>       drm/xe/device: Introduce xe_device_probe_early
>       drm/xe: Don't "peek" into GMD_ID
>       drm/xe: Move system memory management init to earlier point in probe
>       drm/xe: Move force_wake init to earlier point in probe
>       drm/xe: Reorder GGTT init to earlier point in probe
>       drm/xe: Add a helper for DRM device-lifetime BO create
>       drm/xe/uc: Split xe_uc_fw_init
>       drm/xe/uc: Store firmware binary in system-memory backed BO
>       drm/xe/uc: Extract xe_uc_sanitize_reset
>       drm/xe/guc: Split GuC params used for "hwconfig" and "post-hwconfig"
>
> Mika Kuoppala (4):
>       drm/xe: destroy clients engine and vm xarrays on close
>       drm/xe: Fix unreffed ptr leak on engine lookup
>       drm/xe: Extend drm_xe_vm_bind_op
>       drm/xe/vm: Avoid asid lookup if none allocated
>
> Niranjana Vishwanathapura (16):
>       drm/xe/migrate: Fix number of PT structs in docbook
>       drm/xe/tests: Use proper batch base address
>       drm/xe/tests: Set correct expectation
>       drm/xe: Use proper vram offset
>       drm/xe: Fix memory use after free
>       drm/xe: Handle -EDEADLK case in preempt worker
>       drm/xe: Handle -EDEADLK case in exec ioctl
>       drm/xe: Apply upper limit to sg element size
>       drm/xe: Simplify engine class sched_props setting
>       drm/xe: Add CONFIG_DRM_XE_PREEMPT_TIMEOUT
>       drm/xe/pvc: Blacklist BCS_SWCTRL register
>       drm/xe/pvc: Force even num engines to use 64B
>       drm/xe/pvc: Use fast copy engines as migrate engine on PVC
>       drm/xe: Enable Fixed CCS mode setting
>       drm/xe: Allow userspace to configure CCS mode
>       drm/xe: Avoid any races around ccs_mode update
>
> Nirmoy Das (3):
>       drm/xe/stolen: Exclude reserved lmem portion
>       drm/xe: Do not sleep in atomic
>       drm/xe: Print GT info on TLB inv failure
>
> Oak Zeng (3):
>       drm/xe: Implement HW workaround 14016763929
>       drm/xe: Make xe_mem_region struct
>       drm/xe: Improve vram info debug printing
>
> Ohad Sharabi (1):
>       drm/xe: do not register to PM if GuC is disabled
>
> Pallavi Mishra (5):
>       drm/xe: Prevent return with locked vm
>       drm/xe: Align size to PAGE_SIZE
>       drm/xe: Dump CTB during TLB timeout
>       drm/xe/tests: Fix migrate test
>       drm/xe/uapi: Add support for CPU caching mode
>
> Paulo Zanoni (5):
>       drm/xe: fix bounds checking for 'len' in xe_engine_create_ioctl
>       drm/xe: properly check bounds for xe_wait_user_fence_ioctl()
>       drm/xe/vm: print the correct 'keep' when printing gpuva ops
>       drm/xe/vm: use list_last_entry() to fetch last_op
>       drm/xe: fix range printing for debug messages
>
> Philippe Lecluse (4):
>       drm/xe: enforce GSMBASE for DG1 instead of BAR2
>       drm/xe: fix xe_mmio_total_vram_size
>       drm/xe: Fix Meteor Lake rsa issue on guc loading
>       drm/xe/mocs: add MTL mocs
>
> Priyanka Dandamudi (1):
>       drm/xe/xe_exec_queue: Add check for access counter granularity
>
> Riana Tauro (5):
>       drm/xe: Fix overflow in vram manager
>       drm/xe/guc_pc: Reorder forcewake and xe_pm_runtime calls
>       drm/xe: Fix GT looping for standalone media
>       drm/xe: add a new sysfs directory for gtidle properties
>       drm/xe: remove gucrc disable from suspend path
>
> Rodrigo Vivi (65):
>       drm/xe: Implement a local xe_mmio_wait32
>       drm/xe: Stop using i915's range_overflows_t macro.
>       drm/xe: Let's return last value read on xe_mmio_wait32.
>       drm/xe: Convert guc_ready to regular xe_mmio_wait32
>       drm/xe: Wait for success on guc done.
>       drm/xe: Remove i915_utils dependency from xe_guc_pc.
>       drm/xe: Stop using i915_utils in xe_wopcm.
>       drm/xe: Let's avoid i915_utils in the xe_force_wake.
>       drm/xe: Convert xe_mmio_wait32 to us so we can stop using wait_for_us.
>       drm/xe: Remove i915_utils dependency from xe_pcode.
>       drm/xe/guc_pc: Fix Meteor Lake registers.
>       drm/xe: Remove unseless xe_force_wake_prune.
>       drm/xe: Update comment on why d3cold is still blocked.
>       drm/xe: Fix print of RING_EXECLIST_SQ_CONTENTS_HI
>       drm/xe: Introduce the dev_coredump infrastructure.
>       drm/xe: Do not take any action if our device was removed.
>       drm/xe: Extract non mapped regions out of GuC CTB into its own struct.
>       drm/xe: Convert GuC CT print to snapshot capture and print.
>       drm/xe: Add GuC CT snapshot to xe_devcoredump.
>       drm/xe: Introduce guc_submit_types.h with relevant structs.
>       drm/xe: Convert GuC Engine print to snapshot capture and print.
>       drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
>       drm/xe: Convert Xe HW Engine print to snapshot capture and print.
>       drm/xe: Add HW Engine snapshot to xe_devcoredump.
>       drm/xe: Limit CONFIG_DRM_XE_SIMPLE_ERROR_CAPTURE to itself.
>       drm/xe/uapi: Remove XE_QUERY_CONFIG_FLAGS_USE_GUC
>       drm/xe: Invert guc vs execlists parameters and info.
>       drm/xe: Fix an invalid locking wait context bug
>       drm/xe: Invert mask and val in xe_mmio_wait32.
>       drm/xe: Only set PCI d3cold_allowed when we are really allowing.
>       drm/xe: Move d3cold_allowed decision all together.
>       drm/xe: Fix the runtime_idle call and d3cold.allowed decision.
>       drm/xe: Only init runtime PM after all d3cold config is in place.
>       drm/xe: Ensure memory eviction on s2idle.
>       drm/xe/uapi: Typo lingo and other small backwards compatible fixes
>       drm/xe/uapi: Remove useless max_page_size
>       drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
>       drm/xe/uapi: Document drm_xe_query_gt
>       drm/xe/uapi: Replace useless 'instance' per unique gt_id
>       drm/xe/uapi: Remove unused field of drm_xe_query_gt
>       drm/xe/uapi: Rename gts to gt_list
>       drm/xe/uapi: Remove GT_TYPE_REMOTE
>       drm/xe/uapi: Kill VM_MADVISE IOCTL
>       drm/xe/uapi: Rename *_mem_regions masks
>       drm/xe/uapi: Rename query's mem_usage to mem_regions
>       drm/xe/uapi: Standardize the FLAG naming and assignment
>       drm/xe/uapi: Differentiate WAIT_OP from WAIT_MASK
>       drm/xe/uapi: Be more specific about the vm_bind prefetch region
>       drm/xe/uapi: Separate bo_create placement from flags
>       drm/xe/uapi: Split xe_sync types from flags
>       drm/xe/uapi: Kill tile_mask
>       drm/xe/uapi: Crystal Reference Clock updates
>       drm/xe/uapi: Add Tile ID information to the GT info query
>       drm/xe/uapi: Fix various struct padding for 64b alignment
>       drm/xe/uapi: Move xe_exec after xe_exec_queue
>       drm/xe: Remove unused extension definition
>       drm/xe/uapi: Kill exec_queue_set_property
>       drm/xe: Create a xe_gt_freq component for raw management and sysfs
>       drm/xe: Remove vram size info from sysfs
>       drm/xe/uapi: Ensure every uapi struct has drm_xe prefix
>       drm/xe/uapi: Order sections
>       drm/xe/uapi: More uAPI documentation additions and cosmetic updates
>       drm/xe/uapi: Document the memory_region bitmask
>       drm/xe/uapi: Remove reset uevent for now
>       MAINTAINERS: Updates to Intel DRM
>
> Ruthuvikas Ravikumar (1):
>       drm/xe: Add mocs kunit
>
> Shekhar Chauhan (6):
>       drm/xe/dg2: Remove Wa_15010599737
>       drm/xe: Add Wa_18028616096
>       drm/xe: Add new DG2 PCI IDs
>       drm/xe/dg2: Remove one PCI ID
>       drm/xe: Add performance tuning settings for MTL and Xe2
>       drm/xe/xelpmp: Extend Wa_22016670082 to Xe_LPM+
>
> Sujaritha Sundaresan (2):
>       drm/xe: Change the name of frequency sysfs attributes
>       drm/xe: Add frequency throttle reasons sysfs attributes
>
> Suraj Kandpal (1):
>       drm/xe/hdcp: Define intel_hdcp_gsc_check_status in Xe
>
> Tejas Upadhyay (26):
>       drm/xe: Add sysfs entry for tile
>       drm/xe: Add GTs under respective tile sysfs
>       drm/xe: Add sysfs entry to report per tile memory size
>       drm/xe: Make usable size of VRAM readable
>       drm/xe: make GT sysfs init return void
>       drm/xe: make kobject type struct as constant
>       drm/xe: Add sysfs entries for engines under its GT
>       drm/xe: Add sysfs for default engine scheduler properties
>       drm/xe: Add job timeout engine property to sysfs
>       drm/xe: Add timeslice duration engine property to sysfs
>       drm/xe: Add sysfs for preempt reset timeout
>       drm/xe: Add min/max cap for engine scheduler properties
>       drm/xe: Add drm-client infrastructure
>       drm/xe: Interface xe drm client with fdinfo interface
>       drm/xe: Add tracking support for bos per client
>       drm/xe: Record each drm client with its VM
>       drm/xe: Track page table memory usage for client
>       drm/xe: Account ring buffer and context state storage
>       drm/xe: Implement fdinfo memory stats printing
>       drm/xe/xe2: Add workaround 14017421178
>       drm/xe/xe2: Add workaround 16021867713
>       drm/xe/xe2: Add workaround 14019449301
>       drm/xe/xe2: Add workaround 14020013138
>       drm/xe/xe2: Add workaround 16020292621
>       drm/xe/xe2: Add workaround 14019988906
>       drm/xe/xe2: Add workaround 18032095049 and 16021639441
>
> Thomas Hellström (41):
>       drm/xe/migrate: Add kerneldoc for the migrate subsystem
>       drm/xe/tests: Remove CONFIG_FB dependency
>       drm/xe/tests: Grab a memory access reference around the migrate sanity test
>       drm/xe/vm: Use the correct vma destroy sequence on userptr failure
>       drm/xe: Use a define to set initial seqno for fences
>       drm/xe/migrate: Update cpu page-table updates
>       drm/xe/tests: Support CPU page-table updates in the migrate test
>       drm/xe: Introduce xe_engine_is_idle()
>       drm/xe: Use a small negative initial seqno
>       drm/xe/tests: Test both CPU- and GPU page-table updates with the migrate test
>       drm/xe/vm: Defer vm rebind until next exec if nothing to execute
>       drm/xe: Fix the migrate selftest for integrated GPUs
>       drm/xe: Support copying of data between system memory bos
>       drm/xe: Invalidate TLB also on bind if in scratch page mode
>       drm/xe: Emit a render cache flush after each rcs/ccs batch
>       drm/xe/bo: Fix swapin when moving to VRAM
>       drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
>       drm/xe/bo: Gracefully handle errors from ttm_bo_move_accel_cleanup().
>       drm/xe/bo: Evict VRAM to TT rather than to system
>       drm/xe: Fix vm refcount races
>       drm/xe: Make page-table updates using the default engine happen in order
>       drm/xe: Introduce a range-fence utility
>       drm/xe/bo: Simplify xe_bo_lock()
>       drm/xe/vm: Simplify and document xe_vm_lock()
>       drm/xe/bo: Remove the lock_no_vm()/unlock_no_vm() interface
>       drm/xe: Rework xe_exec and the VM rebind worker to use the drm_exec helper
>       drm/xe: Convert pagefaulting code to use drm_exec
>       drm/xe: Convert remaining instances of ttm_eu_reserve_buffers to drm_exec
>       drm/xe: Reinstate pipelined fence enable_signaling
>       drm/xe: Disallow pinning dma-bufs in VRAM
>       drm/xe: Update SPDX deprecated license identifier
>       drm/xe: Ensure that we don't access the placements array out-of-bounds
>       drm/xe/bo: Rename xe_bo_get_sg() to xe_bo_sg()
>       drm/xe/bo: Remove leftover trace_printk()
>       drm/xe/vm: Fix ASID XA usage
>       drm/xe: Internally change the compute_mode and no_dma_fence mode naming
>       drm/xe/uapi: Use LR abbrev for long-running vms
>       drm/xe: Restrict huge PTEs to 1GiB
>       drm/xe: Use NULL PTEs as scratch PTEs
>       drm/xe: Use DRM GPUVM helpers for external- and evicted objects
>       drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm
>
> Uma Shankar (1):
>       drm/xe/display: Create a dummy version for vga decode
>
> Umesh Nerlige Ramappa (3):
>       drm/xe: Fix array bounds check for queries
>       drm/xe: Set the correct type for xe_to_user_engine_class
>       drm/xe: Correlate engine and cpu timestamps with better accuracy
>
> Vinay Belgaumkar (5):
>       drm/xe: Raise GT frequency before GuC/HuC load
>       drm/xe: Rename xe_gt_idle_sysfs to xe_gt_idle
>       drm/xe: Add skip_guc_pc flag
>       drm/xe: Manually setup C6 when skip_guc_pc is set
>       drm/xe: Check skip_guc_pc before disabling gucrc
>
> Vitaly Lubart (3):
>       drm/xe/gsc: add HECI2 register offsets
>       drm/xe/gsc: add has_heci_gscfi indication to device
>       drm/xe/gsc: add gsc device support
>
> Zbigniew Kempczyński (1):
>       drm/xe: Use nanoseconds instead of jiffies in uapi for user fence
>
> Zhanjun Dong (1):
>       drm/xe: Add patch version on guc firmware init
>
>  .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   70 +
>  Documentation/gpu/driver-uapi.rst                  |    5 +
>  Documentation/gpu/drivers.rst                      |    1 +
>  Documentation/gpu/xe/index.rst                     |   25 +
>  Documentation/gpu/xe/xe_cs.rst                     |    8 +
>  Documentation/gpu/xe/xe_debugging.rst              |    7 +
>  Documentation/gpu/xe/xe_firmware.rst               |   37 +
>  Documentation/gpu/xe/xe_gt_mcr.rst                 |   13 +
>  Documentation/gpu/xe/xe_map.rst                    |    8 +
>  Documentation/gpu/xe/xe_migrate.rst                |    8 +
>  Documentation/gpu/xe/xe_mm.rst                     |   14 +
>  Documentation/gpu/xe/xe_pcode.rst                  |   14 +
>  Documentation/gpu/xe/xe_pm.rst                     |   14 +
>  Documentation/gpu/xe/xe_rtp.rst                    |   20 +
>  Documentation/gpu/xe/xe_tile.rst                   |   14 +
>  Documentation/gpu/xe/xe_wa.rst                     |   14 +
>  MAINTAINERS                                        |   29 +-
>  drivers/gpu/drm/Kconfig                            |    2 +
>  drivers/gpu/drm/Makefile                           |    1 +
>  drivers/gpu/drm/xe/.gitignore                      |    4 +
>  drivers/gpu/drm/xe/.kunitconfig                    |   13 +
>  drivers/gpu/drm/xe/Kconfig                         |   96 +
>  drivers/gpu/drm/xe/Kconfig.debug                   |  107 +
>  drivers/gpu/drm/xe/Kconfig.profile                 |   54 +
>  drivers/gpu/drm/xe/Makefile                        |  305 ++
>  drivers/gpu/drm/xe/abi/gsc_command_header_abi.h    |   46 +
>  drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h     |   39 +
>  drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h      |   59 +
>  drivers/gpu/drm/xe/abi/guc_actions_abi.h           |  219 ++
>  drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h      |  249 ++
>  drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |  127 +
>  .../gpu/drm/xe/abi/guc_communication_mmio_abi.h    |   49 +
>  drivers/gpu/drm/xe/abi/guc_errors_abi.h            |   37 +
>  drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  322 ++
>  drivers/gpu/drm/xe/abi/guc_messages_abi.h          |  234 ++
>  .../drm/xe/compat-i915-headers/gem/i915_gem_lmem.h |    1 +
>  .../drm/xe/compat-i915-headers/gem/i915_gem_mman.h |   17 +
>  .../xe/compat-i915-headers/gem/i915_gem_object.h   |   65 +
>  .../gem/i915_gem_object_frontbuffer.h              |   12 +
>  .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h  |   11 +
>  .../gpu/drm/xe/compat-i915-headers/i915_active.h   |   22 +
>  .../drm/xe/compat-i915-headers/i915_active_types.h |   13 +
>  .../gpu/drm/xe/compat-i915-headers/i915_config.h   |   19 +
>  .../gpu/drm/xe/compat-i915-headers/i915_debugfs.h  |   14 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  233 ++
>  .../gpu/drm/xe/compat-i915-headers/i915_fixed.h    |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h  |    9 +
>  .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   79 +
>  .../drm/xe/compat-i915-headers/i915_gpu_error.h    |   17 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h  |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h  |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_reg_defs.h |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_trace.h    |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_utils.h    |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h |   44 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h  |   34 +
>  .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 +
>  .../xe/compat-i915-headers/intel_clock_gating.h    |    6 +
>  .../drm/xe/compat-i915-headers/intel_gt_types.h    |   11 +
>  .../drm/xe/compat-i915-headers/intel_mchbar_regs.h |    6 +
>  .../drm/xe/compat-i915-headers/intel_pci_config.h  |    6 +
>  .../gpu/drm/xe/compat-i915-headers/intel_pcode.h   |   42 +
>  .../drm/xe/compat-i915-headers/intel_runtime_pm.h  |   16 +
>  .../gpu/drm/xe/compat-i915-headers/intel_step.h    |   20 +
>  .../gpu/drm/xe/compat-i915-headers/intel_uc_fw.h   |   11 +
>  .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |  175 ++
>  .../gpu/drm/xe/compat-i915-headers/intel_wakeref.h |    8 +
>  .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |   28 +
>  .../drm/xe/compat-i915-headers/soc/intel_dram.h    |    6 +
>  .../drm/xe/compat-i915-headers/soc/intel_gmch.h    |    6 +
>  .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h |    6 +
>  .../gpu/drm/xe/compat-i915-headers/vlv_sideband.h  |  132 +
>  .../drm/xe/compat-i915-headers/vlv_sideband_reg.h  |    6 +
>  drivers/gpu/drm/xe/display/ext/i915_irq.c          |   77 +
>  drivers/gpu/drm/xe/display/ext/i915_utils.c        |   26 +
>  drivers/gpu/drm/xe/display/intel_fb_bo.c           |   74 +
>  drivers/gpu/drm/xe/display/intel_fb_bo.h           |   24 +
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |  104 +
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.h        |   21 +
>  drivers/gpu/drm/xe/display/xe_display_misc.c       |   16 +
>  drivers/gpu/drm/xe/display/xe_display_rps.c        |   17 +
>  drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |   71 +
>  drivers/gpu/drm/xe/display/xe_fb_pin.c             |  384 +++
>  drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   34 +
>  drivers/gpu/drm/xe/display/xe_plane_initial.c      |  291 ++
>  .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |  160 +
>  drivers/gpu/drm/xe/instructions/xe_gsc_commands.h  |   36 +
>  drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |   33 +
>  drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   61 +
>  drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  184 ++
>  drivers/gpu/drm/xe/regs/xe_gpu_commands.h          |   70 +
>  drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |   41 +
>  drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  478 +++
>  drivers/gpu/drm/xe/regs/xe_guc_regs.h              |  143 +
>  drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   17 +
>  drivers/gpu/drm/xe/regs/xe_mchbar_regs.h           |   44 +
>  drivers/gpu/drm/xe/regs/xe_reg_defs.h              |  120 +
>  drivers/gpu/drm/xe/regs/xe_regs.h                  |   68 +
>  drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   17 +
>  drivers/gpu/drm/xe/tests/Makefile                  |   10 +
>  drivers/gpu/drm/xe/tests/xe_bo.c                   |  353 +++
>  drivers/gpu/drm/xe/tests/xe_bo_test.c              |   26 +
>  drivers/gpu/drm/xe/tests/xe_bo_test.h              |   14 +
>  drivers/gpu/drm/xe/tests/xe_dma_buf.c              |  278 ++
>  drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |   25 +
>  drivers/gpu/drm/xe/tests/xe_dma_buf_test.h         |   13 +
>  drivers/gpu/drm/xe/tests/xe_lmtt_test.c            |   73 +
>  drivers/gpu/drm/xe/tests/xe_migrate.c              |  444 +++
>  drivers/gpu/drm/xe/tests/xe_migrate_test.c         |   25 +
>  drivers/gpu/drm/xe/tests/xe_migrate_test.h         |   13 +
>  drivers/gpu/drm/xe/tests/xe_mocs.c                 |  130 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   24 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   13 +
>  drivers/gpu/drm/xe/tests/xe_pci.c                  |  166 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.c             |   71 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.h             |   36 +
>  drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  319 ++
>  drivers/gpu/drm/xe/tests/xe_test.h                 |   67 +
>  drivers/gpu/drm/xe/tests/xe_wa_test.c              |  170 ++
>  drivers/gpu/drm/xe/xe_assert.h                     |  174 ++
>  drivers/gpu/drm/xe/xe_bb.c                         |  110 +
>  drivers/gpu/drm/xe/xe_bb.h                         |   25 +
>  drivers/gpu/drm/xe/xe_bb_types.h                   |   20 +
>  drivers/gpu/drm/xe/xe_bo.c                         | 2269 ++++++++++++++
>  drivers/gpu/drm/xe/xe_bo.h                         |  355 +++
>  drivers/gpu/drm/xe/xe_bo_doc.h                     |  179 ++
>  drivers/gpu/drm/xe/xe_bo_evict.c                   |  228 ++
>  drivers/gpu/drm/xe/xe_bo_evict.h                   |   15 +
>  drivers/gpu/drm/xe/xe_bo_types.h                   |   96 +
>  drivers/gpu/drm/xe/xe_debugfs.c                    |  148 +
>  drivers/gpu/drm/xe/xe_debugfs.h                    |   13 +
>  drivers/gpu/drm/xe/xe_devcoredump.c                |  196 ++
>  drivers/gpu/drm/xe/xe_devcoredump.h                |   20 +
>  drivers/gpu/drm/xe/xe_devcoredump_types.h          |   55 +
>  drivers/gpu/drm/xe/xe_device.c                     |  700 +++++
>  drivers/gpu/drm/xe/xe_device.h                     |  173 ++
>  drivers/gpu/drm/xe/xe_device_sysfs.c               |   89 +
>  drivers/gpu/drm/xe/xe_device_sysfs.h               |   13 +
>  drivers/gpu/drm/xe/xe_device_types.h               |  545 ++++
>  drivers/gpu/drm/xe/xe_display.c                    |  422 +++
>  drivers/gpu/drm/xe/xe_display.h                    |   72 +
>  drivers/gpu/drm/xe/xe_dma_buf.c                    |  322 ++
>  drivers/gpu/drm/xe/xe_dma_buf.h                    |   15 +
>  drivers/gpu/drm/xe/xe_drm_client.c                 |  204 ++
>  drivers/gpu/drm/xe/xe_drm_client.h                 |   70 +
>  drivers/gpu/drm/xe/xe_drv.h                        |   23 +
>  drivers/gpu/drm/xe/xe_exec.c                       |  350 +++
>  drivers/gpu/drm/xe/xe_exec.h                       |   14 +
>  drivers/gpu/drm/xe/xe_exec_queue.c                 |  956 ++++++
>  drivers/gpu/drm/xe/xe_exec_queue.h                 |   69 +
>  drivers/gpu/drm/xe/xe_exec_queue_types.h           |  222 ++
>  drivers/gpu/drm/xe/xe_execlist.c                   |  474 +++
>  drivers/gpu/drm/xe/xe_execlist.h                   |   21 +
>  drivers/gpu/drm/xe/xe_execlist_types.h             |   49 +
>  drivers/gpu/drm/xe/xe_force_wake.c                 |  199 ++
>  drivers/gpu/drm/xe/xe_force_wake.h                 |   38 +
>  drivers/gpu/drm/xe/xe_force_wake_types.h           |   86 +
>  drivers/gpu/drm/xe/xe_gen_wa_oob.c                 |  165 +
>  drivers/gpu/drm/xe/xe_ggtt.c                       |  428 +++
>  drivers/gpu/drm/xe/xe_ggtt.h                       |   33 +
>  drivers/gpu/drm/xe/xe_ggtt_types.h                 |   39 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler.c              |  101 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler.h              |   73 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   57 +
>  drivers/gpu/drm/xe/xe_gsc.c                        |  438 +++
>  drivers/gpu/drm/xe/xe_gsc.h                        |   20 +
>  drivers/gpu/drm/xe/xe_gsc_submit.c                 |  184 ++
>  drivers/gpu/drm/xe/xe_gsc_submit.h                 |   30 +
>  drivers/gpu/drm/xe/xe_gsc_types.h                  |   39 +
>  drivers/gpu/drm/xe/xe_gt.c                         |  778 +++++
>  drivers/gpu/drm/xe/xe_gt.h                         |   72 +
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  191 ++
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |   24 +
>  drivers/gpu/drm/xe/xe_gt_clock.c                   |   85 +
>  drivers/gpu/drm/xe/xe_gt_clock.h                   |   15 +
>  drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  249 ++
>  drivers/gpu/drm/xe/xe_gt_debugfs.h                 |   13 +
>  drivers/gpu/drm/xe/xe_gt_freq.c                    |  219 ++
>  drivers/gpu/drm/xe/xe_gt_freq.h                    |   13 +
>  drivers/gpu/drm/xe/xe_gt_idle.c                    |  192 ++
>  drivers/gpu/drm/xe/xe_gt_idle.h                    |   17 +
>  drivers/gpu/drm/xe/xe_gt_idle_types.h              |   38 +
>  drivers/gpu/drm/xe/xe_gt_mcr.c                     |  685 +++++
>  drivers/gpu/drm/xe/xe_gt_mcr.h                     |   29 +
>  drivers/gpu/drm/xe/xe_gt_pagefault.c               |  646 ++++
>  drivers/gpu/drm/xe/xe_gt_pagefault.h               |   19 +
>  drivers/gpu/drm/xe/xe_gt_printk.h                  |   46 +
>  drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   61 +
>  drivers/gpu/drm/xe/xe_gt_sysfs.h                   |   19 +
>  drivers/gpu/drm/xe/xe_gt_sysfs_types.h             |   26 +
>  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |  251 ++
>  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |   16 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  406 +++
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   26 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h  |   28 +
>  drivers/gpu/drm/xe/xe_gt_topology.c                |  169 ++
>  drivers/gpu/drm/xe/xe_gt_topology.h                |   25 +
>  drivers/gpu/drm/xe/xe_gt_types.h                   |  363 +++
>  drivers/gpu/drm/xe/xe_guc.c                        |  911 ++++++
>  drivers/gpu/drm/xe/xe_guc.h                        |   72 +
>  drivers/gpu/drm/xe/xe_guc_ads.c                    |  672 ++++
>  drivers/gpu/drm/xe/xe_guc_ads.h                    |   17 +
>  drivers/gpu/drm/xe/xe_guc_ads_types.h              |   25 +
>  drivers/gpu/drm/xe/xe_guc_ct.c                     | 1320 ++++++++
>  drivers/gpu/drm/xe/xe_guc_ct.h                     |   59 +
>  drivers/gpu/drm/xe/xe_guc_ct_types.h               |  115 +
>  drivers/gpu/drm/xe/xe_guc_debugfs.c                |   74 +
>  drivers/gpu/drm/xe/xe_guc_debugfs.h                |   14 +
>  drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   54 +
>  drivers/gpu/drm/xe/xe_guc_fwif.h                   |  361 +++
>  drivers/gpu/drm/xe/xe_guc_hwconfig.c               |  104 +
>  drivers/gpu/drm/xe/xe_guc_hwconfig.h               |   17 +
>  drivers/gpu/drm/xe/xe_guc_log.c                    |   97 +
>  drivers/gpu/drm/xe/xe_guc_log.h                    |   48 +
>  drivers/gpu/drm/xe/xe_guc_log_types.h              |   23 +
>  drivers/gpu/drm/xe/xe_guc_pc.c                     | 1000 ++++++
>  drivers/gpu/drm/xe/xe_guc_pc.h                     |   31 +
>  drivers/gpu/drm/xe/xe_guc_pc_types.h               |   34 +
>  drivers/gpu/drm/xe/xe_guc_submit.c                 | 1990 ++++++++++++
>  drivers/gpu/drm/xe/xe_guc_submit.h                 |   38 +
>  drivers/gpu/drm/xe/xe_guc_submit_types.h           |  155 +
>  drivers/gpu/drm/xe/xe_guc_types.h                  |   81 +
>  drivers/gpu/drm/xe/xe_heci_gsc.c                   |  234 ++
>  drivers/gpu/drm/xe/xe_heci_gsc.h                   |   35 +
>  drivers/gpu/drm/xe/xe_huc.c                        |  307 ++
>  drivers/gpu/drm/xe/xe_huc.h                        |   26 +
>  drivers/gpu/drm/xe/xe_huc_debugfs.c                |   70 +
>  drivers/gpu/drm/xe/xe_huc_debugfs.h                |   14 +
>  drivers/gpu/drm/xe/xe_huc_types.h                  |   24 +
>  drivers/gpu/drm/xe/xe_hw_engine.c                  |  883 ++++++
>  drivers/gpu/drm/xe/xe_hw_engine.h                  |   70 +
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  675 +++++
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |   36 +
>  drivers/gpu/drm/xe/xe_hw_engine_types.h            |  225 ++
>  drivers/gpu/drm/xe/xe_hw_fence.c                   |  230 ++
>  drivers/gpu/drm/xe/xe_hw_fence.h                   |   30 +
>  drivers/gpu/drm/xe/xe_hw_fence_types.h             |   72 +
>  drivers/gpu/drm/xe/xe_hwmon.c                      |  776 +++++
>  drivers/gpu/drm/xe/xe_hwmon.h                      |   19 +
>  drivers/gpu/drm/xe/xe_irq.c                        |  666 ++++
>  drivers/gpu/drm/xe/xe_irq.h                        |   19 +
>  drivers/gpu/drm/xe/xe_lmtt.c                       |  506 +++
>  drivers/gpu/drm/xe/xe_lmtt.h                       |   27 +
>  drivers/gpu/drm/xe/xe_lmtt_2l.c                    |  150 +
>  drivers/gpu/drm/xe/xe_lmtt_ml.c                    |  161 +
>  drivers/gpu/drm/xe/xe_lmtt_types.h                 |   63 +
>  drivers/gpu/drm/xe/xe_lrc.c                        | 1272 ++++++++
>  drivers/gpu/drm/xe/xe_lrc.h                        |   58 +
>  drivers/gpu/drm/xe/xe_lrc_types.h                  |   46 +
>  drivers/gpu/drm/xe/xe_macros.h                     |   18 +
>  drivers/gpu/drm/xe/xe_map.h                        |   93 +
>  drivers/gpu/drm/xe/xe_migrate.c                    | 1410 +++++++++
>  drivers/gpu/drm/xe/xe_migrate.h                    |  110 +
>  drivers/gpu/drm/xe/xe_migrate_doc.h                |   88 +
>  drivers/gpu/drm/xe/xe_mmio.c                       |  524 ++++
>  drivers/gpu/drm/xe/xe_mmio.h                       |  107 +
>  drivers/gpu/drm/xe/xe_mocs.c                       |  580 ++++
>  drivers/gpu/drm/xe/xe_mocs.h                       |   17 +
>  drivers/gpu/drm/xe/xe_module.c                     |  101 +
>  drivers/gpu/drm/xe/xe_module.h                     |   26 +
>  drivers/gpu/drm/xe/xe_pat.c                        |  459 +++
>  drivers/gpu/drm/xe/xe_pat.h                        |   61 +
>  drivers/gpu/drm/xe/xe_pci.c                        |  951 ++++++
>  drivers/gpu/drm/xe/xe_pci.h                        |   12 +
>  drivers/gpu/drm/xe/xe_pci_types.h                  |   46 +
>  drivers/gpu/drm/xe/xe_pcode.c                      |  296 ++
>  drivers/gpu/drm/xe/xe_pcode.h                      |   30 +
>  drivers/gpu/drm/xe/xe_pcode_api.h                  |   49 +
>  drivers/gpu/drm/xe/xe_platform_types.h             |   37 +
>  drivers/gpu/drm/xe/xe_pm.c                         |  405 +++
>  drivers/gpu/drm/xe/xe_pm.h                         |   35 +
>  drivers/gpu/drm/xe/xe_preempt_fence.c              |  158 +
>  drivers/gpu/drm/xe/xe_preempt_fence.h              |   61 +
>  drivers/gpu/drm/xe/xe_preempt_fence_types.h        |   32 +
>  drivers/gpu/drm/xe/xe_pt.c                         | 1653 ++++++++++
>  drivers/gpu/drm/xe/xe_pt.h                         |   48 +
>  drivers/gpu/drm/xe/xe_pt_types.h                   |   77 +
>  drivers/gpu/drm/xe/xe_pt_walk.c                    |  160 +
>  drivers/gpu/drm/xe/xe_pt_walk.h                    |  161 +
>  drivers/gpu/drm/xe/xe_query.c                      |  552 ++++
>  drivers/gpu/drm/xe/xe_query.h                      |   14 +
>  drivers/gpu/drm/xe/xe_range_fence.c                |  156 +
>  drivers/gpu/drm/xe/xe_range_fence.h                |   75 +
>  drivers/gpu/drm/xe/xe_reg_sr.c                     |  284 ++
>  drivers/gpu/drm/xe/xe_reg_sr.h                     |   28 +
>  drivers/gpu/drm/xe/xe_reg_sr_types.h               |   37 +
>  drivers/gpu/drm/xe/xe_reg_whitelist.c              |  146 +
>  drivers/gpu/drm/xe/xe_reg_whitelist.h              |   23 +
>  drivers/gpu/drm/xe/xe_res_cursor.h                 |  240 ++
>  drivers/gpu/drm/xe/xe_ring_ops.c                   |  482 +++
>  drivers/gpu/drm/xe/xe_ring_ops.h                   |   17 +
>  drivers/gpu/drm/xe/xe_ring_ops_types.h             |   22 +
>  drivers/gpu/drm/xe/xe_rtp.c                        |  325 ++
>  drivers/gpu/drm/xe/xe_rtp.h                        |  430 +++
>  drivers/gpu/drm/xe/xe_rtp_helpers.h                |   81 +
>  drivers/gpu/drm/xe/xe_rtp_types.h                  |  124 +
>  drivers/gpu/drm/xe/xe_sa.c                         |  106 +
>  drivers/gpu/drm/xe/xe_sa.h                         |   40 +
>  drivers/gpu/drm/xe/xe_sa_types.h                   |   19 +
>  drivers/gpu/drm/xe/xe_sched_job.c                  |  280 ++
>  drivers/gpu/drm/xe/xe_sched_job.h                  |   80 +
>  drivers/gpu/drm/xe/xe_sched_job_types.h            |   46 +
>  drivers/gpu/drm/xe/xe_sriov.c                      |   55 +
>  drivers/gpu/drm/xe/xe_sriov.h                      |   42 +
>  drivers/gpu/drm/xe/xe_sriov_printk.h               |   46 +
>  drivers/gpu/drm/xe/xe_sriov_types.h                |   28 +
>  drivers/gpu/drm/xe/xe_step.c                       |  264 ++
>  drivers/gpu/drm/xe/xe_step.h                       |   23 +
>  drivers/gpu/drm/xe/xe_step_types.h                 |   50 +
>  drivers/gpu/drm/xe/xe_sync.c                       |  344 +++
>  drivers/gpu/drm/xe/xe_sync.h                       |   36 +
>  drivers/gpu/drm/xe/xe_sync_types.h                 |   28 +
>  drivers/gpu/drm/xe/xe_tile.c                       |  185 ++
>  drivers/gpu/drm/xe/xe_tile.h                       |   18 +
>  drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   57 +
>  drivers/gpu/drm/xe/xe_tile_sysfs.h                 |   19 +
>  drivers/gpu/drm/xe/xe_tile_sysfs_types.h           |   27 +
>  drivers/gpu/drm/xe/xe_trace.c                      |    9 +
>  drivers/gpu/drm/xe/xe_trace.h                      |  608 ++++
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |  334 ++
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h             |   21 +
>  drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |  118 +
>  drivers/gpu/drm/xe/xe_ttm_sys_mgr.h                |   13 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |  480 +++
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |   44 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h         |   52 +
>  drivers/gpu/drm/xe/xe_tuning.c                     |  121 +
>  drivers/gpu/drm/xe/xe_tuning.h                     |   16 +
>  drivers/gpu/drm/xe/xe_uc.c                         |  258 ++
>  drivers/gpu/drm/xe/xe_uc.h                         |   24 +
>  drivers/gpu/drm/xe/xe_uc_debugfs.c                 |   26 +
>  drivers/gpu/drm/xe/xe_uc_debugfs.h                 |   14 +
>  drivers/gpu/drm/xe/xe_uc_fw.c                      |  884 ++++++
>  drivers/gpu/drm/xe/xe_uc_fw.h                      |  184 ++
>  drivers/gpu/drm/xe/xe_uc_fw_abi.h                  |  321 ++
>  drivers/gpu/drm/xe/xe_uc_fw_types.h                |  146 +
>  drivers/gpu/drm/xe/xe_uc_types.h                   |   28 +
>  drivers/gpu/drm/xe/xe_vm.c                         | 3206 ++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_vm.h                         |  263 ++
>  drivers/gpu/drm/xe/xe_vm_doc.h                     |  555 ++++
>  drivers/gpu/drm/xe/xe_vm_types.h                   |  373 +++
>  drivers/gpu/drm/xe/xe_wa.c                         |  895 ++++++
>  drivers/gpu/drm/xe/xe_wa.h                         |   32 +
>  drivers/gpu/drm/xe/xe_wa_oob.rules                 |   24 +
>  drivers/gpu/drm/xe/xe_wait_user_fence.c            |  178 ++
>  drivers/gpu/drm/xe/xe_wait_user_fence.h            |   15 +
>  drivers/gpu/drm/xe/xe_wopcm.c                      |  270 ++
>  drivers/gpu/drm/xe/xe_wopcm.h                      |   16 +
>  drivers/gpu/drm/xe/xe_wopcm_types.h                |   26 +
>  include/drm/drm_gpuvm.h                            |   10 +
>  include/drm/xe_pciids.h                            |  190 ++
>  include/uapi/drm/xe_drm.h                          | 1347 ++++++++
>  352 files changed, 61427 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon
>  create mode 100644 Documentation/gpu/xe/index.rst
>  create mode 100644 Documentation/gpu/xe/xe_cs.rst
>  create mode 100644 Documentation/gpu/xe/xe_debugging.rst
>  create mode 100644 Documentation/gpu/xe/xe_firmware.rst
>  create mode 100644 Documentation/gpu/xe/xe_gt_mcr.rst
>  create mode 100644 Documentation/gpu/xe/xe_map.rst
>  create mode 100644 Documentation/gpu/xe/xe_migrate.rst
>  create mode 100644 Documentation/gpu/xe/xe_mm.rst
>  create mode 100644 Documentation/gpu/xe/xe_pcode.rst
>  create mode 100644 Documentation/gpu/xe/xe_pm.rst
>  create mode 100644 Documentation/gpu/xe/xe_rtp.rst
>  create mode 100644 Documentation/gpu/xe/xe_tile.rst
>  create mode 100644 Documentation/gpu/xe/xe_wa.rst
>  create mode 100644 drivers/gpu/drm/xe/.gitignore
>  create mode 100644 drivers/gpu/drm/xe/.kunitconfig
>  create mode 100644 drivers/gpu/drm/xe/Kconfig
>  create mode 100644 drivers/gpu/drm/xe/Kconfig.debug
>  create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
>  create mode 100644 drivers/gpu/drm/xe/Makefile
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_errors_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_klvs_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_messages_abi.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
>  create mode 100644 drivers/gpu/drm/xe/display/ext/i915_irq.c
>  create mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>  create mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_fb_pin.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_instr_defs.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_mi_commands.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_engine_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gpu_commands.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gt_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_guc_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_lrc_layout.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_reg_defs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_sriov_regs.h
>  create mode 100644 drivers/gpu/drm/xe/tests/Makefile
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_lmtt_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c
>  create mode 100644 drivers/gpu/drm/xe/xe_assert.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bb.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bb.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bb_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bo.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.c
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.h
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device.c
>  create mode 100644 drivers/gpu/drm/xe/xe_device.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_display.c
>  create mode 100644 drivers/gpu/drm/xe/xe_display.h
>  create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.c
>  create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.h
>  create mode 100644 drivers/gpu/drm/xe/xe_drm_client.c
>  create mode 100644 drivers/gpu/drm/xe/xe_drm_client.h
>  create mode 100644 drivers/gpu/drm/xe/xe_drv.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec.c
>  create mode 100644 drivers/gpu/drm/xe/xe_exec.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.c
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist.c
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist.h
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake.c
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake.h
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_fwif.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_huc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hwmon.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hwmon.h
>  create mode 100644 drivers/gpu/drm/xe/xe_irq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_irq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_2l.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_ml.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_macros.h
>  create mode 100644 drivers/gpu/drm/xe/xe_map.h
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate.c
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate.h
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_mmio.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mmio.h
>  create mode 100644 drivers/gpu/drm/xe/xe_mocs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mocs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_module.c
>  create mode 100644 drivers/gpu/drm/xe/xe_module.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pat.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pat.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pci.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pci.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pci_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode_api.h
>  create mode 100644 drivers/gpu/drm/xe/xe_platform_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_query.c
>  create mode 100644 drivers/gpu/drm/xe/xe_query.h
>  create mode 100644 drivers/gpu/drm/xe/xe_range_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_range_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.c
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.h
>  create mode 100644 drivers/gpu/drm/xe/xe_res_cursor.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp.c
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp_helpers.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sa.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sa.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sa_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_step.c
>  create mode 100644 drivers/gpu/drm/xe/xe_step.h
>  create mode 100644 drivers/gpu/drm/xe/xe_step_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sync.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sync.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sync_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tile.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_trace.c
>  create mode 100644 drivers/gpu/drm/xe/xe_trace.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tuning.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tuning.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_abi.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_vm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wa.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wa.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules
>  create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm_types.h
>  create mode 100644 include/drm/xe_pciids.h
>  create mode 100644 include/uapi/drm/xe_drm.h
Oded Gabbay Dec. 18, 2023, 12:09 p.m. UTC | #2
On Fri, Dec 15, 2023 at 05:28:19PM -0500, Rodrigo Vivi wrote:
> Hi Dave and Sima,
> 
> Here goes the first pull request for the drm/xe driver.
> 
> Our team was focused on putting together a driver that uses most, if not all,
> of the key drm concepts and has a functional display that is shared with i915.
> All the platforms are still protected by the force_probe protection because they
> are either officially supported by i915, or because they are still under
> enablement like Lunar Lake.
> 
> We still have a lot of work ahead of us, but we believe that it will be better
> to work with all of these cross-driver concepts after we are merged to drm-next
> along with the other drivers.
> 
> Besides the cross-driver collaboration and enabling of upcoming hardware, one of
> our key areas will be to improve performance and address reports by users so that
> the driver keeps getting better.
> 
> I’m having the honor to send this first pull request on behalf of the new team of
> maintainers that we are putting together for the xe driver: Lucas, Thomas, and
> Oded. I’m going to assist them to get this through and to set up the drm-tip
> development flow. Then, you should expect future pull requests coming directly
> from them. Likely, with a rotation of duties that they will define by themselves,
> but that should be similar to drm-intel and drm-misc.
> 
> Thanks,
> Rodrigo.
Hi Rodrigo,
You and the team did a great job on bringing the driver to this stage. Congrats!

I reviewed a large part of the driver, mainly focusing on init/fini,
ioctls, memory management, dma-buf.
There were multiple issues raised and all of them were fixed/answered
to my satisfaction.

For the PR:
Acked-by: Oded Gabbay <ogabbay@kernel.org>

Thanks,
Oded

> 
> The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:
> 
>   Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-12-08 16:27:00 +1000)
> 
> are available in the Git repository at:
> 
>   https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2023-12-15-pr1
> 
> for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:
> 
>   MAINTAINERS: Updates to Intel DRM (2023-12-15 16:41:56 -0500)
> 
> ----------------------------------------------------------------
> Introduce a new DRM driver for Intel GPUs
> 
> Xe, is a new driver for Intel GPUs that supports both integrated and
> discrete platforms. The experimental support starts with Tiger Lake.
> i915 will continue be the main production driver for the platforms
> up to Meteor Lake and Alchemist. Then the goal is to make this Intel
> Xe driver the primary driver for Lunar Lake and newer platforms.
> 
> It uses most, if not all, of the key drm concepts, in special: TTM,
> drm-scheduler, drm-exec, drm-gpuvm/gpuva and others.
> 
> It reuses/shares i915 code for display support.
> 
> ----------------------------------------------------------------
> Alan Previn (1):
>       drm/xe/guc: Fix h2g_write usage of GUC_CTB_MSG_MAX_LEN
> 
> Alexander Usyskin (1):
>       drm/xe/gsc: enable pvc support
> 
> Andrzej Hajda (1):
>       drm/xe: implement driver initiated function-reset
> 
> Animesh Manna (1):
>       drm/xe/dsb: DSB implementation for xe
> 
> Anshuman Gupta (7):
>       drm/xe/pm: Disable PM on unbounded pcie parent bridge
>       drm/xe/pm: Add pci d3cold_capable support
>       drm/xe/pm: Refactor xe_pm_runtime_init
>       drm/xe/pm: Add vram_d3cold_threshold Sysfs
>       drm/xe/pm: Toggle d3cold_allowed using vram_usages
>       drm/xe/pm: Init pcode and restore vram on power lost
>       drm/xe/pm: Add vram_d3cold_threshold for d3cold capable device
> 
> Anusha Srivatsa (10):
>       drm/xe/huc: Support for loading unversiond HuC
>       drm/xe: Load HuC on Alderlake S
>       drm/xe: GuC and HuC loading support for RKL
>       drm/xe: Add Rocketlake device info
>       drm/xe/kunit: Handle fake device creation for all platform/subplatform cases
>       drm/xe: Add missing ADL entries to xe_test_wa
>       drm/xe/rplu: s/ADLP/ALDERLAKE_P
>       drm/xe/rpls: Add RPLS Support
>       drm/xe/rpls: Add Stepping info for RPLS
>       drm/xe: Add missing ADL entries to xe_test_wa
> 
> Aravind Iddamsetty (5):
>       drm/xe: Get GT clock to nanosecs
>       drm/xe: Use spinlock in forcewake instead of mutex
>       drm/xe/pmu: Enable PMU interface
>       drm/xe/pmu: Drop interrupt pmu event
>       drm/xe: Fix lockdep warning in xe_force_wake calls
> 
> Ashutosh Dixit (2):
>       drm/xe/uapi: Use common drm_xe_ext_set_property extension
>       drm/xe/pmu: Remove PMU from Xe till uapi is finalized
> 
> Badal Nilawar (11):
>       drm/xe: Donot apply forcewake while reading actual frequency
>       drm/xe/mtl: Add support to get C6 residency/status of MTL
>       drm/xe/hwmon: Expose power attributes
>       drm/xe/hwmon: Expose card reactive critical power
>       drm/xe/hwmon: Expose input voltage attribute
>       drm/xe/hwmon: Expose hwmon energy attribute
>       drm/xe: Extend rpX values extraction for future platforms
>       drm/xe/hwmon: Add kernel doc and refactor xe hwmon
>       drm/xe/hwmon: Protect hwmon rw attributes with hwmon_lock
>       drm/xe/hwmon: Expose power1_max_interval
>       drm/xe/mtl: Use 16.67 Mhz freq scale factor to get rpX
> 
> Balasubramani Vivekanandan (9):
>       drm/xe/gt: Enable interrupt while initializing root gt
>       drm/xe: Use max wopcm size when validating the preset GuC wopcm size
>       drm/xe: Stop accepting value in xe_migrate_clear
>       drm/xe: Keep all resize bar related prints inside xe_resize_vram_bar
>       drm/xe/xe2: Add MOCS table
>       drm/xe/lnl: Hook up MOCS table
>       drm/xe: Leverage ComputeCS read L3 caching
>       drm/xe: Add event tracing for CTB
>       drm/xe/trace: Optimize trace definition
> 
> Bommithi Sakeena (3):
>       drm/xe: Ensure mutex are destroyed
>       drm/xe: Add a missing mutex_destroy to xe_ttm_vram_mgr
>       drm/xe: Encapsulate all the module parameters
> 
> Bommu Krishnaiah (2):
>       drm/xe/uapi: add exec_queue_id member to drm_xe_wait_user_fence structure
>       drm/xe/uapi: Return correct error code for xe_wait_user_fence_ioctl
> 
> Brian Welty (12):
>       drm/xe: Fix BUG_ON during bind with prefetch
>       drm/xe: Fix lockdep warning from xe_vm_madvise
>       drm/xe: Simplify xe_res_get_buddy()
>       drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region
>       drm/xe: Remove unused xe_bo_to_tile
>       drm/xe: Replace usage of mem_type_to_tile
>       drm/xe: Fix dequeue of access counter work item
>       drm/xe: Fix pagefault and access counter worker functions
>       drm/xe: Fix unbind of unaccessed VMA (fault mode)
>       drm/xe: Make xe_mmio_tile_vram_size() static
>       drm/xe: Support device page faults on integrated platforms
>       drm/xe/xe2: Respond to TRTT faults as unsuccessful page fault
> 
> Carlos Santa (2):
>       drm/xe: Update the list of devices to add even more TGL devices
>       drm/xe: stringify the argument to avoid potential vulnerability
> 
> Chang, Bruce (2):
>       drm/xe: don't auto fall back to execlist mode if guc failed to init
>       drm/xe: fix pvc unload issue
> 
> Christopher Snowhill (3):
>       drm/xe: Enable the compat ioctl functionality
>       drm/xe: Add explicit padding to uAPI definition
>       drm/xe: Validate uAPI padding and reserved fields
> 
> Dani Liberman (3):
>       drm/xe: proper setting of irq enabled flag
>       drm/xe: change old msi irq api to a new one
>       drm/xe: add msix support
> 
> Daniele Ceraolo Spurio (36):
>       drm/xe: limit GGTT size to GUC_GGTT_TOP
>       drm/xe: fix HuC FW ordering for DG1
>       drm/xe/slpc: Start SLPC before GuC submission on reset
>       drm/xe: fix mcr semaphore locking for MTL
>       drm/xe: common function to assign queue name
>       drm/xe: base definitions for the GSCCS
>       drm/xe: add GSCCS irq support
>       drm/xe: add GSCCS ring ops
>       drm/xe: GSC forcewake support
>       drm/xe: don't expose the GSCCS to users
>       drm/xe: enable idle msg and set hysteresis for GSCCS
>       drm/xe: fix submissions without vm
>       drm/xe: split kernel vs permanent engine flags
>       drm/xe: standardize vm-less kernel submissions
>       drm/xe/guc: Switch to major-only GuC FW tracking for MTL
>       drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()
>       drm/xe/uc: Fix uC status tracking
>       drm/xe/uc: Add GuC/HuC firmware path overrides
>       drm/xe: Add child contexts to the GuC context lookup
>       drm/xe/guc: Bump PVC GuC version to 70.9.1
>       drm/xe/uc: Prepare for parsing of different header types
>       drm/xe/huc: Extract version and binary offset from new HuC headers
>       drm/xe/huc: HuC is not supported on GTs that don't have video engines
>       drm/xe/huc: Don't re-auth HuC if it's already authenticated
>       drm/xe/huc: Define HuC for MTL
>       drm/xe/uc: Rework uC version tracking
>       drm/xe/gsc: Introduce GSC FW
>       drm/xe/gsc: Parse GSC FW header
>       drm/xe/gsc: GSC FW load
>       drm/xe/gsc: Implement WA 14015076503
>       drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
>       drm/xe/gsc: Query GSC compatibility version
>       drm/xe/gsc: Define GSCCS for MTL
>       drm/xe/gsc: Define GSC FW for MTL
>       drm/xe/huc: Prepare for 2-step HuC authentication
>       drm/xe/huc: HuC authentication via GSC
> 
> David Kershner (2):
>       drm/xe/xe_migrate.c: Use DPA offset for page table entries.
>       drm/xe/tests/xe_migrate.c: Add vram to vram KUNIT test
> 
> Dnyaneshwar Bhadane (1):
>       drm/xe/xe2: Add initial workarounds
> 
> Fei Yang (3):
>       drm/xe: set PTE_AE for all platforms supporting it
>       drm/xe: timeout needs to be a signed value
>       drm/xe: explicitly set GGTT access for GuC DMA
> 
> Francois Dugast (57):
>       drm/xe: Use global macros to set PM functions
>       drm/xe: Fix build without CONFIG_PM_SLEEP
>       drm/xe: Fix splat during error dump
>       drm/xe: Remove unused define
>       drm/xe: Use SPDX-License-Identifier instead of license text
>       drm/xe: Group engine related structs
>       drm/xe: Fix some formatting issues in uAPI
>       drm/xe: Document structures for device query
>       drm/xe: Move defines before relevant fields
>       drm/xe: Document topology mask query
>       drm/xe: Cleanup SPACING style issues
>       drm/xe: Cleanup OPEN_BRACE style issues
>       drm/xe: Cleanup POINTER_LOCATION style issues
>       drm/xe: Cleanup CODE_INDENT style issues
>       drm/xe: Cleanup TRAILING_WHITESPACE style issues
>       drm/xe: Cleanup COMPLEX_MACRO style issues
>       drm/xe: Fix typos
>       drm/xe: Prevent flooding the kernel log with XE_IOCTL_ERR
>       drm/xe: Cleanup style warnings
>       drm/xe: Rely on kmalloc/kzalloc log message
>       drm/xe/execlist: Remove leftover printk messages
>       drm/xe: Cleanup style warnings and errors
>       drm/xe/execlist: Log when using execlist submission
>       drm/xe/macro: Remove unused constant
>       drm/xe: Prefer WARN() over BUG() to avoid crashing the kernel
>       drm/xe: Rename xe_engine.[ch] to xe_exec_queue.[ch]
>       drm/xe: Rename engine to exec_queue
>       drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
>       drm/xe: Replace XE_WARN_ON with drm_warn when just printing a string
>       drm/xe: Use Xe assert macros instead of XE_WARN_ON macro
>       drm/xe/uapi: Separate VM_BIND's operation and flag
>       drm/xe/vm: Remove VM_BIND_OP macro
>       drm/xe/uapi: Remove MMIO ioctl
>       drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
>       drm/xe/display: Use acpi_target_system_state only if ACPI_SLEEP is enabled
>       drm/xe/uapi: Remove useless XE_QUERY_CONFIG_NUM_PARAM
>       drm/xe/uapi: Remove unused inaccessible memory region
>       drm/xe/uapi: Remove unused QUERY_CONFIG_MEM_REGION_COUNT
>       drm/xe/uapi: Remove unused QUERY_CONFIG_GT_COUNT
>       drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
>       drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
>       drm/xe/uapi: Change rsvd to pad in struct drm_xe_class_instance
>       drm/xe/uapi: Align on a common way to return arrays (memory regions)
>       drm/xe/uapi: Align on a common way to return arrays (gt)
>       drm/xe/uapi: Align on a common way to return arrays (engines)
>       drm/xe/uapi: Remove DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
>       drm/xe/uapi: Remove DRM_XE_UFENCE_WAIT_MASK_*
>       drm/xe/uapi: Add a comment to each struct
>       drm/xe/uapi: Add missing documentation for struct members
>       drm/xe/uapi: Document use of size in drm_xe_device_query
>       drm/xe/uapi: Document drm_xe_query_config keys
>       drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
>       drm/xe/uapi: Make constant comments visible in kernel doc
>       drm/xe/uapi: Add block diagram of a device
>       drm/xe/uapi: Add examples of user space code
>       drm/xe/uapi: Move CPU_CACHING defines before doc
>       drm/xe/uapi: Move DRM_XE_ACC_GRANULARITY_* where they are used
> 
> Gustavo Sousa (15):
>       drm/xe: Include only relevant header in xe_module.h
>       drm/xe: Get rid of MAKE_INIT_EXIT_FUNCS
>       drm/xe: Call exit functions when xe_register_pci_driver() fails
>       drm/xe: Do not forget to drm_dev_put() in xe_pci_probe()
>       drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
>       drm/xe: Fail xe_device_create() if wq allocation fails
>       drm/xe: Replace deprecated DRM_ERROR()
>       drm/xe/reg_sr: Use a single parameter for xe_reg_sr_apply_whitelist()
>       drm/xe/reg_sr: Apply limit to register whitelisting
>       drm/xe: Simplify final return from xe_irq_install()
>       drm/xe/irq: Clear GFX_MSTR_IRQ as part of IRQ reset
>       drm/xe/rtp: Fix doc for XE_RTP_ACTIONS
>       drm/xe/xelpmp: Add Wa_16021867713
>       drm/xe/mmio: Move xe_mmio_wait32() to xe_mmio.c
>       drm/xe/mmio: Make xe_mmio_wait32() aware of interrupts
> 
> Haridhar Kalvala (6):
>       drm/xe: Adjust mocs field mask definitions
>       drm/xe: Rename MEM_SET instruction
>       drm/xe/xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4
>       drm/xe/xe2: Update MOCS fields in blitter instructions
>       drm/xe: Add Wa_14019877138
>       drm/xe: ATS-M device ID update
> 
> Himal Prasad Ghimiray (12):
>       drm/xe: Notify Userspace when gt reset fails
>       drm/xe: Introduce fault injection for gt reset
>       drm/xe/xe2: Determine bios enablement for flat ccs on igfx
>       drm/xe/xe2: Modify main memory to ccs memory ratio.
>       drm/xe/xe2: Allocate extra pages for ccs during bo create
>       drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
>       drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
>       drm/xe/xe2: Update chunk size for each iteration of ccs copy
>       drm/xe/xe2: Update emit_pte to use compression enabled PAT index
>       drm/xe/xe2: Handle flat ccs move for igfx.
>       drm/xe/xe2: Modify xe_bo_test for system memory
>       drm/xe/xe2: Support flat ccs
> 
> Janga Rahul Kumar (1):
>       drm/Xe: Use EOPNOTSUPP instead of ENOTSUPP
> 
> Jani Nikula (3):
>       drm/xe: make compound literal initialization const
>       drm/xe/irq: the irq handler local variable need not be static
>       drm/xe/mmio: add xe_mmio_read16()
> 
> Jonathan Cavitt (1):
>       drm/xe: clear the serviced bits on INTR_IDENTITY_REG
> 
> José Roberto de Souza (17):
>       drm/xe/uapi: Rename XE_ENGINE_PROPERTY_X to XE_ENGINE_SET_PROPERTY_X
>       drm/xe/uapi: Add XE_ENGINE_GET_PROPERTY uAPI
>       drm/xe: Initialize ret in mcr_lock()
>       drm/xe: Fix size of xe_eu_mask_t
>       drm/xe: Add max engine priority to xe query
>       drm/xe: Limit the system memory size to half of the system memory
>       drm/xe: Enable Raptorlake-P
>       drm/xe: Set default MOCS value for cs instructions
>       drm/xe: Set default MOCS value for copy cs instructions
>       drm/xe: Replace PVC check by engine type check
>       drm/xe: Fix RING_MI_MODE label in devcoredump
>       drm/xe: Fix devcoredump readout of IPEHR
>       drm/xe: Remove devcoredump readout of IPEIR
>       drm/xe: Set PTE_AE for smem allocations in integrated devices
>       drm/xe: Include RPL-U to pciidlist
>       drm/xe: Add missing RPL and ADL
>       drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
> 
> Jouni Högander (9):
>       drm/xe/display: Add struct i915_active for Xe
>       drm/xe/display: Add macro to get i915 device from xe_bo
>       drm/xe/display: Add frontbuffer setter/getter for xe_bo
>       drm/xe/display: Add i915_active.h compatibility header
>       drm/xe/display: Add empty def for i915_gem_object_flush_if_display
>       drm/xe/display: Add empty define for i915_ggtt_clear_scanout
>       drm/xe/display: Xe stolen memory handling for fbc support
>       drm/xe/display: Add i915_gem.h compatibility header
>       drm/xe/display: Add Xe implementation for fence checks used by fbc code
> 
> Juha-Pekka Heikkila (2):
>       drm/xe/display: Don't try to use vram if not available
>       drm/xe/display: Add writing of remapped dpt
> 
> Koby Elbaz (10):
>       drm/xe: add 28-bit address support in struct xe_reg
>       drm/xe: add read/write support for MMIO extension space
>       drm/xe: add a flag to bypass multi-tile config from MTCFG reg
>       drm/xe: add MMIO extension support flags
>       drm/xe: map MMIO BAR according to the num of tiles in device desc
>       drm/xe: refactor xe_mmio_probe_tiles to support MMIO extension
>       drm/xe: move the lmem verification code into a separate function
>       drm/xe/display: fix error handling flow when device probing fails
>       drm/xe: add skip_pcode flag
>       drm/xe: rename bypass_mtcfg to skip_mtcfg
> 
> Lucas De Marchi (176):
>       drm/xe/ggtt: Use BIT_ULL() for 64bit
>       drm/xe: Fix some log messages on 32b
>       drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
>       drm/xe: Fix tracepoints on 32b
>       drm/xe/gt: Fix min() with u32 and u64
>       drm/xe: Add documentation for mem_type
>       drm/xe: Add min config for kunit integration ARCH=um
>       drm/xe: Fix typo in MCR documentation
>       drm/xe: Fix xe_tuning include
>       drm/xe: Remove TODO from rtp infra
>       drm/xe: Remove TODO from workaround documentation
>       drm/xe/mcr: Use designated init for xe_steering_types
>       drm/xe/mcr: Add SQIDI steering for DG2
>       drm/xe: Rename xe_rtp_regval to xe_rtp_action
>       drm/xe/rtp: Split action and entry flags
>       drm/xe/rtp: Support multiple actions per entry
>       drm/xe: Make local functions static
>       drm/xe: Fix application of LRC tunings
>       drm/xe: Remove unused functions
>       drm/xe: Add missing doc for xe parameter
>       drm/xe: Add missing include xe_wait_user_fence.h
>       drm/xe: Remove duplicate media_ver
>       drm/xe: Remove outdated build workaround
>       drm/xe/guc: Remove i915_regs.h include
>       drm/xe: Fix kunit integration due to missing prototypes
>       drm/xe: Sort includes
>       drm/xe: Remove dependency on intel_engine_regs.h
>       drm/xe: Remove dependency on intel_gt_regs.h
>       drm/xe: Remove dependency on intel_lrc_reg.h
>       drm/xe: Remove dependency on intel_gpu_commands.h
>       drm/xe: Remove dependency on i915_reg.h
>       drm/xe/guc_pc: Move gt register to the proper place
>       drm/xe: Remove dependency on intel_mchbar_regs.h
>       drm/xe: Prefer single underscore for header guards
>       drm/xe: Do not spread i915_reg_defs.h include
>       drm/xe/device: Prefer the drm-managed mutex_init
>       drm/xe: Fix typo persitent->persistent
>       drm/xe: Fix duplicated setting for register 0x6604
>       drm/xe: Fix ROW_CHICKEN2 define
>       drm/xe/mcr: Add L3BANK steering for DG2
>       drm/xe/mcr: Document how to initialize group/instance
>       drm/xe: Allow const propagation in gt_to_xe()
>       drm/xe: Constify xe_dss_mask_group_ffs()
>       drm/xe/rtp: Move match function from wa to rtp
>       drm/xe/rtp: Add match for render reset domain
>       drm/xe: Remove dump function from reg_sr
>       drm/xe: Name LRC wa after the engine it belongs
>       drm/xe/pvc: Remove A* steppings
>       drm/xe/rtp: Add match helper for gslice fused off
>       drm/xe/reg_sr: Tweak verbosity for register printing
>       drm/xe: Print whitelist while applying
>       drm/xe/debugfs: Dump register save-restore tables
>       drm/xe: Reorder WAs to consider the platform
>       drm/xe: Add PVC gt workarounds
>       drm/xe: Add PVC engine workarounds
>       drm/xe: Add missing DG2 gt workarounds and tunings
>       drm/xe: Add missing DG2 engine workarounds
>       drm/xe: Add missing DG2 lrc tunings
>       drm/xe: Add missing DG2 lrc workarounds
>       drm/xe: Add missing ADL-P engine workaround
>       drm/xe: Add missing LRC workarounds for graphics 1200
>       drm/xe: Replace i915 with xe in uapi
>       drm/xe/mcr: Separate version from engine type selection
>       drm/xe: Remove unused revid from firmware name
>       drm/xe: Fix platform order
>       drm/xe: Extract function to initialize xe->info
>       drm/xe: Move test infra out of xe_pci.[ch]
>       drm/xe: Use symbol namespace for kunit tests
>       drm/xe: Generalize fake device creation
>       drm/xe/reg_sr: Save errors for kunit integration
>       drm/xe: Add basic unit tests for rtp
>       drm/xe: Add test for GT workarounds and tunings
>       drm/xe: Update GuC/HuC firmware autoselect logic
>       drm/xe: Always log GuC/HuC firmware versions
>       drm/xe: Cleanup page-related defines
>       drm/xe: Rename RC0/RC6 macros
>       drm/xe: Rename instruction field to avoid confusion
>       drm/xe/guc: Rename GEN11_SOFT_SCRATCH for clarity
>       drm/xe/guc: Move GuC registers to regs/
>       drm/xe/guc: Convert GuC registers to REG_FIELD/REG_BIT
>       drm/xe: Drop gen afixes from registers
>       drm/xe: Use REG_FIELD/REG_BIT for all regs/*.h
>       drm/xe: Clarify register types on PAT programming
>       drm/xe: Introduce xe_reg/xe_reg_mcr
>       drm/xe: Use XE_REG/XE_REG_MCR
>       drm/xe: Annotate masked registers used by RTP
>       drm/xe: Plumb xe_reg into WAs, rtp, etc
>       drm/xe: Move helper macros to separate header
>       drm/xe: Fix media detection for pre-GMD_ID platforms
>       drm/xe: Do not mark 1809175790 as a WA
>       drm/xe: Fix comment on Wa_22013088509
>       drm/xe/guc: Remove special handling for PVC A*
>       drm/xe/guc: Handle RCU_MODE as masked from definition
>       drm/xe/mmio: Use struct xe_reg
>       drm/xe: Rename reg field to addr
>       drm/xe: Fix indent in xe_hw_engine_print_state()
>       drm/xe: Load HuC on Alderlake P
>       drm/xe: Fix Wa_22011802037 annotation
>       drm/xe/rtp: Split rtp process initialization
>       drm/xe/rtp: Replace XE_WARN_ON
>       drm/xe/rtp: Add "_sr" to entry/function names
>       drm/xe/rtp: Allow to track active workarounds
>       drm/xe/wa: Track gt/engine/lrc active workarounds
>       drm/xe/debugfs: Dump active workarounds
>       drm/xe/rtp: Rename STEP to GRAPHICS_STEP
>       drm/xe/rtp: Add check for media stepping
>       drm/xe/rtp: Add support for entries with no action
>       drm/xe: Include build directory
>       drm/xe: Add support for OOB workarounds
>       drm/xe/guc: Port Wa_22012773006 to xe_wa
>       drm/xe/guc: Port Wa_16011759253 to xe_wa
>       drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
>       drm/xe/guc: Port Wa_16011777198 to xe_wa
>       drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
>       drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
>       drm/xe/guc: Port Wa_1509372804 to xe_wa
>       drm/xe/rtp: Also check gt type
>       drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
>       drm/xe: Rename pte/pde encoding functions
>       drm/xe/guc: Fix typo s/enabled/enable/
>       drm/xe/guc: Normalize error messages with %#x
>       drm/xe: Skip applying copy engine fuses
>       drm/xe: Normalize XE_VM_FLAG* names
>       drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
>       drm/xe: Fix checking for unset value
>       drm/xe: Remove vma arg from xe_pte_encode()
>       drm/xe: Decouple vram check from xe_bo_addr()
>       drm/xe: Set PTE_DM bit for stolen on MTL
>       drm/xe: Fix MTL+ stolen memory mapping
>       drm/xe: Carve out top of DSM as reserved
>       drm/xe: Sort xe_regs.h
>       drm/xe: Fix error path in xe_guc_pc_gucrc_disable()
>       drm/xe: Fix error path in xe_guc_pc_start()
>       drm/xe: Update ARL-S DevIDs to the latest BSpec
>       drm/xe/pat: Use 0 instead of space on error
>       drm/xe/reg_sr: Simplify check for masked registers
>       drm/xe/reg_sr: Use xe_gt_dbg
>       drm/xe: Add dbg messages for LRC WAs
>       drm/xe: Fix LRC workarounds
>       drm/xe/mmio: Account for GSI offset when checking ranges
>       drm/xe: Accept a const xe device
>       drm/xe: Normalize pte/pde encoding
>       drm/xe: Remove check for vma == NULL
>       drm/xe: Use vfunc for pte/pde ppgtt encoding
>       drm/xe/migrate: Do not hand-encode pte
>       drm/xe: Use vfunc to initialize PAT
>       drm/xe/dg2: Fix using wrong PAT table
>       drm/xe/pat: Prefer the arch/IP names
>       drm/xe/pat: Keep track of relevant indexes
>       drm/xe: Use pat_index to encode pde/pte
>       drm/xe: Use vfunc for ggtt pte encoding
>       drm/xe/xe2: Extend reserved stolen sizes
>       drm/xe/xe2: Add missing mocs entry
>       drm/xe/vm: Prefer xe_assert() over XE_WARN_ON()
>       drm/xe/xe2: Follow XeHPC for TLB invalidation
>       drm/xe/xe2: Add one more bit to encode PAT to ppgtt entries
>       drm/xe/pat: Add debugfs node to dump PAT
>       drm/xe/gt: Dump PAT table when failing to initialize
>       drm/xe: Fix WA 14010918519 write to wrong register
>       drm/xe: Fix build with KUNIT=m
>       drm/xe/display: Silence kernel-doc warnings related to display
>       drm/xe: Fold GEN11_MOCS_ENTRIES into gen12_mocs_desc
>       drm/xe/mocs: Bring comment about mocs back to reality
>       drm/xe: Remove GEN[0-9]*_ prefixes
>       drm/xe: Fix modpost warning on kunit modules
>       drm/xe: Sync MTL PCI IDs with i915
>       drm/xe: Expand XE_REG_OPTION_MASKED documentation
>       drm/xe/kunit: Remove handling of XE_TEST_SUBPLATFORM_ANY
>       drm/xe/kunit: Move fake pci data to test-priv
>       drm/xe/kunit: Add stub to read_gmdid
>       drm/xe/kunit: Test WAs for MTL and LNL
>       drm/xe: Rename info.supports_* to info.has_*
>       drm/xe: Return error if drm_buddy_init() fails
>       drm/xe/bo: Remove unusued variable
>       drm/xe/display: Fix dummy __i915_inject_probe_error()
>       drm/xe: Enable W=1 warnings by default
> 
> Maarten Lankhorst (11):
>       drm/xe: Implement stolen memory.
>       drm/xe: Fix hidden gotcha regression with bo create
>       drm/xe: Convert memory device refcount to s32
>       drm/xe: Map initial FB at the same place in GGTT too
>       drm/xe: Add debugfs for dumping GGTT mappings
>       drm/xe: Use atomic instead of mutex for xe_device_mem_access_ongoing
>       drm/xe: Remove extra xe_mmio_read32 from xe_mmio_wait32
>       drm/xe: Prevent evicting for page tables
>       drm/xe: Fix error paths of __xe_bo_create_locked
>       drm/xe/display: Implement display support
>       drm/xe/display: Improve s2idle handling.
> 
> Matt Atwood (2):
>       drm/xe: Add infrastructure for per engine tuning
>       drm/xe: add gt tuning for indirect state
> 
> Matt Roper (131):
>       drm/xe: Remove gen-based mmio offsets from hw engine init
>       drm/xe: Assume MTL's forcewake register continues to future platforms
>       drm/xe/mocs: Drop unwanted TGL table
>       drm/xe/mocs: Add missing RKL handling
>       drm/xe/mocs: Drop xe_mocs_info_index
>       drm/xe/mocs: Drop duplicate assignment of uc_index
>       drm/xe/mocs: LNCF MOCS settings only need to be restored on pre-Xe_HP
>       drm/xe/mocs: Drop HAS_RENDER_L3CC flag
>       drm/xe/guc: Handle regset overflow check for entire GT
>       drm/xe: Separate engine fuse handling into dedicated functions
>       drm/xe: Add support for CCS engine fusing
>       drm/xe/pat: Move PAT setup to a dedicated file
>       drm/xe/pat: Use table-based programming of PAT settings
>       drm/xe/pat: Handle unicast vs MCR PAT registers
>       drm/xe/pat: Clean up PAT register definitions
>       drm/xe/mtl: Fix PAT table coherency settings
>       drm/xe/mtl: Handle PAT_INDEX offset jump
>       drm/xe/pat: Define PAT tables as static
>       drm/xe: Include hardware prefetch buffer in batchbuffer allocations
>       drm/xe: Adjust batchbuffer space warning when creating a job
>       drm/xe: Don't emit extra MI_BATCH_BUFFER_END in WA batchbuffer
>       drm/xe/irq: Drop gen3_ prefixes
>       drm/xe/irq: Add helpers to find ISR/IIR/IMR/IER registers
>       drm/xe/irq: Drop IRQ_INIT and IRQ_RESET macros
>       drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
>       drm/xe/irq: Rename and clarify top-level interrupt handling routines
>       drm/xe/irq: Drop remaining "gen11_" prefix from IRQ functions
>       drm/xe/irq: Drop commented-out code for non-existent media engines
>       drm/xe/irq: Don't clobber display interrupts on multi-tile platforms
>       drm/xe: Start splitting xe_device_desc into graphics/media structures
>       drm/xe: Set require_force_probe in each platform's description
>       drm/xe: Move most platform traits to graphics IP
>       drm/xe: Move engine masks into IP descriptor structures
>       drm/xe: Clarify GT counting logic
>       drm/xe: Add printable name to IP descriptors
>       drm/xe: Select graphics/media descriptors from GMD_ID
>       drm/xe: Add KUnit test for xe_pci.c IP engine lists
>       drm/xe: Clean up xe_device_desc
>       drm/xe: Let primary and media GT share a kernel_bb_pool
>       drm/xe: Use packed bitfields for xe->info feature flags
>       drm/xe: Track whether platform has LLC
>       drm/xe: Only request PCODE_WRITE_MIN_FREQ_TABLE on LLC platforms
>       drm/xe/sr: Apply masked registers properly
>       drm/xe: Fix xe_mmio_rmw32 operation
>       drm/xe: Drop GFX_FLSH_CNTL_GEN6 write during GGTT invalidation
>       drm/xe/adlp: Add revid => step mapping
>       drm/xe/adln: Enable ADL-N
>       drm/xe: Add stepping support for GMD_ID platforms
>       drm/xe/pvc: Don't try to invalidate AuxCCS TLB
>       drm/xe/mtl: Disable media GT
>       drm/xe: Introduce xe_tile
>       drm/xe: Add backpointer from gt to tile
>       drm/xe: Add for_each_tile iterator
>       drm/xe: Move register MMIO into xe_tile
>       drm/xe: Move GGTT from GT to tile
>       drm/xe: Move VRAM from GT to tile
>       drm/xe: Memory allocations are tile-based, not GT-based
>       drm/xe: Move migration from GT to tile
>       drm/xe: Clarify 'gt' retrieval for primary tile
>       drm/xe: Drop vram_id
>       drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE
>       drm/xe: Allocate GT dynamically
>       drm/xe: Add media GT to tile
>       drm/xe: Interrupts are delivered per-tile, not per-GT
>       drm/xe/irq: Move ASLE backlight interrupt logic
>       drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask
>       drm/xe/irq: Untangle postinstall functions
>       drm/xe: Replace xe_gt_irq_postinstall with xe_irq_enable_hwe
>       drm/xe: Invalidate TLB on all affected GTs during GGTT updates
>       drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations
>       drm/xe: Allow GT looping and lookup on standalone media
>       drm/xe: Update query uapi to support standalone media
>       drm/xe: Reinstate media GT support
>       drm/xe: Add kerneldoc description of multi-tile devices
>       drm/xe: Reformat xe_guc_regs.h
>       drm/xe: Initialize MOCS earlier
>       drm/xe: Don't hardcode GuC's MOCS index in register header
>       drm/xe/wa: Extend scope of Wa_14015795083
>       drm/xe/mtl: Add some initial MTL workarounds
>       drm/xe: Return GMD_ID revid properly
>       drm/xe: Don't raise error on fused-off media
>       drm/xe: Print proper revid value for unknown media revision
>       drm/xe: Enable PCI device earlier
>       drm/xe/mtl: Map PPGTT as CPU:WC
>       drm/xe: xe_engine_create_ioctl should check gt_count, not tile_count
>       drm/xe/mtl: Reduce Wa_14018575942 scope to the CCS engine
>       drm/xe: Add Wa_14015150844 for DG2 and Xe_LPG
>       drm/xe: Stop tracking 4-tile support
>       drm/xe/xe2: Update render/compute context image sizes
>       drm/xe/xe2: Add GT topology readout
>       drm/xe/xe2: Add MCR register steering for primary GT
>       drm/xe/xe2: Add MCR register steering for media GT
>       drm/xe/xe2: Update context image layouts
>       drm/xe/xe2: Handle fused-off CCS engines
>       drm/xe/xe2: AuxCCS is no longer used
>       drm/xe/xe2: Define Xe2_LPG IP features
>       drm/xe/xe2: Define Xe2_LPM IP features
>       drm/xe/xe2: Track VA bits independently of max page table level
>       drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond
>       drm/xe/lnl: Add LNL platform definition
>       drm/xe/lnl: Add GuC firmware definition
>       drm/xe: Avoid 64-bit register reads
>       drm/xe: Drop xe_mmio_write64()
>       drm/xe/wa: Apply tile workarounds at probe/resume
>       drm/xe: Infer service copy functionality from engine list
>       drm/xe/tuning: Add missing engine class rules for LRC tuning
>       drm/xe/xe2: Program PAT tables
>       drm/xe: Make MI_FLUSH_DW immediate size more explicit
>       drm/xe: Separate number of registers from MI_LRI opcode
>       drm/xe: Clarify number of dwords/qwords stored by MI_STORE_DATA_IMM
>       drm/xe: Extract MI_* instructions to their own header
>       drm/xe/debugfs: Add dump of default LRCs' MI instructions
>       drm/xe/debugfs: Include GFXPIPE commands in LRC dump
>       drm/xe: Prepare to emit non-register state while recording default LRC
>       drm/xe: Emit SVG state on RCS during driver load on DG2 and MTL
>       drm/xe/xe2: Update SVG state handling
>       drm/xe/mocs: MOCS registers are multicast on Xe_HP and beyond
>       drm/xe/xe2: Program correct MOCS registers
>       drm/xe: Add Wa_14019821291
>       drm/xe: Drop EXECLIST_CONTROL from error state dump
>       drm/xe/dg2: Wa_18028616096 now applies to all DG2
>       drm/xe/dg2: Drop Wa_22014600077
>       drm/xe: Remove duplicate RING_MAX_NONPRIV_SLOTS definition
>       drm/xe: Drop "_REG" suffix from CSFE_CHICKEN1
>       drm/xe: Move some per-engine register definitions to the engine header
>       drm/xe: Fix whitespace in register definitions
>       drm/xe: Move engine base offsets to engine register header
>       drm/xe: Move GSC HECI base offsets out of register header
>       drm/xe: Define interrupt vector bits with the interrupt registers
>       drm/xe: Re-sort GT register header
>       drm/xe: Drop some unnecessary header includes
> 
> Matthew Auld (94):
>       drm/xe/pcode: fix pcode error check
>       drm/xe/bo: reduce xe_bo_create_pin_map() restrictions
>       drm/xe/ppgtt: clear the scratch page
>       drm/xe/ppgtt: fix scratch page usage on DG2
>       drm/xe/ggtt: fix alignment usage for DG2
>       drm/xe/ggtt: fix GGTT scratch usage for DG2
>       drm/xe/mmio: fix forcewake ref leak in xe_mmio_ioctl
>       drm/xe/stolen: don't map stolen on small-bar
>       drm/xe/query: zero the region info
>       drm/xe/pm: fix unbalanced ref handling
>       drm/xe: prefer xe_bo_create_pin_map()
>       drm/xe/bo: explicitly reject zero sized BO
>       drm/xe: s/lmem/vram/
>       drm/xe: one more s/lmem/vram/
>       drm/xe: add xe_ttm_stolen_cpu_access_needs_ggtt()
>       drm/xe/vram: start tracking the io_size
>       drm/xe/buddy: remove the virtualized start
>       drm/xe/buddy: add visible tracking
>       drm/xe/buddy: add compatible and intersects hooks
>       drm/xe/gt: some error handling fixes
>       drm/xe: add XE_BO_CREATE_VRAM_MASK
>       drm/xe/bo: refactor try_add_vram
>       drm/xe: fix suspend-resume for dgfx
>       drm/xe/mmio: stop incorrectly triggering drm_warn
>       drm/xe/tlb: fix expected_seqno calculation
>       drm/xe/sched_job: prefer dma_fence_is_later
>       drm/xe/lrc: give start_seqno a better default
>       drm/xe: fix tlb_invalidation_seqno_past()
>       drm/xe: fix kernel-doc issues
>       drm/xe/bo: further limit where CCS pages are needed
>       drm/xe/migrate: retain CCS aux state for vram -> vram
>       drm/xe: don't allocate under ct->lock
>       drm/xe: keep pulling mem_access_get further back
>       drm/xe/vm: fix double list add
>       drm/xe/bo: handle PL_TT -> PL_TT
>       drm/xe/uapi: restrict system wide accounting
>       drm/xe/uapi: add some kernel-doc for region query
>       drm/xe/uapi: silence kernel-doc errors
>       drm/doc: include xe_drm.h
>       drm/xe/bo: consider bo->flags in xe_bo_migrate()
>       drm/xe/tlb: drop unnecessary smp_wmb()
>       drm/xe/tlb: ensure we access seqno_recv once
>       drm/xe: hold mem_access.ref for CT fast-path
>       drm/xe/ct: hold fast_lock when reserving space for g2h
>       drm/xe/tlb: increment next seqno after successful CT send
>       drm/xe/ct: serialise fast_lock during CT disable
>       drm/xe/gt: tweak placement for signalling TLB fences after GT reset
>       drm/xe/tlb: also update seqno_recv during reset
>       drm/xe/tlb: print seqno_recv on fence TLB timeout
>       drm/xe/ct: update g2h outstanding for CTB capture
>       drm/xe: handle TLB invalidations from CT fast-path
>       drm/xe/mmio: update gt_count when probing multi-tile
>       drm/xe: fix xe_device_mem_access_get() races
>       drm/xe/vm: tidy up xe_runtime_pm usage
>       drm/xe/debugfs: grab mem_access around forcewake
>       drm/xe/guc_pc: add missing mem_access for freq_rpe_show
>       drm/xe/mmio: grab mem_access in xe_mmio_ioctl
>       drm/xe: ensure correct access_put ordering
>       drm/xe: drop xe_device_mem_access_get() from guc_ct_send
>       drm/xe/ggtt: prime ggtt->lock against FS_RECLAIM
>       drm/xe: drop xe_device_mem_access_get() from invalidation_vma
>       drm/xe: add lockdep annotation for xe_device_mem_access_get()
>       drm/xe/selftests: hold rpm for evict_test_run_device()
>       drm/xe/selftests: hold rpm for ccs_test_migrate()
>       drm/xe/selftests: restart GT after xe_bo_restore_kernel()
>       drm/xe: add missing bulk_move reset
>       drm/xe: add lockdep annotation for xe_device_mem_access_put()
>       drm/xe/bo: support tiered vram allocation for small-bar
>       drm/xe/uapi: add the userspace bits for small-bar
>       drm/xe: fully turn on small-bar support
>       drm/xe/engine: add missing rpm for bind engines
>       drm/xe/guc_submit: prevent repeated unregister
>       drm/xe: don't warn for bogus pagefaults
>       drm/xe/guc_submit: fixup deregister in job timeout
>       drm/xe: skip rebind_list if vma destroyed
>       drm/xe/ct: fix resv_space print
>       drm/xe: nuke GuC on unload
>       drm/xe: fix has_llc on rkl
>       drm/xe/selftests: consider multi-GT for eviction test
>       drm/xe/selftests: make eviction test tile centric
>       drm/xe/hwmon: fix uaf on unload
>       drm/xe/pat: trim the xelp PAT table
>       drm/xe: directly use pat_index for pte_encode
>       drm/xe: fix pat[2] programming with 2M/1G pages
>       drm/xe/migrate: fix MI_ARB_ON_OFF usage
>       drm/xe/bo: consider dma-resv fences for clear job
>       drm/xe/bo: sync kernel fences for KMD buffers
>       drm/xe/display: ensure clear-color surfaces are cpu mappable
>       drm/xe/bo: don't hold dma-resv lock over drm_gem_handle_create
>       drm/xe: fix mem_access for early lrc generation
>       drm/xe/pat: annotate pat_index with coherency mode
>       drm/xe/uapi: support pat_index selection with vm_bind
>       drm/xe/mocs: update MOCS table for xe2
>       drm/xe: add some debug info for d3cold
> 
> Matthew Brost (90):
>       drm/xe: Introduce a new DRM driver for Intel GPUs
>       drm/xe: Take memory ref on kernel job creation
>       drm/xe: Ensure VMA not userptr before calling xe_bo_is_stolen
>       drm/xe: Fake pulling gt->info.engine_mask from hwconfig blob
>       drm/xe/guc: Report submission version of GuC firmware
>       drm/xe/guc: s/xe_guc_send_mmio/xe_guc_mmio_send
>       drm/xe/guc: Add support GuC MMIO send / recv
>       drm/xe/migrate: Update emit_pte to cope with a size level than 4k
>       drm/xe: Don't process TLB invalidation done in CT fast-path
>       drm/xe: Break of TLB invalidation into its own file
>       drm/xe: Move TLB invalidation variable to own sub-structure in GT
>       drm/xe: Add TLB invalidation fence
>       drm/xe: Invalidate TLB after unbind is complete
>       drm/xe: Kernel doc GT TLB invalidations
>       drm/xe: Add TLB invalidation fence ftrace
>       drm/xe: Add TDR for invalidation fence timeout cleanup
>       drm/xe: Only set VM->asid for platforms that support a ASID
>       drm/xe: Delete debugfs entry to issue TLB invalidation
>       drm/xe: Add has_range_tlb_invalidation device attribute
>       drm/xe: Add range based TLB invalidations
>       drm/xe: Propagate error from bind operations to async fence
>       drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
>       drm/xe: Lock GGTT on when restoring kernel BOs
>       drm/xe: Propagate VM unbind error to invalidation fence
>       drm/xe: Signal invalidation fence immediately if CT send fails
>       drm/xe: Add has_asid to device info
>       drm/xe: Add TLB invalidation fence after rebinds issued from execs
>       drm/xe: Drop TLB invalidation from ring operations
>       drm/xe: Drop zero length arrays
>       drm/xe: Reinstate render / compute cache invalidation in ring ops
>       drm/xe: Use BO's GT to determine dma_offset when programming PTEs
>       drm/xe: Fix potential deadlock handling page faults
>       drm/xe: Decrement fault mode counts in xe_vm_close_and_put
>       drm/xe: Better error messages for xe_gt_record_default_lrcs
>       drm/xe: Always write GEN12_RCU_MODE.GEN12_RCU_MODE_CCS_ENABLE for CCS engines
>       drm/xe: Don't grab runtime PM ref in engine create IOCTL
>       drm/xe: Allow compute VMs to output dma-fences on binds
>       drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
>       drm/xe/guc: Read HXG fields from DW1 of G2H response
>       drm/xe: Handle unmapped userptr in analyze VM
>       drm/xe: Use Xe ordered workqueue for rebind worker
>       drm/xe: s/XE_PTE_READ_ONLY/XE_PTE_FLAG_READ_ONLY
>       drm/xe: Move XE_PTE_FLAG_READ_ONLY to xe_vm_types.h
>       drm/xe: NULL binding implementation
>       drm/xe: Long running job update
>       drm/xe: Ensure LR engines are not persistent
>       drm/xe: Only try to lock external BOs in VM bind
>       drm/xe: VM LRU bulk move
>       drm/xe: Use internal VM flags in xe_vm_create
>       drm/xe: Ban a VM if rebind worker hits an error
>       drm/xe: Add helpers to hide struct xe_vma internals
>       drm/xe: Remove __xe_vm_bind forward declaration
>       drm/xe: Port Xe to GPUVA
>       drm/xe: Make bind engines safe
>       drm/xe: Remove xe_vma_op_unmap
>       drm/xe: Avoid doing rebinds
>       drm/xe: Reduce the number list links in xe_vma
>       drm/xe: Replace list_del_init with list_del for userptr.invalidate_link cleanup
>       drm/xe: Change tile masks from u64 to u8
>       drm/xe: Combine destroy_cb and destroy_work in xe_vma into union
>       drm/xe: Only alloc userptr part of xe_vma for userptrs
>       drm/xe: Use migrate engine for page fault binds
>       drm/xe: Always use xe_vm_queue_rebind_worker helper
>       drm/xe: Signal out-syncs on VM binds if no operations
>       drm/xe: Remove XE_GUC_CT_SELFTEST
>       drm/xe: Remove ct->fence_context
>       drm/xe: Add define WQ_HEADER_SIZE
>       drm/xe: remove header variable from parse_g2h_msg
>       drm/xe: Set max pte size when skipping rebinds
>       drm/xe: Call __guc_exec_queue_fini_async direct for KERNEL exec_queues
>       drm/xe: Convert xe_vma_op_flags to BIT macros
>       drm/xe: Fixup unwind on VM ops errors
>       drm/gpuva: Add drm_gpuva_for_each_op_reverse
>       drm/xe: Fix array of binds
>       drm/xe: Fix fence reservation accouting
>       drm/xe: Fix exec queue usage for unbinds
>       drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
>       drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation
>       drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue
>       drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
>       drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
>       drm/xe: Remove async worker and rework sync binds
>       drm/xe: Fix VM bind out-sync signaling ordering
>       drm/xe: Adjust tile_present mask when skipping rebinds
>       drm/xe: Use pool of ordered wq for GuC submission
>       drm/xe: Only set xe_vma_op.map fields for GPUVA map operations
>       drm/xe: Use a flags field instead of bools for VMA create
>       drm/xe: Use a flags field instead of bools for sync parse
>       drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs
>       drm/xe/uapi: Remove sync binds
> 
> Mauro Carvalho Chehab (5):
>       drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs
>       drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION
>       drm/xe: skip Kunit tests requiring real hardware when running on UML
>       drm/xe/xe_uc_fw: Use firmware files from standard locations
>       drm/xe/uapi: Reject bo creation of unaligned size
> 
> Michael J. Ruhl (5):
>       drm/xe: Rework size helper to be a little more correct
>       drm/xe: Simplify rebar sizing
>       drm/xe: Size GT device memory correctly
>       drm/xe: Rename GPU offset helper to reflect true usage
>       drm/xe: REBAR resize should be best effort
> 
> Michal Wajdeczko (23):
>       drm/xe: Introduce GT oriented log messages
>       drm/xe: Use GT oriented log messages in xe_gt.c
>       drm/xe: Move Media GuC register definition to regs/
>       drm/xe: Change GuC interrupt data
>       drm/xe: Introduce Xe assert macros
>       drm/xe/guc: Promote guc_to_gt/xe helpers to .h
>       drm/xe/guc: Fix wrong assert about full_len
>       drm/xe/guc: Copy response data from proper registers
>       drm/xe/guc: Fix handling of GUC_HXG_TYPE_NO_RESPONSE_BUSY
>       drm/xe/guc: Use valid scratch register for posting read
>       drm/xe: Add device flag to indicate SR-IOV support
>       drm/xe: Prepare for running in different SR-IOV modes
>       drm/xe: Print virtualization mode during probe
>       drm/xe/kunit: Return number of iterated devices
>       drm/xe/guc: Drop ancient GuC CTB definitions
>       drm/xe/guc: Remove obsolete GuC CTB documentation
>       drm/xe/guc: Include only required GuC ABI headers
>       drm/xe/doc: Include documentation about xe_assert()
>       drm/xe: Define DRM_XE_DEBUG_SRIOV config
>       drm/xe: Introduce SR-IOV logging macros
>       drm/xe/pf: Introduce Local Memory Translation Table
>       drm/xe/kunit: Enable CONFIG_PCI_IOV in .kunitconfig
>       drm/xe/kunit: Add test for LMTT operations
> 
> Michał Winiarski (21):
>       drm/xe: Fix uninitialized variables
>       drm/xe: Fix check for platform without geometry pipeline
>       drm/xe: Fix header guard warning
>       drm/xe: Skip calling drm_dev_put on probe error
>       drm/xe: Use managed pci_enable_device
>       drm/xe/irq: Don't call pci_free_irq_vectors
>       drm/xe: Move xe_set_dma_info outside of MMIO setup
>       drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
>       drm/xe: Split xe_info_init
>       drm/xe: Introduce xe_tile_init_early and use at earlier point in probe
>       drm/xe: Map the entire BAR0 and hold onto the initial mapping
>       drm/xe/device: Introduce xe_device_probe_early
>       drm/xe: Don't "peek" into GMD_ID
>       drm/xe: Move system memory management init to earlier point in probe
>       drm/xe: Move force_wake init to earlier point in probe
>       drm/xe: Reorder GGTT init to earlier point in probe
>       drm/xe: Add a helper for DRM device-lifetime BO create
>       drm/xe/uc: Split xe_uc_fw_init
>       drm/xe/uc: Store firmware binary in system-memory backed BO
>       drm/xe/uc: Extract xe_uc_sanitize_reset
>       drm/xe/guc: Split GuC params used for "hwconfig" and "post-hwconfig"
> 
> Mika Kuoppala (4):
>       drm/xe: destroy clients engine and vm xarrays on close
>       drm/xe: Fix unreffed ptr leak on engine lookup
>       drm/xe: Extend drm_xe_vm_bind_op
>       drm/xe/vm: Avoid asid lookup if none allocated
> 
> Niranjana Vishwanathapura (16):
>       drm/xe/migrate: Fix number of PT structs in docbook
>       drm/xe/tests: Use proper batch base address
>       drm/xe/tests: Set correct expectation
>       drm/xe: Use proper vram offset
>       drm/xe: Fix memory use after free
>       drm/xe: Handle -EDEADLK case in preempt worker
>       drm/xe: Handle -EDEADLK case in exec ioctl
>       drm/xe: Apply upper limit to sg element size
>       drm/xe: Simplify engine class sched_props setting
>       drm/xe: Add CONFIG_DRM_XE_PREEMPT_TIMEOUT
>       drm/xe/pvc: Blacklist BCS_SWCTRL register
>       drm/xe/pvc: Force even num engines to use 64B
>       drm/xe/pvc: Use fast copy engines as migrate engine on PVC
>       drm/xe: Enable Fixed CCS mode setting
>       drm/xe: Allow userspace to configure CCS mode
>       drm/xe: Avoid any races around ccs_mode update
> 
> Nirmoy Das (3):
>       drm/xe/stolen: Exclude reserved lmem portion
>       drm/xe: Do not sleep in atomic
>       drm/xe: Print GT info on TLB inv failure
> 
> Oak Zeng (3):
>       drm/xe: Implement HW workaround 14016763929
>       drm/xe: Make xe_mem_region struct
>       drm/xe: Improve vram info debug printing
> 
> Ohad Sharabi (1):
>       drm/xe: do not register to PM if GuC is disabled
> 
> Pallavi Mishra (5):
>       drm/xe: Prevent return with locked vm
>       drm/xe: Align size to PAGE_SIZE
>       drm/xe: Dump CTB during TLB timeout
>       drm/xe/tests: Fix migrate test
>       drm/xe/uapi: Add support for CPU caching mode
> 
> Paulo Zanoni (5):
>       drm/xe: fix bounds checking for 'len' in xe_engine_create_ioctl
>       drm/xe: properly check bounds for xe_wait_user_fence_ioctl()
>       drm/xe/vm: print the correct 'keep' when printing gpuva ops
>       drm/xe/vm: use list_last_entry() to fetch last_op
>       drm/xe: fix range printing for debug messages
> 
> Philippe Lecluse (4):
>       drm/xe: enforce GSMBASE for DG1 instead of BAR2
>       drm/xe: fix xe_mmio_total_vram_size
>       drm/xe: Fix Meteor Lake rsa issue on guc loading
>       drm/xe/mocs: add MTL mocs
> 
> Priyanka Dandamudi (1):
>       drm/xe/xe_exec_queue: Add check for access counter granularity
> 
> Riana Tauro (5):
>       drm/xe: Fix overflow in vram manager
>       drm/xe/guc_pc: Reorder forcewake and xe_pm_runtime calls
>       drm/xe: Fix GT looping for standalone media
>       drm/xe: add a new sysfs directory for gtidle properties
>       drm/xe: remove gucrc disable from suspend path
> 
> Rodrigo Vivi (65):
>       drm/xe: Implement a local xe_mmio_wait32
>       drm/xe: Stop using i915's range_overflows_t macro.
>       drm/xe: Let's return last value read on xe_mmio_wait32.
>       drm/xe: Convert guc_ready to regular xe_mmio_wait32
>       drm/xe: Wait for success on guc done.
>       drm/xe: Remove i915_utils dependency from xe_guc_pc.
>       drm/xe: Stop using i915_utils in xe_wopcm.
>       drm/xe: Let's avoid i915_utils in the xe_force_wake.
>       drm/xe: Convert xe_mmio_wait32 to us so we can stop using wait_for_us.
>       drm/xe: Remove i915_utils dependency from xe_pcode.
>       drm/xe/guc_pc: Fix Meteor Lake registers.
>       drm/xe: Remove unseless xe_force_wake_prune.
>       drm/xe: Update comment on why d3cold is still blocked.
>       drm/xe: Fix print of RING_EXECLIST_SQ_CONTENTS_HI
>       drm/xe: Introduce the dev_coredump infrastructure.
>       drm/xe: Do not take any action if our device was removed.
>       drm/xe: Extract non mapped regions out of GuC CTB into its own struct.
>       drm/xe: Convert GuC CT print to snapshot capture and print.
>       drm/xe: Add GuC CT snapshot to xe_devcoredump.
>       drm/xe: Introduce guc_submit_types.h with relevant structs.
>       drm/xe: Convert GuC Engine print to snapshot capture and print.
>       drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
>       drm/xe: Convert Xe HW Engine print to snapshot capture and print.
>       drm/xe: Add HW Engine snapshot to xe_devcoredump.
>       drm/xe: Limit CONFIG_DRM_XE_SIMPLE_ERROR_CAPTURE to itself.
>       drm/xe/uapi: Remove XE_QUERY_CONFIG_FLAGS_USE_GUC
>       drm/xe: Invert guc vs execlists parameters and info.
>       drm/xe: Fix an invalid locking wait context bug
>       drm/xe: Invert mask and val in xe_mmio_wait32.
>       drm/xe: Only set PCI d3cold_allowed when we are really allowing.
>       drm/xe: Move d3cold_allowed decision all together.
>       drm/xe: Fix the runtime_idle call and d3cold.allowed decision.
>       drm/xe: Only init runtime PM after all d3cold config is in place.
>       drm/xe: Ensure memory eviction on s2idle.
>       drm/xe/uapi: Typo lingo and other small backwards compatible fixes
>       drm/xe/uapi: Remove useless max_page_size
>       drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
>       drm/xe/uapi: Document drm_xe_query_gt
>       drm/xe/uapi: Replace useless 'instance' per unique gt_id
>       drm/xe/uapi: Remove unused field of drm_xe_query_gt
>       drm/xe/uapi: Rename gts to gt_list
>       drm/xe/uapi: Remove GT_TYPE_REMOTE
>       drm/xe/uapi: Kill VM_MADVISE IOCTL
>       drm/xe/uapi: Rename *_mem_regions masks
>       drm/xe/uapi: Rename query's mem_usage to mem_regions
>       drm/xe/uapi: Standardize the FLAG naming and assignment
>       drm/xe/uapi: Differentiate WAIT_OP from WAIT_MASK
>       drm/xe/uapi: Be more specific about the vm_bind prefetch region
>       drm/xe/uapi: Separate bo_create placement from flags
>       drm/xe/uapi: Split xe_sync types from flags
>       drm/xe/uapi: Kill tile_mask
>       drm/xe/uapi: Crystal Reference Clock updates
>       drm/xe/uapi: Add Tile ID information to the GT info query
>       drm/xe/uapi: Fix various struct padding for 64b alignment
>       drm/xe/uapi: Move xe_exec after xe_exec_queue
>       drm/xe: Remove unused extension definition
>       drm/xe/uapi: Kill exec_queue_set_property
>       drm/xe: Create a xe_gt_freq component for raw management and sysfs
>       drm/xe: Remove vram size info from sysfs
>       drm/xe/uapi: Ensure every uapi struct has drm_xe prefix
>       drm/xe/uapi: Order sections
>       drm/xe/uapi: More uAPI documentation additions and cosmetic updates
>       drm/xe/uapi: Document the memory_region bitmask
>       drm/xe/uapi: Remove reset uevent for now
>       MAINTAINERS: Updates to Intel DRM
> 
> Ruthuvikas Ravikumar (1):
>       drm/xe: Add mocs kunit
> 
> Shekhar Chauhan (6):
>       drm/xe/dg2: Remove Wa_15010599737
>       drm/xe: Add Wa_18028616096
>       drm/xe: Add new DG2 PCI IDs
>       drm/xe/dg2: Remove one PCI ID
>       drm/xe: Add performance tuning settings for MTL and Xe2
>       drm/xe/xelpmp: Extend Wa_22016670082 to Xe_LPM+
> 
> Sujaritha Sundaresan (2):
>       drm/xe: Change the name of frequency sysfs attributes
>       drm/xe: Add frequency throttle reasons sysfs attributes
> 
> Suraj Kandpal (1):
>       drm/xe/hdcp: Define intel_hdcp_gsc_check_status in Xe
> 
> Tejas Upadhyay (26):
>       drm/xe: Add sysfs entry for tile
>       drm/xe: Add GTs under respective tile sysfs
>       drm/xe: Add sysfs entry to report per tile memory size
>       drm/xe: Make usable size of VRAM readable
>       drm/xe: make GT sysfs init return void
>       drm/xe: make kobject type struct as constant
>       drm/xe: Add sysfs entries for engines under its GT
>       drm/xe: Add sysfs for default engine scheduler properties
>       drm/xe: Add job timeout engine property to sysfs
>       drm/xe: Add timeslice duration engine property to sysfs
>       drm/xe: Add sysfs for preempt reset timeout
>       drm/xe: Add min/max cap for engine scheduler properties
>       drm/xe: Add drm-client infrastructure
>       drm/xe: Interface xe drm client with fdinfo interface
>       drm/xe: Add tracking support for bos per client
>       drm/xe: Record each drm client with its VM
>       drm/xe: Track page table memory usage for client
>       drm/xe: Account ring buffer and context state storage
>       drm/xe: Implement fdinfo memory stats printing
>       drm/xe/xe2: Add workaround 14017421178
>       drm/xe/xe2: Add workaround 16021867713
>       drm/xe/xe2: Add workaround 14019449301
>       drm/xe/xe2: Add workaround 14020013138
>       drm/xe/xe2: Add workaround 16020292621
>       drm/xe/xe2: Add workaround 14019988906
>       drm/xe/xe2: Add workaround 18032095049 and 16021639441
> 
> Thomas Hellström (41):
>       drm/xe/migrate: Add kerneldoc for the migrate subsystem
>       drm/xe/tests: Remove CONFIG_FB dependency
>       drm/xe/tests: Grab a memory access reference around the migrate sanity test
>       drm/xe/vm: Use the correct vma destroy sequence on userptr failure
>       drm/xe: Use a define to set initial seqno for fences
>       drm/xe/migrate: Update cpu page-table updates
>       drm/xe/tests: Support CPU page-table updates in the migrate test
>       drm/xe: Introduce xe_engine_is_idle()
>       drm/xe: Use a small negative initial seqno
>       drm/xe/tests: Test both CPU- and GPU page-table updates with the migrate test
>       drm/xe/vm: Defer vm rebind until next exec if nothing to execute
>       drm/xe: Fix the migrate selftest for integrated GPUs
>       drm/xe: Support copying of data between system memory bos
>       drm/xe: Invalidate TLB also on bind if in scratch page mode
>       drm/xe: Emit a render cache flush after each rcs/ccs batch
>       drm/xe/bo: Fix swapin when moving to VRAM
>       drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
>       drm/xe/bo: Gracefully handle errors from ttm_bo_move_accel_cleanup().
>       drm/xe/bo: Evict VRAM to TT rather than to system
>       drm/xe: Fix vm refcount races
>       drm/xe: Make page-table updates using the default engine happen in order
>       drm/xe: Introduce a range-fence utility
>       drm/xe/bo: Simplify xe_bo_lock()
>       drm/xe/vm: Simplify and document xe_vm_lock()
>       drm/xe/bo: Remove the lock_no_vm()/unlock_no_vm() interface
>       drm/xe: Rework xe_exec and the VM rebind worker to use the drm_exec helper
>       drm/xe: Convert pagefaulting code to use drm_exec
>       drm/xe: Convert remaining instances of ttm_eu_reserve_buffers to drm_exec
>       drm/xe: Reinstate pipelined fence enable_signaling
>       drm/xe: Disallow pinning dma-bufs in VRAM
>       drm/xe: Update SPDX deprecated license identifier
>       drm/xe: Ensure that we don't access the placements array out-of-bounds
>       drm/xe/bo: Rename xe_bo_get_sg() to xe_bo_sg()
>       drm/xe/bo: Remove leftover trace_printk()
>       drm/xe/vm: Fix ASID XA usage
>       drm/xe: Internally change the compute_mode and no_dma_fence mode naming
>       drm/xe/uapi: Use LR abbrev for long-running vms
>       drm/xe: Restrict huge PTEs to 1GiB
>       drm/xe: Use NULL PTEs as scratch PTEs
>       drm/xe: Use DRM GPUVM helpers for external- and evicted objects
>       drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm
> 
> Uma Shankar (1):
>       drm/xe/display: Create a dummy version for vga decode
> 
> Umesh Nerlige Ramappa (3):
>       drm/xe: Fix array bounds check for queries
>       drm/xe: Set the correct type for xe_to_user_engine_class
>       drm/xe: Correlate engine and cpu timestamps with better accuracy
> 
> Vinay Belgaumkar (5):
>       drm/xe: Raise GT frequency before GuC/HuC load
>       drm/xe: Rename xe_gt_idle_sysfs to xe_gt_idle
>       drm/xe: Add skip_guc_pc flag
>       drm/xe: Manually setup C6 when skip_guc_pc is set
>       drm/xe: Check skip_guc_pc before disabling gucrc
> 
> Vitaly Lubart (3):
>       drm/xe/gsc: add HECI2 register offsets
>       drm/xe/gsc: add has_heci_gscfi indication to device
>       drm/xe/gsc: add gsc device support
> 
> Zbigniew Kempczyński (1):
>       drm/xe: Use nanoseconds instead of jiffies in uapi for user fence
> 
> Zhanjun Dong (1):
>       drm/xe: Add patch version on guc firmware init
> 
>  .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   70 +
>  Documentation/gpu/driver-uapi.rst                  |    5 +
>  Documentation/gpu/drivers.rst                      |    1 +
>  Documentation/gpu/xe/index.rst                     |   25 +
>  Documentation/gpu/xe/xe_cs.rst                     |    8 +
>  Documentation/gpu/xe/xe_debugging.rst              |    7 +
>  Documentation/gpu/xe/xe_firmware.rst               |   37 +
>  Documentation/gpu/xe/xe_gt_mcr.rst                 |   13 +
>  Documentation/gpu/xe/xe_map.rst                    |    8 +
>  Documentation/gpu/xe/xe_migrate.rst                |    8 +
>  Documentation/gpu/xe/xe_mm.rst                     |   14 +
>  Documentation/gpu/xe/xe_pcode.rst                  |   14 +
>  Documentation/gpu/xe/xe_pm.rst                     |   14 +
>  Documentation/gpu/xe/xe_rtp.rst                    |   20 +
>  Documentation/gpu/xe/xe_tile.rst                   |   14 +
>  Documentation/gpu/xe/xe_wa.rst                     |   14 +
>  MAINTAINERS                                        |   29 +-
>  drivers/gpu/drm/Kconfig                            |    2 +
>  drivers/gpu/drm/Makefile                           |    1 +
>  drivers/gpu/drm/xe/.gitignore                      |    4 +
>  drivers/gpu/drm/xe/.kunitconfig                    |   13 +
>  drivers/gpu/drm/xe/Kconfig                         |   96 +
>  drivers/gpu/drm/xe/Kconfig.debug                   |  107 +
>  drivers/gpu/drm/xe/Kconfig.profile                 |   54 +
>  drivers/gpu/drm/xe/Makefile                        |  305 ++
>  drivers/gpu/drm/xe/abi/gsc_command_header_abi.h    |   46 +
>  drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h     |   39 +
>  drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h      |   59 +
>  drivers/gpu/drm/xe/abi/guc_actions_abi.h           |  219 ++
>  drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h      |  249 ++
>  drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |  127 +
>  .../gpu/drm/xe/abi/guc_communication_mmio_abi.h    |   49 +
>  drivers/gpu/drm/xe/abi/guc_errors_abi.h            |   37 +
>  drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  322 ++
>  drivers/gpu/drm/xe/abi/guc_messages_abi.h          |  234 ++
>  .../drm/xe/compat-i915-headers/gem/i915_gem_lmem.h |    1 +
>  .../drm/xe/compat-i915-headers/gem/i915_gem_mman.h |   17 +
>  .../xe/compat-i915-headers/gem/i915_gem_object.h   |   65 +
>  .../gem/i915_gem_object_frontbuffer.h              |   12 +
>  .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h  |   11 +
>  .../gpu/drm/xe/compat-i915-headers/i915_active.h   |   22 +
>  .../drm/xe/compat-i915-headers/i915_active_types.h |   13 +
>  .../gpu/drm/xe/compat-i915-headers/i915_config.h   |   19 +
>  .../gpu/drm/xe/compat-i915-headers/i915_debugfs.h  |   14 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  233 ++
>  .../gpu/drm/xe/compat-i915-headers/i915_fixed.h    |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h  |    9 +
>  .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   79 +
>  .../drm/xe/compat-i915-headers/i915_gpu_error.h    |   17 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h  |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h  |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_reg_defs.h |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_trace.h    |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_utils.h    |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h |   44 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h  |   34 +
>  .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 +
>  .../xe/compat-i915-headers/intel_clock_gating.h    |    6 +
>  .../drm/xe/compat-i915-headers/intel_gt_types.h    |   11 +
>  .../drm/xe/compat-i915-headers/intel_mchbar_regs.h |    6 +
>  .../drm/xe/compat-i915-headers/intel_pci_config.h  |    6 +
>  .../gpu/drm/xe/compat-i915-headers/intel_pcode.h   |   42 +
>  .../drm/xe/compat-i915-headers/intel_runtime_pm.h  |   16 +
>  .../gpu/drm/xe/compat-i915-headers/intel_step.h    |   20 +
>  .../gpu/drm/xe/compat-i915-headers/intel_uc_fw.h   |   11 +
>  .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |  175 ++
>  .../gpu/drm/xe/compat-i915-headers/intel_wakeref.h |    8 +
>  .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |   28 +
>  .../drm/xe/compat-i915-headers/soc/intel_dram.h    |    6 +
>  .../drm/xe/compat-i915-headers/soc/intel_gmch.h    |    6 +
>  .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h |    6 +
>  .../gpu/drm/xe/compat-i915-headers/vlv_sideband.h  |  132 +
>  .../drm/xe/compat-i915-headers/vlv_sideband_reg.h  |    6 +
>  drivers/gpu/drm/xe/display/ext/i915_irq.c          |   77 +
>  drivers/gpu/drm/xe/display/ext/i915_utils.c        |   26 +
>  drivers/gpu/drm/xe/display/intel_fb_bo.c           |   74 +
>  drivers/gpu/drm/xe/display/intel_fb_bo.h           |   24 +
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |  104 +
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.h        |   21 +
>  drivers/gpu/drm/xe/display/xe_display_misc.c       |   16 +
>  drivers/gpu/drm/xe/display/xe_display_rps.c        |   17 +
>  drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |   71 +
>  drivers/gpu/drm/xe/display/xe_fb_pin.c             |  384 +++
>  drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   34 +
>  drivers/gpu/drm/xe/display/xe_plane_initial.c      |  291 ++
>  .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |  160 +
>  drivers/gpu/drm/xe/instructions/xe_gsc_commands.h  |   36 +
>  drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |   33 +
>  drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   61 +
>  drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  184 ++
>  drivers/gpu/drm/xe/regs/xe_gpu_commands.h          |   70 +
>  drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |   41 +
>  drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  478 +++
>  drivers/gpu/drm/xe/regs/xe_guc_regs.h              |  143 +
>  drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   17 +
>  drivers/gpu/drm/xe/regs/xe_mchbar_regs.h           |   44 +
>  drivers/gpu/drm/xe/regs/xe_reg_defs.h              |  120 +
>  drivers/gpu/drm/xe/regs/xe_regs.h                  |   68 +
>  drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   17 +
>  drivers/gpu/drm/xe/tests/Makefile                  |   10 +
>  drivers/gpu/drm/xe/tests/xe_bo.c                   |  353 +++
>  drivers/gpu/drm/xe/tests/xe_bo_test.c              |   26 +
>  drivers/gpu/drm/xe/tests/xe_bo_test.h              |   14 +
>  drivers/gpu/drm/xe/tests/xe_dma_buf.c              |  278 ++
>  drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |   25 +
>  drivers/gpu/drm/xe/tests/xe_dma_buf_test.h         |   13 +
>  drivers/gpu/drm/xe/tests/xe_lmtt_test.c            |   73 +
>  drivers/gpu/drm/xe/tests/xe_migrate.c              |  444 +++
>  drivers/gpu/drm/xe/tests/xe_migrate_test.c         |   25 +
>  drivers/gpu/drm/xe/tests/xe_migrate_test.h         |   13 +
>  drivers/gpu/drm/xe/tests/xe_mocs.c                 |  130 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   24 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   13 +
>  drivers/gpu/drm/xe/tests/xe_pci.c                  |  166 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.c             |   71 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.h             |   36 +
>  drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  319 ++
>  drivers/gpu/drm/xe/tests/xe_test.h                 |   67 +
>  drivers/gpu/drm/xe/tests/xe_wa_test.c              |  170 ++
>  drivers/gpu/drm/xe/xe_assert.h                     |  174 ++
>  drivers/gpu/drm/xe/xe_bb.c                         |  110 +
>  drivers/gpu/drm/xe/xe_bb.h                         |   25 +
>  drivers/gpu/drm/xe/xe_bb_types.h                   |   20 +
>  drivers/gpu/drm/xe/xe_bo.c                         | 2269 ++++++++++++++
>  drivers/gpu/drm/xe/xe_bo.h                         |  355 +++
>  drivers/gpu/drm/xe/xe_bo_doc.h                     |  179 ++
>  drivers/gpu/drm/xe/xe_bo_evict.c                   |  228 ++
>  drivers/gpu/drm/xe/xe_bo_evict.h                   |   15 +
>  drivers/gpu/drm/xe/xe_bo_types.h                   |   96 +
>  drivers/gpu/drm/xe/xe_debugfs.c                    |  148 +
>  drivers/gpu/drm/xe/xe_debugfs.h                    |   13 +
>  drivers/gpu/drm/xe/xe_devcoredump.c                |  196 ++
>  drivers/gpu/drm/xe/xe_devcoredump.h                |   20 +
>  drivers/gpu/drm/xe/xe_devcoredump_types.h          |   55 +
>  drivers/gpu/drm/xe/xe_device.c                     |  700 +++++
>  drivers/gpu/drm/xe/xe_device.h                     |  173 ++
>  drivers/gpu/drm/xe/xe_device_sysfs.c               |   89 +
>  drivers/gpu/drm/xe/xe_device_sysfs.h               |   13 +
>  drivers/gpu/drm/xe/xe_device_types.h               |  545 ++++
>  drivers/gpu/drm/xe/xe_display.c                    |  422 +++
>  drivers/gpu/drm/xe/xe_display.h                    |   72 +
>  drivers/gpu/drm/xe/xe_dma_buf.c                    |  322 ++
>  drivers/gpu/drm/xe/xe_dma_buf.h                    |   15 +
>  drivers/gpu/drm/xe/xe_drm_client.c                 |  204 ++
>  drivers/gpu/drm/xe/xe_drm_client.h                 |   70 +
>  drivers/gpu/drm/xe/xe_drv.h                        |   23 +
>  drivers/gpu/drm/xe/xe_exec.c                       |  350 +++
>  drivers/gpu/drm/xe/xe_exec.h                       |   14 +
>  drivers/gpu/drm/xe/xe_exec_queue.c                 |  956 ++++++
>  drivers/gpu/drm/xe/xe_exec_queue.h                 |   69 +
>  drivers/gpu/drm/xe/xe_exec_queue_types.h           |  222 ++
>  drivers/gpu/drm/xe/xe_execlist.c                   |  474 +++
>  drivers/gpu/drm/xe/xe_execlist.h                   |   21 +
>  drivers/gpu/drm/xe/xe_execlist_types.h             |   49 +
>  drivers/gpu/drm/xe/xe_force_wake.c                 |  199 ++
>  drivers/gpu/drm/xe/xe_force_wake.h                 |   38 +
>  drivers/gpu/drm/xe/xe_force_wake_types.h           |   86 +
>  drivers/gpu/drm/xe/xe_gen_wa_oob.c                 |  165 +
>  drivers/gpu/drm/xe/xe_ggtt.c                       |  428 +++
>  drivers/gpu/drm/xe/xe_ggtt.h                       |   33 +
>  drivers/gpu/drm/xe/xe_ggtt_types.h                 |   39 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler.c              |  101 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler.h              |   73 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   57 +
>  drivers/gpu/drm/xe/xe_gsc.c                        |  438 +++
>  drivers/gpu/drm/xe/xe_gsc.h                        |   20 +
>  drivers/gpu/drm/xe/xe_gsc_submit.c                 |  184 ++
>  drivers/gpu/drm/xe/xe_gsc_submit.h                 |   30 +
>  drivers/gpu/drm/xe/xe_gsc_types.h                  |   39 +
>  drivers/gpu/drm/xe/xe_gt.c                         |  778 +++++
>  drivers/gpu/drm/xe/xe_gt.h                         |   72 +
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  191 ++
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |   24 +
>  drivers/gpu/drm/xe/xe_gt_clock.c                   |   85 +
>  drivers/gpu/drm/xe/xe_gt_clock.h                   |   15 +
>  drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  249 ++
>  drivers/gpu/drm/xe/xe_gt_debugfs.h                 |   13 +
>  drivers/gpu/drm/xe/xe_gt_freq.c                    |  219 ++
>  drivers/gpu/drm/xe/xe_gt_freq.h                    |   13 +
>  drivers/gpu/drm/xe/xe_gt_idle.c                    |  192 ++
>  drivers/gpu/drm/xe/xe_gt_idle.h                    |   17 +
>  drivers/gpu/drm/xe/xe_gt_idle_types.h              |   38 +
>  drivers/gpu/drm/xe/xe_gt_mcr.c                     |  685 +++++
>  drivers/gpu/drm/xe/xe_gt_mcr.h                     |   29 +
>  drivers/gpu/drm/xe/xe_gt_pagefault.c               |  646 ++++
>  drivers/gpu/drm/xe/xe_gt_pagefault.h               |   19 +
>  drivers/gpu/drm/xe/xe_gt_printk.h                  |   46 +
>  drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   61 +
>  drivers/gpu/drm/xe/xe_gt_sysfs.h                   |   19 +
>  drivers/gpu/drm/xe/xe_gt_sysfs_types.h             |   26 +
>  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |  251 ++
>  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |   16 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  406 +++
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   26 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h  |   28 +
>  drivers/gpu/drm/xe/xe_gt_topology.c                |  169 ++
>  drivers/gpu/drm/xe/xe_gt_topology.h                |   25 +
>  drivers/gpu/drm/xe/xe_gt_types.h                   |  363 +++
>  drivers/gpu/drm/xe/xe_guc.c                        |  911 ++++++
>  drivers/gpu/drm/xe/xe_guc.h                        |   72 +
>  drivers/gpu/drm/xe/xe_guc_ads.c                    |  672 ++++
>  drivers/gpu/drm/xe/xe_guc_ads.h                    |   17 +
>  drivers/gpu/drm/xe/xe_guc_ads_types.h              |   25 +
>  drivers/gpu/drm/xe/xe_guc_ct.c                     | 1320 ++++++++
>  drivers/gpu/drm/xe/xe_guc_ct.h                     |   59 +
>  drivers/gpu/drm/xe/xe_guc_ct_types.h               |  115 +
>  drivers/gpu/drm/xe/xe_guc_debugfs.c                |   74 +
>  drivers/gpu/drm/xe/xe_guc_debugfs.h                |   14 +
>  drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   54 +
>  drivers/gpu/drm/xe/xe_guc_fwif.h                   |  361 +++
>  drivers/gpu/drm/xe/xe_guc_hwconfig.c               |  104 +
>  drivers/gpu/drm/xe/xe_guc_hwconfig.h               |   17 +
>  drivers/gpu/drm/xe/xe_guc_log.c                    |   97 +
>  drivers/gpu/drm/xe/xe_guc_log.h                    |   48 +
>  drivers/gpu/drm/xe/xe_guc_log_types.h              |   23 +
>  drivers/gpu/drm/xe/xe_guc_pc.c                     | 1000 ++++++
>  drivers/gpu/drm/xe/xe_guc_pc.h                     |   31 +
>  drivers/gpu/drm/xe/xe_guc_pc_types.h               |   34 +
>  drivers/gpu/drm/xe/xe_guc_submit.c                 | 1990 ++++++++++++
>  drivers/gpu/drm/xe/xe_guc_submit.h                 |   38 +
>  drivers/gpu/drm/xe/xe_guc_submit_types.h           |  155 +
>  drivers/gpu/drm/xe/xe_guc_types.h                  |   81 +
>  drivers/gpu/drm/xe/xe_heci_gsc.c                   |  234 ++
>  drivers/gpu/drm/xe/xe_heci_gsc.h                   |   35 +
>  drivers/gpu/drm/xe/xe_huc.c                        |  307 ++
>  drivers/gpu/drm/xe/xe_huc.h                        |   26 +
>  drivers/gpu/drm/xe/xe_huc_debugfs.c                |   70 +
>  drivers/gpu/drm/xe/xe_huc_debugfs.h                |   14 +
>  drivers/gpu/drm/xe/xe_huc_types.h                  |   24 +
>  drivers/gpu/drm/xe/xe_hw_engine.c                  |  883 ++++++
>  drivers/gpu/drm/xe/xe_hw_engine.h                  |   70 +
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  675 +++++
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |   36 +
>  drivers/gpu/drm/xe/xe_hw_engine_types.h            |  225 ++
>  drivers/gpu/drm/xe/xe_hw_fence.c                   |  230 ++
>  drivers/gpu/drm/xe/xe_hw_fence.h                   |   30 +
>  drivers/gpu/drm/xe/xe_hw_fence_types.h             |   72 +
>  drivers/gpu/drm/xe/xe_hwmon.c                      |  776 +++++
>  drivers/gpu/drm/xe/xe_hwmon.h                      |   19 +
>  drivers/gpu/drm/xe/xe_irq.c                        |  666 ++++
>  drivers/gpu/drm/xe/xe_irq.h                        |   19 +
>  drivers/gpu/drm/xe/xe_lmtt.c                       |  506 +++
>  drivers/gpu/drm/xe/xe_lmtt.h                       |   27 +
>  drivers/gpu/drm/xe/xe_lmtt_2l.c                    |  150 +
>  drivers/gpu/drm/xe/xe_lmtt_ml.c                    |  161 +
>  drivers/gpu/drm/xe/xe_lmtt_types.h                 |   63 +
>  drivers/gpu/drm/xe/xe_lrc.c                        | 1272 ++++++++
>  drivers/gpu/drm/xe/xe_lrc.h                        |   58 +
>  drivers/gpu/drm/xe/xe_lrc_types.h                  |   46 +
>  drivers/gpu/drm/xe/xe_macros.h                     |   18 +
>  drivers/gpu/drm/xe/xe_map.h                        |   93 +
>  drivers/gpu/drm/xe/xe_migrate.c                    | 1410 +++++++++
>  drivers/gpu/drm/xe/xe_migrate.h                    |  110 +
>  drivers/gpu/drm/xe/xe_migrate_doc.h                |   88 +
>  drivers/gpu/drm/xe/xe_mmio.c                       |  524 ++++
>  drivers/gpu/drm/xe/xe_mmio.h                       |  107 +
>  drivers/gpu/drm/xe/xe_mocs.c                       |  580 ++++
>  drivers/gpu/drm/xe/xe_mocs.h                       |   17 +
>  drivers/gpu/drm/xe/xe_module.c                     |  101 +
>  drivers/gpu/drm/xe/xe_module.h                     |   26 +
>  drivers/gpu/drm/xe/xe_pat.c                        |  459 +++
>  drivers/gpu/drm/xe/xe_pat.h                        |   61 +
>  drivers/gpu/drm/xe/xe_pci.c                        |  951 ++++++
>  drivers/gpu/drm/xe/xe_pci.h                        |   12 +
>  drivers/gpu/drm/xe/xe_pci_types.h                  |   46 +
>  drivers/gpu/drm/xe/xe_pcode.c                      |  296 ++
>  drivers/gpu/drm/xe/xe_pcode.h                      |   30 +
>  drivers/gpu/drm/xe/xe_pcode_api.h                  |   49 +
>  drivers/gpu/drm/xe/xe_platform_types.h             |   37 +
>  drivers/gpu/drm/xe/xe_pm.c                         |  405 +++
>  drivers/gpu/drm/xe/xe_pm.h                         |   35 +
>  drivers/gpu/drm/xe/xe_preempt_fence.c              |  158 +
>  drivers/gpu/drm/xe/xe_preempt_fence.h              |   61 +
>  drivers/gpu/drm/xe/xe_preempt_fence_types.h        |   32 +
>  drivers/gpu/drm/xe/xe_pt.c                         | 1653 ++++++++++
>  drivers/gpu/drm/xe/xe_pt.h                         |   48 +
>  drivers/gpu/drm/xe/xe_pt_types.h                   |   77 +
>  drivers/gpu/drm/xe/xe_pt_walk.c                    |  160 +
>  drivers/gpu/drm/xe/xe_pt_walk.h                    |  161 +
>  drivers/gpu/drm/xe/xe_query.c                      |  552 ++++
>  drivers/gpu/drm/xe/xe_query.h                      |   14 +
>  drivers/gpu/drm/xe/xe_range_fence.c                |  156 +
>  drivers/gpu/drm/xe/xe_range_fence.h                |   75 +
>  drivers/gpu/drm/xe/xe_reg_sr.c                     |  284 ++
>  drivers/gpu/drm/xe/xe_reg_sr.h                     |   28 +
>  drivers/gpu/drm/xe/xe_reg_sr_types.h               |   37 +
>  drivers/gpu/drm/xe/xe_reg_whitelist.c              |  146 +
>  drivers/gpu/drm/xe/xe_reg_whitelist.h              |   23 +
>  drivers/gpu/drm/xe/xe_res_cursor.h                 |  240 ++
>  drivers/gpu/drm/xe/xe_ring_ops.c                   |  482 +++
>  drivers/gpu/drm/xe/xe_ring_ops.h                   |   17 +
>  drivers/gpu/drm/xe/xe_ring_ops_types.h             |   22 +
>  drivers/gpu/drm/xe/xe_rtp.c                        |  325 ++
>  drivers/gpu/drm/xe/xe_rtp.h                        |  430 +++
>  drivers/gpu/drm/xe/xe_rtp_helpers.h                |   81 +
>  drivers/gpu/drm/xe/xe_rtp_types.h                  |  124 +
>  drivers/gpu/drm/xe/xe_sa.c                         |  106 +
>  drivers/gpu/drm/xe/xe_sa.h                         |   40 +
>  drivers/gpu/drm/xe/xe_sa_types.h                   |   19 +
>  drivers/gpu/drm/xe/xe_sched_job.c                  |  280 ++
>  drivers/gpu/drm/xe/xe_sched_job.h                  |   80 +
>  drivers/gpu/drm/xe/xe_sched_job_types.h            |   46 +
>  drivers/gpu/drm/xe/xe_sriov.c                      |   55 +
>  drivers/gpu/drm/xe/xe_sriov.h                      |   42 +
>  drivers/gpu/drm/xe/xe_sriov_printk.h               |   46 +
>  drivers/gpu/drm/xe/xe_sriov_types.h                |   28 +
>  drivers/gpu/drm/xe/xe_step.c                       |  264 ++
>  drivers/gpu/drm/xe/xe_step.h                       |   23 +
>  drivers/gpu/drm/xe/xe_step_types.h                 |   50 +
>  drivers/gpu/drm/xe/xe_sync.c                       |  344 +++
>  drivers/gpu/drm/xe/xe_sync.h                       |   36 +
>  drivers/gpu/drm/xe/xe_sync_types.h                 |   28 +
>  drivers/gpu/drm/xe/xe_tile.c                       |  185 ++
>  drivers/gpu/drm/xe/xe_tile.h                       |   18 +
>  drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   57 +
>  drivers/gpu/drm/xe/xe_tile_sysfs.h                 |   19 +
>  drivers/gpu/drm/xe/xe_tile_sysfs_types.h           |   27 +
>  drivers/gpu/drm/xe/xe_trace.c                      |    9 +
>  drivers/gpu/drm/xe/xe_trace.h                      |  608 ++++
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |  334 ++
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h             |   21 +
>  drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |  118 +
>  drivers/gpu/drm/xe/xe_ttm_sys_mgr.h                |   13 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |  480 +++
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |   44 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h         |   52 +
>  drivers/gpu/drm/xe/xe_tuning.c                     |  121 +
>  drivers/gpu/drm/xe/xe_tuning.h                     |   16 +
>  drivers/gpu/drm/xe/xe_uc.c                         |  258 ++
>  drivers/gpu/drm/xe/xe_uc.h                         |   24 +
>  drivers/gpu/drm/xe/xe_uc_debugfs.c                 |   26 +
>  drivers/gpu/drm/xe/xe_uc_debugfs.h                 |   14 +
>  drivers/gpu/drm/xe/xe_uc_fw.c                      |  884 ++++++
>  drivers/gpu/drm/xe/xe_uc_fw.h                      |  184 ++
>  drivers/gpu/drm/xe/xe_uc_fw_abi.h                  |  321 ++
>  drivers/gpu/drm/xe/xe_uc_fw_types.h                |  146 +
>  drivers/gpu/drm/xe/xe_uc_types.h                   |   28 +
>  drivers/gpu/drm/xe/xe_vm.c                         | 3206 ++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_vm.h                         |  263 ++
>  drivers/gpu/drm/xe/xe_vm_doc.h                     |  555 ++++
>  drivers/gpu/drm/xe/xe_vm_types.h                   |  373 +++
>  drivers/gpu/drm/xe/xe_wa.c                         |  895 ++++++
>  drivers/gpu/drm/xe/xe_wa.h                         |   32 +
>  drivers/gpu/drm/xe/xe_wa_oob.rules                 |   24 +
>  drivers/gpu/drm/xe/xe_wait_user_fence.c            |  178 ++
>  drivers/gpu/drm/xe/xe_wait_user_fence.h            |   15 +
>  drivers/gpu/drm/xe/xe_wopcm.c                      |  270 ++
>  drivers/gpu/drm/xe/xe_wopcm.h                      |   16 +
>  drivers/gpu/drm/xe/xe_wopcm_types.h                |   26 +
>  include/drm/drm_gpuvm.h                            |   10 +
>  include/drm/xe_pciids.h                            |  190 ++
>  include/uapi/drm/xe_drm.h                          | 1347 ++++++++
>  352 files changed, 61427 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon
>  create mode 100644 Documentation/gpu/xe/index.rst
>  create mode 100644 Documentation/gpu/xe/xe_cs.rst
>  create mode 100644 Documentation/gpu/xe/xe_debugging.rst
>  create mode 100644 Documentation/gpu/xe/xe_firmware.rst
>  create mode 100644 Documentation/gpu/xe/xe_gt_mcr.rst
>  create mode 100644 Documentation/gpu/xe/xe_map.rst
>  create mode 100644 Documentation/gpu/xe/xe_migrate.rst
>  create mode 100644 Documentation/gpu/xe/xe_mm.rst
>  create mode 100644 Documentation/gpu/xe/xe_pcode.rst
>  create mode 100644 Documentation/gpu/xe/xe_pm.rst
>  create mode 100644 Documentation/gpu/xe/xe_rtp.rst
>  create mode 100644 Documentation/gpu/xe/xe_tile.rst
>  create mode 100644 Documentation/gpu/xe/xe_wa.rst
>  create mode 100644 drivers/gpu/drm/xe/.gitignore
>  create mode 100644 drivers/gpu/drm/xe/.kunitconfig
>  create mode 100644 drivers/gpu/drm/xe/Kconfig
>  create mode 100644 drivers/gpu/drm/xe/Kconfig.debug
>  create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
>  create mode 100644 drivers/gpu/drm/xe/Makefile
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_errors_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_klvs_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_messages_abi.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
>  create mode 100644 drivers/gpu/drm/xe/display/ext/i915_irq.c
>  create mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>  create mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_fb_pin.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_instr_defs.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_mi_commands.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_engine_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gpu_commands.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gt_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_guc_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_lrc_layout.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_reg_defs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_sriov_regs.h
>  create mode 100644 drivers/gpu/drm/xe/tests/Makefile
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_lmtt_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c
>  create mode 100644 drivers/gpu/drm/xe/xe_assert.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bb.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bb.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bb_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bo.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.c
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.h
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device.c
>  create mode 100644 drivers/gpu/drm/xe/xe_device.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_display.c
>  create mode 100644 drivers/gpu/drm/xe/xe_display.h
>  create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.c
>  create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.h
>  create mode 100644 drivers/gpu/drm/xe/xe_drm_client.c
>  create mode 100644 drivers/gpu/drm/xe/xe_drm_client.h
>  create mode 100644 drivers/gpu/drm/xe/xe_drv.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec.c
>  create mode 100644 drivers/gpu/drm/xe/xe_exec.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.c
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist.c
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist.h
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake.c
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake.h
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_fwif.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_huc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hwmon.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hwmon.h
>  create mode 100644 drivers/gpu/drm/xe/xe_irq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_irq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_2l.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_ml.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_macros.h
>  create mode 100644 drivers/gpu/drm/xe/xe_map.h
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate.c
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate.h
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_mmio.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mmio.h
>  create mode 100644 drivers/gpu/drm/xe/xe_mocs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mocs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_module.c
>  create mode 100644 drivers/gpu/drm/xe/xe_module.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pat.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pat.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pci.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pci.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pci_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode_api.h
>  create mode 100644 drivers/gpu/drm/xe/xe_platform_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_query.c
>  create mode 100644 drivers/gpu/drm/xe/xe_query.h
>  create mode 100644 drivers/gpu/drm/xe/xe_range_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_range_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.c
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.h
>  create mode 100644 drivers/gpu/drm/xe/xe_res_cursor.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp.c
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp_helpers.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sa.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sa.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sa_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_step.c
>  create mode 100644 drivers/gpu/drm/xe/xe_step.h
>  create mode 100644 drivers/gpu/drm/xe/xe_step_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sync.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sync.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sync_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tile.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_trace.c
>  create mode 100644 drivers/gpu/drm/xe/xe_trace.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tuning.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tuning.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_abi.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_vm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wa.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wa.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules
>  create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm_types.h
>  create mode 100644 include/drm/xe_pciids.h
>  create mode 100644 include/uapi/drm/xe_drm.h
Oded Gabbay Dec. 18, 2023, 2:27 p.m. UTC | #3
On Fri, Dec 15, 2023 at 05:28:19PM -0500, Rodrigo Vivi wrote:
> Hi Dave and Sima,
> 
> Here goes the first pull request for the drm/xe driver.
> 
> Our team was focused on putting together a driver that uses most, if not all,
> of the key drm concepts and has a functional display that is shared with i915.
> All the platforms are still protected by the force_probe protection because they
> are either officially supported by i915, or because they are still under
> enablement like Lunar Lake.
> 
> We still have a lot of work ahead of us, but we believe that it will be better
> to work with all of these cross-driver concepts after we are merged to drm-next
> along with the other drivers.
> 
> Besides the cross-driver collaboration and enabling of upcoming hardware, one of
> our key areas will be to improve performance and address reports by users so that
> the driver keeps getting better.
> 
> I’m having the honor to send this first pull request on behalf of the new team of
> maintainers that we are putting together for the xe driver: Lucas, Thomas, and
> Oded. I’m going to assist them to get this through and to set up the drm-tip
> development flow. Then, you should expect future pull requests coming directly
> from them. Likely, with a rotation of duties that they will define by themselves,
> but that should be similar to drm-intel and drm-misc.
> 
> Thanks,
> Rodrigo.
(Sorry for sending again but my kernel.org smtp definition was wrong and ml rejected my email)

Hi Rodrigo,
You and the team did a great job on bringing the driver to this stage. Congrats!

I reviewed a large part of the driver, mainly focusing on init/fini,
ioctls, memory management, dma-buf.
There were multiple issues raised and all of them were fixed/answered
to my satisfaction.

For the PR:
Acked-by: Oded Gabbay <ogabbay@kernel.org>

Thanks,
Oded

> 
> The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:
> 
>   Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-12-08 16:27:00 +1000)
> 
> are available in the Git repository at:
> 
>   https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2023-12-15-pr1
> 
> for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:
> 
>   MAINTAINERS: Updates to Intel DRM (2023-12-15 16:41:56 -0500)
> 
> ----------------------------------------------------------------
> Introduce a new DRM driver for Intel GPUs
> 
> Xe, is a new driver for Intel GPUs that supports both integrated and
> discrete platforms. The experimental support starts with Tiger Lake.
> i915 will continue be the main production driver for the platforms
> up to Meteor Lake and Alchemist. Then the goal is to make this Intel
> Xe driver the primary driver for Lunar Lake and newer platforms.
> 
> It uses most, if not all, of the key drm concepts, in special: TTM,
> drm-scheduler, drm-exec, drm-gpuvm/gpuva and others.
> 
> It reuses/shares i915 code for display support.
> 
> ----------------------------------------------------------------
> Alan Previn (1):
>       drm/xe/guc: Fix h2g_write usage of GUC_CTB_MSG_MAX_LEN
> 
> Alexander Usyskin (1):
>       drm/xe/gsc: enable pvc support
> 
> Andrzej Hajda (1):
>       drm/xe: implement driver initiated function-reset
> 
> Animesh Manna (1):
>       drm/xe/dsb: DSB implementation for xe
> 
> Anshuman Gupta (7):
>       drm/xe/pm: Disable PM on unbounded pcie parent bridge
>       drm/xe/pm: Add pci d3cold_capable support
>       drm/xe/pm: Refactor xe_pm_runtime_init
>       drm/xe/pm: Add vram_d3cold_threshold Sysfs
>       drm/xe/pm: Toggle d3cold_allowed using vram_usages
>       drm/xe/pm: Init pcode and restore vram on power lost
>       drm/xe/pm: Add vram_d3cold_threshold for d3cold capable device
> 
> Anusha Srivatsa (10):
>       drm/xe/huc: Support for loading unversiond HuC
>       drm/xe: Load HuC on Alderlake S
>       drm/xe: GuC and HuC loading support for RKL
>       drm/xe: Add Rocketlake device info
>       drm/xe/kunit: Handle fake device creation for all platform/subplatform cases
>       drm/xe: Add missing ADL entries to xe_test_wa
>       drm/xe/rplu: s/ADLP/ALDERLAKE_P
>       drm/xe/rpls: Add RPLS Support
>       drm/xe/rpls: Add Stepping info for RPLS
>       drm/xe: Add missing ADL entries to xe_test_wa
> 
> Aravind Iddamsetty (5):
>       drm/xe: Get GT clock to nanosecs
>       drm/xe: Use spinlock in forcewake instead of mutex
>       drm/xe/pmu: Enable PMU interface
>       drm/xe/pmu: Drop interrupt pmu event
>       drm/xe: Fix lockdep warning in xe_force_wake calls
> 
> Ashutosh Dixit (2):
>       drm/xe/uapi: Use common drm_xe_ext_set_property extension
>       drm/xe/pmu: Remove PMU from Xe till uapi is finalized
> 
> Badal Nilawar (11):
>       drm/xe: Donot apply forcewake while reading actual frequency
>       drm/xe/mtl: Add support to get C6 residency/status of MTL
>       drm/xe/hwmon: Expose power attributes
>       drm/xe/hwmon: Expose card reactive critical power
>       drm/xe/hwmon: Expose input voltage attribute
>       drm/xe/hwmon: Expose hwmon energy attribute
>       drm/xe: Extend rpX values extraction for future platforms
>       drm/xe/hwmon: Add kernel doc and refactor xe hwmon
>       drm/xe/hwmon: Protect hwmon rw attributes with hwmon_lock
>       drm/xe/hwmon: Expose power1_max_interval
>       drm/xe/mtl: Use 16.67 Mhz freq scale factor to get rpX
> 
> Balasubramani Vivekanandan (9):
>       drm/xe/gt: Enable interrupt while initializing root gt
>       drm/xe: Use max wopcm size when validating the preset GuC wopcm size
>       drm/xe: Stop accepting value in xe_migrate_clear
>       drm/xe: Keep all resize bar related prints inside xe_resize_vram_bar
>       drm/xe/xe2: Add MOCS table
>       drm/xe/lnl: Hook up MOCS table
>       drm/xe: Leverage ComputeCS read L3 caching
>       drm/xe: Add event tracing for CTB
>       drm/xe/trace: Optimize trace definition
> 
> Bommithi Sakeena (3):
>       drm/xe: Ensure mutex are destroyed
>       drm/xe: Add a missing mutex_destroy to xe_ttm_vram_mgr
>       drm/xe: Encapsulate all the module parameters
> 
> Bommu Krishnaiah (2):
>       drm/xe/uapi: add exec_queue_id member to drm_xe_wait_user_fence structure
>       drm/xe/uapi: Return correct error code for xe_wait_user_fence_ioctl
> 
> Brian Welty (12):
>       drm/xe: Fix BUG_ON during bind with prefetch
>       drm/xe: Fix lockdep warning from xe_vm_madvise
>       drm/xe: Simplify xe_res_get_buddy()
>       drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region
>       drm/xe: Remove unused xe_bo_to_tile
>       drm/xe: Replace usage of mem_type_to_tile
>       drm/xe: Fix dequeue of access counter work item
>       drm/xe: Fix pagefault and access counter worker functions
>       drm/xe: Fix unbind of unaccessed VMA (fault mode)
>       drm/xe: Make xe_mmio_tile_vram_size() static
>       drm/xe: Support device page faults on integrated platforms
>       drm/xe/xe2: Respond to TRTT faults as unsuccessful page fault
> 
> Carlos Santa (2):
>       drm/xe: Update the list of devices to add even more TGL devices
>       drm/xe: stringify the argument to avoid potential vulnerability
> 
> Chang, Bruce (2):
>       drm/xe: don't auto fall back to execlist mode if guc failed to init
>       drm/xe: fix pvc unload issue
> 
> Christopher Snowhill (3):
>       drm/xe: Enable the compat ioctl functionality
>       drm/xe: Add explicit padding to uAPI definition
>       drm/xe: Validate uAPI padding and reserved fields
> 
> Dani Liberman (3):
>       drm/xe: proper setting of irq enabled flag
>       drm/xe: change old msi irq api to a new one
>       drm/xe: add msix support
> 
> Daniele Ceraolo Spurio (36):
>       drm/xe: limit GGTT size to GUC_GGTT_TOP
>       drm/xe: fix HuC FW ordering for DG1
>       drm/xe/slpc: Start SLPC before GuC submission on reset
>       drm/xe: fix mcr semaphore locking for MTL
>       drm/xe: common function to assign queue name
>       drm/xe: base definitions for the GSCCS
>       drm/xe: add GSCCS irq support
>       drm/xe: add GSCCS ring ops
>       drm/xe: GSC forcewake support
>       drm/xe: don't expose the GSCCS to users
>       drm/xe: enable idle msg and set hysteresis for GSCCS
>       drm/xe: fix submissions without vm
>       drm/xe: split kernel vs permanent engine flags
>       drm/xe: standardize vm-less kernel submissions
>       drm/xe/guc: Switch to major-only GuC FW tracking for MTL
>       drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()
>       drm/xe/uc: Fix uC status tracking
>       drm/xe/uc: Add GuC/HuC firmware path overrides
>       drm/xe: Add child contexts to the GuC context lookup
>       drm/xe/guc: Bump PVC GuC version to 70.9.1
>       drm/xe/uc: Prepare for parsing of different header types
>       drm/xe/huc: Extract version and binary offset from new HuC headers
>       drm/xe/huc: HuC is not supported on GTs that don't have video engines
>       drm/xe/huc: Don't re-auth HuC if it's already authenticated
>       drm/xe/huc: Define HuC for MTL
>       drm/xe/uc: Rework uC version tracking
>       drm/xe/gsc: Introduce GSC FW
>       drm/xe/gsc: Parse GSC FW header
>       drm/xe/gsc: GSC FW load
>       drm/xe/gsc: Implement WA 14015076503
>       drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
>       drm/xe/gsc: Query GSC compatibility version
>       drm/xe/gsc: Define GSCCS for MTL
>       drm/xe/gsc: Define GSC FW for MTL
>       drm/xe/huc: Prepare for 2-step HuC authentication
>       drm/xe/huc: HuC authentication via GSC
> 
> David Kershner (2):
>       drm/xe/xe_migrate.c: Use DPA offset for page table entries.
>       drm/xe/tests/xe_migrate.c: Add vram to vram KUNIT test
> 
> Dnyaneshwar Bhadane (1):
>       drm/xe/xe2: Add initial workarounds
> 
> Fei Yang (3):
>       drm/xe: set PTE_AE for all platforms supporting it
>       drm/xe: timeout needs to be a signed value
>       drm/xe: explicitly set GGTT access for GuC DMA
> 
> Francois Dugast (57):
>       drm/xe: Use global macros to set PM functions
>       drm/xe: Fix build without CONFIG_PM_SLEEP
>       drm/xe: Fix splat during error dump
>       drm/xe: Remove unused define
>       drm/xe: Use SPDX-License-Identifier instead of license text
>       drm/xe: Group engine related structs
>       drm/xe: Fix some formatting issues in uAPI
>       drm/xe: Document structures for device query
>       drm/xe: Move defines before relevant fields
>       drm/xe: Document topology mask query
>       drm/xe: Cleanup SPACING style issues
>       drm/xe: Cleanup OPEN_BRACE style issues
>       drm/xe: Cleanup POINTER_LOCATION style issues
>       drm/xe: Cleanup CODE_INDENT style issues
>       drm/xe: Cleanup TRAILING_WHITESPACE style issues
>       drm/xe: Cleanup COMPLEX_MACRO style issues
>       drm/xe: Fix typos
>       drm/xe: Prevent flooding the kernel log with XE_IOCTL_ERR
>       drm/xe: Cleanup style warnings
>       drm/xe: Rely on kmalloc/kzalloc log message
>       drm/xe/execlist: Remove leftover printk messages
>       drm/xe: Cleanup style warnings and errors
>       drm/xe/execlist: Log when using execlist submission
>       drm/xe/macro: Remove unused constant
>       drm/xe: Prefer WARN() over BUG() to avoid crashing the kernel
>       drm/xe: Rename xe_engine.[ch] to xe_exec_queue.[ch]
>       drm/xe: Rename engine to exec_queue
>       drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
>       drm/xe: Replace XE_WARN_ON with drm_warn when just printing a string
>       drm/xe: Use Xe assert macros instead of XE_WARN_ON macro
>       drm/xe/uapi: Separate VM_BIND's operation and flag
>       drm/xe/vm: Remove VM_BIND_OP macro
>       drm/xe/uapi: Remove MMIO ioctl
>       drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
>       drm/xe/display: Use acpi_target_system_state only if ACPI_SLEEP is enabled
>       drm/xe/uapi: Remove useless XE_QUERY_CONFIG_NUM_PARAM
>       drm/xe/uapi: Remove unused inaccessible memory region
>       drm/xe/uapi: Remove unused QUERY_CONFIG_MEM_REGION_COUNT
>       drm/xe/uapi: Remove unused QUERY_CONFIG_GT_COUNT
>       drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
>       drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
>       drm/xe/uapi: Change rsvd to pad in struct drm_xe_class_instance
>       drm/xe/uapi: Align on a common way to return arrays (memory regions)
>       drm/xe/uapi: Align on a common way to return arrays (gt)
>       drm/xe/uapi: Align on a common way to return arrays (engines)
>       drm/xe/uapi: Remove DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
>       drm/xe/uapi: Remove DRM_XE_UFENCE_WAIT_MASK_*
>       drm/xe/uapi: Add a comment to each struct
>       drm/xe/uapi: Add missing documentation for struct members
>       drm/xe/uapi: Document use of size in drm_xe_device_query
>       drm/xe/uapi: Document drm_xe_query_config keys
>       drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
>       drm/xe/uapi: Make constant comments visible in kernel doc
>       drm/xe/uapi: Add block diagram of a device
>       drm/xe/uapi: Add examples of user space code
>       drm/xe/uapi: Move CPU_CACHING defines before doc
>       drm/xe/uapi: Move DRM_XE_ACC_GRANULARITY_* where they are used
> 
> Gustavo Sousa (15):
>       drm/xe: Include only relevant header in xe_module.h
>       drm/xe: Get rid of MAKE_INIT_EXIT_FUNCS
>       drm/xe: Call exit functions when xe_register_pci_driver() fails
>       drm/xe: Do not forget to drm_dev_put() in xe_pci_probe()
>       drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
>       drm/xe: Fail xe_device_create() if wq allocation fails
>       drm/xe: Replace deprecated DRM_ERROR()
>       drm/xe/reg_sr: Use a single parameter for xe_reg_sr_apply_whitelist()
>       drm/xe/reg_sr: Apply limit to register whitelisting
>       drm/xe: Simplify final return from xe_irq_install()
>       drm/xe/irq: Clear GFX_MSTR_IRQ as part of IRQ reset
>       drm/xe/rtp: Fix doc for XE_RTP_ACTIONS
>       drm/xe/xelpmp: Add Wa_16021867713
>       drm/xe/mmio: Move xe_mmio_wait32() to xe_mmio.c
>       drm/xe/mmio: Make xe_mmio_wait32() aware of interrupts
> 
> Haridhar Kalvala (6):
>       drm/xe: Adjust mocs field mask definitions
>       drm/xe: Rename MEM_SET instruction
>       drm/xe/xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4
>       drm/xe/xe2: Update MOCS fields in blitter instructions
>       drm/xe: Add Wa_14019877138
>       drm/xe: ATS-M device ID update
> 
> Himal Prasad Ghimiray (12):
>       drm/xe: Notify Userspace when gt reset fails
>       drm/xe: Introduce fault injection for gt reset
>       drm/xe/xe2: Determine bios enablement for flat ccs on igfx
>       drm/xe/xe2: Modify main memory to ccs memory ratio.
>       drm/xe/xe2: Allocate extra pages for ccs during bo create
>       drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
>       drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
>       drm/xe/xe2: Update chunk size for each iteration of ccs copy
>       drm/xe/xe2: Update emit_pte to use compression enabled PAT index
>       drm/xe/xe2: Handle flat ccs move for igfx.
>       drm/xe/xe2: Modify xe_bo_test for system memory
>       drm/xe/xe2: Support flat ccs
> 
> Janga Rahul Kumar (1):
>       drm/Xe: Use EOPNOTSUPP instead of ENOTSUPP
> 
> Jani Nikula (3):
>       drm/xe: make compound literal initialization const
>       drm/xe/irq: the irq handler local variable need not be static
>       drm/xe/mmio: add xe_mmio_read16()
> 
> Jonathan Cavitt (1):
>       drm/xe: clear the serviced bits on INTR_IDENTITY_REG
> 
> José Roberto de Souza (17):
>       drm/xe/uapi: Rename XE_ENGINE_PROPERTY_X to XE_ENGINE_SET_PROPERTY_X
>       drm/xe/uapi: Add XE_ENGINE_GET_PROPERTY uAPI
>       drm/xe: Initialize ret in mcr_lock()
>       drm/xe: Fix size of xe_eu_mask_t
>       drm/xe: Add max engine priority to xe query
>       drm/xe: Limit the system memory size to half of the system memory
>       drm/xe: Enable Raptorlake-P
>       drm/xe: Set default MOCS value for cs instructions
>       drm/xe: Set default MOCS value for copy cs instructions
>       drm/xe: Replace PVC check by engine type check
>       drm/xe: Fix RING_MI_MODE label in devcoredump
>       drm/xe: Fix devcoredump readout of IPEHR
>       drm/xe: Remove devcoredump readout of IPEIR
>       drm/xe: Set PTE_AE for smem allocations in integrated devices
>       drm/xe: Include RPL-U to pciidlist
>       drm/xe: Add missing RPL and ADL
>       drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
> 
> Jouni Högander (9):
>       drm/xe/display: Add struct i915_active for Xe
>       drm/xe/display: Add macro to get i915 device from xe_bo
>       drm/xe/display: Add frontbuffer setter/getter for xe_bo
>       drm/xe/display: Add i915_active.h compatibility header
>       drm/xe/display: Add empty def for i915_gem_object_flush_if_display
>       drm/xe/display: Add empty define for i915_ggtt_clear_scanout
>       drm/xe/display: Xe stolen memory handling for fbc support
>       drm/xe/display: Add i915_gem.h compatibility header
>       drm/xe/display: Add Xe implementation for fence checks used by fbc code
> 
> Juha-Pekka Heikkila (2):
>       drm/xe/display: Don't try to use vram if not available
>       drm/xe/display: Add writing of remapped dpt
> 
> Koby Elbaz (10):
>       drm/xe: add 28-bit address support in struct xe_reg
>       drm/xe: add read/write support for MMIO extension space
>       drm/xe: add a flag to bypass multi-tile config from MTCFG reg
>       drm/xe: add MMIO extension support flags
>       drm/xe: map MMIO BAR according to the num of tiles in device desc
>       drm/xe: refactor xe_mmio_probe_tiles to support MMIO extension
>       drm/xe: move the lmem verification code into a separate function
>       drm/xe/display: fix error handling flow when device probing fails
>       drm/xe: add skip_pcode flag
>       drm/xe: rename bypass_mtcfg to skip_mtcfg
> 
> Lucas De Marchi (176):
>       drm/xe/ggtt: Use BIT_ULL() for 64bit
>       drm/xe: Fix some log messages on 32b
>       drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
>       drm/xe: Fix tracepoints on 32b
>       drm/xe/gt: Fix min() with u32 and u64
>       drm/xe: Add documentation for mem_type
>       drm/xe: Add min config for kunit integration ARCH=um
>       drm/xe: Fix typo in MCR documentation
>       drm/xe: Fix xe_tuning include
>       drm/xe: Remove TODO from rtp infra
>       drm/xe: Remove TODO from workaround documentation
>       drm/xe/mcr: Use designated init for xe_steering_types
>       drm/xe/mcr: Add SQIDI steering for DG2
>       drm/xe: Rename xe_rtp_regval to xe_rtp_action
>       drm/xe/rtp: Split action and entry flags
>       drm/xe/rtp: Support multiple actions per entry
>       drm/xe: Make local functions static
>       drm/xe: Fix application of LRC tunings
>       drm/xe: Remove unused functions
>       drm/xe: Add missing doc for xe parameter
>       drm/xe: Add missing include xe_wait_user_fence.h
>       drm/xe: Remove duplicate media_ver
>       drm/xe: Remove outdated build workaround
>       drm/xe/guc: Remove i915_regs.h include
>       drm/xe: Fix kunit integration due to missing prototypes
>       drm/xe: Sort includes
>       drm/xe: Remove dependency on intel_engine_regs.h
>       drm/xe: Remove dependency on intel_gt_regs.h
>       drm/xe: Remove dependency on intel_lrc_reg.h
>       drm/xe: Remove dependency on intel_gpu_commands.h
>       drm/xe: Remove dependency on i915_reg.h
>       drm/xe/guc_pc: Move gt register to the proper place
>       drm/xe: Remove dependency on intel_mchbar_regs.h
>       drm/xe: Prefer single underscore for header guards
>       drm/xe: Do not spread i915_reg_defs.h include
>       drm/xe/device: Prefer the drm-managed mutex_init
>       drm/xe: Fix typo persitent->persistent
>       drm/xe: Fix duplicated setting for register 0x6604
>       drm/xe: Fix ROW_CHICKEN2 define
>       drm/xe/mcr: Add L3BANK steering for DG2
>       drm/xe/mcr: Document how to initialize group/instance
>       drm/xe: Allow const propagation in gt_to_xe()
>       drm/xe: Constify xe_dss_mask_group_ffs()
>       drm/xe/rtp: Move match function from wa to rtp
>       drm/xe/rtp: Add match for render reset domain
>       drm/xe: Remove dump function from reg_sr
>       drm/xe: Name LRC wa after the engine it belongs
>       drm/xe/pvc: Remove A* steppings
>       drm/xe/rtp: Add match helper for gslice fused off
>       drm/xe/reg_sr: Tweak verbosity for register printing
>       drm/xe: Print whitelist while applying
>       drm/xe/debugfs: Dump register save-restore tables
>       drm/xe: Reorder WAs to consider the platform
>       drm/xe: Add PVC gt workarounds
>       drm/xe: Add PVC engine workarounds
>       drm/xe: Add missing DG2 gt workarounds and tunings
>       drm/xe: Add missing DG2 engine workarounds
>       drm/xe: Add missing DG2 lrc tunings
>       drm/xe: Add missing DG2 lrc workarounds
>       drm/xe: Add missing ADL-P engine workaround
>       drm/xe: Add missing LRC workarounds for graphics 1200
>       drm/xe: Replace i915 with xe in uapi
>       drm/xe/mcr: Separate version from engine type selection
>       drm/xe: Remove unused revid from firmware name
>       drm/xe: Fix platform order
>       drm/xe: Extract function to initialize xe->info
>       drm/xe: Move test infra out of xe_pci.[ch]
>       drm/xe: Use symbol namespace for kunit tests
>       drm/xe: Generalize fake device creation
>       drm/xe/reg_sr: Save errors for kunit integration
>       drm/xe: Add basic unit tests for rtp
>       drm/xe: Add test for GT workarounds and tunings
>       drm/xe: Update GuC/HuC firmware autoselect logic
>       drm/xe: Always log GuC/HuC firmware versions
>       drm/xe: Cleanup page-related defines
>       drm/xe: Rename RC0/RC6 macros
>       drm/xe: Rename instruction field to avoid confusion
>       drm/xe/guc: Rename GEN11_SOFT_SCRATCH for clarity
>       drm/xe/guc: Move GuC registers to regs/
>       drm/xe/guc: Convert GuC registers to REG_FIELD/REG_BIT
>       drm/xe: Drop gen afixes from registers
>       drm/xe: Use REG_FIELD/REG_BIT for all regs/*.h
>       drm/xe: Clarify register types on PAT programming
>       drm/xe: Introduce xe_reg/xe_reg_mcr
>       drm/xe: Use XE_REG/XE_REG_MCR
>       drm/xe: Annotate masked registers used by RTP
>       drm/xe: Plumb xe_reg into WAs, rtp, etc
>       drm/xe: Move helper macros to separate header
>       drm/xe: Fix media detection for pre-GMD_ID platforms
>       drm/xe: Do not mark 1809175790 as a WA
>       drm/xe: Fix comment on Wa_22013088509
>       drm/xe/guc: Remove special handling for PVC A*
>       drm/xe/guc: Handle RCU_MODE as masked from definition
>       drm/xe/mmio: Use struct xe_reg
>       drm/xe: Rename reg field to addr
>       drm/xe: Fix indent in xe_hw_engine_print_state()
>       drm/xe: Load HuC on Alderlake P
>       drm/xe: Fix Wa_22011802037 annotation
>       drm/xe/rtp: Split rtp process initialization
>       drm/xe/rtp: Replace XE_WARN_ON
>       drm/xe/rtp: Add "_sr" to entry/function names
>       drm/xe/rtp: Allow to track active workarounds
>       drm/xe/wa: Track gt/engine/lrc active workarounds
>       drm/xe/debugfs: Dump active workarounds
>       drm/xe/rtp: Rename STEP to GRAPHICS_STEP
>       drm/xe/rtp: Add check for media stepping
>       drm/xe/rtp: Add support for entries with no action
>       drm/xe: Include build directory
>       drm/xe: Add support for OOB workarounds
>       drm/xe/guc: Port Wa_22012773006 to xe_wa
>       drm/xe/guc: Port Wa_16011759253 to xe_wa
>       drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
>       drm/xe/guc: Port Wa_16011777198 to xe_wa
>       drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
>       drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
>       drm/xe/guc: Port Wa_1509372804 to xe_wa
>       drm/xe/rtp: Also check gt type
>       drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
>       drm/xe: Rename pte/pde encoding functions
>       drm/xe/guc: Fix typo s/enabled/enable/
>       drm/xe/guc: Normalize error messages with %#x
>       drm/xe: Skip applying copy engine fuses
>       drm/xe: Normalize XE_VM_FLAG* names
>       drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
>       drm/xe: Fix checking for unset value
>       drm/xe: Remove vma arg from xe_pte_encode()
>       drm/xe: Decouple vram check from xe_bo_addr()
>       drm/xe: Set PTE_DM bit for stolen on MTL
>       drm/xe: Fix MTL+ stolen memory mapping
>       drm/xe: Carve out top of DSM as reserved
>       drm/xe: Sort xe_regs.h
>       drm/xe: Fix error path in xe_guc_pc_gucrc_disable()
>       drm/xe: Fix error path in xe_guc_pc_start()
>       drm/xe: Update ARL-S DevIDs to the latest BSpec
>       drm/xe/pat: Use 0 instead of space on error
>       drm/xe/reg_sr: Simplify check for masked registers
>       drm/xe/reg_sr: Use xe_gt_dbg
>       drm/xe: Add dbg messages for LRC WAs
>       drm/xe: Fix LRC workarounds
>       drm/xe/mmio: Account for GSI offset when checking ranges
>       drm/xe: Accept a const xe device
>       drm/xe: Normalize pte/pde encoding
>       drm/xe: Remove check for vma == NULL
>       drm/xe: Use vfunc for pte/pde ppgtt encoding
>       drm/xe/migrate: Do not hand-encode pte
>       drm/xe: Use vfunc to initialize PAT
>       drm/xe/dg2: Fix using wrong PAT table
>       drm/xe/pat: Prefer the arch/IP names
>       drm/xe/pat: Keep track of relevant indexes
>       drm/xe: Use pat_index to encode pde/pte
>       drm/xe: Use vfunc for ggtt pte encoding
>       drm/xe/xe2: Extend reserved stolen sizes
>       drm/xe/xe2: Add missing mocs entry
>       drm/xe/vm: Prefer xe_assert() over XE_WARN_ON()
>       drm/xe/xe2: Follow XeHPC for TLB invalidation
>       drm/xe/xe2: Add one more bit to encode PAT to ppgtt entries
>       drm/xe/pat: Add debugfs node to dump PAT
>       drm/xe/gt: Dump PAT table when failing to initialize
>       drm/xe: Fix WA 14010918519 write to wrong register
>       drm/xe: Fix build with KUNIT=m
>       drm/xe/display: Silence kernel-doc warnings related to display
>       drm/xe: Fold GEN11_MOCS_ENTRIES into gen12_mocs_desc
>       drm/xe/mocs: Bring comment about mocs back to reality
>       drm/xe: Remove GEN[0-9]*_ prefixes
>       drm/xe: Fix modpost warning on kunit modules
>       drm/xe: Sync MTL PCI IDs with i915
>       drm/xe: Expand XE_REG_OPTION_MASKED documentation
>       drm/xe/kunit: Remove handling of XE_TEST_SUBPLATFORM_ANY
>       drm/xe/kunit: Move fake pci data to test-priv
>       drm/xe/kunit: Add stub to read_gmdid
>       drm/xe/kunit: Test WAs for MTL and LNL
>       drm/xe: Rename info.supports_* to info.has_*
>       drm/xe: Return error if drm_buddy_init() fails
>       drm/xe/bo: Remove unusued variable
>       drm/xe/display: Fix dummy __i915_inject_probe_error()
>       drm/xe: Enable W=1 warnings by default
> 
> Maarten Lankhorst (11):
>       drm/xe: Implement stolen memory.
>       drm/xe: Fix hidden gotcha regression with bo create
>       drm/xe: Convert memory device refcount to s32
>       drm/xe: Map initial FB at the same place in GGTT too
>       drm/xe: Add debugfs for dumping GGTT mappings
>       drm/xe: Use atomic instead of mutex for xe_device_mem_access_ongoing
>       drm/xe: Remove extra xe_mmio_read32 from xe_mmio_wait32
>       drm/xe: Prevent evicting for page tables
>       drm/xe: Fix error paths of __xe_bo_create_locked
>       drm/xe/display: Implement display support
>       drm/xe/display: Improve s2idle handling.
> 
> Matt Atwood (2):
>       drm/xe: Add infrastructure for per engine tuning
>       drm/xe: add gt tuning for indirect state
> 
> Matt Roper (131):
>       drm/xe: Remove gen-based mmio offsets from hw engine init
>       drm/xe: Assume MTL's forcewake register continues to future platforms
>       drm/xe/mocs: Drop unwanted TGL table
>       drm/xe/mocs: Add missing RKL handling
>       drm/xe/mocs: Drop xe_mocs_info_index
>       drm/xe/mocs: Drop duplicate assignment of uc_index
>       drm/xe/mocs: LNCF MOCS settings only need to be restored on pre-Xe_HP
>       drm/xe/mocs: Drop HAS_RENDER_L3CC flag
>       drm/xe/guc: Handle regset overflow check for entire GT
>       drm/xe: Separate engine fuse handling into dedicated functions
>       drm/xe: Add support for CCS engine fusing
>       drm/xe/pat: Move PAT setup to a dedicated file
>       drm/xe/pat: Use table-based programming of PAT settings
>       drm/xe/pat: Handle unicast vs MCR PAT registers
>       drm/xe/pat: Clean up PAT register definitions
>       drm/xe/mtl: Fix PAT table coherency settings
>       drm/xe/mtl: Handle PAT_INDEX offset jump
>       drm/xe/pat: Define PAT tables as static
>       drm/xe: Include hardware prefetch buffer in batchbuffer allocations
>       drm/xe: Adjust batchbuffer space warning when creating a job
>       drm/xe: Don't emit extra MI_BATCH_BUFFER_END in WA batchbuffer
>       drm/xe/irq: Drop gen3_ prefixes
>       drm/xe/irq: Add helpers to find ISR/IIR/IMR/IER registers
>       drm/xe/irq: Drop IRQ_INIT and IRQ_RESET macros
>       drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
>       drm/xe/irq: Rename and clarify top-level interrupt handling routines
>       drm/xe/irq: Drop remaining "gen11_" prefix from IRQ functions
>       drm/xe/irq: Drop commented-out code for non-existent media engines
>       drm/xe/irq: Don't clobber display interrupts on multi-tile platforms
>       drm/xe: Start splitting xe_device_desc into graphics/media structures
>       drm/xe: Set require_force_probe in each platform's description
>       drm/xe: Move most platform traits to graphics IP
>       drm/xe: Move engine masks into IP descriptor structures
>       drm/xe: Clarify GT counting logic
>       drm/xe: Add printable name to IP descriptors
>       drm/xe: Select graphics/media descriptors from GMD_ID
>       drm/xe: Add KUnit test for xe_pci.c IP engine lists
>       drm/xe: Clean up xe_device_desc
>       drm/xe: Let primary and media GT share a kernel_bb_pool
>       drm/xe: Use packed bitfields for xe->info feature flags
>       drm/xe: Track whether platform has LLC
>       drm/xe: Only request PCODE_WRITE_MIN_FREQ_TABLE on LLC platforms
>       drm/xe/sr: Apply masked registers properly
>       drm/xe: Fix xe_mmio_rmw32 operation
>       drm/xe: Drop GFX_FLSH_CNTL_GEN6 write during GGTT invalidation
>       drm/xe/adlp: Add revid => step mapping
>       drm/xe/adln: Enable ADL-N
>       drm/xe: Add stepping support for GMD_ID platforms
>       drm/xe/pvc: Don't try to invalidate AuxCCS TLB
>       drm/xe/mtl: Disable media GT
>       drm/xe: Introduce xe_tile
>       drm/xe: Add backpointer from gt to tile
>       drm/xe: Add for_each_tile iterator
>       drm/xe: Move register MMIO into xe_tile
>       drm/xe: Move GGTT from GT to tile
>       drm/xe: Move VRAM from GT to tile
>       drm/xe: Memory allocations are tile-based, not GT-based
>       drm/xe: Move migration from GT to tile
>       drm/xe: Clarify 'gt' retrieval for primary tile
>       drm/xe: Drop vram_id
>       drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE
>       drm/xe: Allocate GT dynamically
>       drm/xe: Add media GT to tile
>       drm/xe: Interrupts are delivered per-tile, not per-GT
>       drm/xe/irq: Move ASLE backlight interrupt logic
>       drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask
>       drm/xe/irq: Untangle postinstall functions
>       drm/xe: Replace xe_gt_irq_postinstall with xe_irq_enable_hwe
>       drm/xe: Invalidate TLB on all affected GTs during GGTT updates
>       drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations
>       drm/xe: Allow GT looping and lookup on standalone media
>       drm/xe: Update query uapi to support standalone media
>       drm/xe: Reinstate media GT support
>       drm/xe: Add kerneldoc description of multi-tile devices
>       drm/xe: Reformat xe_guc_regs.h
>       drm/xe: Initialize MOCS earlier
>       drm/xe: Don't hardcode GuC's MOCS index in register header
>       drm/xe/wa: Extend scope of Wa_14015795083
>       drm/xe/mtl: Add some initial MTL workarounds
>       drm/xe: Return GMD_ID revid properly
>       drm/xe: Don't raise error on fused-off media
>       drm/xe: Print proper revid value for unknown media revision
>       drm/xe: Enable PCI device earlier
>       drm/xe/mtl: Map PPGTT as CPU:WC
>       drm/xe: xe_engine_create_ioctl should check gt_count, not tile_count
>       drm/xe/mtl: Reduce Wa_14018575942 scope to the CCS engine
>       drm/xe: Add Wa_14015150844 for DG2 and Xe_LPG
>       drm/xe: Stop tracking 4-tile support
>       drm/xe/xe2: Update render/compute context image sizes
>       drm/xe/xe2: Add GT topology readout
>       drm/xe/xe2: Add MCR register steering for primary GT
>       drm/xe/xe2: Add MCR register steering for media GT
>       drm/xe/xe2: Update context image layouts
>       drm/xe/xe2: Handle fused-off CCS engines
>       drm/xe/xe2: AuxCCS is no longer used
>       drm/xe/xe2: Define Xe2_LPG IP features
>       drm/xe/xe2: Define Xe2_LPM IP features
>       drm/xe/xe2: Track VA bits independently of max page table level
>       drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond
>       drm/xe/lnl: Add LNL platform definition
>       drm/xe/lnl: Add GuC firmware definition
>       drm/xe: Avoid 64-bit register reads
>       drm/xe: Drop xe_mmio_write64()
>       drm/xe/wa: Apply tile workarounds at probe/resume
>       drm/xe: Infer service copy functionality from engine list
>       drm/xe/tuning: Add missing engine class rules for LRC tuning
>       drm/xe/xe2: Program PAT tables
>       drm/xe: Make MI_FLUSH_DW immediate size more explicit
>       drm/xe: Separate number of registers from MI_LRI opcode
>       drm/xe: Clarify number of dwords/qwords stored by MI_STORE_DATA_IMM
>       drm/xe: Extract MI_* instructions to their own header
>       drm/xe/debugfs: Add dump of default LRCs' MI instructions
>       drm/xe/debugfs: Include GFXPIPE commands in LRC dump
>       drm/xe: Prepare to emit non-register state while recording default LRC
>       drm/xe: Emit SVG state on RCS during driver load on DG2 and MTL
>       drm/xe/xe2: Update SVG state handling
>       drm/xe/mocs: MOCS registers are multicast on Xe_HP and beyond
>       drm/xe/xe2: Program correct MOCS registers
>       drm/xe: Add Wa_14019821291
>       drm/xe: Drop EXECLIST_CONTROL from error state dump
>       drm/xe/dg2: Wa_18028616096 now applies to all DG2
>       drm/xe/dg2: Drop Wa_22014600077
>       drm/xe: Remove duplicate RING_MAX_NONPRIV_SLOTS definition
>       drm/xe: Drop "_REG" suffix from CSFE_CHICKEN1
>       drm/xe: Move some per-engine register definitions to the engine header
>       drm/xe: Fix whitespace in register definitions
>       drm/xe: Move engine base offsets to engine register header
>       drm/xe: Move GSC HECI base offsets out of register header
>       drm/xe: Define interrupt vector bits with the interrupt registers
>       drm/xe: Re-sort GT register header
>       drm/xe: Drop some unnecessary header includes
> 
> Matthew Auld (94):
>       drm/xe/pcode: fix pcode error check
>       drm/xe/bo: reduce xe_bo_create_pin_map() restrictions
>       drm/xe/ppgtt: clear the scratch page
>       drm/xe/ppgtt: fix scratch page usage on DG2
>       drm/xe/ggtt: fix alignment usage for DG2
>       drm/xe/ggtt: fix GGTT scratch usage for DG2
>       drm/xe/mmio: fix forcewake ref leak in xe_mmio_ioctl
>       drm/xe/stolen: don't map stolen on small-bar
>       drm/xe/query: zero the region info
>       drm/xe/pm: fix unbalanced ref handling
>       drm/xe: prefer xe_bo_create_pin_map()
>       drm/xe/bo: explicitly reject zero sized BO
>       drm/xe: s/lmem/vram/
>       drm/xe: one more s/lmem/vram/
>       drm/xe: add xe_ttm_stolen_cpu_access_needs_ggtt()
>       drm/xe/vram: start tracking the io_size
>       drm/xe/buddy: remove the virtualized start
>       drm/xe/buddy: add visible tracking
>       drm/xe/buddy: add compatible and intersects hooks
>       drm/xe/gt: some error handling fixes
>       drm/xe: add XE_BO_CREATE_VRAM_MASK
>       drm/xe/bo: refactor try_add_vram
>       drm/xe: fix suspend-resume for dgfx
>       drm/xe/mmio: stop incorrectly triggering drm_warn
>       drm/xe/tlb: fix expected_seqno calculation
>       drm/xe/sched_job: prefer dma_fence_is_later
>       drm/xe/lrc: give start_seqno a better default
>       drm/xe: fix tlb_invalidation_seqno_past()
>       drm/xe: fix kernel-doc issues
>       drm/xe/bo: further limit where CCS pages are needed
>       drm/xe/migrate: retain CCS aux state for vram -> vram
>       drm/xe: don't allocate under ct->lock
>       drm/xe: keep pulling mem_access_get further back
>       drm/xe/vm: fix double list add
>       drm/xe/bo: handle PL_TT -> PL_TT
>       drm/xe/uapi: restrict system wide accounting
>       drm/xe/uapi: add some kernel-doc for region query
>       drm/xe/uapi: silence kernel-doc errors
>       drm/doc: include xe_drm.h
>       drm/xe/bo: consider bo->flags in xe_bo_migrate()
>       drm/xe/tlb: drop unnecessary smp_wmb()
>       drm/xe/tlb: ensure we access seqno_recv once
>       drm/xe: hold mem_access.ref for CT fast-path
>       drm/xe/ct: hold fast_lock when reserving space for g2h
>       drm/xe/tlb: increment next seqno after successful CT send
>       drm/xe/ct: serialise fast_lock during CT disable
>       drm/xe/gt: tweak placement for signalling TLB fences after GT reset
>       drm/xe/tlb: also update seqno_recv during reset
>       drm/xe/tlb: print seqno_recv on fence TLB timeout
>       drm/xe/ct: update g2h outstanding for CTB capture
>       drm/xe: handle TLB invalidations from CT fast-path
>       drm/xe/mmio: update gt_count when probing multi-tile
>       drm/xe: fix xe_device_mem_access_get() races
>       drm/xe/vm: tidy up xe_runtime_pm usage
>       drm/xe/debugfs: grab mem_access around forcewake
>       drm/xe/guc_pc: add missing mem_access for freq_rpe_show
>       drm/xe/mmio: grab mem_access in xe_mmio_ioctl
>       drm/xe: ensure correct access_put ordering
>       drm/xe: drop xe_device_mem_access_get() from guc_ct_send
>       drm/xe/ggtt: prime ggtt->lock against FS_RECLAIM
>       drm/xe: drop xe_device_mem_access_get() from invalidation_vma
>       drm/xe: add lockdep annotation for xe_device_mem_access_get()
>       drm/xe/selftests: hold rpm for evict_test_run_device()
>       drm/xe/selftests: hold rpm for ccs_test_migrate()
>       drm/xe/selftests: restart GT after xe_bo_restore_kernel()
>       drm/xe: add missing bulk_move reset
>       drm/xe: add lockdep annotation for xe_device_mem_access_put()
>       drm/xe/bo: support tiered vram allocation for small-bar
>       drm/xe/uapi: add the userspace bits for small-bar
>       drm/xe: fully turn on small-bar support
>       drm/xe/engine: add missing rpm for bind engines
>       drm/xe/guc_submit: prevent repeated unregister
>       drm/xe: don't warn for bogus pagefaults
>       drm/xe/guc_submit: fixup deregister in job timeout
>       drm/xe: skip rebind_list if vma destroyed
>       drm/xe/ct: fix resv_space print
>       drm/xe: nuke GuC on unload
>       drm/xe: fix has_llc on rkl
>       drm/xe/selftests: consider multi-GT for eviction test
>       drm/xe/selftests: make eviction test tile centric
>       drm/xe/hwmon: fix uaf on unload
>       drm/xe/pat: trim the xelp PAT table
>       drm/xe: directly use pat_index for pte_encode
>       drm/xe: fix pat[2] programming with 2M/1G pages
>       drm/xe/migrate: fix MI_ARB_ON_OFF usage
>       drm/xe/bo: consider dma-resv fences for clear job
>       drm/xe/bo: sync kernel fences for KMD buffers
>       drm/xe/display: ensure clear-color surfaces are cpu mappable
>       drm/xe/bo: don't hold dma-resv lock over drm_gem_handle_create
>       drm/xe: fix mem_access for early lrc generation
>       drm/xe/pat: annotate pat_index with coherency mode
>       drm/xe/uapi: support pat_index selection with vm_bind
>       drm/xe/mocs: update MOCS table for xe2
>       drm/xe: add some debug info for d3cold
> 
> Matthew Brost (90):
>       drm/xe: Introduce a new DRM driver for Intel GPUs
>       drm/xe: Take memory ref on kernel job creation
>       drm/xe: Ensure VMA not userptr before calling xe_bo_is_stolen
>       drm/xe: Fake pulling gt->info.engine_mask from hwconfig blob
>       drm/xe/guc: Report submission version of GuC firmware
>       drm/xe/guc: s/xe_guc_send_mmio/xe_guc_mmio_send
>       drm/xe/guc: Add support GuC MMIO send / recv
>       drm/xe/migrate: Update emit_pte to cope with a size level than 4k
>       drm/xe: Don't process TLB invalidation done in CT fast-path
>       drm/xe: Break of TLB invalidation into its own file
>       drm/xe: Move TLB invalidation variable to own sub-structure in GT
>       drm/xe: Add TLB invalidation fence
>       drm/xe: Invalidate TLB after unbind is complete
>       drm/xe: Kernel doc GT TLB invalidations
>       drm/xe: Add TLB invalidation fence ftrace
>       drm/xe: Add TDR for invalidation fence timeout cleanup
>       drm/xe: Only set VM->asid for platforms that support a ASID
>       drm/xe: Delete debugfs entry to issue TLB invalidation
>       drm/xe: Add has_range_tlb_invalidation device attribute
>       drm/xe: Add range based TLB invalidations
>       drm/xe: Propagate error from bind operations to async fence
>       drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
>       drm/xe: Lock GGTT on when restoring kernel BOs
>       drm/xe: Propagate VM unbind error to invalidation fence
>       drm/xe: Signal invalidation fence immediately if CT send fails
>       drm/xe: Add has_asid to device info
>       drm/xe: Add TLB invalidation fence after rebinds issued from execs
>       drm/xe: Drop TLB invalidation from ring operations
>       drm/xe: Drop zero length arrays
>       drm/xe: Reinstate render / compute cache invalidation in ring ops
>       drm/xe: Use BO's GT to determine dma_offset when programming PTEs
>       drm/xe: Fix potential deadlock handling page faults
>       drm/xe: Decrement fault mode counts in xe_vm_close_and_put
>       drm/xe: Better error messages for xe_gt_record_default_lrcs
>       drm/xe: Always write GEN12_RCU_MODE.GEN12_RCU_MODE_CCS_ENABLE for CCS engines
>       drm/xe: Don't grab runtime PM ref in engine create IOCTL
>       drm/xe: Allow compute VMs to output dma-fences on binds
>       drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
>       drm/xe/guc: Read HXG fields from DW1 of G2H response
>       drm/xe: Handle unmapped userptr in analyze VM
>       drm/xe: Use Xe ordered workqueue for rebind worker
>       drm/xe: s/XE_PTE_READ_ONLY/XE_PTE_FLAG_READ_ONLY
>       drm/xe: Move XE_PTE_FLAG_READ_ONLY to xe_vm_types.h
>       drm/xe: NULL binding implementation
>       drm/xe: Long running job update
>       drm/xe: Ensure LR engines are not persistent
>       drm/xe: Only try to lock external BOs in VM bind
>       drm/xe: VM LRU bulk move
>       drm/xe: Use internal VM flags in xe_vm_create
>       drm/xe: Ban a VM if rebind worker hits an error
>       drm/xe: Add helpers to hide struct xe_vma internals
>       drm/xe: Remove __xe_vm_bind forward declaration
>       drm/xe: Port Xe to GPUVA
>       drm/xe: Make bind engines safe
>       drm/xe: Remove xe_vma_op_unmap
>       drm/xe: Avoid doing rebinds
>       drm/xe: Reduce the number list links in xe_vma
>       drm/xe: Replace list_del_init with list_del for userptr.invalidate_link cleanup
>       drm/xe: Change tile masks from u64 to u8
>       drm/xe: Combine destroy_cb and destroy_work in xe_vma into union
>       drm/xe: Only alloc userptr part of xe_vma for userptrs
>       drm/xe: Use migrate engine for page fault binds
>       drm/xe: Always use xe_vm_queue_rebind_worker helper
>       drm/xe: Signal out-syncs on VM binds if no operations
>       drm/xe: Remove XE_GUC_CT_SELFTEST
>       drm/xe: Remove ct->fence_context
>       drm/xe: Add define WQ_HEADER_SIZE
>       drm/xe: remove header variable from parse_g2h_msg
>       drm/xe: Set max pte size when skipping rebinds
>       drm/xe: Call __guc_exec_queue_fini_async direct for KERNEL exec_queues
>       drm/xe: Convert xe_vma_op_flags to BIT macros
>       drm/xe: Fixup unwind on VM ops errors
>       drm/gpuva: Add drm_gpuva_for_each_op_reverse
>       drm/xe: Fix array of binds
>       drm/xe: Fix fence reservation accouting
>       drm/xe: Fix exec queue usage for unbinds
>       drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
>       drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation
>       drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue
>       drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
>       drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
>       drm/xe: Remove async worker and rework sync binds
>       drm/xe: Fix VM bind out-sync signaling ordering
>       drm/xe: Adjust tile_present mask when skipping rebinds
>       drm/xe: Use pool of ordered wq for GuC submission
>       drm/xe: Only set xe_vma_op.map fields for GPUVA map operations
>       drm/xe: Use a flags field instead of bools for VMA create
>       drm/xe: Use a flags field instead of bools for sync parse
>       drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs
>       drm/xe/uapi: Remove sync binds
> 
> Mauro Carvalho Chehab (5):
>       drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs
>       drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION
>       drm/xe: skip Kunit tests requiring real hardware when running on UML
>       drm/xe/xe_uc_fw: Use firmware files from standard locations
>       drm/xe/uapi: Reject bo creation of unaligned size
> 
> Michael J. Ruhl (5):
>       drm/xe: Rework size helper to be a little more correct
>       drm/xe: Simplify rebar sizing
>       drm/xe: Size GT device memory correctly
>       drm/xe: Rename GPU offset helper to reflect true usage
>       drm/xe: REBAR resize should be best effort
> 
> Michal Wajdeczko (23):
>       drm/xe: Introduce GT oriented log messages
>       drm/xe: Use GT oriented log messages in xe_gt.c
>       drm/xe: Move Media GuC register definition to regs/
>       drm/xe: Change GuC interrupt data
>       drm/xe: Introduce Xe assert macros
>       drm/xe/guc: Promote guc_to_gt/xe helpers to .h
>       drm/xe/guc: Fix wrong assert about full_len
>       drm/xe/guc: Copy response data from proper registers
>       drm/xe/guc: Fix handling of GUC_HXG_TYPE_NO_RESPONSE_BUSY
>       drm/xe/guc: Use valid scratch register for posting read
>       drm/xe: Add device flag to indicate SR-IOV support
>       drm/xe: Prepare for running in different SR-IOV modes
>       drm/xe: Print virtualization mode during probe
>       drm/xe/kunit: Return number of iterated devices
>       drm/xe/guc: Drop ancient GuC CTB definitions
>       drm/xe/guc: Remove obsolete GuC CTB documentation
>       drm/xe/guc: Include only required GuC ABI headers
>       drm/xe/doc: Include documentation about xe_assert()
>       drm/xe: Define DRM_XE_DEBUG_SRIOV config
>       drm/xe: Introduce SR-IOV logging macros
>       drm/xe/pf: Introduce Local Memory Translation Table
>       drm/xe/kunit: Enable CONFIG_PCI_IOV in .kunitconfig
>       drm/xe/kunit: Add test for LMTT operations
> 
> Michał Winiarski (21):
>       drm/xe: Fix uninitialized variables
>       drm/xe: Fix check for platform without geometry pipeline
>       drm/xe: Fix header guard warning
>       drm/xe: Skip calling drm_dev_put on probe error
>       drm/xe: Use managed pci_enable_device
>       drm/xe/irq: Don't call pci_free_irq_vectors
>       drm/xe: Move xe_set_dma_info outside of MMIO setup
>       drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
>       drm/xe: Split xe_info_init
>       drm/xe: Introduce xe_tile_init_early and use at earlier point in probe
>       drm/xe: Map the entire BAR0 and hold onto the initial mapping
>       drm/xe/device: Introduce xe_device_probe_early
>       drm/xe: Don't "peek" into GMD_ID
>       drm/xe: Move system memory management init to earlier point in probe
>       drm/xe: Move force_wake init to earlier point in probe
>       drm/xe: Reorder GGTT init to earlier point in probe
>       drm/xe: Add a helper for DRM device-lifetime BO create
>       drm/xe/uc: Split xe_uc_fw_init
>       drm/xe/uc: Store firmware binary in system-memory backed BO
>       drm/xe/uc: Extract xe_uc_sanitize_reset
>       drm/xe/guc: Split GuC params used for "hwconfig" and "post-hwconfig"
> 
> Mika Kuoppala (4):
>       drm/xe: destroy clients engine and vm xarrays on close
>       drm/xe: Fix unreffed ptr leak on engine lookup
>       drm/xe: Extend drm_xe_vm_bind_op
>       drm/xe/vm: Avoid asid lookup if none allocated
> 
> Niranjana Vishwanathapura (16):
>       drm/xe/migrate: Fix number of PT structs in docbook
>       drm/xe/tests: Use proper batch base address
>       drm/xe/tests: Set correct expectation
>       drm/xe: Use proper vram offset
>       drm/xe: Fix memory use after free
>       drm/xe: Handle -EDEADLK case in preempt worker
>       drm/xe: Handle -EDEADLK case in exec ioctl
>       drm/xe: Apply upper limit to sg element size
>       drm/xe: Simplify engine class sched_props setting
>       drm/xe: Add CONFIG_DRM_XE_PREEMPT_TIMEOUT
>       drm/xe/pvc: Blacklist BCS_SWCTRL register
>       drm/xe/pvc: Force even num engines to use 64B
>       drm/xe/pvc: Use fast copy engines as migrate engine on PVC
>       drm/xe: Enable Fixed CCS mode setting
>       drm/xe: Allow userspace to configure CCS mode
>       drm/xe: Avoid any races around ccs_mode update
> 
> Nirmoy Das (3):
>       drm/xe/stolen: Exclude reserved lmem portion
>       drm/xe: Do not sleep in atomic
>       drm/xe: Print GT info on TLB inv failure
> 
> Oak Zeng (3):
>       drm/xe: Implement HW workaround 14016763929
>       drm/xe: Make xe_mem_region struct
>       drm/xe: Improve vram info debug printing
> 
> Ohad Sharabi (1):
>       drm/xe: do not register to PM if GuC is disabled
> 
> Pallavi Mishra (5):
>       drm/xe: Prevent return with locked vm
>       drm/xe: Align size to PAGE_SIZE
>       drm/xe: Dump CTB during TLB timeout
>       drm/xe/tests: Fix migrate test
>       drm/xe/uapi: Add support for CPU caching mode
> 
> Paulo Zanoni (5):
>       drm/xe: fix bounds checking for 'len' in xe_engine_create_ioctl
>       drm/xe: properly check bounds for xe_wait_user_fence_ioctl()
>       drm/xe/vm: print the correct 'keep' when printing gpuva ops
>       drm/xe/vm: use list_last_entry() to fetch last_op
>       drm/xe: fix range printing for debug messages
> 
> Philippe Lecluse (4):
>       drm/xe: enforce GSMBASE for DG1 instead of BAR2
>       drm/xe: fix xe_mmio_total_vram_size
>       drm/xe: Fix Meteor Lake rsa issue on guc loading
>       drm/xe/mocs: add MTL mocs
> 
> Priyanka Dandamudi (1):
>       drm/xe/xe_exec_queue: Add check for access counter granularity
> 
> Riana Tauro (5):
>       drm/xe: Fix overflow in vram manager
>       drm/xe/guc_pc: Reorder forcewake and xe_pm_runtime calls
>       drm/xe: Fix GT looping for standalone media
>       drm/xe: add a new sysfs directory for gtidle properties
>       drm/xe: remove gucrc disable from suspend path
> 
> Rodrigo Vivi (65):
>       drm/xe: Implement a local xe_mmio_wait32
>       drm/xe: Stop using i915's range_overflows_t macro.
>       drm/xe: Let's return last value read on xe_mmio_wait32.
>       drm/xe: Convert guc_ready to regular xe_mmio_wait32
>       drm/xe: Wait for success on guc done.
>       drm/xe: Remove i915_utils dependency from xe_guc_pc.
>       drm/xe: Stop using i915_utils in xe_wopcm.
>       drm/xe: Let's avoid i915_utils in the xe_force_wake.
>       drm/xe: Convert xe_mmio_wait32 to us so we can stop using wait_for_us.
>       drm/xe: Remove i915_utils dependency from xe_pcode.
>       drm/xe/guc_pc: Fix Meteor Lake registers.
>       drm/xe: Remove unseless xe_force_wake_prune.
>       drm/xe: Update comment on why d3cold is still blocked.
>       drm/xe: Fix print of RING_EXECLIST_SQ_CONTENTS_HI
>       drm/xe: Introduce the dev_coredump infrastructure.
>       drm/xe: Do not take any action if our device was removed.
>       drm/xe: Extract non mapped regions out of GuC CTB into its own struct.
>       drm/xe: Convert GuC CT print to snapshot capture and print.
>       drm/xe: Add GuC CT snapshot to xe_devcoredump.
>       drm/xe: Introduce guc_submit_types.h with relevant structs.
>       drm/xe: Convert GuC Engine print to snapshot capture and print.
>       drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
>       drm/xe: Convert Xe HW Engine print to snapshot capture and print.
>       drm/xe: Add HW Engine snapshot to xe_devcoredump.
>       drm/xe: Limit CONFIG_DRM_XE_SIMPLE_ERROR_CAPTURE to itself.
>       drm/xe/uapi: Remove XE_QUERY_CONFIG_FLAGS_USE_GUC
>       drm/xe: Invert guc vs execlists parameters and info.
>       drm/xe: Fix an invalid locking wait context bug
>       drm/xe: Invert mask and val in xe_mmio_wait32.
>       drm/xe: Only set PCI d3cold_allowed when we are really allowing.
>       drm/xe: Move d3cold_allowed decision all together.
>       drm/xe: Fix the runtime_idle call and d3cold.allowed decision.
>       drm/xe: Only init runtime PM after all d3cold config is in place.
>       drm/xe: Ensure memory eviction on s2idle.
>       drm/xe/uapi: Typo lingo and other small backwards compatible fixes
>       drm/xe/uapi: Remove useless max_page_size
>       drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
>       drm/xe/uapi: Document drm_xe_query_gt
>       drm/xe/uapi: Replace useless 'instance' per unique gt_id
>       drm/xe/uapi: Remove unused field of drm_xe_query_gt
>       drm/xe/uapi: Rename gts to gt_list
>       drm/xe/uapi: Remove GT_TYPE_REMOTE
>       drm/xe/uapi: Kill VM_MADVISE IOCTL
>       drm/xe/uapi: Rename *_mem_regions masks
>       drm/xe/uapi: Rename query's mem_usage to mem_regions
>       drm/xe/uapi: Standardize the FLAG naming and assignment
>       drm/xe/uapi: Differentiate WAIT_OP from WAIT_MASK
>       drm/xe/uapi: Be more specific about the vm_bind prefetch region
>       drm/xe/uapi: Separate bo_create placement from flags
>       drm/xe/uapi: Split xe_sync types from flags
>       drm/xe/uapi: Kill tile_mask
>       drm/xe/uapi: Crystal Reference Clock updates
>       drm/xe/uapi: Add Tile ID information to the GT info query
>       drm/xe/uapi: Fix various struct padding for 64b alignment
>       drm/xe/uapi: Move xe_exec after xe_exec_queue
>       drm/xe: Remove unused extension definition
>       drm/xe/uapi: Kill exec_queue_set_property
>       drm/xe: Create a xe_gt_freq component for raw management and sysfs
>       drm/xe: Remove vram size info from sysfs
>       drm/xe/uapi: Ensure every uapi struct has drm_xe prefix
>       drm/xe/uapi: Order sections
>       drm/xe/uapi: More uAPI documentation additions and cosmetic updates
>       drm/xe/uapi: Document the memory_region bitmask
>       drm/xe/uapi: Remove reset uevent for now
>       MAINTAINERS: Updates to Intel DRM
> 
> Ruthuvikas Ravikumar (1):
>       drm/xe: Add mocs kunit
> 
> Shekhar Chauhan (6):
>       drm/xe/dg2: Remove Wa_15010599737
>       drm/xe: Add Wa_18028616096
>       drm/xe: Add new DG2 PCI IDs
>       drm/xe/dg2: Remove one PCI ID
>       drm/xe: Add performance tuning settings for MTL and Xe2
>       drm/xe/xelpmp: Extend Wa_22016670082 to Xe_LPM+
> 
> Sujaritha Sundaresan (2):
>       drm/xe: Change the name of frequency sysfs attributes
>       drm/xe: Add frequency throttle reasons sysfs attributes
> 
> Suraj Kandpal (1):
>       drm/xe/hdcp: Define intel_hdcp_gsc_check_status in Xe
> 
> Tejas Upadhyay (26):
>       drm/xe: Add sysfs entry for tile
>       drm/xe: Add GTs under respective tile sysfs
>       drm/xe: Add sysfs entry to report per tile memory size
>       drm/xe: Make usable size of VRAM readable
>       drm/xe: make GT sysfs init return void
>       drm/xe: make kobject type struct as constant
>       drm/xe: Add sysfs entries for engines under its GT
>       drm/xe: Add sysfs for default engine scheduler properties
>       drm/xe: Add job timeout engine property to sysfs
>       drm/xe: Add timeslice duration engine property to sysfs
>       drm/xe: Add sysfs for preempt reset timeout
>       drm/xe: Add min/max cap for engine scheduler properties
>       drm/xe: Add drm-client infrastructure
>       drm/xe: Interface xe drm client with fdinfo interface
>       drm/xe: Add tracking support for bos per client
>       drm/xe: Record each drm client with its VM
>       drm/xe: Track page table memory usage for client
>       drm/xe: Account ring buffer and context state storage
>       drm/xe: Implement fdinfo memory stats printing
>       drm/xe/xe2: Add workaround 14017421178
>       drm/xe/xe2: Add workaround 16021867713
>       drm/xe/xe2: Add workaround 14019449301
>       drm/xe/xe2: Add workaround 14020013138
>       drm/xe/xe2: Add workaround 16020292621
>       drm/xe/xe2: Add workaround 14019988906
>       drm/xe/xe2: Add workaround 18032095049 and 16021639441
> 
> Thomas Hellström (41):
>       drm/xe/migrate: Add kerneldoc for the migrate subsystem
>       drm/xe/tests: Remove CONFIG_FB dependency
>       drm/xe/tests: Grab a memory access reference around the migrate sanity test
>       drm/xe/vm: Use the correct vma destroy sequence on userptr failure
>       drm/xe: Use a define to set initial seqno for fences
>       drm/xe/migrate: Update cpu page-table updates
>       drm/xe/tests: Support CPU page-table updates in the migrate test
>       drm/xe: Introduce xe_engine_is_idle()
>       drm/xe: Use a small negative initial seqno
>       drm/xe/tests: Test both CPU- and GPU page-table updates with the migrate test
>       drm/xe/vm: Defer vm rebind until next exec if nothing to execute
>       drm/xe: Fix the migrate selftest for integrated GPUs
>       drm/xe: Support copying of data between system memory bos
>       drm/xe: Invalidate TLB also on bind if in scratch page mode
>       drm/xe: Emit a render cache flush after each rcs/ccs batch
>       drm/xe/bo: Fix swapin when moving to VRAM
>       drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
>       drm/xe/bo: Gracefully handle errors from ttm_bo_move_accel_cleanup().
>       drm/xe/bo: Evict VRAM to TT rather than to system
>       drm/xe: Fix vm refcount races
>       drm/xe: Make page-table updates using the default engine happen in order
>       drm/xe: Introduce a range-fence utility
>       drm/xe/bo: Simplify xe_bo_lock()
>       drm/xe/vm: Simplify and document xe_vm_lock()
>       drm/xe/bo: Remove the lock_no_vm()/unlock_no_vm() interface
>       drm/xe: Rework xe_exec and the VM rebind worker to use the drm_exec helper
>       drm/xe: Convert pagefaulting code to use drm_exec
>       drm/xe: Convert remaining instances of ttm_eu_reserve_buffers to drm_exec
>       drm/xe: Reinstate pipelined fence enable_signaling
>       drm/xe: Disallow pinning dma-bufs in VRAM
>       drm/xe: Update SPDX deprecated license identifier
>       drm/xe: Ensure that we don't access the placements array out-of-bounds
>       drm/xe/bo: Rename xe_bo_get_sg() to xe_bo_sg()
>       drm/xe/bo: Remove leftover trace_printk()
>       drm/xe/vm: Fix ASID XA usage
>       drm/xe: Internally change the compute_mode and no_dma_fence mode naming
>       drm/xe/uapi: Use LR abbrev for long-running vms
>       drm/xe: Restrict huge PTEs to 1GiB
>       drm/xe: Use NULL PTEs as scratch PTEs
>       drm/xe: Use DRM GPUVM helpers for external- and evicted objects
>       drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm
> 
> Uma Shankar (1):
>       drm/xe/display: Create a dummy version for vga decode
> 
> Umesh Nerlige Ramappa (3):
>       drm/xe: Fix array bounds check for queries
>       drm/xe: Set the correct type for xe_to_user_engine_class
>       drm/xe: Correlate engine and cpu timestamps with better accuracy
> 
> Vinay Belgaumkar (5):
>       drm/xe: Raise GT frequency before GuC/HuC load
>       drm/xe: Rename xe_gt_idle_sysfs to xe_gt_idle
>       drm/xe: Add skip_guc_pc flag
>       drm/xe: Manually setup C6 when skip_guc_pc is set
>       drm/xe: Check skip_guc_pc before disabling gucrc
> 
> Vitaly Lubart (3):
>       drm/xe/gsc: add HECI2 register offsets
>       drm/xe/gsc: add has_heci_gscfi indication to device
>       drm/xe/gsc: add gsc device support
> 
> Zbigniew Kempczyński (1):
>       drm/xe: Use nanoseconds instead of jiffies in uapi for user fence
> 
> Zhanjun Dong (1):
>       drm/xe: Add patch version on guc firmware init
> 
>  .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   70 +
>  Documentation/gpu/driver-uapi.rst                  |    5 +
>  Documentation/gpu/drivers.rst                      |    1 +
>  Documentation/gpu/xe/index.rst                     |   25 +
>  Documentation/gpu/xe/xe_cs.rst                     |    8 +
>  Documentation/gpu/xe/xe_debugging.rst              |    7 +
>  Documentation/gpu/xe/xe_firmware.rst               |   37 +
>  Documentation/gpu/xe/xe_gt_mcr.rst                 |   13 +
>  Documentation/gpu/xe/xe_map.rst                    |    8 +
>  Documentation/gpu/xe/xe_migrate.rst                |    8 +
>  Documentation/gpu/xe/xe_mm.rst                     |   14 +
>  Documentation/gpu/xe/xe_pcode.rst                  |   14 +
>  Documentation/gpu/xe/xe_pm.rst                     |   14 +
>  Documentation/gpu/xe/xe_rtp.rst                    |   20 +
>  Documentation/gpu/xe/xe_tile.rst                   |   14 +
>  Documentation/gpu/xe/xe_wa.rst                     |   14 +
>  MAINTAINERS                                        |   29 +-
>  drivers/gpu/drm/Kconfig                            |    2 +
>  drivers/gpu/drm/Makefile                           |    1 +
>  drivers/gpu/drm/xe/.gitignore                      |    4 +
>  drivers/gpu/drm/xe/.kunitconfig                    |   13 +
>  drivers/gpu/drm/xe/Kconfig                         |   96 +
>  drivers/gpu/drm/xe/Kconfig.debug                   |  107 +
>  drivers/gpu/drm/xe/Kconfig.profile                 |   54 +
>  drivers/gpu/drm/xe/Makefile                        |  305 ++
>  drivers/gpu/drm/xe/abi/gsc_command_header_abi.h    |   46 +
>  drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h     |   39 +
>  drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h      |   59 +
>  drivers/gpu/drm/xe/abi/guc_actions_abi.h           |  219 ++
>  drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h      |  249 ++
>  drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |  127 +
>  .../gpu/drm/xe/abi/guc_communication_mmio_abi.h    |   49 +
>  drivers/gpu/drm/xe/abi/guc_errors_abi.h            |   37 +
>  drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  322 ++
>  drivers/gpu/drm/xe/abi/guc_messages_abi.h          |  234 ++
>  .../drm/xe/compat-i915-headers/gem/i915_gem_lmem.h |    1 +
>  .../drm/xe/compat-i915-headers/gem/i915_gem_mman.h |   17 +
>  .../xe/compat-i915-headers/gem/i915_gem_object.h   |   65 +
>  .../gem/i915_gem_object_frontbuffer.h              |   12 +
>  .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h  |   11 +
>  .../gpu/drm/xe/compat-i915-headers/i915_active.h   |   22 +
>  .../drm/xe/compat-i915-headers/i915_active_types.h |   13 +
>  .../gpu/drm/xe/compat-i915-headers/i915_config.h   |   19 +
>  .../gpu/drm/xe/compat-i915-headers/i915_debugfs.h  |   14 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  233 ++
>  .../gpu/drm/xe/compat-i915-headers/i915_fixed.h    |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h  |    9 +
>  .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   79 +
>  .../drm/xe/compat-i915-headers/i915_gpu_error.h    |   17 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h  |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h  |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_reg_defs.h |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_trace.h    |    6 +
>  .../gpu/drm/xe/compat-i915-headers/i915_utils.h    |    6 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h |   44 +
>  drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h  |   34 +
>  .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 +
>  .../xe/compat-i915-headers/intel_clock_gating.h    |    6 +
>  .../drm/xe/compat-i915-headers/intel_gt_types.h    |   11 +
>  .../drm/xe/compat-i915-headers/intel_mchbar_regs.h |    6 +
>  .../drm/xe/compat-i915-headers/intel_pci_config.h  |    6 +
>  .../gpu/drm/xe/compat-i915-headers/intel_pcode.h   |   42 +
>  .../drm/xe/compat-i915-headers/intel_runtime_pm.h  |   16 +
>  .../gpu/drm/xe/compat-i915-headers/intel_step.h    |   20 +
>  .../gpu/drm/xe/compat-i915-headers/intel_uc_fw.h   |   11 +
>  .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |  175 ++
>  .../gpu/drm/xe/compat-i915-headers/intel_wakeref.h |    8 +
>  .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |   28 +
>  .../drm/xe/compat-i915-headers/soc/intel_dram.h    |    6 +
>  .../drm/xe/compat-i915-headers/soc/intel_gmch.h    |    6 +
>  .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h |    6 +
>  .../gpu/drm/xe/compat-i915-headers/vlv_sideband.h  |  132 +
>  .../drm/xe/compat-i915-headers/vlv_sideband_reg.h  |    6 +
>  drivers/gpu/drm/xe/display/ext/i915_irq.c          |   77 +
>  drivers/gpu/drm/xe/display/ext/i915_utils.c        |   26 +
>  drivers/gpu/drm/xe/display/intel_fb_bo.c           |   74 +
>  drivers/gpu/drm/xe/display/intel_fb_bo.h           |   24 +
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |  104 +
>  drivers/gpu/drm/xe/display/intel_fbdev_fb.h        |   21 +
>  drivers/gpu/drm/xe/display/xe_display_misc.c       |   16 +
>  drivers/gpu/drm/xe/display/xe_display_rps.c        |   17 +
>  drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |   71 +
>  drivers/gpu/drm/xe/display/xe_fb_pin.c             |  384 +++
>  drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   34 +
>  drivers/gpu/drm/xe/display/xe_plane_initial.c      |  291 ++
>  .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |  160 +
>  drivers/gpu/drm/xe/instructions/xe_gsc_commands.h  |   36 +
>  drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |   33 +
>  drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   61 +
>  drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  184 ++
>  drivers/gpu/drm/xe/regs/xe_gpu_commands.h          |   70 +
>  drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |   41 +
>  drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  478 +++
>  drivers/gpu/drm/xe/regs/xe_guc_regs.h              |  143 +
>  drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   17 +
>  drivers/gpu/drm/xe/regs/xe_mchbar_regs.h           |   44 +
>  drivers/gpu/drm/xe/regs/xe_reg_defs.h              |  120 +
>  drivers/gpu/drm/xe/regs/xe_regs.h                  |   68 +
>  drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   17 +
>  drivers/gpu/drm/xe/tests/Makefile                  |   10 +
>  drivers/gpu/drm/xe/tests/xe_bo.c                   |  353 +++
>  drivers/gpu/drm/xe/tests/xe_bo_test.c              |   26 +
>  drivers/gpu/drm/xe/tests/xe_bo_test.h              |   14 +
>  drivers/gpu/drm/xe/tests/xe_dma_buf.c              |  278 ++
>  drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |   25 +
>  drivers/gpu/drm/xe/tests/xe_dma_buf_test.h         |   13 +
>  drivers/gpu/drm/xe/tests/xe_lmtt_test.c            |   73 +
>  drivers/gpu/drm/xe/tests/xe_migrate.c              |  444 +++
>  drivers/gpu/drm/xe/tests/xe_migrate_test.c         |   25 +
>  drivers/gpu/drm/xe/tests/xe_migrate_test.h         |   13 +
>  drivers/gpu/drm/xe/tests/xe_mocs.c                 |  130 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   24 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   13 +
>  drivers/gpu/drm/xe/tests/xe_pci.c                  |  166 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.c             |   71 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.h             |   36 +
>  drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  319 ++
>  drivers/gpu/drm/xe/tests/xe_test.h                 |   67 +
>  drivers/gpu/drm/xe/tests/xe_wa_test.c              |  170 ++
>  drivers/gpu/drm/xe/xe_assert.h                     |  174 ++
>  drivers/gpu/drm/xe/xe_bb.c                         |  110 +
>  drivers/gpu/drm/xe/xe_bb.h                         |   25 +
>  drivers/gpu/drm/xe/xe_bb_types.h                   |   20 +
>  drivers/gpu/drm/xe/xe_bo.c                         | 2269 ++++++++++++++
>  drivers/gpu/drm/xe/xe_bo.h                         |  355 +++
>  drivers/gpu/drm/xe/xe_bo_doc.h                     |  179 ++
>  drivers/gpu/drm/xe/xe_bo_evict.c                   |  228 ++
>  drivers/gpu/drm/xe/xe_bo_evict.h                   |   15 +
>  drivers/gpu/drm/xe/xe_bo_types.h                   |   96 +
>  drivers/gpu/drm/xe/xe_debugfs.c                    |  148 +
>  drivers/gpu/drm/xe/xe_debugfs.h                    |   13 +
>  drivers/gpu/drm/xe/xe_devcoredump.c                |  196 ++
>  drivers/gpu/drm/xe/xe_devcoredump.h                |   20 +
>  drivers/gpu/drm/xe/xe_devcoredump_types.h          |   55 +
>  drivers/gpu/drm/xe/xe_device.c                     |  700 +++++
>  drivers/gpu/drm/xe/xe_device.h                     |  173 ++
>  drivers/gpu/drm/xe/xe_device_sysfs.c               |   89 +
>  drivers/gpu/drm/xe/xe_device_sysfs.h               |   13 +
>  drivers/gpu/drm/xe/xe_device_types.h               |  545 ++++
>  drivers/gpu/drm/xe/xe_display.c                    |  422 +++
>  drivers/gpu/drm/xe/xe_display.h                    |   72 +
>  drivers/gpu/drm/xe/xe_dma_buf.c                    |  322 ++
>  drivers/gpu/drm/xe/xe_dma_buf.h                    |   15 +
>  drivers/gpu/drm/xe/xe_drm_client.c                 |  204 ++
>  drivers/gpu/drm/xe/xe_drm_client.h                 |   70 +
>  drivers/gpu/drm/xe/xe_drv.h                        |   23 +
>  drivers/gpu/drm/xe/xe_exec.c                       |  350 +++
>  drivers/gpu/drm/xe/xe_exec.h                       |   14 +
>  drivers/gpu/drm/xe/xe_exec_queue.c                 |  956 ++++++
>  drivers/gpu/drm/xe/xe_exec_queue.h                 |   69 +
>  drivers/gpu/drm/xe/xe_exec_queue_types.h           |  222 ++
>  drivers/gpu/drm/xe/xe_execlist.c                   |  474 +++
>  drivers/gpu/drm/xe/xe_execlist.h                   |   21 +
>  drivers/gpu/drm/xe/xe_execlist_types.h             |   49 +
>  drivers/gpu/drm/xe/xe_force_wake.c                 |  199 ++
>  drivers/gpu/drm/xe/xe_force_wake.h                 |   38 +
>  drivers/gpu/drm/xe/xe_force_wake_types.h           |   86 +
>  drivers/gpu/drm/xe/xe_gen_wa_oob.c                 |  165 +
>  drivers/gpu/drm/xe/xe_ggtt.c                       |  428 +++
>  drivers/gpu/drm/xe/xe_ggtt.h                       |   33 +
>  drivers/gpu/drm/xe/xe_ggtt_types.h                 |   39 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler.c              |  101 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler.h              |   73 +
>  drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   57 +
>  drivers/gpu/drm/xe/xe_gsc.c                        |  438 +++
>  drivers/gpu/drm/xe/xe_gsc.h                        |   20 +
>  drivers/gpu/drm/xe/xe_gsc_submit.c                 |  184 ++
>  drivers/gpu/drm/xe/xe_gsc_submit.h                 |   30 +
>  drivers/gpu/drm/xe/xe_gsc_types.h                  |   39 +
>  drivers/gpu/drm/xe/xe_gt.c                         |  778 +++++
>  drivers/gpu/drm/xe/xe_gt.h                         |   72 +
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  191 ++
>  drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |   24 +
>  drivers/gpu/drm/xe/xe_gt_clock.c                   |   85 +
>  drivers/gpu/drm/xe/xe_gt_clock.h                   |   15 +
>  drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  249 ++
>  drivers/gpu/drm/xe/xe_gt_debugfs.h                 |   13 +
>  drivers/gpu/drm/xe/xe_gt_freq.c                    |  219 ++
>  drivers/gpu/drm/xe/xe_gt_freq.h                    |   13 +
>  drivers/gpu/drm/xe/xe_gt_idle.c                    |  192 ++
>  drivers/gpu/drm/xe/xe_gt_idle.h                    |   17 +
>  drivers/gpu/drm/xe/xe_gt_idle_types.h              |   38 +
>  drivers/gpu/drm/xe/xe_gt_mcr.c                     |  685 +++++
>  drivers/gpu/drm/xe/xe_gt_mcr.h                     |   29 +
>  drivers/gpu/drm/xe/xe_gt_pagefault.c               |  646 ++++
>  drivers/gpu/drm/xe/xe_gt_pagefault.h               |   19 +
>  drivers/gpu/drm/xe/xe_gt_printk.h                  |   46 +
>  drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   61 +
>  drivers/gpu/drm/xe/xe_gt_sysfs.h                   |   19 +
>  drivers/gpu/drm/xe/xe_gt_sysfs_types.h             |   26 +
>  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |  251 ++
>  drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |   16 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  406 +++
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   26 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h  |   28 +
>  drivers/gpu/drm/xe/xe_gt_topology.c                |  169 ++
>  drivers/gpu/drm/xe/xe_gt_topology.h                |   25 +
>  drivers/gpu/drm/xe/xe_gt_types.h                   |  363 +++
>  drivers/gpu/drm/xe/xe_guc.c                        |  911 ++++++
>  drivers/gpu/drm/xe/xe_guc.h                        |   72 +
>  drivers/gpu/drm/xe/xe_guc_ads.c                    |  672 ++++
>  drivers/gpu/drm/xe/xe_guc_ads.h                    |   17 +
>  drivers/gpu/drm/xe/xe_guc_ads_types.h              |   25 +
>  drivers/gpu/drm/xe/xe_guc_ct.c                     | 1320 ++++++++
>  drivers/gpu/drm/xe/xe_guc_ct.h                     |   59 +
>  drivers/gpu/drm/xe/xe_guc_ct_types.h               |  115 +
>  drivers/gpu/drm/xe/xe_guc_debugfs.c                |   74 +
>  drivers/gpu/drm/xe/xe_guc_debugfs.h                |   14 +
>  drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   54 +
>  drivers/gpu/drm/xe/xe_guc_fwif.h                   |  361 +++
>  drivers/gpu/drm/xe/xe_guc_hwconfig.c               |  104 +
>  drivers/gpu/drm/xe/xe_guc_hwconfig.h               |   17 +
>  drivers/gpu/drm/xe/xe_guc_log.c                    |   97 +
>  drivers/gpu/drm/xe/xe_guc_log.h                    |   48 +
>  drivers/gpu/drm/xe/xe_guc_log_types.h              |   23 +
>  drivers/gpu/drm/xe/xe_guc_pc.c                     | 1000 ++++++
>  drivers/gpu/drm/xe/xe_guc_pc.h                     |   31 +
>  drivers/gpu/drm/xe/xe_guc_pc_types.h               |   34 +
>  drivers/gpu/drm/xe/xe_guc_submit.c                 | 1990 ++++++++++++
>  drivers/gpu/drm/xe/xe_guc_submit.h                 |   38 +
>  drivers/gpu/drm/xe/xe_guc_submit_types.h           |  155 +
>  drivers/gpu/drm/xe/xe_guc_types.h                  |   81 +
>  drivers/gpu/drm/xe/xe_heci_gsc.c                   |  234 ++
>  drivers/gpu/drm/xe/xe_heci_gsc.h                   |   35 +
>  drivers/gpu/drm/xe/xe_huc.c                        |  307 ++
>  drivers/gpu/drm/xe/xe_huc.h                        |   26 +
>  drivers/gpu/drm/xe/xe_huc_debugfs.c                |   70 +
>  drivers/gpu/drm/xe/xe_huc_debugfs.h                |   14 +
>  drivers/gpu/drm/xe/xe_huc_types.h                  |   24 +
>  drivers/gpu/drm/xe/xe_hw_engine.c                  |  883 ++++++
>  drivers/gpu/drm/xe/xe_hw_engine.h                  |   70 +
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  675 +++++
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |   36 +
>  drivers/gpu/drm/xe/xe_hw_engine_types.h            |  225 ++
>  drivers/gpu/drm/xe/xe_hw_fence.c                   |  230 ++
>  drivers/gpu/drm/xe/xe_hw_fence.h                   |   30 +
>  drivers/gpu/drm/xe/xe_hw_fence_types.h             |   72 +
>  drivers/gpu/drm/xe/xe_hwmon.c                      |  776 +++++
>  drivers/gpu/drm/xe/xe_hwmon.h                      |   19 +
>  drivers/gpu/drm/xe/xe_irq.c                        |  666 ++++
>  drivers/gpu/drm/xe/xe_irq.h                        |   19 +
>  drivers/gpu/drm/xe/xe_lmtt.c                       |  506 +++
>  drivers/gpu/drm/xe/xe_lmtt.h                       |   27 +
>  drivers/gpu/drm/xe/xe_lmtt_2l.c                    |  150 +
>  drivers/gpu/drm/xe/xe_lmtt_ml.c                    |  161 +
>  drivers/gpu/drm/xe/xe_lmtt_types.h                 |   63 +
>  drivers/gpu/drm/xe/xe_lrc.c                        | 1272 ++++++++
>  drivers/gpu/drm/xe/xe_lrc.h                        |   58 +
>  drivers/gpu/drm/xe/xe_lrc_types.h                  |   46 +
>  drivers/gpu/drm/xe/xe_macros.h                     |   18 +
>  drivers/gpu/drm/xe/xe_map.h                        |   93 +
>  drivers/gpu/drm/xe/xe_migrate.c                    | 1410 +++++++++
>  drivers/gpu/drm/xe/xe_migrate.h                    |  110 +
>  drivers/gpu/drm/xe/xe_migrate_doc.h                |   88 +
>  drivers/gpu/drm/xe/xe_mmio.c                       |  524 ++++
>  drivers/gpu/drm/xe/xe_mmio.h                       |  107 +
>  drivers/gpu/drm/xe/xe_mocs.c                       |  580 ++++
>  drivers/gpu/drm/xe/xe_mocs.h                       |   17 +
>  drivers/gpu/drm/xe/xe_module.c                     |  101 +
>  drivers/gpu/drm/xe/xe_module.h                     |   26 +
>  drivers/gpu/drm/xe/xe_pat.c                        |  459 +++
>  drivers/gpu/drm/xe/xe_pat.h                        |   61 +
>  drivers/gpu/drm/xe/xe_pci.c                        |  951 ++++++
>  drivers/gpu/drm/xe/xe_pci.h                        |   12 +
>  drivers/gpu/drm/xe/xe_pci_types.h                  |   46 +
>  drivers/gpu/drm/xe/xe_pcode.c                      |  296 ++
>  drivers/gpu/drm/xe/xe_pcode.h                      |   30 +
>  drivers/gpu/drm/xe/xe_pcode_api.h                  |   49 +
>  drivers/gpu/drm/xe/xe_platform_types.h             |   37 +
>  drivers/gpu/drm/xe/xe_pm.c                         |  405 +++
>  drivers/gpu/drm/xe/xe_pm.h                         |   35 +
>  drivers/gpu/drm/xe/xe_preempt_fence.c              |  158 +
>  drivers/gpu/drm/xe/xe_preempt_fence.h              |   61 +
>  drivers/gpu/drm/xe/xe_preempt_fence_types.h        |   32 +
>  drivers/gpu/drm/xe/xe_pt.c                         | 1653 ++++++++++
>  drivers/gpu/drm/xe/xe_pt.h                         |   48 +
>  drivers/gpu/drm/xe/xe_pt_types.h                   |   77 +
>  drivers/gpu/drm/xe/xe_pt_walk.c                    |  160 +
>  drivers/gpu/drm/xe/xe_pt_walk.h                    |  161 +
>  drivers/gpu/drm/xe/xe_query.c                      |  552 ++++
>  drivers/gpu/drm/xe/xe_query.h                      |   14 +
>  drivers/gpu/drm/xe/xe_range_fence.c                |  156 +
>  drivers/gpu/drm/xe/xe_range_fence.h                |   75 +
>  drivers/gpu/drm/xe/xe_reg_sr.c                     |  284 ++
>  drivers/gpu/drm/xe/xe_reg_sr.h                     |   28 +
>  drivers/gpu/drm/xe/xe_reg_sr_types.h               |   37 +
>  drivers/gpu/drm/xe/xe_reg_whitelist.c              |  146 +
>  drivers/gpu/drm/xe/xe_reg_whitelist.h              |   23 +
>  drivers/gpu/drm/xe/xe_res_cursor.h                 |  240 ++
>  drivers/gpu/drm/xe/xe_ring_ops.c                   |  482 +++
>  drivers/gpu/drm/xe/xe_ring_ops.h                   |   17 +
>  drivers/gpu/drm/xe/xe_ring_ops_types.h             |   22 +
>  drivers/gpu/drm/xe/xe_rtp.c                        |  325 ++
>  drivers/gpu/drm/xe/xe_rtp.h                        |  430 +++
>  drivers/gpu/drm/xe/xe_rtp_helpers.h                |   81 +
>  drivers/gpu/drm/xe/xe_rtp_types.h                  |  124 +
>  drivers/gpu/drm/xe/xe_sa.c                         |  106 +
>  drivers/gpu/drm/xe/xe_sa.h                         |   40 +
>  drivers/gpu/drm/xe/xe_sa_types.h                   |   19 +
>  drivers/gpu/drm/xe/xe_sched_job.c                  |  280 ++
>  drivers/gpu/drm/xe/xe_sched_job.h                  |   80 +
>  drivers/gpu/drm/xe/xe_sched_job_types.h            |   46 +
>  drivers/gpu/drm/xe/xe_sriov.c                      |   55 +
>  drivers/gpu/drm/xe/xe_sriov.h                      |   42 +
>  drivers/gpu/drm/xe/xe_sriov_printk.h               |   46 +
>  drivers/gpu/drm/xe/xe_sriov_types.h                |   28 +
>  drivers/gpu/drm/xe/xe_step.c                       |  264 ++
>  drivers/gpu/drm/xe/xe_step.h                       |   23 +
>  drivers/gpu/drm/xe/xe_step_types.h                 |   50 +
>  drivers/gpu/drm/xe/xe_sync.c                       |  344 +++
>  drivers/gpu/drm/xe/xe_sync.h                       |   36 +
>  drivers/gpu/drm/xe/xe_sync_types.h                 |   28 +
>  drivers/gpu/drm/xe/xe_tile.c                       |  185 ++
>  drivers/gpu/drm/xe/xe_tile.h                       |   18 +
>  drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   57 +
>  drivers/gpu/drm/xe/xe_tile_sysfs.h                 |   19 +
>  drivers/gpu/drm/xe/xe_tile_sysfs_types.h           |   27 +
>  drivers/gpu/drm/xe/xe_trace.c                      |    9 +
>  drivers/gpu/drm/xe/xe_trace.h                      |  608 ++++
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |  334 ++
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h             |   21 +
>  drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |  118 +
>  drivers/gpu/drm/xe/xe_ttm_sys_mgr.h                |   13 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |  480 +++
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |   44 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h         |   52 +
>  drivers/gpu/drm/xe/xe_tuning.c                     |  121 +
>  drivers/gpu/drm/xe/xe_tuning.h                     |   16 +
>  drivers/gpu/drm/xe/xe_uc.c                         |  258 ++
>  drivers/gpu/drm/xe/xe_uc.h                         |   24 +
>  drivers/gpu/drm/xe/xe_uc_debugfs.c                 |   26 +
>  drivers/gpu/drm/xe/xe_uc_debugfs.h                 |   14 +
>  drivers/gpu/drm/xe/xe_uc_fw.c                      |  884 ++++++
>  drivers/gpu/drm/xe/xe_uc_fw.h                      |  184 ++
>  drivers/gpu/drm/xe/xe_uc_fw_abi.h                  |  321 ++
>  drivers/gpu/drm/xe/xe_uc_fw_types.h                |  146 +
>  drivers/gpu/drm/xe/xe_uc_types.h                   |   28 +
>  drivers/gpu/drm/xe/xe_vm.c                         | 3206 ++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_vm.h                         |  263 ++
>  drivers/gpu/drm/xe/xe_vm_doc.h                     |  555 ++++
>  drivers/gpu/drm/xe/xe_vm_types.h                   |  373 +++
>  drivers/gpu/drm/xe/xe_wa.c                         |  895 ++++++
>  drivers/gpu/drm/xe/xe_wa.h                         |   32 +
>  drivers/gpu/drm/xe/xe_wa_oob.rules                 |   24 +
>  drivers/gpu/drm/xe/xe_wait_user_fence.c            |  178 ++
>  drivers/gpu/drm/xe/xe_wait_user_fence.h            |   15 +
>  drivers/gpu/drm/xe/xe_wopcm.c                      |  270 ++
>  drivers/gpu/drm/xe/xe_wopcm.h                      |   16 +
>  drivers/gpu/drm/xe/xe_wopcm_types.h                |   26 +
>  include/drm/drm_gpuvm.h                            |   10 +
>  include/drm/xe_pciids.h                            |  190 ++
>  include/uapi/drm/xe_drm.h                          | 1347 ++++++++
>  352 files changed, 61427 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon
>  create mode 100644 Documentation/gpu/xe/index.rst
>  create mode 100644 Documentation/gpu/xe/xe_cs.rst
>  create mode 100644 Documentation/gpu/xe/xe_debugging.rst
>  create mode 100644 Documentation/gpu/xe/xe_firmware.rst
>  create mode 100644 Documentation/gpu/xe/xe_gt_mcr.rst
>  create mode 100644 Documentation/gpu/xe/xe_map.rst
>  create mode 100644 Documentation/gpu/xe/xe_migrate.rst
>  create mode 100644 Documentation/gpu/xe/xe_mm.rst
>  create mode 100644 Documentation/gpu/xe/xe_pcode.rst
>  create mode 100644 Documentation/gpu/xe/xe_pm.rst
>  create mode 100644 Documentation/gpu/xe/xe_rtp.rst
>  create mode 100644 Documentation/gpu/xe/xe_tile.rst
>  create mode 100644 Documentation/gpu/xe/xe_wa.rst
>  create mode 100644 drivers/gpu/drm/xe/.gitignore
>  create mode 100644 drivers/gpu/drm/xe/.kunitconfig
>  create mode 100644 drivers/gpu/drm/xe/Kconfig
>  create mode 100644 drivers/gpu/drm/xe/Kconfig.debug
>  create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
>  create mode 100644 drivers/gpu/drm/xe/Makefile
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_errors_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_klvs_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_messages_abi.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
>  create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
>  create mode 100644 drivers/gpu/drm/xe/display/ext/i915_irq.c
>  create mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.c
>  create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>  create mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_fb_pin.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_instr_defs.h
>  create mode 100644 drivers/gpu/drm/xe/instructions/xe_mi_commands.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_engine_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gpu_commands.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_gt_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_guc_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_lrc_layout.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_reg_defs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_regs.h
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_sriov_regs.h
>  create mode 100644 drivers/gpu/drm/xe/tests/Makefile
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_lmtt_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_test.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c
>  create mode 100644 drivers/gpu/drm/xe/xe_assert.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bb.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bb.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bb_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bo.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.c
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.h
>  create mode 100644 drivers/gpu/drm/xe/xe_bo_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.c
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.h
>  create mode 100644 drivers/gpu/drm/xe/xe_devcoredump_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device.c
>  create mode 100644 drivers/gpu/drm/xe/xe_device.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_device_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_display.c
>  create mode 100644 drivers/gpu/drm/xe/xe_display.h
>  create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.c
>  create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.h
>  create mode 100644 drivers/gpu/drm/xe/xe_drm_client.c
>  create mode 100644 drivers/gpu/drm/xe/xe_drm_client.h
>  create mode 100644 drivers/gpu/drm/xe/xe_drv.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec.c
>  create mode 100644 drivers/gpu/drm/xe/xe_exec.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.c
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.h
>  create mode 100644 drivers/gpu/drm/xe/xe_exec_queue_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist.c
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist.h
>  create mode 100644 drivers/gpu/drm/xe/xe_execlist_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake.c
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake.h
>  create mode 100644 drivers/gpu/drm/xe/xe_force_wake_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ggtt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_idle_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ads_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_ct_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_fwif.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_log_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_pc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_submit_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_huc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_huc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hw_fence_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_hwmon.c
>  create mode 100644 drivers/gpu/drm/xe/xe_hwmon.h
>  create mode 100644 drivers/gpu/drm/xe/xe_irq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_irq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_2l.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_ml.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lmtt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_lrc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_macros.h
>  create mode 100644 drivers/gpu/drm/xe/xe_map.h
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate.c
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate.h
>  create mode 100644 drivers/gpu/drm/xe/xe_migrate_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_mmio.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mmio.h
>  create mode 100644 drivers/gpu/drm/xe/xe_mocs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_mocs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_module.c
>  create mode 100644 drivers/gpu/drm/xe/xe_module.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pat.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pat.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pci.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pci.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pci_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pcode_api.h
>  create mode 100644 drivers/gpu/drm/xe/xe_platform_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pt.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.c
>  create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_query.c
>  create mode 100644 drivers/gpu/drm/xe/xe_query.h
>  create mode 100644 drivers/gpu/drm/xe/xe_range_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_range_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_sr_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.c
>  create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.h
>  create mode 100644 drivers/gpu/drm/xe/xe_res_cursor.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ring_ops_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp.c
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp_helpers.h
>  create mode 100644 drivers/gpu/drm/xe/xe_rtp_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sa.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sa.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sa_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sched_job_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sriov_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_step.c
>  create mode 100644 drivers/gpu/drm/xe/xe_step.h
>  create mode 100644 drivers/gpu/drm/xe/xe_step_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sync.c
>  create mode 100644 drivers/gpu/drm/xe/xe_sync.h
>  create mode 100644 drivers/gpu/drm/xe/xe_sync_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tile.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_trace.c
>  create mode 100644 drivers/gpu/drm/xe/xe_trace.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_tuning.c
>  create mode 100644 drivers/gpu/drm/xe/xe_tuning.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.c
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_abi.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_uc_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_vm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm_doc.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vm_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wa.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wa.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules
>  create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm.c
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm.h
>  create mode 100644 drivers/gpu/drm/xe/xe_wopcm_types.h
>  create mode 100644 include/drm/xe_pciids.h
>  create mode 100644 include/uapi/drm/xe_drm.h
Ohad Sharabi Dec. 19, 2023, 7:17 a.m. UTC | #4
On 18/12/2023 16:27, Oded Gabbay wrote:
> On Fri, Dec 15, 2023 at 05:28:19PM -0500, Rodrigo Vivi wrote:
>> Hi Dave and Sima,
>>
>> Here goes the first pull request for the drm/xe driver.
>>
>> Our team was focused on putting together a driver that uses most, if not all,
>> of the key drm concepts and has a functional display that is shared with i915.
>> All the platforms are still protected by the force_probe protection because they
>> are either officially supported by i915, or because they are still under
>> enablement like Lunar Lake.
>>
>> We still have a lot of work ahead of us, but we believe that it will be better
>> to work with all of these cross-driver concepts after we are merged to drm-next
>> along with the other drivers.
>>
>> Besides the cross-driver collaboration and enabling of upcoming hardware, one of
>> our key areas will be to improve performance and address reports by users so that
>> the driver keeps getting better.
>>
>> I’m having the honor to send this first pull request on behalf of the new team of
>> maintainers that we are putting together for the xe driver: Lucas, Thomas, and
>> Oded. I’m going to assist them to get this through and to set up the drm-tip
>> development flow. Then, you should expect future pull requests coming directly
>> from them. Likely, with a rotation of duties that they will define by themselves,
>> but that should be similar to drm-intel and drm-misc.
>>
>> Thanks,
>> Rodrigo.

Rodrigo,

I reviewed the TTM part and raised some issues, all issues were fixed.

Acked-by: Ohad Sharabi <osharabi@habana.ai>

Thanks,

Ohad

> (Sorry for sending again but my kernel.org smtp definition was wrong and ml rejected my email)
>
> Hi Rodrigo,
> You and the team did a great job on bringing the driver to this stage. Congrats!
>
> I reviewed a large part of the driver, mainly focusing on init/fini,
> ioctls, memory management, dma-buf.
> There were multiple issues raised and all of them were fixed/answered
> to my satisfaction.
>
> For the PR:
> Acked-by: Oded Gabbay <ogabbay@kernel.org>
>
> Thanks,
> Oded
>
>> The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:
>>
>>    Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-12-08 16:27:00 +1000)
>>
>> are available in the Git repository at:
>>
>>    https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2023-12-15-pr1
>>
>> for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:
>>
>>    MAINTAINERS: Updates to Intel DRM (2023-12-15 16:41:56 -0500)
>>
>> ----------------------------------------------------------------
>> Introduce a new DRM driver for Intel GPUs
>>
>> Xe, is a new driver for Intel GPUs that supports both integrated and
>> discrete platforms. The experimental support starts with Tiger Lake.
>> i915 will continue be the main production driver for the platforms
>> up to Meteor Lake and Alchemist. Then the goal is to make this Intel
>> Xe driver the primary driver for Lunar Lake and newer platforms.
>>
>> It uses most, if not all, of the key drm concepts, in special: TTM,
>> drm-scheduler, drm-exec, drm-gpuvm/gpuva and others.
>>
>> It reuses/shares i915 code for display support.
>>
>> ----------------------------------------------------------------
>> Alan Previn (1):
>>        drm/xe/guc: Fix h2g_write usage of GUC_CTB_MSG_MAX_LEN
>>
>> Alexander Usyskin (1):
>>        drm/xe/gsc: enable pvc support
>>
>> Andrzej Hajda (1):
>>        drm/xe: implement driver initiated function-reset
>>
>> Animesh Manna (1):
>>        drm/xe/dsb: DSB implementation for xe
>>
>> Anshuman Gupta (7):
>>        drm/xe/pm: Disable PM on unbounded pcie parent bridge
>>        drm/xe/pm: Add pci d3cold_capable support
>>        drm/xe/pm: Refactor xe_pm_runtime_init
>>        drm/xe/pm: Add vram_d3cold_threshold Sysfs
>>        drm/xe/pm: Toggle d3cold_allowed using vram_usages
>>        drm/xe/pm: Init pcode and restore vram on power lost
>>        drm/xe/pm: Add vram_d3cold_threshold for d3cold capable device
>>
>> Anusha Srivatsa (10):
>>        drm/xe/huc: Support for loading unversiond HuC
>>        drm/xe: Load HuC on Alderlake S
>>        drm/xe: GuC and HuC loading support for RKL
>>        drm/xe: Add Rocketlake device info
>>        drm/xe/kunit: Handle fake device creation for all platform/subplatform cases
>>        drm/xe: Add missing ADL entries to xe_test_wa
>>        drm/xe/rplu: s/ADLP/ALDERLAKE_P
>>        drm/xe/rpls: Add RPLS Support
>>        drm/xe/rpls: Add Stepping info for RPLS
>>        drm/xe: Add missing ADL entries to xe_test_wa
>>
>> Aravind Iddamsetty (5):
>>        drm/xe: Get GT clock to nanosecs
>>        drm/xe: Use spinlock in forcewake instead of mutex
>>        drm/xe/pmu: Enable PMU interface
>>        drm/xe/pmu: Drop interrupt pmu event
>>        drm/xe: Fix lockdep warning in xe_force_wake calls
>>
>> Ashutosh Dixit (2):
>>        drm/xe/uapi: Use common drm_xe_ext_set_property extension
>>        drm/xe/pmu: Remove PMU from Xe till uapi is finalized
>>
>> Badal Nilawar (11):
>>        drm/xe: Donot apply forcewake while reading actual frequency
>>        drm/xe/mtl: Add support to get C6 residency/status of MTL
>>        drm/xe/hwmon: Expose power attributes
>>        drm/xe/hwmon: Expose card reactive critical power
>>        drm/xe/hwmon: Expose input voltage attribute
>>        drm/xe/hwmon: Expose hwmon energy attribute
>>        drm/xe: Extend rpX values extraction for future platforms
>>        drm/xe/hwmon: Add kernel doc and refactor xe hwmon
>>        drm/xe/hwmon: Protect hwmon rw attributes with hwmon_lock
>>        drm/xe/hwmon: Expose power1_max_interval
>>        drm/xe/mtl: Use 16.67 Mhz freq scale factor to get rpX
>>
>> Balasubramani Vivekanandan (9):
>>        drm/xe/gt: Enable interrupt while initializing root gt
>>        drm/xe: Use max wopcm size when validating the preset GuC wopcm size
>>        drm/xe: Stop accepting value in xe_migrate_clear
>>        drm/xe: Keep all resize bar related prints inside xe_resize_vram_bar
>>        drm/xe/xe2: Add MOCS table
>>        drm/xe/lnl: Hook up MOCS table
>>        drm/xe: Leverage ComputeCS read L3 caching
>>        drm/xe: Add event tracing for CTB
>>        drm/xe/trace: Optimize trace definition
>>
>> Bommithi Sakeena (3):
>>        drm/xe: Ensure mutex are destroyed
>>        drm/xe: Add a missing mutex_destroy to xe_ttm_vram_mgr
>>        drm/xe: Encapsulate all the module parameters
>>
>> Bommu Krishnaiah (2):
>>        drm/xe/uapi: add exec_queue_id member to drm_xe_wait_user_fence structure
>>        drm/xe/uapi: Return correct error code for xe_wait_user_fence_ioctl
>>
>> Brian Welty (12):
>>        drm/xe: Fix BUG_ON during bind with prefetch
>>        drm/xe: Fix lockdep warning from xe_vm_madvise
>>        drm/xe: Simplify xe_res_get_buddy()
>>        drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region
>>        drm/xe: Remove unused xe_bo_to_tile
>>        drm/xe: Replace usage of mem_type_to_tile
>>        drm/xe: Fix dequeue of access counter work item
>>        drm/xe: Fix pagefault and access counter worker functions
>>        drm/xe: Fix unbind of unaccessed VMA (fault mode)
>>        drm/xe: Make xe_mmio_tile_vram_size() static
>>        drm/xe: Support device page faults on integrated platforms
>>        drm/xe/xe2: Respond to TRTT faults as unsuccessful page fault
>>
>> Carlos Santa (2):
>>        drm/xe: Update the list of devices to add even more TGL devices
>>        drm/xe: stringify the argument to avoid potential vulnerability
>>
>> Chang, Bruce (2):
>>        drm/xe: don't auto fall back to execlist mode if guc failed to init
>>        drm/xe: fix pvc unload issue
>>
>> Christopher Snowhill (3):
>>        drm/xe: Enable the compat ioctl functionality
>>        drm/xe: Add explicit padding to uAPI definition
>>        drm/xe: Validate uAPI padding and reserved fields
>>
>> Dani Liberman (3):
>>        drm/xe: proper setting of irq enabled flag
>>        drm/xe: change old msi irq api to a new one
>>        drm/xe: add msix support
>>
>> Daniele Ceraolo Spurio (36):
>>        drm/xe: limit GGTT size to GUC_GGTT_TOP
>>        drm/xe: fix HuC FW ordering for DG1
>>        drm/xe/slpc: Start SLPC before GuC submission on reset
>>        drm/xe: fix mcr semaphore locking for MTL
>>        drm/xe: common function to assign queue name
>>        drm/xe: base definitions for the GSCCS
>>        drm/xe: add GSCCS irq support
>>        drm/xe: add GSCCS ring ops
>>        drm/xe: GSC forcewake support
>>        drm/xe: don't expose the GSCCS to users
>>        drm/xe: enable idle msg and set hysteresis for GSCCS
>>        drm/xe: fix submissions without vm
>>        drm/xe: split kernel vs permanent engine flags
>>        drm/xe: standardize vm-less kernel submissions
>>        drm/xe/guc: Switch to major-only GuC FW tracking for MTL
>>        drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()
>>        drm/xe/uc: Fix uC status tracking
>>        drm/xe/uc: Add GuC/HuC firmware path overrides
>>        drm/xe: Add child contexts to the GuC context lookup
>>        drm/xe/guc: Bump PVC GuC version to 70.9.1
>>        drm/xe/uc: Prepare for parsing of different header types
>>        drm/xe/huc: Extract version and binary offset from new HuC headers
>>        drm/xe/huc: HuC is not supported on GTs that don't have video engines
>>        drm/xe/huc: Don't re-auth HuC if it's already authenticated
>>        drm/xe/huc: Define HuC for MTL
>>        drm/xe/uc: Rework uC version tracking
>>        drm/xe/gsc: Introduce GSC FW
>>        drm/xe/gsc: Parse GSC FW header
>>        drm/xe/gsc: GSC FW load
>>        drm/xe/gsc: Implement WA 14015076503
>>        drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
>>        drm/xe/gsc: Query GSC compatibility version
>>        drm/xe/gsc: Define GSCCS for MTL
>>        drm/xe/gsc: Define GSC FW for MTL
>>        drm/xe/huc: Prepare for 2-step HuC authentication
>>        drm/xe/huc: HuC authentication via GSC
>>
>> David Kershner (2):
>>        drm/xe/xe_migrate.c: Use DPA offset for page table entries.
>>        drm/xe/tests/xe_migrate.c: Add vram to vram KUNIT test
>>
>> Dnyaneshwar Bhadane (1):
>>        drm/xe/xe2: Add initial workarounds
>>
>> Fei Yang (3):
>>        drm/xe: set PTE_AE for all platforms supporting it
>>        drm/xe: timeout needs to be a signed value
>>        drm/xe: explicitly set GGTT access for GuC DMA
>>
>> Francois Dugast (57):
>>        drm/xe: Use global macros to set PM functions
>>        drm/xe: Fix build without CONFIG_PM_SLEEP
>>        drm/xe: Fix splat during error dump
>>        drm/xe: Remove unused define
>>        drm/xe: Use SPDX-License-Identifier instead of license text
>>        drm/xe: Group engine related structs
>>        drm/xe: Fix some formatting issues in uAPI
>>        drm/xe: Document structures for device query
>>        drm/xe: Move defines before relevant fields
>>        drm/xe: Document topology mask query
>>        drm/xe: Cleanup SPACING style issues
>>        drm/xe: Cleanup OPEN_BRACE style issues
>>        drm/xe: Cleanup POINTER_LOCATION style issues
>>        drm/xe: Cleanup CODE_INDENT style issues
>>        drm/xe: Cleanup TRAILING_WHITESPACE style issues
>>        drm/xe: Cleanup COMPLEX_MACRO style issues
>>        drm/xe: Fix typos
>>        drm/xe: Prevent flooding the kernel log with XE_IOCTL_ERR
>>        drm/xe: Cleanup style warnings
>>        drm/xe: Rely on kmalloc/kzalloc log message
>>        drm/xe/execlist: Remove leftover printk messages
>>        drm/xe: Cleanup style warnings and errors
>>        drm/xe/execlist: Log when using execlist submission
>>        drm/xe/macro: Remove unused constant
>>        drm/xe: Prefer WARN() over BUG() to avoid crashing the kernel
>>        drm/xe: Rename xe_engine.[ch] to xe_exec_queue.[ch]
>>        drm/xe: Rename engine to exec_queue
>>        drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
>>        drm/xe: Replace XE_WARN_ON with drm_warn when just printing a string
>>        drm/xe: Use Xe assert macros instead of XE_WARN_ON macro
>>        drm/xe/uapi: Separate VM_BIND's operation and flag
>>        drm/xe/vm: Remove VM_BIND_OP macro
>>        drm/xe/uapi: Remove MMIO ioctl
>>        drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
>>        drm/xe/display: Use acpi_target_system_state only if ACPI_SLEEP is enabled
>>        drm/xe/uapi: Remove useless XE_QUERY_CONFIG_NUM_PARAM
>>        drm/xe/uapi: Remove unused inaccessible memory region
>>        drm/xe/uapi: Remove unused QUERY_CONFIG_MEM_REGION_COUNT
>>        drm/xe/uapi: Remove unused QUERY_CONFIG_GT_COUNT
>>        drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
>>        drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
>>        drm/xe/uapi: Change rsvd to pad in struct drm_xe_class_instance
>>        drm/xe/uapi: Align on a common way to return arrays (memory regions)
>>        drm/xe/uapi: Align on a common way to return arrays (gt)
>>        drm/xe/uapi: Align on a common way to return arrays (engines)
>>        drm/xe/uapi: Remove DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
>>        drm/xe/uapi: Remove DRM_XE_UFENCE_WAIT_MASK_*
>>        drm/xe/uapi: Add a comment to each struct
>>        drm/xe/uapi: Add missing documentation for struct members
>>        drm/xe/uapi: Document use of size in drm_xe_device_query
>>        drm/xe/uapi: Document drm_xe_query_config keys
>>        drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
>>        drm/xe/uapi: Make constant comments visible in kernel doc
>>        drm/xe/uapi: Add block diagram of a device
>>        drm/xe/uapi: Add examples of user space code
>>        drm/xe/uapi: Move CPU_CACHING defines before doc
>>        drm/xe/uapi: Move DRM_XE_ACC_GRANULARITY_* where they are used
>>
>> Gustavo Sousa (15):
>>        drm/xe: Include only relevant header in xe_module.h
>>        drm/xe: Get rid of MAKE_INIT_EXIT_FUNCS
>>        drm/xe: Call exit functions when xe_register_pci_driver() fails
>>        drm/xe: Do not forget to drm_dev_put() in xe_pci_probe()
>>        drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
>>        drm/xe: Fail xe_device_create() if wq allocation fails
>>        drm/xe: Replace deprecated DRM_ERROR()
>>        drm/xe/reg_sr: Use a single parameter for xe_reg_sr_apply_whitelist()
>>        drm/xe/reg_sr: Apply limit to register whitelisting
>>        drm/xe: Simplify final return from xe_irq_install()
>>        drm/xe/irq: Clear GFX_MSTR_IRQ as part of IRQ reset
>>        drm/xe/rtp: Fix doc for XE_RTP_ACTIONS
>>        drm/xe/xelpmp: Add Wa_16021867713
>>        drm/xe/mmio: Move xe_mmio_wait32() to xe_mmio.c
>>        drm/xe/mmio: Make xe_mmio_wait32() aware of interrupts
>>
>> Haridhar Kalvala (6):
>>        drm/xe: Adjust mocs field mask definitions
>>        drm/xe: Rename MEM_SET instruction
>>        drm/xe/xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4
>>        drm/xe/xe2: Update MOCS fields in blitter instructions
>>        drm/xe: Add Wa_14019877138
>>        drm/xe: ATS-M device ID update
>>
>> Himal Prasad Ghimiray (12):
>>        drm/xe: Notify Userspace when gt reset fails
>>        drm/xe: Introduce fault injection for gt reset
>>        drm/xe/xe2: Determine bios enablement for flat ccs on igfx
>>        drm/xe/xe2: Modify main memory to ccs memory ratio.
>>        drm/xe/xe2: Allocate extra pages for ccs during bo create
>>        drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
>>        drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
>>        drm/xe/xe2: Update chunk size for each iteration of ccs copy
>>        drm/xe/xe2: Update emit_pte to use compression enabled PAT index
>>        drm/xe/xe2: Handle flat ccs move for igfx.
>>        drm/xe/xe2: Modify xe_bo_test for system memory
>>        drm/xe/xe2: Support flat ccs
>>
>> Janga Rahul Kumar (1):
>>        drm/Xe: Use EOPNOTSUPP instead of ENOTSUPP
>>
>> Jani Nikula (3):
>>        drm/xe: make compound literal initialization const
>>        drm/xe/irq: the irq handler local variable need not be static
>>        drm/xe/mmio: add xe_mmio_read16()
>>
>> Jonathan Cavitt (1):
>>        drm/xe: clear the serviced bits on INTR_IDENTITY_REG
>>
>> José Roberto de Souza (17):
>>        drm/xe/uapi: Rename XE_ENGINE_PROPERTY_X to XE_ENGINE_SET_PROPERTY_X
>>        drm/xe/uapi: Add XE_ENGINE_GET_PROPERTY uAPI
>>        drm/xe: Initialize ret in mcr_lock()
>>        drm/xe: Fix size of xe_eu_mask_t
>>        drm/xe: Add max engine priority to xe query
>>        drm/xe: Limit the system memory size to half of the system memory
>>        drm/xe: Enable Raptorlake-P
>>        drm/xe: Set default MOCS value for cs instructions
>>        drm/xe: Set default MOCS value for copy cs instructions
>>        drm/xe: Replace PVC check by engine type check
>>        drm/xe: Fix RING_MI_MODE label in devcoredump
>>        drm/xe: Fix devcoredump readout of IPEHR
>>        drm/xe: Remove devcoredump readout of IPEIR
>>        drm/xe: Set PTE_AE for smem allocations in integrated devices
>>        drm/xe: Include RPL-U to pciidlist
>>        drm/xe: Add missing RPL and ADL
>>        drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof
>>
>> Jouni Högander (9):
>>        drm/xe/display: Add struct i915_active for Xe
>>        drm/xe/display: Add macro to get i915 device from xe_bo
>>        drm/xe/display: Add frontbuffer setter/getter for xe_bo
>>        drm/xe/display: Add i915_active.h compatibility header
>>        drm/xe/display: Add empty def for i915_gem_object_flush_if_display
>>        drm/xe/display: Add empty define for i915_ggtt_clear_scanout
>>        drm/xe/display: Xe stolen memory handling for fbc support
>>        drm/xe/display: Add i915_gem.h compatibility header
>>        drm/xe/display: Add Xe implementation for fence checks used by fbc code
>>
>> Juha-Pekka Heikkila (2):
>>        drm/xe/display: Don't try to use vram if not available
>>        drm/xe/display: Add writing of remapped dpt
>>
>> Koby Elbaz (10):
>>        drm/xe: add 28-bit address support in struct xe_reg
>>        drm/xe: add read/write support for MMIO extension space
>>        drm/xe: add a flag to bypass multi-tile config from MTCFG reg
>>        drm/xe: add MMIO extension support flags
>>        drm/xe: map MMIO BAR according to the num of tiles in device desc
>>        drm/xe: refactor xe_mmio_probe_tiles to support MMIO extension
>>        drm/xe: move the lmem verification code into a separate function
>>        drm/xe/display: fix error handling flow when device probing fails
>>        drm/xe: add skip_pcode flag
>>        drm/xe: rename bypass_mtcfg to skip_mtcfg
>>
>> Lucas De Marchi (176):
>>        drm/xe/ggtt: Use BIT_ULL() for 64bit
>>        drm/xe: Fix some log messages on 32b
>>        drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
>>        drm/xe: Fix tracepoints on 32b
>>        drm/xe/gt: Fix min() with u32 and u64
>>        drm/xe: Add documentation for mem_type
>>        drm/xe: Add min config for kunit integration ARCH=um
>>        drm/xe: Fix typo in MCR documentation
>>        drm/xe: Fix xe_tuning include
>>        drm/xe: Remove TODO from rtp infra
>>        drm/xe: Remove TODO from workaround documentation
>>        drm/xe/mcr: Use designated init for xe_steering_types
>>        drm/xe/mcr: Add SQIDI steering for DG2
>>        drm/xe: Rename xe_rtp_regval to xe_rtp_action
>>        drm/xe/rtp: Split action and entry flags
>>        drm/xe/rtp: Support multiple actions per entry
>>        drm/xe: Make local functions static
>>        drm/xe: Fix application of LRC tunings
>>        drm/xe: Remove unused functions
>>        drm/xe: Add missing doc for xe parameter
>>        drm/xe: Add missing include xe_wait_user_fence.h
>>        drm/xe: Remove duplicate media_ver
>>        drm/xe: Remove outdated build workaround
>>        drm/xe/guc: Remove i915_regs.h include
>>        drm/xe: Fix kunit integration due to missing prototypes
>>        drm/xe: Sort includes
>>        drm/xe: Remove dependency on intel_engine_regs.h
>>        drm/xe: Remove dependency on intel_gt_regs.h
>>        drm/xe: Remove dependency on intel_lrc_reg.h
>>        drm/xe: Remove dependency on intel_gpu_commands.h
>>        drm/xe: Remove dependency on i915_reg.h
>>        drm/xe/guc_pc: Move gt register to the proper place
>>        drm/xe: Remove dependency on intel_mchbar_regs.h
>>        drm/xe: Prefer single underscore for header guards
>>        drm/xe: Do not spread i915_reg_defs.h include
>>        drm/xe/device: Prefer the drm-managed mutex_init
>>        drm/xe: Fix typo persitent->persistent
>>        drm/xe: Fix duplicated setting for register 0x6604
>>        drm/xe: Fix ROW_CHICKEN2 define
>>        drm/xe/mcr: Add L3BANK steering for DG2
>>        drm/xe/mcr: Document how to initialize group/instance
>>        drm/xe: Allow const propagation in gt_to_xe()
>>        drm/xe: Constify xe_dss_mask_group_ffs()
>>        drm/xe/rtp: Move match function from wa to rtp
>>        drm/xe/rtp: Add match for render reset domain
>>        drm/xe: Remove dump function from reg_sr
>>        drm/xe: Name LRC wa after the engine it belongs
>>        drm/xe/pvc: Remove A* steppings
>>        drm/xe/rtp: Add match helper for gslice fused off
>>        drm/xe/reg_sr: Tweak verbosity for register printing
>>        drm/xe: Print whitelist while applying
>>        drm/xe/debugfs: Dump register save-restore tables
>>        drm/xe: Reorder WAs to consider the platform
>>        drm/xe: Add PVC gt workarounds
>>        drm/xe: Add PVC engine workarounds
>>        drm/xe: Add missing DG2 gt workarounds and tunings
>>        drm/xe: Add missing DG2 engine workarounds
>>        drm/xe: Add missing DG2 lrc tunings
>>        drm/xe: Add missing DG2 lrc workarounds
>>        drm/xe: Add missing ADL-P engine workaround
>>        drm/xe: Add missing LRC workarounds for graphics 1200
>>        drm/xe: Replace i915 with xe in uapi
>>        drm/xe/mcr: Separate version from engine type selection
>>        drm/xe: Remove unused revid from firmware name
>>        drm/xe: Fix platform order
>>        drm/xe: Extract function to initialize xe->info
>>        drm/xe: Move test infra out of xe_pci.[ch]
>>        drm/xe: Use symbol namespace for kunit tests
>>        drm/xe: Generalize fake device creation
>>        drm/xe/reg_sr: Save errors for kunit integration
>>        drm/xe: Add basic unit tests for rtp
>>        drm/xe: Add test for GT workarounds and tunings
>>        drm/xe: Update GuC/HuC firmware autoselect logic
>>        drm/xe: Always log GuC/HuC firmware versions
>>        drm/xe: Cleanup page-related defines
>>        drm/xe: Rename RC0/RC6 macros
>>        drm/xe: Rename instruction field to avoid confusion
>>        drm/xe/guc: Rename GEN11_SOFT_SCRATCH for clarity
>>        drm/xe/guc: Move GuC registers to regs/
>>        drm/xe/guc: Convert GuC registers to REG_FIELD/REG_BIT
>>        drm/xe: Drop gen afixes from registers
>>        drm/xe: Use REG_FIELD/REG_BIT for all regs/*.h
>>        drm/xe: Clarify register types on PAT programming
>>        drm/xe: Introduce xe_reg/xe_reg_mcr
>>        drm/xe: Use XE_REG/XE_REG_MCR
>>        drm/xe: Annotate masked registers used by RTP
>>        drm/xe: Plumb xe_reg into WAs, rtp, etc
>>        drm/xe: Move helper macros to separate header
>>        drm/xe: Fix media detection for pre-GMD_ID platforms
>>        drm/xe: Do not mark 1809175790 as a WA
>>        drm/xe: Fix comment on Wa_22013088509
>>        drm/xe/guc: Remove special handling for PVC A*
>>        drm/xe/guc: Handle RCU_MODE as masked from definition
>>        drm/xe/mmio: Use struct xe_reg
>>        drm/xe: Rename reg field to addr
>>        drm/xe: Fix indent in xe_hw_engine_print_state()
>>        drm/xe: Load HuC on Alderlake P
>>        drm/xe: Fix Wa_22011802037 annotation
>>        drm/xe/rtp: Split rtp process initialization
>>        drm/xe/rtp: Replace XE_WARN_ON
>>        drm/xe/rtp: Add "_sr" to entry/function names
>>        drm/xe/rtp: Allow to track active workarounds
>>        drm/xe/wa: Track gt/engine/lrc active workarounds
>>        drm/xe/debugfs: Dump active workarounds
>>        drm/xe/rtp: Rename STEP to GRAPHICS_STEP
>>        drm/xe/rtp: Add check for media stepping
>>        drm/xe/rtp: Add support for entries with no action
>>        drm/xe: Include build directory
>>        drm/xe: Add support for OOB workarounds
>>        drm/xe/guc: Port Wa_22012773006 to xe_wa
>>        drm/xe/guc: Port Wa_16011759253 to xe_wa
>>        drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
>>        drm/xe/guc: Port Wa_16011777198 to xe_wa
>>        drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
>>        drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
>>        drm/xe/guc: Port Wa_1509372804 to xe_wa
>>        drm/xe/rtp: Also check gt type
>>        drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
>>        drm/xe: Rename pte/pde encoding functions
>>        drm/xe/guc: Fix typo s/enabled/enable/
>>        drm/xe/guc: Normalize error messages with %#x
>>        drm/xe: Skip applying copy engine fuses
>>        drm/xe: Normalize XE_VM_FLAG* names
>>        drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
>>        drm/xe: Fix checking for unset value
>>        drm/xe: Remove vma arg from xe_pte_encode()
>>        drm/xe: Decouple vram check from xe_bo_addr()
>>        drm/xe: Set PTE_DM bit for stolen on MTL
>>        drm/xe: Fix MTL+ stolen memory mapping
>>        drm/xe: Carve out top of DSM as reserved
>>        drm/xe: Sort xe_regs.h
>>        drm/xe: Fix error path in xe_guc_pc_gucrc_disable()
>>        drm/xe: Fix error path in xe_guc_pc_start()
>>        drm/xe: Update ARL-S DevIDs to the latest BSpec
>>        drm/xe/pat: Use 0 instead of space on error
>>        drm/xe/reg_sr: Simplify check for masked registers
>>        drm/xe/reg_sr: Use xe_gt_dbg
>>        drm/xe: Add dbg messages for LRC WAs
>>        drm/xe: Fix LRC workarounds
>>        drm/xe/mmio: Account for GSI offset when checking ranges
>>        drm/xe: Accept a const xe device
>>        drm/xe: Normalize pte/pde encoding
>>        drm/xe: Remove check for vma == NULL
>>        drm/xe: Use vfunc for pte/pde ppgtt encoding
>>        drm/xe/migrate: Do not hand-encode pte
>>        drm/xe: Use vfunc to initialize PAT
>>        drm/xe/dg2: Fix using wrong PAT table
>>        drm/xe/pat: Prefer the arch/IP names
>>        drm/xe/pat: Keep track of relevant indexes
>>        drm/xe: Use pat_index to encode pde/pte
>>        drm/xe: Use vfunc for ggtt pte encoding
>>        drm/xe/xe2: Extend reserved stolen sizes
>>        drm/xe/xe2: Add missing mocs entry
>>        drm/xe/vm: Prefer xe_assert() over XE_WARN_ON()
>>        drm/xe/xe2: Follow XeHPC for TLB invalidation
>>        drm/xe/xe2: Add one more bit to encode PAT to ppgtt entries
>>        drm/xe/pat: Add debugfs node to dump PAT
>>        drm/xe/gt: Dump PAT table when failing to initialize
>>        drm/xe: Fix WA 14010918519 write to wrong register
>>        drm/xe: Fix build with KUNIT=m
>>        drm/xe/display: Silence kernel-doc warnings related to display
>>        drm/xe: Fold GEN11_MOCS_ENTRIES into gen12_mocs_desc
>>        drm/xe/mocs: Bring comment about mocs back to reality
>>        drm/xe: Remove GEN[0-9]*_ prefixes
>>        drm/xe: Fix modpost warning on kunit modules
>>        drm/xe: Sync MTL PCI IDs with i915
>>        drm/xe: Expand XE_REG_OPTION_MASKED documentation
>>        drm/xe/kunit: Remove handling of XE_TEST_SUBPLATFORM_ANY
>>        drm/xe/kunit: Move fake pci data to test-priv
>>        drm/xe/kunit: Add stub to read_gmdid
>>        drm/xe/kunit: Test WAs for MTL and LNL
>>        drm/xe: Rename info.supports_* to info.has_*
>>        drm/xe: Return error if drm_buddy_init() fails
>>        drm/xe/bo: Remove unusued variable
>>        drm/xe/display: Fix dummy __i915_inject_probe_error()
>>        drm/xe: Enable W=1 warnings by default
>>
>> Maarten Lankhorst (11):
>>        drm/xe: Implement stolen memory.
>>        drm/xe: Fix hidden gotcha regression with bo create
>>        drm/xe: Convert memory device refcount to s32
>>        drm/xe: Map initial FB at the same place in GGTT too
>>        drm/xe: Add debugfs for dumping GGTT mappings
>>        drm/xe: Use atomic instead of mutex for xe_device_mem_access_ongoing
>>        drm/xe: Remove extra xe_mmio_read32 from xe_mmio_wait32
>>        drm/xe: Prevent evicting for page tables
>>        drm/xe: Fix error paths of __xe_bo_create_locked
>>        drm/xe/display: Implement display support
>>        drm/xe/display: Improve s2idle handling.
>>
>> Matt Atwood (2):
>>        drm/xe: Add infrastructure for per engine tuning
>>        drm/xe: add gt tuning for indirect state
>>
>> Matt Roper (131):
>>        drm/xe: Remove gen-based mmio offsets from hw engine init
>>        drm/xe: Assume MTL's forcewake register continues to future platforms
>>        drm/xe/mocs: Drop unwanted TGL table
>>        drm/xe/mocs: Add missing RKL handling
>>        drm/xe/mocs: Drop xe_mocs_info_index
>>        drm/xe/mocs: Drop duplicate assignment of uc_index
>>        drm/xe/mocs: LNCF MOCS settings only need to be restored on pre-Xe_HP
>>        drm/xe/mocs: Drop HAS_RENDER_L3CC flag
>>        drm/xe/guc: Handle regset overflow check for entire GT
>>        drm/xe: Separate engine fuse handling into dedicated functions
>>        drm/xe: Add support for CCS engine fusing
>>        drm/xe/pat: Move PAT setup to a dedicated file
>>        drm/xe/pat: Use table-based programming of PAT settings
>>        drm/xe/pat: Handle unicast vs MCR PAT registers
>>        drm/xe/pat: Clean up PAT register definitions
>>        drm/xe/mtl: Fix PAT table coherency settings
>>        drm/xe/mtl: Handle PAT_INDEX offset jump
>>        drm/xe/pat: Define PAT tables as static
>>        drm/xe: Include hardware prefetch buffer in batchbuffer allocations
>>        drm/xe: Adjust batchbuffer space warning when creating a job
>>        drm/xe: Don't emit extra MI_BATCH_BUFFER_END in WA batchbuffer
>>        drm/xe/irq: Drop gen3_ prefixes
>>        drm/xe/irq: Add helpers to find ISR/IIR/IMR/IER registers
>>        drm/xe/irq: Drop IRQ_INIT and IRQ_RESET macros
>>        drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
>>        drm/xe/irq: Rename and clarify top-level interrupt handling routines
>>        drm/xe/irq: Drop remaining "gen11_" prefix from IRQ functions
>>        drm/xe/irq: Drop commented-out code for non-existent media engines
>>        drm/xe/irq: Don't clobber display interrupts on multi-tile platforms
>>        drm/xe: Start splitting xe_device_desc into graphics/media structures
>>        drm/xe: Set require_force_probe in each platform's description
>>        drm/xe: Move most platform traits to graphics IP
>>        drm/xe: Move engine masks into IP descriptor structures
>>        drm/xe: Clarify GT counting logic
>>        drm/xe: Add printable name to IP descriptors
>>        drm/xe: Select graphics/media descriptors from GMD_ID
>>        drm/xe: Add KUnit test for xe_pci.c IP engine lists
>>        drm/xe: Clean up xe_device_desc
>>        drm/xe: Let primary and media GT share a kernel_bb_pool
>>        drm/xe: Use packed bitfields for xe->info feature flags
>>        drm/xe: Track whether platform has LLC
>>        drm/xe: Only request PCODE_WRITE_MIN_FREQ_TABLE on LLC platforms
>>        drm/xe/sr: Apply masked registers properly
>>        drm/xe: Fix xe_mmio_rmw32 operation
>>        drm/xe: Drop GFX_FLSH_CNTL_GEN6 write during GGTT invalidation
>>        drm/xe/adlp: Add revid => step mapping
>>        drm/xe/adln: Enable ADL-N
>>        drm/xe: Add stepping support for GMD_ID platforms
>>        drm/xe/pvc: Don't try to invalidate AuxCCS TLB
>>        drm/xe/mtl: Disable media GT
>>        drm/xe: Introduce xe_tile
>>        drm/xe: Add backpointer from gt to tile
>>        drm/xe: Add for_each_tile iterator
>>        drm/xe: Move register MMIO into xe_tile
>>        drm/xe: Move GGTT from GT to tile
>>        drm/xe: Move VRAM from GT to tile
>>        drm/xe: Memory allocations are tile-based, not GT-based
>>        drm/xe: Move migration from GT to tile
>>        drm/xe: Clarify 'gt' retrieval for primary tile
>>        drm/xe: Drop vram_id
>>        drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE
>>        drm/xe: Allocate GT dynamically
>>        drm/xe: Add media GT to tile
>>        drm/xe: Interrupts are delivered per-tile, not per-GT
>>        drm/xe/irq: Move ASLE backlight interrupt logic
>>        drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask
>>        drm/xe/irq: Untangle postinstall functions
>>        drm/xe: Replace xe_gt_irq_postinstall with xe_irq_enable_hwe
>>        drm/xe: Invalidate TLB on all affected GTs during GGTT updates
>>        drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations
>>        drm/xe: Allow GT looping and lookup on standalone media
>>        drm/xe: Update query uapi to support standalone media
>>        drm/xe: Reinstate media GT support
>>        drm/xe: Add kerneldoc description of multi-tile devices
>>        drm/xe: Reformat xe_guc_regs.h
>>        drm/xe: Initialize MOCS earlier
>>        drm/xe: Don't hardcode GuC's MOCS index in register header
>>        drm/xe/wa: Extend scope of Wa_14015795083
>>        drm/xe/mtl: Add some initial MTL workarounds
>>        drm/xe: Return GMD_ID revid properly
>>        drm/xe: Don't raise error on fused-off media
>>        drm/xe: Print proper revid value for unknown media revision
>>        drm/xe: Enable PCI device earlier
>>        drm/xe/mtl: Map PPGTT as CPU:WC
>>        drm/xe: xe_engine_create_ioctl should check gt_count, not tile_count
>>        drm/xe/mtl: Reduce Wa_14018575942 scope to the CCS engine
>>        drm/xe: Add Wa_14015150844 for DG2 and Xe_LPG
>>        drm/xe: Stop tracking 4-tile support
>>        drm/xe/xe2: Update render/compute context image sizes
>>        drm/xe/xe2: Add GT topology readout
>>        drm/xe/xe2: Add MCR register steering for primary GT
>>        drm/xe/xe2: Add MCR register steering for media GT
>>        drm/xe/xe2: Update context image layouts
>>        drm/xe/xe2: Handle fused-off CCS engines
>>        drm/xe/xe2: AuxCCS is no longer used
>>        drm/xe/xe2: Define Xe2_LPG IP features
>>        drm/xe/xe2: Define Xe2_LPM IP features
>>        drm/xe/xe2: Track VA bits independently of max page table level
>>        drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond
>>        drm/xe/lnl: Add LNL platform definition
>>        drm/xe/lnl: Add GuC firmware definition
>>        drm/xe: Avoid 64-bit register reads
>>        drm/xe: Drop xe_mmio_write64()
>>        drm/xe/wa: Apply tile workarounds at probe/resume
>>        drm/xe: Infer service copy functionality from engine list
>>        drm/xe/tuning: Add missing engine class rules for LRC tuning
>>        drm/xe/xe2: Program PAT tables
>>        drm/xe: Make MI_FLUSH_DW immediate size more explicit
>>        drm/xe: Separate number of registers from MI_LRI opcode
>>        drm/xe: Clarify number of dwords/qwords stored by MI_STORE_DATA_IMM
>>        drm/xe: Extract MI_* instructions to their own header
>>        drm/xe/debugfs: Add dump of default LRCs' MI instructions
>>        drm/xe/debugfs: Include GFXPIPE commands in LRC dump
>>        drm/xe: Prepare to emit non-register state while recording default LRC
>>        drm/xe: Emit SVG state on RCS during driver load on DG2 and MTL
>>        drm/xe/xe2: Update SVG state handling
>>        drm/xe/mocs: MOCS registers are multicast on Xe_HP and beyond
>>        drm/xe/xe2: Program correct MOCS registers
>>        drm/xe: Add Wa_14019821291
>>        drm/xe: Drop EXECLIST_CONTROL from error state dump
>>        drm/xe/dg2: Wa_18028616096 now applies to all DG2
>>        drm/xe/dg2: Drop Wa_22014600077
>>        drm/xe: Remove duplicate RING_MAX_NONPRIV_SLOTS definition
>>        drm/xe: Drop "_REG" suffix from CSFE_CHICKEN1
>>        drm/xe: Move some per-engine register definitions to the engine header
>>        drm/xe: Fix whitespace in register definitions
>>        drm/xe: Move engine base offsets to engine register header
>>        drm/xe: Move GSC HECI base offsets out of register header
>>        drm/xe: Define interrupt vector bits with the interrupt registers
>>        drm/xe: Re-sort GT register header
>>        drm/xe: Drop some unnecessary header includes
>>
>> Matthew Auld (94):
>>        drm/xe/pcode: fix pcode error check
>>        drm/xe/bo: reduce xe_bo_create_pin_map() restrictions
>>        drm/xe/ppgtt: clear the scratch page
>>        drm/xe/ppgtt: fix scratch page usage on DG2
>>        drm/xe/ggtt: fix alignment usage for DG2
>>        drm/xe/ggtt: fix GGTT scratch usage for DG2
>>        drm/xe/mmio: fix forcewake ref leak in xe_mmio_ioctl
>>        drm/xe/stolen: don't map stolen on small-bar
>>        drm/xe/query: zero the region info
>>        drm/xe/pm: fix unbalanced ref handling
>>        drm/xe: prefer xe_bo_create_pin_map()
>>        drm/xe/bo: explicitly reject zero sized BO
>>        drm/xe: s/lmem/vram/
>>        drm/xe: one more s/lmem/vram/
>>        drm/xe: add xe_ttm_stolen_cpu_access_needs_ggtt()
>>        drm/xe/vram: start tracking the io_size
>>        drm/xe/buddy: remove the virtualized start
>>        drm/xe/buddy: add visible tracking
>>        drm/xe/buddy: add compatible and intersects hooks
>>        drm/xe/gt: some error handling fixes
>>        drm/xe: add XE_BO_CREATE_VRAM_MASK
>>        drm/xe/bo: refactor try_add_vram
>>        drm/xe: fix suspend-resume for dgfx
>>        drm/xe/mmio: stop incorrectly triggering drm_warn
>>        drm/xe/tlb: fix expected_seqno calculation
>>        drm/xe/sched_job: prefer dma_fence_is_later
>>        drm/xe/lrc: give start_seqno a better default
>>        drm/xe: fix tlb_invalidation_seqno_past()
>>        drm/xe: fix kernel-doc issues
>>        drm/xe/bo: further limit where CCS pages are needed
>>        drm/xe/migrate: retain CCS aux state for vram -> vram
>>        drm/xe: don't allocate under ct->lock
>>        drm/xe: keep pulling mem_access_get further back
>>        drm/xe/vm: fix double list add
>>        drm/xe/bo: handle PL_TT -> PL_TT
>>        drm/xe/uapi: restrict system wide accounting
>>        drm/xe/uapi: add some kernel-doc for region query
>>        drm/xe/uapi: silence kernel-doc errors
>>        drm/doc: include xe_drm.h
>>        drm/xe/bo: consider bo->flags in xe_bo_migrate()
>>        drm/xe/tlb: drop unnecessary smp_wmb()
>>        drm/xe/tlb: ensure we access seqno_recv once
>>        drm/xe: hold mem_access.ref for CT fast-path
>>        drm/xe/ct: hold fast_lock when reserving space for g2h
>>        drm/xe/tlb: increment next seqno after successful CT send
>>        drm/xe/ct: serialise fast_lock during CT disable
>>        drm/xe/gt: tweak placement for signalling TLB fences after GT reset
>>        drm/xe/tlb: also update seqno_recv during reset
>>        drm/xe/tlb: print seqno_recv on fence TLB timeout
>>        drm/xe/ct: update g2h outstanding for CTB capture
>>        drm/xe: handle TLB invalidations from CT fast-path
>>        drm/xe/mmio: update gt_count when probing multi-tile
>>        drm/xe: fix xe_device_mem_access_get() races
>>        drm/xe/vm: tidy up xe_runtime_pm usage
>>        drm/xe/debugfs: grab mem_access around forcewake
>>        drm/xe/guc_pc: add missing mem_access for freq_rpe_show
>>        drm/xe/mmio: grab mem_access in xe_mmio_ioctl
>>        drm/xe: ensure correct access_put ordering
>>        drm/xe: drop xe_device_mem_access_get() from guc_ct_send
>>        drm/xe/ggtt: prime ggtt->lock against FS_RECLAIM
>>        drm/xe: drop xe_device_mem_access_get() from invalidation_vma
>>        drm/xe: add lockdep annotation for xe_device_mem_access_get()
>>        drm/xe/selftests: hold rpm for evict_test_run_device()
>>        drm/xe/selftests: hold rpm for ccs_test_migrate()
>>        drm/xe/selftests: restart GT after xe_bo_restore_kernel()
>>        drm/xe: add missing bulk_move reset
>>        drm/xe: add lockdep annotation for xe_device_mem_access_put()
>>        drm/xe/bo: support tiered vram allocation for small-bar
>>        drm/xe/uapi: add the userspace bits for small-bar
>>        drm/xe: fully turn on small-bar support
>>        drm/xe/engine: add missing rpm for bind engines
>>        drm/xe/guc_submit: prevent repeated unregister
>>        drm/xe: don't warn for bogus pagefaults
>>        drm/xe/guc_submit: fixup deregister in job timeout
>>        drm/xe: skip rebind_list if vma destroyed
>>        drm/xe/ct: fix resv_space print
>>        drm/xe: nuke GuC on unload
>>        drm/xe: fix has_llc on rkl
>>        drm/xe/selftests: consider multi-GT for eviction test
>>        drm/xe/selftests: make eviction test tile centric
>>        drm/xe/hwmon: fix uaf on unload
>>        drm/xe/pat: trim the xelp PAT table
>>        drm/xe: directly use pat_index for pte_encode
>>        drm/xe: fix pat[2] programming with 2M/1G pages
>>        drm/xe/migrate: fix MI_ARB_ON_OFF usage
>>        drm/xe/bo: consider dma-resv fences for clear job
>>        drm/xe/bo: sync kernel fences for KMD buffers
>>        drm/xe/display: ensure clear-color surfaces are cpu mappable
>>        drm/xe/bo: don't hold dma-resv lock over drm_gem_handle_create
>>        drm/xe: fix mem_access for early lrc generation
>>        drm/xe/pat: annotate pat_index with coherency mode
>>        drm/xe/uapi: support pat_index selection with vm_bind
>>        drm/xe/mocs: update MOCS table for xe2
>>        drm/xe: add some debug info for d3cold
>>
>> Matthew Brost (90):
>>        drm/xe: Introduce a new DRM driver for Intel GPUs
>>        drm/xe: Take memory ref on kernel job creation
>>        drm/xe: Ensure VMA not userptr before calling xe_bo_is_stolen
>>        drm/xe: Fake pulling gt->info.engine_mask from hwconfig blob
>>        drm/xe/guc: Report submission version of GuC firmware
>>        drm/xe/guc: s/xe_guc_send_mmio/xe_guc_mmio_send
>>        drm/xe/guc: Add support GuC MMIO send / recv
>>        drm/xe/migrate: Update emit_pte to cope with a size level than 4k
>>        drm/xe: Don't process TLB invalidation done in CT fast-path
>>        drm/xe: Break of TLB invalidation into its own file
>>        drm/xe: Move TLB invalidation variable to own sub-structure in GT
>>        drm/xe: Add TLB invalidation fence
>>        drm/xe: Invalidate TLB after unbind is complete
>>        drm/xe: Kernel doc GT TLB invalidations
>>        drm/xe: Add TLB invalidation fence ftrace
>>        drm/xe: Add TDR for invalidation fence timeout cleanup
>>        drm/xe: Only set VM->asid for platforms that support a ASID
>>        drm/xe: Delete debugfs entry to issue TLB invalidation
>>        drm/xe: Add has_range_tlb_invalidation device attribute
>>        drm/xe: Add range based TLB invalidations
>>        drm/xe: Propagate error from bind operations to async fence
>>        drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
>>        drm/xe: Lock GGTT on when restoring kernel BOs
>>        drm/xe: Propagate VM unbind error to invalidation fence
>>        drm/xe: Signal invalidation fence immediately if CT send fails
>>        drm/xe: Add has_asid to device info
>>        drm/xe: Add TLB invalidation fence after rebinds issued from execs
>>        drm/xe: Drop TLB invalidation from ring operations
>>        drm/xe: Drop zero length arrays
>>        drm/xe: Reinstate render / compute cache invalidation in ring ops
>>        drm/xe: Use BO's GT to determine dma_offset when programming PTEs
>>        drm/xe: Fix potential deadlock handling page faults
>>        drm/xe: Decrement fault mode counts in xe_vm_close_and_put
>>        drm/xe: Better error messages for xe_gt_record_default_lrcs
>>        drm/xe: Always write GEN12_RCU_MODE.GEN12_RCU_MODE_CCS_ENABLE for CCS engines
>>        drm/xe: Don't grab runtime PM ref in engine create IOCTL
>>        drm/xe: Allow compute VMs to output dma-fences on binds
>>        drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
>>        drm/xe/guc: Read HXG fields from DW1 of G2H response
>>        drm/xe: Handle unmapped userptr in analyze VM
>>        drm/xe: Use Xe ordered workqueue for rebind worker
>>        drm/xe: s/XE_PTE_READ_ONLY/XE_PTE_FLAG_READ_ONLY
>>        drm/xe: Move XE_PTE_FLAG_READ_ONLY to xe_vm_types.h
>>        drm/xe: NULL binding implementation
>>        drm/xe: Long running job update
>>        drm/xe: Ensure LR engines are not persistent
>>        drm/xe: Only try to lock external BOs in VM bind
>>        drm/xe: VM LRU bulk move
>>        drm/xe: Use internal VM flags in xe_vm_create
>>        drm/xe: Ban a VM if rebind worker hits an error
>>        drm/xe: Add helpers to hide struct xe_vma internals
>>        drm/xe: Remove __xe_vm_bind forward declaration
>>        drm/xe: Port Xe to GPUVA
>>        drm/xe: Make bind engines safe
>>        drm/xe: Remove xe_vma_op_unmap
>>        drm/xe: Avoid doing rebinds
>>        drm/xe: Reduce the number list links in xe_vma
>>        drm/xe: Replace list_del_init with list_del for userptr.invalidate_link cleanup
>>        drm/xe: Change tile masks from u64 to u8
>>        drm/xe: Combine destroy_cb and destroy_work in xe_vma into union
>>        drm/xe: Only alloc userptr part of xe_vma for userptrs
>>        drm/xe: Use migrate engine for page fault binds
>>        drm/xe: Always use xe_vm_queue_rebind_worker helper
>>        drm/xe: Signal out-syncs on VM binds if no operations
>>        drm/xe: Remove XE_GUC_CT_SELFTEST
>>        drm/xe: Remove ct->fence_context
>>        drm/xe: Add define WQ_HEADER_SIZE
>>        drm/xe: remove header variable from parse_g2h_msg
>>        drm/xe: Set max pte size when skipping rebinds
>>        drm/xe: Call __guc_exec_queue_fini_async direct for KERNEL exec_queues
>>        drm/xe: Convert xe_vma_op_flags to BIT macros
>>        drm/xe: Fixup unwind on VM ops errors
>>        drm/gpuva: Add drm_gpuva_for_each_op_reverse
>>        drm/xe: Fix array of binds
>>        drm/xe: Fix fence reservation accouting
>>        drm/xe: Fix exec queue usage for unbinds
>>        drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
>>        drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation
>>        drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue
>>        drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
>>        drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
>>        drm/xe: Remove async worker and rework sync binds
>>        drm/xe: Fix VM bind out-sync signaling ordering
>>        drm/xe: Adjust tile_present mask when skipping rebinds
>>        drm/xe: Use pool of ordered wq for GuC submission
>>        drm/xe: Only set xe_vma_op.map fields for GPUVA map operations
>>        drm/xe: Use a flags field instead of bools for VMA create
>>        drm/xe: Use a flags field instead of bools for sync parse
>>        drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs
>>        drm/xe/uapi: Remove sync binds
>>
>> Mauro Carvalho Chehab (5):
>>        drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs
>>        drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION
>>        drm/xe: skip Kunit tests requiring real hardware when running on UML
>>        drm/xe/xe_uc_fw: Use firmware files from standard locations
>>        drm/xe/uapi: Reject bo creation of unaligned size
>>
>> Michael J. Ruhl (5):
>>        drm/xe: Rework size helper to be a little more correct
>>        drm/xe: Simplify rebar sizing
>>        drm/xe: Size GT device memory correctly
>>        drm/xe: Rename GPU offset helper to reflect true usage
>>        drm/xe: REBAR resize should be best effort
>>
>> Michal Wajdeczko (23):
>>        drm/xe: Introduce GT oriented log messages
>>        drm/xe: Use GT oriented log messages in xe_gt.c
>>        drm/xe: Move Media GuC register definition to regs/
>>        drm/xe: Change GuC interrupt data
>>        drm/xe: Introduce Xe assert macros
>>        drm/xe/guc: Promote guc_to_gt/xe helpers to .h
>>        drm/xe/guc: Fix wrong assert about full_len
>>        drm/xe/guc: Copy response data from proper registers
>>        drm/xe/guc: Fix handling of GUC_HXG_TYPE_NO_RESPONSE_BUSY
>>        drm/xe/guc: Use valid scratch register for posting read
>>        drm/xe: Add device flag to indicate SR-IOV support
>>        drm/xe: Prepare for running in different SR-IOV modes
>>        drm/xe: Print virtualization mode during probe
>>        drm/xe/kunit: Return number of iterated devices
>>        drm/xe/guc: Drop ancient GuC CTB definitions
>>        drm/xe/guc: Remove obsolete GuC CTB documentation
>>        drm/xe/guc: Include only required GuC ABI headers
>>        drm/xe/doc: Include documentation about xe_assert()
>>        drm/xe: Define DRM_XE_DEBUG_SRIOV config
>>        drm/xe: Introduce SR-IOV logging macros
>>        drm/xe/pf: Introduce Local Memory Translation Table
>>        drm/xe/kunit: Enable CONFIG_PCI_IOV in .kunitconfig
>>        drm/xe/kunit: Add test for LMTT operations
>>
>> Michał Winiarski (21):
>>        drm/xe: Fix uninitialized variables
>>        drm/xe: Fix check for platform without geometry pipeline
>>        drm/xe: Fix header guard warning
>>        drm/xe: Skip calling drm_dev_put on probe error
>>        drm/xe: Use managed pci_enable_device
>>        drm/xe/irq: Don't call pci_free_irq_vectors
>>        drm/xe: Move xe_set_dma_info outside of MMIO setup
>>        drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
>>        drm/xe: Split xe_info_init
>>        drm/xe: Introduce xe_tile_init_early and use at earlier point in probe
>>        drm/xe: Map the entire BAR0 and hold onto the initial mapping
>>        drm/xe/device: Introduce xe_device_probe_early
>>        drm/xe: Don't "peek" into GMD_ID
>>        drm/xe: Move system memory management init to earlier point in probe
>>        drm/xe: Move force_wake init to earlier point in probe
>>        drm/xe: Reorder GGTT init to earlier point in probe
>>        drm/xe: Add a helper for DRM device-lifetime BO create
>>        drm/xe/uc: Split xe_uc_fw_init
>>        drm/xe/uc: Store firmware binary in system-memory backed BO
>>        drm/xe/uc: Extract xe_uc_sanitize_reset
>>        drm/xe/guc: Split GuC params used for "hwconfig" and "post-hwconfig"
>>
>> Mika Kuoppala (4):
>>        drm/xe: destroy clients engine and vm xarrays on close
>>        drm/xe: Fix unreffed ptr leak on engine lookup
>>        drm/xe: Extend drm_xe_vm_bind_op
>>        drm/xe/vm: Avoid asid lookup if none allocated
>>
>> Niranjana Vishwanathapura (16):
>>        drm/xe/migrate: Fix number of PT structs in docbook
>>        drm/xe/tests: Use proper batch base address
>>        drm/xe/tests: Set correct expectation
>>        drm/xe: Use proper vram offset
>>        drm/xe: Fix memory use after free
>>        drm/xe: Handle -EDEADLK case in preempt worker
>>        drm/xe: Handle -EDEADLK case in exec ioctl
>>        drm/xe: Apply upper limit to sg element size
>>        drm/xe: Simplify engine class sched_props setting
>>        drm/xe: Add CONFIG_DRM_XE_PREEMPT_TIMEOUT
>>        drm/xe/pvc: Blacklist BCS_SWCTRL register
>>        drm/xe/pvc: Force even num engines to use 64B
>>        drm/xe/pvc: Use fast copy engines as migrate engine on PVC
>>        drm/xe: Enable Fixed CCS mode setting
>>        drm/xe: Allow userspace to configure CCS mode
>>        drm/xe: Avoid any races around ccs_mode update
>>
>> Nirmoy Das (3):
>>        drm/xe/stolen: Exclude reserved lmem portion
>>        drm/xe: Do not sleep in atomic
>>        drm/xe: Print GT info on TLB inv failure
>>
>> Oak Zeng (3):
>>        drm/xe: Implement HW workaround 14016763929
>>        drm/xe: Make xe_mem_region struct
>>        drm/xe: Improve vram info debug printing
>>
>> Ohad Sharabi (1):
>>        drm/xe: do not register to PM if GuC is disabled
>>
>> Pallavi Mishra (5):
>>        drm/xe: Prevent return with locked vm
>>        drm/xe: Align size to PAGE_SIZE
>>        drm/xe: Dump CTB during TLB timeout
>>        drm/xe/tests: Fix migrate test
>>        drm/xe/uapi: Add support for CPU caching mode
>>
>> Paulo Zanoni (5):
>>        drm/xe: fix bounds checking for 'len' in xe_engine_create_ioctl
>>        drm/xe: properly check bounds for xe_wait_user_fence_ioctl()
>>        drm/xe/vm: print the correct 'keep' when printing gpuva ops
>>        drm/xe/vm: use list_last_entry() to fetch last_op
>>        drm/xe: fix range printing for debug messages
>>
>> Philippe Lecluse (4):
>>        drm/xe: enforce GSMBASE for DG1 instead of BAR2
>>        drm/xe: fix xe_mmio_total_vram_size
>>        drm/xe: Fix Meteor Lake rsa issue on guc loading
>>        drm/xe/mocs: add MTL mocs
>>
>> Priyanka Dandamudi (1):
>>        drm/xe/xe_exec_queue: Add check for access counter granularity
>>
>> Riana Tauro (5):
>>        drm/xe: Fix overflow in vram manager
>>        drm/xe/guc_pc: Reorder forcewake and xe_pm_runtime calls
>>        drm/xe: Fix GT looping for standalone media
>>        drm/xe: add a new sysfs directory for gtidle properties
>>        drm/xe: remove gucrc disable from suspend path
>>
>> Rodrigo Vivi (65):
>>        drm/xe: Implement a local xe_mmio_wait32
>>        drm/xe: Stop using i915's range_overflows_t macro.
>>        drm/xe: Let's return last value read on xe_mmio_wait32.
>>        drm/xe: Convert guc_ready to regular xe_mmio_wait32
>>        drm/xe: Wait for success on guc done.
>>        drm/xe: Remove i915_utils dependency from xe_guc_pc.
>>        drm/xe: Stop using i915_utils in xe_wopcm.
>>        drm/xe: Let's avoid i915_utils in the xe_force_wake.
>>        drm/xe: Convert xe_mmio_wait32 to us so we can stop using wait_for_us.
>>        drm/xe: Remove i915_utils dependency from xe_pcode.
>>        drm/xe/guc_pc: Fix Meteor Lake registers.
>>        drm/xe: Remove unseless xe_force_wake_prune.
>>        drm/xe: Update comment on why d3cold is still blocked.
>>        drm/xe: Fix print of RING_EXECLIST_SQ_CONTENTS_HI
>>        drm/xe: Introduce the dev_coredump infrastructure.
>>        drm/xe: Do not take any action if our device was removed.
>>        drm/xe: Extract non mapped regions out of GuC CTB into its own struct.
>>        drm/xe: Convert GuC CT print to snapshot capture and print.
>>        drm/xe: Add GuC CT snapshot to xe_devcoredump.
>>        drm/xe: Introduce guc_submit_types.h with relevant structs.
>>        drm/xe: Convert GuC Engine print to snapshot capture and print.
>>        drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
>>        drm/xe: Convert Xe HW Engine print to snapshot capture and print.
>>        drm/xe: Add HW Engine snapshot to xe_devcoredump.
>>        drm/xe: Limit CONFIG_DRM_XE_SIMPLE_ERROR_CAPTURE to itself.
>>        drm/xe/uapi: Remove XE_QUERY_CONFIG_FLAGS_USE_GUC
>>        drm/xe: Invert guc vs execlists parameters and info.
>>        drm/xe: Fix an invalid locking wait context bug
>>        drm/xe: Invert mask and val in xe_mmio_wait32.
>>        drm/xe: Only set PCI d3cold_allowed when we are really allowing.
>>        drm/xe: Move d3cold_allowed decision all together.
>>        drm/xe: Fix the runtime_idle call and d3cold.allowed decision.
>>        drm/xe: Only init runtime PM after all d3cold config is in place.
>>        drm/xe: Ensure memory eviction on s2idle.
>>        drm/xe/uapi: Typo lingo and other small backwards compatible fixes
>>        drm/xe/uapi: Remove useless max_page_size
>>        drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
>>        drm/xe/uapi: Document drm_xe_query_gt
>>        drm/xe/uapi: Replace useless 'instance' per unique gt_id
>>        drm/xe/uapi: Remove unused field of drm_xe_query_gt
>>        drm/xe/uapi: Rename gts to gt_list
>>        drm/xe/uapi: Remove GT_TYPE_REMOTE
>>        drm/xe/uapi: Kill VM_MADVISE IOCTL
>>        drm/xe/uapi: Rename *_mem_regions masks
>>        drm/xe/uapi: Rename query's mem_usage to mem_regions
>>        drm/xe/uapi: Standardize the FLAG naming and assignment
>>        drm/xe/uapi: Differentiate WAIT_OP from WAIT_MASK
>>        drm/xe/uapi: Be more specific about the vm_bind prefetch region
>>        drm/xe/uapi: Separate bo_create placement from flags
>>        drm/xe/uapi: Split xe_sync types from flags
>>        drm/xe/uapi: Kill tile_mask
>>        drm/xe/uapi: Crystal Reference Clock updates
>>        drm/xe/uapi: Add Tile ID information to the GT info query
>>        drm/xe/uapi: Fix various struct padding for 64b alignment
>>        drm/xe/uapi: Move xe_exec after xe_exec_queue
>>        drm/xe: Remove unused extension definition
>>        drm/xe/uapi: Kill exec_queue_set_property
>>        drm/xe: Create a xe_gt_freq component for raw management and sysfs
>>        drm/xe: Remove vram size info from sysfs
>>        drm/xe/uapi: Ensure every uapi struct has drm_xe prefix
>>        drm/xe/uapi: Order sections
>>        drm/xe/uapi: More uAPI documentation additions and cosmetic updates
>>        drm/xe/uapi: Document the memory_region bitmask
>>        drm/xe/uapi: Remove reset uevent for now
>>        MAINTAINERS: Updates to Intel DRM
>>
>> Ruthuvikas Ravikumar (1):
>>        drm/xe: Add mocs kunit
>>
>> Shekhar Chauhan (6):
>>        drm/xe/dg2: Remove Wa_15010599737
>>        drm/xe: Add Wa_18028616096
>>        drm/xe: Add new DG2 PCI IDs
>>        drm/xe/dg2: Remove one PCI ID
>>        drm/xe: Add performance tuning settings for MTL and Xe2
>>        drm/xe/xelpmp: Extend Wa_22016670082 to Xe_LPM+
>>
>> Sujaritha Sundaresan (2):
>>        drm/xe: Change the name of frequency sysfs attributes
>>        drm/xe: Add frequency throttle reasons sysfs attributes
>>
>> Suraj Kandpal (1):
>>        drm/xe/hdcp: Define intel_hdcp_gsc_check_status in Xe
>>
>> Tejas Upadhyay (26):
>>        drm/xe: Add sysfs entry for tile
>>        drm/xe: Add GTs under respective tile sysfs
>>        drm/xe: Add sysfs entry to report per tile memory size
>>        drm/xe: Make usable size of VRAM readable
>>        drm/xe: make GT sysfs init return void
>>        drm/xe: make kobject type struct as constant
>>        drm/xe: Add sysfs entries for engines under its GT
>>        drm/xe: Add sysfs for default engine scheduler properties
>>        drm/xe: Add job timeout engine property to sysfs
>>        drm/xe: Add timeslice duration engine property to sysfs
>>        drm/xe: Add sysfs for preempt reset timeout
>>        drm/xe: Add min/max cap for engine scheduler properties
>>        drm/xe: Add drm-client infrastructure
>>        drm/xe: Interface xe drm client with fdinfo interface
>>        drm/xe: Add tracking support for bos per client
>>        drm/xe: Record each drm client with its VM
>>        drm/xe: Track page table memory usage for client
>>        drm/xe: Account ring buffer and context state storage
>>        drm/xe: Implement fdinfo memory stats printing
>>        drm/xe/xe2: Add workaround 14017421178
>>        drm/xe/xe2: Add workaround 16021867713
>>        drm/xe/xe2: Add workaround 14019449301
>>        drm/xe/xe2: Add workaround 14020013138
>>        drm/xe/xe2: Add workaround 16020292621
>>        drm/xe/xe2: Add workaround 14019988906
>>        drm/xe/xe2: Add workaround 18032095049 and 16021639441
>>
>> Thomas Hellström (41):
>>        drm/xe/migrate: Add kerneldoc for the migrate subsystem
>>        drm/xe/tests: Remove CONFIG_FB dependency
>>        drm/xe/tests: Grab a memory access reference around the migrate sanity test
>>        drm/xe/vm: Use the correct vma destroy sequence on userptr failure
>>        drm/xe: Use a define to set initial seqno for fences
>>        drm/xe/migrate: Update cpu page-table updates
>>        drm/xe/tests: Support CPU page-table updates in the migrate test
>>        drm/xe: Introduce xe_engine_is_idle()
>>        drm/xe: Use a small negative initial seqno
>>        drm/xe/tests: Test both CPU- and GPU page-table updates with the migrate test
>>        drm/xe/vm: Defer vm rebind until next exec if nothing to execute
>>        drm/xe: Fix the migrate selftest for integrated GPUs
>>        drm/xe: Support copying of data between system memory bos
>>        drm/xe: Invalidate TLB also on bind if in scratch page mode
>>        drm/xe: Emit a render cache flush after each rcs/ccs batch
>>        drm/xe/bo: Fix swapin when moving to VRAM
>>        drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
>>        drm/xe/bo: Gracefully handle errors from ttm_bo_move_accel_cleanup().
>>        drm/xe/bo: Evict VRAM to TT rather than to system
>>        drm/xe: Fix vm refcount races
>>        drm/xe: Make page-table updates using the default engine happen in order
>>        drm/xe: Introduce a range-fence utility
>>        drm/xe/bo: Simplify xe_bo_lock()
>>        drm/xe/vm: Simplify and document xe_vm_lock()
>>        drm/xe/bo: Remove the lock_no_vm()/unlock_no_vm() interface
>>        drm/xe: Rework xe_exec and the VM rebind worker to use the drm_exec helper
>>        drm/xe: Convert pagefaulting code to use drm_exec
>>        drm/xe: Convert remaining instances of ttm_eu_reserve_buffers to drm_exec
>>        drm/xe: Reinstate pipelined fence enable_signaling
>>        drm/xe: Disallow pinning dma-bufs in VRAM
>>        drm/xe: Update SPDX deprecated license identifier
>>        drm/xe: Ensure that we don't access the placements array out-of-bounds
>>        drm/xe/bo: Rename xe_bo_get_sg() to xe_bo_sg()
>>        drm/xe/bo: Remove leftover trace_printk()
>>        drm/xe/vm: Fix ASID XA usage
>>        drm/xe: Internally change the compute_mode and no_dma_fence mode naming
>>        drm/xe/uapi: Use LR abbrev for long-running vms
>>        drm/xe: Restrict huge PTEs to 1GiB
>>        drm/xe: Use NULL PTEs as scratch PTEs
>>        drm/xe: Use DRM GPUVM helpers for external- and evicted objects
>>        drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm
>>
>> Uma Shankar (1):
>>        drm/xe/display: Create a dummy version for vga decode
>>
>> Umesh Nerlige Ramappa (3):
>>        drm/xe: Fix array bounds check for queries
>>        drm/xe: Set the correct type for xe_to_user_engine_class
>>        drm/xe: Correlate engine and cpu timestamps with better accuracy
>>
>> Vinay Belgaumkar (5):
>>        drm/xe: Raise GT frequency before GuC/HuC load
>>        drm/xe: Rename xe_gt_idle_sysfs to xe_gt_idle
>>        drm/xe: Add skip_guc_pc flag
>>        drm/xe: Manually setup C6 when skip_guc_pc is set
>>        drm/xe: Check skip_guc_pc before disabling gucrc
>>
>> Vitaly Lubart (3):
>>        drm/xe/gsc: add HECI2 register offsets
>>        drm/xe/gsc: add has_heci_gscfi indication to device
>>        drm/xe/gsc: add gsc device support
>>
>> Zbigniew Kempczyński (1):
>>        drm/xe: Use nanoseconds instead of jiffies in uapi for user fence
>>
>> Zhanjun Dong (1):
>>        drm/xe: Add patch version on guc firmware init
>>
>>   .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   70 +
>>   Documentation/gpu/driver-uapi.rst                  |    5 +
>>   Documentation/gpu/drivers.rst                      |    1 +
>>   Documentation/gpu/xe/index.rst                     |   25 +
>>   Documentation/gpu/xe/xe_cs.rst                     |    8 +
>>   Documentation/gpu/xe/xe_debugging.rst              |    7 +
>>   Documentation/gpu/xe/xe_firmware.rst               |   37 +
>>   Documentation/gpu/xe/xe_gt_mcr.rst                 |   13 +
>>   Documentation/gpu/xe/xe_map.rst                    |    8 +
>>   Documentation/gpu/xe/xe_migrate.rst                |    8 +
>>   Documentation/gpu/xe/xe_mm.rst                     |   14 +
>>   Documentation/gpu/xe/xe_pcode.rst                  |   14 +
>>   Documentation/gpu/xe/xe_pm.rst                     |   14 +
>>   Documentation/gpu/xe/xe_rtp.rst                    |   20 +
>>   Documentation/gpu/xe/xe_tile.rst                   |   14 +
>>   Documentation/gpu/xe/xe_wa.rst                     |   14 +
>>   MAINTAINERS                                        |   29 +-
>>   drivers/gpu/drm/Kconfig                            |    2 +
>>   drivers/gpu/drm/Makefile                           |    1 +
>>   drivers/gpu/drm/xe/.gitignore                      |    4 +
>>   drivers/gpu/drm/xe/.kunitconfig                    |   13 +
>>   drivers/gpu/drm/xe/Kconfig                         |   96 +
>>   drivers/gpu/drm/xe/Kconfig.debug                   |  107 +
>>   drivers/gpu/drm/xe/Kconfig.profile                 |   54 +
>>   drivers/gpu/drm/xe/Makefile                        |  305 ++
>>   drivers/gpu/drm/xe/abi/gsc_command_header_abi.h    |   46 +
>>   drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h     |   39 +
>>   drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h      |   59 +
>>   drivers/gpu/drm/xe/abi/guc_actions_abi.h           |  219 ++
>>   drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h      |  249 ++
>>   drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |  127 +
>>   .../gpu/drm/xe/abi/guc_communication_mmio_abi.h    |   49 +
>>   drivers/gpu/drm/xe/abi/guc_errors_abi.h            |   37 +
>>   drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  322 ++
>>   drivers/gpu/drm/xe/abi/guc_messages_abi.h          |  234 ++
>>   .../drm/xe/compat-i915-headers/gem/i915_gem_lmem.h |    1 +
>>   .../drm/xe/compat-i915-headers/gem/i915_gem_mman.h |   17 +
>>   .../xe/compat-i915-headers/gem/i915_gem_object.h   |   65 +
>>   .../gem/i915_gem_object_frontbuffer.h              |   12 +
>>   .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h  |   11 +
>>   .../gpu/drm/xe/compat-i915-headers/i915_active.h   |   22 +
>>   .../drm/xe/compat-i915-headers/i915_active_types.h |   13 +
>>   .../gpu/drm/xe/compat-i915-headers/i915_config.h   |   19 +
>>   .../gpu/drm/xe/compat-i915-headers/i915_debugfs.h  |   14 +
>>   drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  233 ++
>>   .../gpu/drm/xe/compat-i915-headers/i915_fixed.h    |    6 +
>>   drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h  |    9 +
>>   .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   79 +
>>   .../drm/xe/compat-i915-headers/i915_gpu_error.h    |   17 +
>>   drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h  |    6 +
>>   drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h  |    6 +
>>   .../gpu/drm/xe/compat-i915-headers/i915_reg_defs.h |    6 +
>>   .../gpu/drm/xe/compat-i915-headers/i915_trace.h    |    6 +
>>   .../gpu/drm/xe/compat-i915-headers/i915_utils.h    |    6 +
>>   drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h |   44 +
>>   drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h  |   34 +
>>   .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 +
>>   .../xe/compat-i915-headers/intel_clock_gating.h    |    6 +
>>   .../drm/xe/compat-i915-headers/intel_gt_types.h    |   11 +
>>   .../drm/xe/compat-i915-headers/intel_mchbar_regs.h |    6 +
>>   .../drm/xe/compat-i915-headers/intel_pci_config.h  |    6 +
>>   .../gpu/drm/xe/compat-i915-headers/intel_pcode.h   |   42 +
>>   .../drm/xe/compat-i915-headers/intel_runtime_pm.h  |   16 +
>>   .../gpu/drm/xe/compat-i915-headers/intel_step.h    |   20 +
>>   .../gpu/drm/xe/compat-i915-headers/intel_uc_fw.h   |   11 +
>>   .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |  175 ++
>>   .../gpu/drm/xe/compat-i915-headers/intel_wakeref.h |    8 +
>>   .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |   28 +
>>   .../drm/xe/compat-i915-headers/soc/intel_dram.h    |    6 +
>>   .../drm/xe/compat-i915-headers/soc/intel_gmch.h    |    6 +
>>   .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h |    6 +
>>   .../gpu/drm/xe/compat-i915-headers/vlv_sideband.h  |  132 +
>>   .../drm/xe/compat-i915-headers/vlv_sideband_reg.h  |    6 +
>>   drivers/gpu/drm/xe/display/ext/i915_irq.c          |   77 +
>>   drivers/gpu/drm/xe/display/ext/i915_utils.c        |   26 +
>>   drivers/gpu/drm/xe/display/intel_fb_bo.c           |   74 +
>>   drivers/gpu/drm/xe/display/intel_fb_bo.h           |   24 +
>>   drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |  104 +
>>   drivers/gpu/drm/xe/display/intel_fbdev_fb.h        |   21 +
>>   drivers/gpu/drm/xe/display/xe_display_misc.c       |   16 +
>>   drivers/gpu/drm/xe/display/xe_display_rps.c        |   17 +
>>   drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |   71 +
>>   drivers/gpu/drm/xe/display/xe_fb_pin.c             |  384 +++
>>   drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   34 +
>>   drivers/gpu/drm/xe/display/xe_plane_initial.c      |  291 ++
>>   .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |  160 +
>>   drivers/gpu/drm/xe/instructions/xe_gsc_commands.h  |   36 +
>>   drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |   33 +
>>   drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   61 +
>>   drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  184 ++
>>   drivers/gpu/drm/xe/regs/xe_gpu_commands.h          |   70 +
>>   drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |   41 +
>>   drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  478 +++
>>   drivers/gpu/drm/xe/regs/xe_guc_regs.h              |  143 +
>>   drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   17 +
>>   drivers/gpu/drm/xe/regs/xe_mchbar_regs.h           |   44 +
>>   drivers/gpu/drm/xe/regs/xe_reg_defs.h              |  120 +
>>   drivers/gpu/drm/xe/regs/xe_regs.h                  |   68 +
>>   drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   17 +
>>   drivers/gpu/drm/xe/tests/Makefile                  |   10 +
>>   drivers/gpu/drm/xe/tests/xe_bo.c                   |  353 +++
>>   drivers/gpu/drm/xe/tests/xe_bo_test.c              |   26 +
>>   drivers/gpu/drm/xe/tests/xe_bo_test.h              |   14 +
>>   drivers/gpu/drm/xe/tests/xe_dma_buf.c              |  278 ++
>>   drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |   25 +
>>   drivers/gpu/drm/xe/tests/xe_dma_buf_test.h         |   13 +
>>   drivers/gpu/drm/xe/tests/xe_lmtt_test.c            |   73 +
>>   drivers/gpu/drm/xe/tests/xe_migrate.c              |  444 +++
>>   drivers/gpu/drm/xe/tests/xe_migrate_test.c         |   25 +
>>   drivers/gpu/drm/xe/tests/xe_migrate_test.h         |   13 +
>>   drivers/gpu/drm/xe/tests/xe_mocs.c                 |  130 +
>>   drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   24 +
>>   drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   13 +
>>   drivers/gpu/drm/xe/tests/xe_pci.c                  |  166 +
>>   drivers/gpu/drm/xe/tests/xe_pci_test.c             |   71 +
>>   drivers/gpu/drm/xe/tests/xe_pci_test.h             |   36 +
>>   drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  319 ++
>>   drivers/gpu/drm/xe/tests/xe_test.h                 |   67 +
>>   drivers/gpu/drm/xe/tests/xe_wa_test.c              |  170 ++
>>   drivers/gpu/drm/xe/xe_assert.h                     |  174 ++
>>   drivers/gpu/drm/xe/xe_bb.c                         |  110 +
>>   drivers/gpu/drm/xe/xe_bb.h                         |   25 +
>>   drivers/gpu/drm/xe/xe_bb_types.h                   |   20 +
>>   drivers/gpu/drm/xe/xe_bo.c                         | 2269 ++++++++++++++
>>   drivers/gpu/drm/xe/xe_bo.h                         |  355 +++
>>   drivers/gpu/drm/xe/xe_bo_doc.h                     |  179 ++
>>   drivers/gpu/drm/xe/xe_bo_evict.c                   |  228 ++
>>   drivers/gpu/drm/xe/xe_bo_evict.h                   |   15 +
>>   drivers/gpu/drm/xe/xe_bo_types.h                   |   96 +
>>   drivers/gpu/drm/xe/xe_debugfs.c                    |  148 +
>>   drivers/gpu/drm/xe/xe_debugfs.h                    |   13 +
>>   drivers/gpu/drm/xe/xe_devcoredump.c                |  196 ++
>>   drivers/gpu/drm/xe/xe_devcoredump.h                |   20 +
>>   drivers/gpu/drm/xe/xe_devcoredump_types.h          |   55 +
>>   drivers/gpu/drm/xe/xe_device.c                     |  700 +++++
>>   drivers/gpu/drm/xe/xe_device.h                     |  173 ++
>>   drivers/gpu/drm/xe/xe_device_sysfs.c               |   89 +
>>   drivers/gpu/drm/xe/xe_device_sysfs.h               |   13 +
>>   drivers/gpu/drm/xe/xe_device_types.h               |  545 ++++
>>   drivers/gpu/drm/xe/xe_display.c                    |  422 +++
>>   drivers/gpu/drm/xe/xe_display.h                    |   72 +
>>   drivers/gpu/drm/xe/xe_dma_buf.c                    |  322 ++
>>   drivers/gpu/drm/xe/xe_dma_buf.h                    |   15 +
>>   drivers/gpu/drm/xe/xe_drm_client.c                 |  204 ++
>>   drivers/gpu/drm/xe/xe_drm_client.h                 |   70 +
>>   drivers/gpu/drm/xe/xe_drv.h                        |   23 +
>>   drivers/gpu/drm/xe/xe_exec.c                       |  350 +++
>>   drivers/gpu/drm/xe/xe_exec.h                       |   14 +
>>   drivers/gpu/drm/xe/xe_exec_queue.c                 |  956 ++++++
>>   drivers/gpu/drm/xe/xe_exec_queue.h                 |   69 +
>>   drivers/gpu/drm/xe/xe_exec_queue_types.h           |  222 ++
>>   drivers/gpu/drm/xe/xe_execlist.c                   |  474 +++
>>   drivers/gpu/drm/xe/xe_execlist.h                   |   21 +
>>   drivers/gpu/drm/xe/xe_execlist_types.h             |   49 +
>>   drivers/gpu/drm/xe/xe_force_wake.c                 |  199 ++
>>   drivers/gpu/drm/xe/xe_force_wake.h                 |   38 +
>>   drivers/gpu/drm/xe/xe_force_wake_types.h           |   86 +
>>   drivers/gpu/drm/xe/xe_gen_wa_oob.c                 |  165 +
>>   drivers/gpu/drm/xe/xe_ggtt.c                       |  428 +++
>>   drivers/gpu/drm/xe/xe_ggtt.h                       |   33 +
>>   drivers/gpu/drm/xe/xe_ggtt_types.h                 |   39 +
>>   drivers/gpu/drm/xe/xe_gpu_scheduler.c              |  101 +
>>   drivers/gpu/drm/xe/xe_gpu_scheduler.h              |   73 +
>>   drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   57 +
>>   drivers/gpu/drm/xe/xe_gsc.c                        |  438 +++
>>   drivers/gpu/drm/xe/xe_gsc.h                        |   20 +
>>   drivers/gpu/drm/xe/xe_gsc_submit.c                 |  184 ++
>>   drivers/gpu/drm/xe/xe_gsc_submit.h                 |   30 +
>>   drivers/gpu/drm/xe/xe_gsc_types.h                  |   39 +
>>   drivers/gpu/drm/xe/xe_gt.c                         |  778 +++++
>>   drivers/gpu/drm/xe/xe_gt.h                         |   72 +
>>   drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  191 ++
>>   drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |   24 +
>>   drivers/gpu/drm/xe/xe_gt_clock.c                   |   85 +
>>   drivers/gpu/drm/xe/xe_gt_clock.h                   |   15 +
>>   drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  249 ++
>>   drivers/gpu/drm/xe/xe_gt_debugfs.h                 |   13 +
>>   drivers/gpu/drm/xe/xe_gt_freq.c                    |  219 ++
>>   drivers/gpu/drm/xe/xe_gt_freq.h                    |   13 +
>>   drivers/gpu/drm/xe/xe_gt_idle.c                    |  192 ++
>>   drivers/gpu/drm/xe/xe_gt_idle.h                    |   17 +
>>   drivers/gpu/drm/xe/xe_gt_idle_types.h              |   38 +
>>   drivers/gpu/drm/xe/xe_gt_mcr.c                     |  685 +++++
>>   drivers/gpu/drm/xe/xe_gt_mcr.h                     |   29 +
>>   drivers/gpu/drm/xe/xe_gt_pagefault.c               |  646 ++++
>>   drivers/gpu/drm/xe/xe_gt_pagefault.h               |   19 +
>>   drivers/gpu/drm/xe/xe_gt_printk.h                  |   46 +
>>   drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   61 +
>>   drivers/gpu/drm/xe/xe_gt_sysfs.h                   |   19 +
>>   drivers/gpu/drm/xe/xe_gt_sysfs_types.h             |   26 +
>>   drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |  251 ++
>>   drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |   16 +
>>   drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  406 +++
>>   drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   26 +
>>   drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h  |   28 +
>>   drivers/gpu/drm/xe/xe_gt_topology.c                |  169 ++
>>   drivers/gpu/drm/xe/xe_gt_topology.h                |   25 +
>>   drivers/gpu/drm/xe/xe_gt_types.h                   |  363 +++
>>   drivers/gpu/drm/xe/xe_guc.c                        |  911 ++++++
>>   drivers/gpu/drm/xe/xe_guc.h                        |   72 +
>>   drivers/gpu/drm/xe/xe_guc_ads.c                    |  672 ++++
>>   drivers/gpu/drm/xe/xe_guc_ads.h                    |   17 +
>>   drivers/gpu/drm/xe/xe_guc_ads_types.h              |   25 +
>>   drivers/gpu/drm/xe/xe_guc_ct.c                     | 1320 ++++++++
>>   drivers/gpu/drm/xe/xe_guc_ct.h                     |   59 +
>>   drivers/gpu/drm/xe/xe_guc_ct_types.h               |  115 +
>>   drivers/gpu/drm/xe/xe_guc_debugfs.c                |   74 +
>>   drivers/gpu/drm/xe/xe_guc_debugfs.h                |   14 +
>>   drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   54 +
>>   drivers/gpu/drm/xe/xe_guc_fwif.h                   |  361 +++
>>   drivers/gpu/drm/xe/xe_guc_hwconfig.c               |  104 +
>>   drivers/gpu/drm/xe/xe_guc_hwconfig.h               |   17 +
>>   drivers/gpu/drm/xe/xe_guc_log.c                    |   97 +
>>   drivers/gpu/drm/xe/xe_guc_log.h                    |   48 +
>>   drivers/gpu/drm/xe/xe_guc_log_types.h              |   23 +
>>   drivers/gpu/drm/xe/xe_guc_pc.c                     | 1000 ++++++
>>   drivers/gpu/drm/xe/xe_guc_pc.h                     |   31 +
>>   drivers/gpu/drm/xe/xe_guc_pc_types.h               |   34 +
>>   drivers/gpu/drm/xe/xe_guc_submit.c                 | 1990 ++++++++++++
>>   drivers/gpu/drm/xe/xe_guc_submit.h                 |   38 +
>>   drivers/gpu/drm/xe/xe_guc_submit_types.h           |  155 +
>>   drivers/gpu/drm/xe/xe_guc_types.h                  |   81 +
>>   drivers/gpu/drm/xe/xe_heci_gsc.c                   |  234 ++
>>   drivers/gpu/drm/xe/xe_heci_gsc.h                   |   35 +
>>   drivers/gpu/drm/xe/xe_huc.c                        |  307 ++
>>   drivers/gpu/drm/xe/xe_huc.h                        |   26 +
>>   drivers/gpu/drm/xe/xe_huc_debugfs.c                |   70 +
>>   drivers/gpu/drm/xe/xe_huc_debugfs.h                |   14 +
>>   drivers/gpu/drm/xe/xe_huc_types.h                  |   24 +
>>   drivers/gpu/drm/xe/xe_hw_engine.c                  |  883 ++++++
>>   drivers/gpu/drm/xe/xe_hw_engine.h                  |   70 +
>>   drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  675 +++++
>>   drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |   36 +
>>   drivers/gpu/drm/xe/xe_hw_engine_types.h            |  225 ++
>>   drivers/gpu/drm/xe/xe_hw_fence.c                   |  230 ++
>>   drivers/gpu/drm/xe/xe_hw_fence.h                   |   30 +
>>   drivers/gpu/drm/xe/xe_hw_fence_types.h             |   72 +
>>   drivers/gpu/drm/xe/xe_hwmon.c                      |  776 +++++
>>   drivers/gpu/drm/xe/xe_hwmon.h                      |   19 +
>>   drivers/gpu/drm/xe/xe_irq.c                        |  666 ++++
>>   drivers/gpu/drm/xe/xe_irq.h                        |   19 +
>>   drivers/gpu/drm/xe/xe_lmtt.c                       |  506 +++
>>   drivers/gpu/drm/xe/xe_lmtt.h                       |   27 +
>>   drivers/gpu/drm/xe/xe_lmtt_2l.c                    |  150 +
>>   drivers/gpu/drm/xe/xe_lmtt_ml.c                    |  161 +
>>   drivers/gpu/drm/xe/xe_lmtt_types.h                 |   63 +
>>   drivers/gpu/drm/xe/xe_lrc.c                        | 1272 ++++++++
>>   drivers/gpu/drm/xe/xe_lrc.h                        |   58 +
>>   drivers/gpu/drm/xe/xe_lrc_types.h                  |   46 +
>>   drivers/gpu/drm/xe/xe_macros.h                     |   18 +
>>   drivers/gpu/drm/xe/xe_map.h                        |   93 +
>>   drivers/gpu/drm/xe/xe_migrate.c                    | 1410 +++++++++
>>   drivers/gpu/drm/xe/xe_migrate.h                    |  110 +
>>   drivers/gpu/drm/xe/xe_migrate_doc.h                |   88 +
>>   drivers/gpu/drm/xe/xe_mmio.c                       |  524 ++++
>>   drivers/gpu/drm/xe/xe_mmio.h                       |  107 +
>>   drivers/gpu/drm/xe/xe_mocs.c                       |  580 ++++
>>   drivers/gpu/drm/xe/xe_mocs.h                       |   17 +
>>   drivers/gpu/drm/xe/xe_module.c                     |  101 +
>>   drivers/gpu/drm/xe/xe_module.h                     |   26 +
>>   drivers/gpu/drm/xe/xe_pat.c                        |  459 +++
>>   drivers/gpu/drm/xe/xe_pat.h                        |   61 +
>>   drivers/gpu/drm/xe/xe_pci.c                        |  951 ++++++
>>   drivers/gpu/drm/xe/xe_pci.h                        |   12 +
>>   drivers/gpu/drm/xe/xe_pci_types.h                  |   46 +
>>   drivers/gpu/drm/xe/xe_pcode.c                      |  296 ++
>>   drivers/gpu/drm/xe/xe_pcode.h                      |   30 +
>>   drivers/gpu/drm/xe/xe_pcode_api.h                  |   49 +
>>   drivers/gpu/drm/xe/xe_platform_types.h             |   37 +
>>   drivers/gpu/drm/xe/xe_pm.c                         |  405 +++
>>   drivers/gpu/drm/xe/xe_pm.h                         |   35 +
>>   drivers/gpu/drm/xe/xe_preempt_fence.c              |  158 +
>>   drivers/gpu/drm/xe/xe_preempt_fence.h              |   61 +
>>   drivers/gpu/drm/xe/xe_preempt_fence_types.h        |   32 +
>>   drivers/gpu/drm/xe/xe_pt.c                         | 1653 ++++++++++
>>   drivers/gpu/drm/xe/xe_pt.h                         |   48 +
>>   drivers/gpu/drm/xe/xe_pt_types.h                   |   77 +
>>   drivers/gpu/drm/xe/xe_pt_walk.c                    |  160 +
>>   drivers/gpu/drm/xe/xe_pt_walk.h                    |  161 +
>>   drivers/gpu/drm/xe/xe_query.c                      |  552 ++++
>>   drivers/gpu/drm/xe/xe_query.h                      |   14 +
>>   drivers/gpu/drm/xe/xe_range_fence.c                |  156 +
>>   drivers/gpu/drm/xe/xe_range_fence.h                |   75 +
>>   drivers/gpu/drm/xe/xe_reg_sr.c                     |  284 ++
>>   drivers/gpu/drm/xe/xe_reg_sr.h                     |   28 +
>>   drivers/gpu/drm/xe/xe_reg_sr_types.h               |   37 +
>>   drivers/gpu/drm/xe/xe_reg_whitelist.c              |  146 +
>>   drivers/gpu/drm/xe/xe_reg_whitelist.h              |   23 +
>>   drivers/gpu/drm/xe/xe_res_cursor.h                 |  240 ++
>>   drivers/gpu/drm/xe/xe_ring_ops.c                   |  482 +++
>>   drivers/gpu/drm/xe/xe_ring_ops.h                   |   17 +
>>   drivers/gpu/drm/xe/xe_ring_ops_types.h             |   22 +
>>   drivers/gpu/drm/xe/xe_rtp.c                        |  325 ++
>>   drivers/gpu/drm/xe/xe_rtp.h                        |  430 +++
>>   drivers/gpu/drm/xe/xe_rtp_helpers.h                |   81 +
>>   drivers/gpu/drm/xe/xe_rtp_types.h                  |  124 +
>>   drivers/gpu/drm/xe/xe_sa.c                         |  106 +
>>   drivers/gpu/drm/xe/xe_sa.h                         |   40 +
>>   drivers/gpu/drm/xe/xe_sa_types.h                   |   19 +
>>   drivers/gpu/drm/xe/xe_sched_job.c                  |  280 ++
>>   drivers/gpu/drm/xe/xe_sched_job.h                  |   80 +
>>   drivers/gpu/drm/xe/xe_sched_job_types.h            |   46 +
>>   drivers/gpu/drm/xe/xe_sriov.c                      |   55 +
>>   drivers/gpu/drm/xe/xe_sriov.h                      |   42 +
>>   drivers/gpu/drm/xe/xe_sriov_printk.h               |   46 +
>>   drivers/gpu/drm/xe/xe_sriov_types.h                |   28 +
>>   drivers/gpu/drm/xe/xe_step.c                       |  264 ++
>>   drivers/gpu/drm/xe/xe_step.h                       |   23 +
>>   drivers/gpu/drm/xe/xe_step_types.h                 |   50 +
>>   drivers/gpu/drm/xe/xe_sync.c                       |  344 +++
>>   drivers/gpu/drm/xe/xe_sync.h                       |   36 +
>>   drivers/gpu/drm/xe/xe_sync_types.h                 |   28 +
>>   drivers/gpu/drm/xe/xe_tile.c                       |  185 ++
>>   drivers/gpu/drm/xe/xe_tile.h                       |   18 +
>>   drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   57 +
>>   drivers/gpu/drm/xe/xe_tile_sysfs.h                 |   19 +
>>   drivers/gpu/drm/xe/xe_tile_sysfs_types.h           |   27 +
>>   drivers/gpu/drm/xe/xe_trace.c                      |    9 +
>>   drivers/gpu/drm/xe/xe_trace.h                      |  608 ++++
>>   drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |  334 ++
>>   drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h             |   21 +
>>   drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |  118 +
>>   drivers/gpu/drm/xe/xe_ttm_sys_mgr.h                |   13 +
>>   drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |  480 +++
>>   drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |   44 +
>>   drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h         |   52 +
>>   drivers/gpu/drm/xe/xe_tuning.c                     |  121 +
>>   drivers/gpu/drm/xe/xe_tuning.h                     |   16 +
>>   drivers/gpu/drm/xe/xe_uc.c                         |  258 ++
>>   drivers/gpu/drm/xe/xe_uc.h                         |   24 +
>>   drivers/gpu/drm/xe/xe_uc_debugfs.c                 |   26 +
>>   drivers/gpu/drm/xe/xe_uc_debugfs.h                 |   14 +
>>   drivers/gpu/drm/xe/xe_uc_fw.c                      |  884 ++++++
>>   drivers/gpu/drm/xe/xe_uc_fw.h                      |  184 ++
>>   drivers/gpu/drm/xe/xe_uc_fw_abi.h                  |  321 ++
>>   drivers/gpu/drm/xe/xe_uc_fw_types.h                |  146 +
>>   drivers/gpu/drm/xe/xe_uc_types.h                   |   28 +
>>   drivers/gpu/drm/xe/xe_vm.c                         | 3206 ++++++++++++++++++++
>>   drivers/gpu/drm/xe/xe_vm.h                         |  263 ++
>>   drivers/gpu/drm/xe/xe_vm_doc.h                     |  555 ++++
>>   drivers/gpu/drm/xe/xe_vm_types.h                   |  373 +++
>>   drivers/gpu/drm/xe/xe_wa.c                         |  895 ++++++
>>   drivers/gpu/drm/xe/xe_wa.h                         |   32 +
>>   drivers/gpu/drm/xe/xe_wa_oob.rules                 |   24 +
>>   drivers/gpu/drm/xe/xe_wait_user_fence.c            |  178 ++
>>   drivers/gpu/drm/xe/xe_wait_user_fence.h            |   15 +
>>   drivers/gpu/drm/xe/xe_wopcm.c                      |  270 ++
>>   drivers/gpu/drm/xe/xe_wopcm.h                      |   16 +
>>   drivers/gpu/drm/xe/xe_wopcm_types.h                |   26 +
>>   include/drm/drm_gpuvm.h                            |   10 +
>>   include/drm/xe_pciids.h                            |  190 ++
>>   include/uapi/drm/xe_drm.h                          | 1347 ++++++++
>>   352 files changed, 61427 insertions(+), 1 deletion(-)
>>   create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon
>>   create mode 100644 Documentation/gpu/xe/index.rst
>>   create mode 100644 Documentation/gpu/xe/xe_cs.rst
>>   create mode 100644 Documentation/gpu/xe/xe_debugging.rst
>>   create mode 100644 Documentation/gpu/xe/xe_firmware.rst
>>   create mode 100644 Documentation/gpu/xe/xe_gt_mcr.rst
>>   create mode 100644 Documentation/gpu/xe/xe_map.rst
>>   create mode 100644 Documentation/gpu/xe/xe_migrate.rst
>>   create mode 100644 Documentation/gpu/xe/xe_mm.rst
>>   create mode 100644 Documentation/gpu/xe/xe_pcode.rst
>>   create mode 100644 Documentation/gpu/xe/xe_pm.rst
>>   create mode 100644 Documentation/gpu/xe/xe_rtp.rst
>>   create mode 100644 Documentation/gpu/xe/xe_tile.rst
>>   create mode 100644 Documentation/gpu/xe/xe_wa.rst
>>   create mode 100644 drivers/gpu/drm/xe/.gitignore
>>   create mode 100644 drivers/gpu/drm/xe/.kunitconfig
>>   create mode 100644 drivers/gpu/drm/xe/Kconfig
>>   create mode 100644 drivers/gpu/drm/xe/Kconfig.debug
>>   create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
>>   create mode 100644 drivers/gpu/drm/xe/Makefile
>>   create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_errors_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_klvs_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/abi/guc_messages_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
>>   create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
>>   create mode 100644 drivers/gpu/drm/xe/display/ext/i915_irq.c
>>   create mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c
>>   create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c
>>   create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
>>   create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.c
>>   create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
>>   create mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
>>   create mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c
>>   create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.c
>>   create mode 100644 drivers/gpu/drm/xe/display/xe_fb_pin.c
>>   create mode 100644 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
>>   create mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
>>   create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
>>   create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
>>   create mode 100644 drivers/gpu/drm/xe/instructions/xe_instr_defs.h
>>   create mode 100644 drivers/gpu/drm/xe/instructions/xe_mi_commands.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_engine_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_gpu_commands.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_gt_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_guc_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_lrc_layout.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_reg_defs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/regs/xe_sriov_regs.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/Makefile
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_bo.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_lmtt_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_test.h
>>   create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_assert.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_bb.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_bb.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_bb_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_bo.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_bo.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_bo_doc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_bo_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_debugfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_debugfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_devcoredump_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_device.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_device.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_device_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_display.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_display.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_drm_client.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_drm_client.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_drv.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_exec.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_exec.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_exec_queue_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_execlist.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_execlist.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_execlist_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_force_wake.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_force_wake.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_force_wake_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_ggtt.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_ggtt.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ggtt_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_idle_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_printk.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_gt_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_ads_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_ct_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_fwif.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_log.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_log.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_log_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_pc_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_submit_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_guc_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_huc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_huc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_huc_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_hw_fence_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_hwmon.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_hwmon.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_irq.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_irq.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_lmtt.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_lmtt.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_lmtt_2l.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_lmtt_ml.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_lmtt_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_lrc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_lrc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_lrc_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_macros.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_map.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_migrate.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_migrate.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_migrate_doc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_mmio.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_mmio.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_mocs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_mocs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_module.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_module.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pat.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_pat.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pci.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_pci.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pci_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pcode.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_pcode.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pcode_api.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_platform_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pm.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_pm.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pt.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_pt.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pt_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_query.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_query.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_range_fence.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_range_fence.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_reg_sr_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_res_cursor.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ring_ops_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_rtp.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_rtp.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_rtp_helpers.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_rtp_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sa.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_sa.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sa_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sched_job.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_sched_job.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sched_job_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sriov.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_sriov.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sriov_printk.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sriov_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_step.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_step.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_step_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sync.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_sync.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_sync_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_tile.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_tile.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_trace.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_trace.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_tuning.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_tuning.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_abi.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_uc_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_vm.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_vm.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_vm_doc.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_vm_types.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_wa.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_wa.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules
>>   create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_wopcm.c
>>   create mode 100644 drivers/gpu/drm/xe/xe_wopcm.h
>>   create mode 100644 drivers/gpu/drm/xe/xe_wopcm_types.h
>>   create mode 100644 include/drm/xe_pciids.h
>>   create mode 100644 include/uapi/drm/xe_drm.h
Dani Liberman Dec. 19, 2023, 9:15 a.m. UTC | #5
On 18/12/2023 16:27, Oded Gabbay wrote:

On Fri, Dec 15, 2023 at 05:28:19PM -0500, Rodrigo Vivi wrote:


Hi Dave and Sima,

Here goes the first pull request for the drm/xe driver.

Our team was focused on putting together a driver that uses most, if not all,
of the key drm concepts and has a functional display that is shared with i915.
All the platforms are still protected by the force_probe protection because they
are either officially supported by i915, or because they are still under
enablement like Lunar Lake.

We still have a lot of work ahead of us, but we believe that it will be better
to work with all of these cross-driver concepts after we are merged to drm-next
along with the other drivers.

Besides the cross-driver collaboration and enabling of upcoming hardware, one of
our key areas will be to improve performance and address reports by users so that
the driver keeps getting better.

I’m having the honor to send this first pull request on behalf of the new team of
maintainers that we are putting together for the xe driver: Lucas, Thomas, and
Oded. I’m going to assist them to get this through and to set up the drm-tip
development flow. Then, you should expect future pull requests coming directly
from them. Likely, with a rotation of duties that they will define by themselves,
but that should be similar to drm-intel and drm-misc.

Thanks,
Rodrigo.


(Sorry for sending again but my kernel.org smtp definition was wrong and ml rejected my email)

Hi Rodrigo,
You and the team did a great job on bringing the driver to this stage. Congrats!

I reviewed a large part of the driver, mainly focusing on init/fini,
ioctls, memory management, dma-buf.
There were multiple issues raised and all of them were fixed/answered
to my satisfaction.

For the PR:
Acked-by: Oded Gabbay <ogabbay@kernel.org><mailto:ogabbay@kernel.org>

Thanks,
Oded

Hi Rodrigo,
I reviewed the scheduling part, all of my raised issues got answered to my satisfaction.

Acked-by: Dani Liberman <dliberman@habana.ai><mailto:dliberman@habana.ai>

Thanks,
Dani







The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:

  Merge tag 'drm-misc-next-2023-12-07' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2023-12-08 16:27:00 +1000)

are available in the Git repository at:

  https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitlab.freedesktop.org%2Fdrm%2Fxe%2Fkernel.git&data=05%7C02%7Cdliberman%40habana.ai%7Cde642d9442ab46922ed508dbfffdd46d%7C0d4d4539213c4ed8a251dc9766ba127a%7C0%7C0%7C638385237898423797%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=gC206m0tdU4r2Th28susvjUWWcOt86OxK0Hk8JKMxj0%3D&reserved=0<https://gitlab.freedesktop.org/drm/xe/kernel.git> tags/drm-xe-next-2023-12-15-pr1

for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:

  MAINTAINERS: Updates to Intel DRM (2023-12-15 16:41:56 -0500)

----------------------------------------------------------------
Introduce a new DRM driver for Intel GPUs

Xe, is a new driver for Intel GPUs that supports both integrated and
discrete platforms. The experimental support starts with Tiger Lake.
i915 will continue be the main production driver for the platforms
up to Meteor Lake and Alchemist. Then the goal is to make this Intel
Xe driver the primary driver for Lunar Lake and newer platforms.

It uses most, if not all, of the key drm concepts, in special: TTM,
drm-scheduler, drm-exec, drm-gpuvm/gpuva and others.

It reuses/shares i915 code for display support.

----------------------------------------------------------------
Alan Previn (1):
      drm/xe/guc: Fix h2g_write usage of GUC_CTB_MSG_MAX_LEN

Alexander Usyskin (1):
      drm/xe/gsc: enable pvc support

Andrzej Hajda (1):
      drm/xe: implement driver initiated function-reset

Animesh Manna (1):
      drm/xe/dsb: DSB implementation for xe

Anshuman Gupta (7):
      drm/xe/pm: Disable PM on unbounded pcie parent bridge
      drm/xe/pm: Add pci d3cold_capable support
      drm/xe/pm: Refactor xe_pm_runtime_init
      drm/xe/pm: Add vram_d3cold_threshold Sysfs
      drm/xe/pm: Toggle d3cold_allowed using vram_usages
      drm/xe/pm: Init pcode and restore vram on power lost
      drm/xe/pm: Add vram_d3cold_threshold for d3cold capable device

Anusha Srivatsa (10):
      drm/xe/huc: Support for loading unversiond HuC
      drm/xe: Load HuC on Alderlake S
      drm/xe: GuC and HuC loading support for RKL
      drm/xe: Add Rocketlake device info
      drm/xe/kunit: Handle fake device creation for all platform/subplatform cases
      drm/xe: Add missing ADL entries to xe_test_wa
      drm/xe/rplu: s/ADLP/ALDERLAKE_P
      drm/xe/rpls: Add RPLS Support
      drm/xe/rpls: Add Stepping info for RPLS
      drm/xe: Add missing ADL entries to xe_test_wa

Aravind Iddamsetty (5):
      drm/xe: Get GT clock to nanosecs
      drm/xe: Use spinlock in forcewake instead of mutex
      drm/xe/pmu: Enable PMU interface
      drm/xe/pmu: Drop interrupt pmu event
      drm/xe: Fix lockdep warning in xe_force_wake calls

Ashutosh Dixit (2):
      drm/xe/uapi: Use common drm_xe_ext_set_property extension
      drm/xe/pmu: Remove PMU from Xe till uapi is finalized

Badal Nilawar (11):
      drm/xe: Donot apply forcewake while reading actual frequency
      drm/xe/mtl: Add support to get C6 residency/status of MTL
      drm/xe/hwmon: Expose power attributes
      drm/xe/hwmon: Expose card reactive critical power
      drm/xe/hwmon: Expose input voltage attribute
      drm/xe/hwmon: Expose hwmon energy attribute
      drm/xe: Extend rpX values extraction for future platforms
      drm/xe/hwmon: Add kernel doc and refactor xe hwmon
      drm/xe/hwmon: Protect hwmon rw attributes with hwmon_lock
      drm/xe/hwmon: Expose power1_max_interval
      drm/xe/mtl: Use 16.67 Mhz freq scale factor to get rpX

Balasubramani Vivekanandan (9):
      drm/xe/gt: Enable interrupt while initializing root gt
      drm/xe: Use max wopcm size when validating the preset GuC wopcm size
      drm/xe: Stop accepting value in xe_migrate_clear
      drm/xe: Keep all resize bar related prints inside xe_resize_vram_bar
      drm/xe/xe2: Add MOCS table
      drm/xe/lnl: Hook up MOCS table
      drm/xe: Leverage ComputeCS read L3 caching
      drm/xe: Add event tracing for CTB
      drm/xe/trace: Optimize trace definition

Bommithi Sakeena (3):
      drm/xe: Ensure mutex are destroyed
      drm/xe: Add a missing mutex_destroy to xe_ttm_vram_mgr
      drm/xe: Encapsulate all the module parameters

Bommu Krishnaiah (2):
      drm/xe/uapi: add exec_queue_id member to drm_xe_wait_user_fence structure
      drm/xe/uapi: Return correct error code for xe_wait_user_fence_ioctl

Brian Welty (12):
      drm/xe: Fix BUG_ON during bind with prefetch
      drm/xe: Fix lockdep warning from xe_vm_madvise
      drm/xe: Simplify xe_res_get_buddy()
      drm/xe: Replace xe_ttm_vram_mgr.tile with xe_mem_region
      drm/xe: Remove unused xe_bo_to_tile
      drm/xe: Replace usage of mem_type_to_tile
      drm/xe: Fix dequeue of access counter work item
      drm/xe: Fix pagefault and access counter worker functions
      drm/xe: Fix unbind of unaccessed VMA (fault mode)
      drm/xe: Make xe_mmio_tile_vram_size() static
      drm/xe: Support device page faults on integrated platforms
      drm/xe/xe2: Respond to TRTT faults as unsuccessful page fault

Carlos Santa (2):
      drm/xe: Update the list of devices to add even more TGL devices
      drm/xe: stringify the argument to avoid potential vulnerability

Chang, Bruce (2):
      drm/xe: don't auto fall back to execlist mode if guc failed to init
      drm/xe: fix pvc unload issue

Christopher Snowhill (3):
      drm/xe: Enable the compat ioctl functionality
      drm/xe: Add explicit padding to uAPI definition
      drm/xe: Validate uAPI padding and reserved fields

Dani Liberman (3):
      drm/xe: proper setting of irq enabled flag
      drm/xe: change old msi irq api to a new one
      drm/xe: add msix support

Daniele Ceraolo Spurio (36):
      drm/xe: limit GGTT size to GUC_GGTT_TOP
      drm/xe: fix HuC FW ordering for DG1
      drm/xe/slpc: Start SLPC before GuC submission on reset
      drm/xe: fix mcr semaphore locking for MTL
      drm/xe: common function to assign queue name
      drm/xe: base definitions for the GSCCS
      drm/xe: add GSCCS irq support
      drm/xe: add GSCCS ring ops
      drm/xe: GSC forcewake support
      drm/xe: don't expose the GSCCS to users
      drm/xe: enable idle msg and set hysteresis for GSCCS
      drm/xe: fix submissions without vm
      drm/xe: split kernel vs permanent engine flags
      drm/xe: standardize vm-less kernel submissions
      drm/xe/guc: Switch to major-only GuC FW tracking for MTL
      drm/xe/uc: Rename guc_submission_enabled() to uc_enabled()
      drm/xe/uc: Fix uC status tracking
      drm/xe/uc: Add GuC/HuC firmware path overrides
      drm/xe: Add child contexts to the GuC context lookup
      drm/xe/guc: Bump PVC GuC version to 70.9.1
      drm/xe/uc: Prepare for parsing of different header types
      drm/xe/huc: Extract version and binary offset from new HuC headers
      drm/xe/huc: HuC is not supported on GTs that don't have video engines
      drm/xe/huc: Don't re-auth HuC if it's already authenticated
      drm/xe/huc: Define HuC for MTL
      drm/xe/uc: Rework uC version tracking
      drm/xe/gsc: Introduce GSC FW
      drm/xe/gsc: Parse GSC FW header
      drm/xe/gsc: GSC FW load
      drm/xe/gsc: Implement WA 14015076503
      drm/xe/gsc: Trigger a driver flr to cleanup the GSC on unload
      drm/xe/gsc: Query GSC compatibility version
      drm/xe/gsc: Define GSCCS for MTL
      drm/xe/gsc: Define GSC FW for MTL
      drm/xe/huc: Prepare for 2-step HuC authentication
      drm/xe/huc: HuC authentication via GSC

David Kershner (2):
      drm/xe/xe_migrate.c: Use DPA offset for page table entries.
      drm/xe/tests/xe_migrate.c: Add vram to vram KUNIT test

Dnyaneshwar Bhadane (1):
      drm/xe/xe2: Add initial workarounds

Fei Yang (3):
      drm/xe: set PTE_AE for all platforms supporting it
      drm/xe: timeout needs to be a signed value
      drm/xe: explicitly set GGTT access for GuC DMA

Francois Dugast (57):
      drm/xe: Use global macros to set PM functions
      drm/xe: Fix build without CONFIG_PM_SLEEP
      drm/xe: Fix splat during error dump
      drm/xe: Remove unused define
      drm/xe: Use SPDX-License-Identifier instead of license text
      drm/xe: Group engine related structs
      drm/xe: Fix some formatting issues in uAPI
      drm/xe: Document structures for device query
      drm/xe: Move defines before relevant fields
      drm/xe: Document topology mask query
      drm/xe: Cleanup SPACING style issues
      drm/xe: Cleanup OPEN_BRACE style issues
      drm/xe: Cleanup POINTER_LOCATION style issues
      drm/xe: Cleanup CODE_INDENT style issues
      drm/xe: Cleanup TRAILING_WHITESPACE style issues
      drm/xe: Cleanup COMPLEX_MACRO style issues
      drm/xe: Fix typos
      drm/xe: Prevent flooding the kernel log with XE_IOCTL_ERR
      drm/xe: Cleanup style warnings
      drm/xe: Rely on kmalloc/kzalloc log message
      drm/xe/execlist: Remove leftover printk messages
      drm/xe: Cleanup style warnings and errors
      drm/xe/execlist: Log when using execlist submission
      drm/xe/macro: Remove unused constant
      drm/xe: Prefer WARN() over BUG() to avoid crashing the kernel
      drm/xe: Rename xe_engine.[ch] to xe_exec_queue.[ch]
      drm/xe: Rename engine to exec_queue
      drm/xe/pm: Use PM functions only if CONFIG_PM_SLEEP is enabled
      drm/xe: Replace XE_WARN_ON with drm_warn when just printing a string
      drm/xe: Use Xe assert macros instead of XE_WARN_ON macro
      drm/xe/uapi: Separate VM_BIND's operation and flag
      drm/xe/vm: Remove VM_BIND_OP macro
      drm/xe/uapi: Remove MMIO ioctl
      drm/xe/uapi: Fix naming of XE_QUERY_CONFIG_MAX_EXEC_QUEUE_PRIORITY
      drm/xe/display: Use acpi_target_system_state only if ACPI_SLEEP is enabled
      drm/xe/uapi: Remove useless XE_QUERY_CONFIG_NUM_PARAM
      drm/xe/uapi: Remove unused inaccessible memory region
      drm/xe/uapi: Remove unused QUERY_CONFIG_MEM_REGION_COUNT
      drm/xe/uapi: Remove unused QUERY_CONFIG_GT_COUNT
      drm/xe/uapi: Add missing DRM_ prefix in uAPI constants
      drm/xe/uapi: Add _FLAG to uAPI constants usable for flags
      drm/xe/uapi: Change rsvd to pad in struct drm_xe_class_instance
      drm/xe/uapi: Align on a common way to return arrays (memory regions)
      drm/xe/uapi: Align on a common way to return arrays (gt)
      drm/xe/uapi: Align on a common way to return arrays (engines)
      drm/xe/uapi: Remove DRM_IOCTL_XE_EXEC_QUEUE_SET_PROPERTY
      drm/xe/uapi: Remove DRM_XE_UFENCE_WAIT_MASK_*
      drm/xe/uapi: Add a comment to each struct
      drm/xe/uapi: Add missing documentation for struct members
      drm/xe/uapi: Document use of size in drm_xe_device_query
      drm/xe/uapi: Document drm_xe_query_config keys
      drm/xe/uapi: Document DRM_XE_DEVICE_QUERY_HWCONFIG
      drm/xe/uapi: Make constant comments visible in kernel doc
      drm/xe/uapi: Add block diagram of a device
      drm/xe/uapi: Add examples of user space code
      drm/xe/uapi: Move CPU_CACHING defines before doc
      drm/xe/uapi: Move DRM_XE_ACC_GRANULARITY_* where they are used

Gustavo Sousa (15):
      drm/xe: Include only relevant header in xe_module.h
      drm/xe: Get rid of MAKE_INIT_EXIT_FUNCS
      drm/xe: Call exit functions when xe_register_pci_driver() fails
      drm/xe: Do not forget to drm_dev_put() in xe_pci_probe()
      drm/xe: Call drmm_add_action_or_reset() early in xe_device_create()
      drm/xe: Fail xe_device_create() if wq allocation fails
      drm/xe: Replace deprecated DRM_ERROR()
      drm/xe/reg_sr: Use a single parameter for xe_reg_sr_apply_whitelist()
      drm/xe/reg_sr: Apply limit to register whitelisting
      drm/xe: Simplify final return from xe_irq_install()
      drm/xe/irq: Clear GFX_MSTR_IRQ as part of IRQ reset
      drm/xe/rtp: Fix doc for XE_RTP_ACTIONS
      drm/xe/xelpmp: Add Wa_16021867713
      drm/xe/mmio: Move xe_mmio_wait32() to xe_mmio.c
      drm/xe/mmio: Make xe_mmio_wait32() aware of interrupts

Haridhar Kalvala (6):
      drm/xe: Adjust mocs field mask definitions
      drm/xe: Rename MEM_SET instruction
      drm/xe/xe2: Set tile y type in XY_FAST_COPY_BLT to Tile4
      drm/xe/xe2: Update MOCS fields in blitter instructions
      drm/xe: Add Wa_14019877138
      drm/xe: ATS-M device ID update

Himal Prasad Ghimiray (12):
      drm/xe: Notify Userspace when gt reset fails
      drm/xe: Introduce fault injection for gt reset
      drm/xe/xe2: Determine bios enablement for flat ccs on igfx
      drm/xe/xe2: Modify main memory to ccs memory ratio.
      drm/xe/xe2: Allocate extra pages for ccs during bo create
      drm/xe/xe2: Updates on XY_CTRL_SURF_COPY_BLT
      drm/xe/xe_migrate: Use NULL 1G PTE mapped at 255GiB VA for ccs clear
      drm/xe/xe2: Update chunk size for each iteration of ccs copy
      drm/xe/xe2: Update emit_pte to use compression enabled PAT index
      drm/xe/xe2: Handle flat ccs move for igfx.
      drm/xe/xe2: Modify xe_bo_test for system memory
      drm/xe/xe2: Support flat ccs

Janga Rahul Kumar (1):
      drm/Xe: Use EOPNOTSUPP instead of ENOTSUPP

Jani Nikula (3):
      drm/xe: make compound literal initialization const
      drm/xe/irq: the irq handler local variable need not be static
      drm/xe/mmio: add xe_mmio_read16()

Jonathan Cavitt (1):
      drm/xe: clear the serviced bits on INTR_IDENTITY_REG

José Roberto de Souza (17):
      drm/xe/uapi: Rename XE_ENGINE_PROPERTY_X to XE_ENGINE_SET_PROPERTY_X
      drm/xe/uapi: Add XE_ENGINE_GET_PROPERTY uAPI
      drm/xe: Initialize ret in mcr_lock()
      drm/xe: Fix size of xe_eu_mask_t
      drm/xe: Add max engine priority to xe query
      drm/xe: Limit the system memory size to half of the system memory
      drm/xe: Enable Raptorlake-P
      drm/xe: Set default MOCS value for cs instructions
      drm/xe: Set default MOCS value for copy cs instructions
      drm/xe: Replace PVC check by engine type check
      drm/xe: Fix RING_MI_MODE label in devcoredump
      drm/xe: Fix devcoredump readout of IPEHR
      drm/xe: Remove devcoredump readout of IPEIR
      drm/xe: Set PTE_AE for smem allocations in integrated devices
      drm/xe: Include RPL-U to pciidlist
      drm/xe: Add missing RPL and ADL
      drm/xe: Make DRM_XE_DEVICE_QUERY_ENGINES future proof

Jouni Högander (9):
      drm/xe/display: Add struct i915_active for Xe
      drm/xe/display: Add macro to get i915 device from xe_bo
      drm/xe/display: Add frontbuffer setter/getter for xe_bo
      drm/xe/display: Add i915_active.h compatibility header
      drm/xe/display: Add empty def for i915_gem_object_flush_if_display
      drm/xe/display: Add empty define for i915_ggtt_clear_scanout
      drm/xe/display: Xe stolen memory handling for fbc support
      drm/xe/display: Add i915_gem.h compatibility header
      drm/xe/display: Add Xe implementation for fence checks used by fbc code

Juha-Pekka Heikkila (2):
      drm/xe/display: Don't try to use vram if not available
      drm/xe/display: Add writing of remapped dpt

Koby Elbaz (10):
      drm/xe: add 28-bit address support in struct xe_reg
      drm/xe: add read/write support for MMIO extension space
      drm/xe: add a flag to bypass multi-tile config from MTCFG reg
      drm/xe: add MMIO extension support flags
      drm/xe: map MMIO BAR according to the num of tiles in device desc
      drm/xe: refactor xe_mmio_probe_tiles to support MMIO extension
      drm/xe: move the lmem verification code into a separate function
      drm/xe/display: fix error handling flow when device probing fails
      drm/xe: add skip_pcode flag
      drm/xe: rename bypass_mtcfg to skip_mtcfg

Lucas De Marchi (176):
      drm/xe/ggtt: Use BIT_ULL() for 64bit
      drm/xe: Fix some log messages on 32b
      drm/xe/mmio: Use non-atomic writeq/readq variant for 32b
      drm/xe: Fix tracepoints on 32b
      drm/xe/gt: Fix min() with u32 and u64
      drm/xe: Add documentation for mem_type
      drm/xe: Add min config for kunit integration ARCH=um
      drm/xe: Fix typo in MCR documentation
      drm/xe: Fix xe_tuning include
      drm/xe: Remove TODO from rtp infra
      drm/xe: Remove TODO from workaround documentation
      drm/xe/mcr: Use designated init for xe_steering_types
      drm/xe/mcr: Add SQIDI steering for DG2
      drm/xe: Rename xe_rtp_regval to xe_rtp_action
      drm/xe/rtp: Split action and entry flags
      drm/xe/rtp: Support multiple actions per entry
      drm/xe: Make local functions static
      drm/xe: Fix application of LRC tunings
      drm/xe: Remove unused functions
      drm/xe: Add missing doc for xe parameter
      drm/xe: Add missing include xe_wait_user_fence.h
      drm/xe: Remove duplicate media_ver
      drm/xe: Remove outdated build workaround
      drm/xe/guc: Remove i915_regs.h include
      drm/xe: Fix kunit integration due to missing prototypes
      drm/xe: Sort includes
      drm/xe: Remove dependency on intel_engine_regs.h
      drm/xe: Remove dependency on intel_gt_regs.h
      drm/xe: Remove dependency on intel_lrc_reg.h
      drm/xe: Remove dependency on intel_gpu_commands.h
      drm/xe: Remove dependency on i915_reg.h
      drm/xe/guc_pc: Move gt register to the proper place
      drm/xe: Remove dependency on intel_mchbar_regs.h
      drm/xe: Prefer single underscore for header guards
      drm/xe: Do not spread i915_reg_defs.h include
      drm/xe/device: Prefer the drm-managed mutex_init
      drm/xe: Fix typo persitent->persistent
      drm/xe: Fix duplicated setting for register 0x6604
      drm/xe: Fix ROW_CHICKEN2 define
      drm/xe/mcr: Add L3BANK steering for DG2
      drm/xe/mcr: Document how to initialize group/instance
      drm/xe: Allow const propagation in gt_to_xe()
      drm/xe: Constify xe_dss_mask_group_ffs()
      drm/xe/rtp: Move match function from wa to rtp
      drm/xe/rtp: Add match for render reset domain
      drm/xe: Remove dump function from reg_sr
      drm/xe: Name LRC wa after the engine it belongs
      drm/xe/pvc: Remove A* steppings
      drm/xe/rtp: Add match helper for gslice fused off
      drm/xe/reg_sr: Tweak verbosity for register printing
      drm/xe: Print whitelist while applying
      drm/xe/debugfs: Dump register save-restore tables
      drm/xe: Reorder WAs to consider the platform
      drm/xe: Add PVC gt workarounds
      drm/xe: Add PVC engine workarounds
      drm/xe: Add missing DG2 gt workarounds and tunings
      drm/xe: Add missing DG2 engine workarounds
      drm/xe: Add missing DG2 lrc tunings
      drm/xe: Add missing DG2 lrc workarounds
      drm/xe: Add missing ADL-P engine workaround
      drm/xe: Add missing LRC workarounds for graphics 1200
      drm/xe: Replace i915 with xe in uapi
      drm/xe/mcr: Separate version from engine type selection
      drm/xe: Remove unused revid from firmware name
      drm/xe: Fix platform order
      drm/xe: Extract function to initialize xe->info
      drm/xe: Move test infra out of xe_pci.[ch]
      drm/xe: Use symbol namespace for kunit tests
      drm/xe: Generalize fake device creation
      drm/xe/reg_sr: Save errors for kunit integration
      drm/xe: Add basic unit tests for rtp
      drm/xe: Add test for GT workarounds and tunings
      drm/xe: Update GuC/HuC firmware autoselect logic
      drm/xe: Always log GuC/HuC firmware versions
      drm/xe: Cleanup page-related defines
      drm/xe: Rename RC0/RC6 macros
      drm/xe: Rename instruction field to avoid confusion
      drm/xe/guc: Rename GEN11_SOFT_SCRATCH for clarity
      drm/xe/guc: Move GuC registers to regs/
      drm/xe/guc: Convert GuC registers to REG_FIELD/REG_BIT
      drm/xe: Drop gen afixes from registers
      drm/xe: Use REG_FIELD/REG_BIT for all regs/*.h
      drm/xe: Clarify register types on PAT programming
      drm/xe: Introduce xe_reg/xe_reg_mcr
      drm/xe: Use XE_REG/XE_REG_MCR
      drm/xe: Annotate masked registers used by RTP
      drm/xe: Plumb xe_reg into WAs, rtp, etc
      drm/xe: Move helper macros to separate header
      drm/xe: Fix media detection for pre-GMD_ID platforms
      drm/xe: Do not mark 1809175790 as a WA
      drm/xe: Fix comment on Wa_22013088509
      drm/xe/guc: Remove special handling for PVC A*
      drm/xe/guc: Handle RCU_MODE as masked from definition
      drm/xe/mmio: Use struct xe_reg
      drm/xe: Rename reg field to addr
      drm/xe: Fix indent in xe_hw_engine_print_state()
      drm/xe: Load HuC on Alderlake P
      drm/xe: Fix Wa_22011802037 annotation
      drm/xe/rtp: Split rtp process initialization
      drm/xe/rtp: Replace XE_WARN_ON
      drm/xe/rtp: Add "_sr" to entry/function names
      drm/xe/rtp: Allow to track active workarounds
      drm/xe/wa: Track gt/engine/lrc active workarounds
      drm/xe/debugfs: Dump active workarounds
      drm/xe/rtp: Rename STEP to GRAPHICS_STEP
      drm/xe/rtp: Add check for media stepping
      drm/xe/rtp: Add support for entries with no action
      drm/xe: Include build directory
      drm/xe: Add support for OOB workarounds
      drm/xe/guc: Port Wa_22012773006 to xe_wa
      drm/xe/guc: Port Wa_16011759253 to xe_wa
      drm/xe/guc: Port Wa_14012197797/Wa_22011391025 to xe_wa
      drm/xe/guc: Port Wa_16011777198 to xe_wa
      drm/xe/guc: Port Wa_22012727170/Wa_22012727685 to xe_wa
      drm/xe/guc: Port Wa_16015675438/Wa_18020744125 to xe_wa
      drm/xe/guc: Port Wa_1509372804 to xe_wa
      drm/xe/rtp: Also check gt type
      drm/xe/guc: Port Wa_14014475959 to xe_wa and fix it
      drm/xe: Rename pte/pde encoding functions
      drm/xe/guc: Fix typo s/enabled/enable/
      drm/xe/guc: Normalize error messages with %#x
      drm/xe: Skip applying copy engine fuses
      drm/xe: Normalize XE_VM_FLAG* names
      drm/xe: Use FIELD_PREP/FIELD_GET for tile id encoding
      drm/xe: Fix checking for unset value
      drm/xe: Remove vma arg from xe_pte_encode()
      drm/xe: Decouple vram check from xe_bo_addr()
      drm/xe: Set PTE_DM bit for stolen on MTL
      drm/xe: Fix MTL+ stolen memory mapping
      drm/xe: Carve out top of DSM as reserved
      drm/xe: Sort xe_regs.h
      drm/xe: Fix error path in xe_guc_pc_gucrc_disable()
      drm/xe: Fix error path in xe_guc_pc_start()
      drm/xe: Update ARL-S DevIDs to the latest BSpec
      drm/xe/pat: Use 0 instead of space on error
      drm/xe/reg_sr: Simplify check for masked registers
      drm/xe/reg_sr: Use xe_gt_dbg
      drm/xe: Add dbg messages for LRC WAs
      drm/xe: Fix LRC workarounds
      drm/xe/mmio: Account for GSI offset when checking ranges
      drm/xe: Accept a const xe device
      drm/xe: Normalize pte/pde encoding
      drm/xe: Remove check for vma == NULL
      drm/xe: Use vfunc for pte/pde ppgtt encoding
      drm/xe/migrate: Do not hand-encode pte
      drm/xe: Use vfunc to initialize PAT
      drm/xe/dg2: Fix using wrong PAT table
      drm/xe/pat: Prefer the arch/IP names
      drm/xe/pat: Keep track of relevant indexes
      drm/xe: Use pat_index to encode pde/pte
      drm/xe: Use vfunc for ggtt pte encoding
      drm/xe/xe2: Extend reserved stolen sizes
      drm/xe/xe2: Add missing mocs entry
      drm/xe/vm: Prefer xe_assert() over XE_WARN_ON()
      drm/xe/xe2: Follow XeHPC for TLB invalidation
      drm/xe/xe2: Add one more bit to encode PAT to ppgtt entries
      drm/xe/pat: Add debugfs node to dump PAT
      drm/xe/gt: Dump PAT table when failing to initialize
      drm/xe: Fix WA 14010918519 write to wrong register
      drm/xe: Fix build with KUNIT=m
      drm/xe/display: Silence kernel-doc warnings related to display
      drm/xe: Fold GEN11_MOCS_ENTRIES into gen12_mocs_desc
      drm/xe/mocs: Bring comment about mocs back to reality
      drm/xe: Remove GEN[0-9]*_ prefixes
      drm/xe: Fix modpost warning on kunit modules
      drm/xe: Sync MTL PCI IDs with i915
      drm/xe: Expand XE_REG_OPTION_MASKED documentation
      drm/xe/kunit: Remove handling of XE_TEST_SUBPLATFORM_ANY
      drm/xe/kunit: Move fake pci data to test-priv
      drm/xe/kunit: Add stub to read_gmdid
      drm/xe/kunit: Test WAs for MTL and LNL
      drm/xe: Rename info.supports_* to info.has_*
      drm/xe: Return error if drm_buddy_init() fails
      drm/xe/bo: Remove unusued variable
      drm/xe/display: Fix dummy __i915_inject_probe_error()
      drm/xe: Enable W=1 warnings by default

Maarten Lankhorst (11):
      drm/xe: Implement stolen memory.
      drm/xe: Fix hidden gotcha regression with bo create
      drm/xe: Convert memory device refcount to s32
      drm/xe: Map initial FB at the same place in GGTT too
      drm/xe: Add debugfs for dumping GGTT mappings
      drm/xe: Use atomic instead of mutex for xe_device_mem_access_ongoing
      drm/xe: Remove extra xe_mmio_read32 from xe_mmio_wait32
      drm/xe: Prevent evicting for page tables
      drm/xe: Fix error paths of __xe_bo_create_locked
      drm/xe/display: Implement display support
      drm/xe/display: Improve s2idle handling.

Matt Atwood (2):
      drm/xe: Add infrastructure for per engine tuning
      drm/xe: add gt tuning for indirect state

Matt Roper (131):
      drm/xe: Remove gen-based mmio offsets from hw engine init
      drm/xe: Assume MTL's forcewake register continues to future platforms
      drm/xe/mocs: Drop unwanted TGL table
      drm/xe/mocs: Add missing RKL handling
      drm/xe/mocs: Drop xe_mocs_info_index
      drm/xe/mocs: Drop duplicate assignment of uc_index
      drm/xe/mocs: LNCF MOCS settings only need to be restored on pre-Xe_HP
      drm/xe/mocs: Drop HAS_RENDER_L3CC flag
      drm/xe/guc: Handle regset overflow check for entire GT
      drm/xe: Separate engine fuse handling into dedicated functions
      drm/xe: Add support for CCS engine fusing
      drm/xe/pat: Move PAT setup to a dedicated file
      drm/xe/pat: Use table-based programming of PAT settings
      drm/xe/pat: Handle unicast vs MCR PAT registers
      drm/xe/pat: Clean up PAT register definitions
      drm/xe/mtl: Fix PAT table coherency settings
      drm/xe/mtl: Handle PAT_INDEX offset jump
      drm/xe/pat: Define PAT tables as static
      drm/xe: Include hardware prefetch buffer in batchbuffer allocations
      drm/xe: Adjust batchbuffer space warning when creating a job
      drm/xe: Don't emit extra MI_BATCH_BUFFER_END in WA batchbuffer
      drm/xe/irq: Drop gen3_ prefixes
      drm/xe/irq: Add helpers to find ISR/IIR/IMR/IER registers
      drm/xe/irq: Drop IRQ_INIT and IRQ_RESET macros
      drm/xe/irq: Drop unnecessary GEN11_ and GEN12_ register prefixes
      drm/xe/irq: Rename and clarify top-level interrupt handling routines
      drm/xe/irq: Drop remaining "gen11_" prefix from IRQ functions
      drm/xe/irq: Drop commented-out code for non-existent media engines
      drm/xe/irq: Don't clobber display interrupts on multi-tile platforms
      drm/xe: Start splitting xe_device_desc into graphics/media structures
      drm/xe: Set require_force_probe in each platform's description
      drm/xe: Move most platform traits to graphics IP
      drm/xe: Move engine masks into IP descriptor structures
      drm/xe: Clarify GT counting logic
      drm/xe: Add printable name to IP descriptors
      drm/xe: Select graphics/media descriptors from GMD_ID
      drm/xe: Add KUnit test for xe_pci.c IP engine lists
      drm/xe: Clean up xe_device_desc
      drm/xe: Let primary and media GT share a kernel_bb_pool
      drm/xe: Use packed bitfields for xe->info feature flags
      drm/xe: Track whether platform has LLC
      drm/xe: Only request PCODE_WRITE_MIN_FREQ_TABLE on LLC platforms
      drm/xe/sr: Apply masked registers properly
      drm/xe: Fix xe_mmio_rmw32 operation
      drm/xe: Drop GFX_FLSH_CNTL_GEN6 write during GGTT invalidation
      drm/xe/adlp: Add revid => step mapping
      drm/xe/adln: Enable ADL-N
      drm/xe: Add stepping support for GMD_ID platforms
      drm/xe/pvc: Don't try to invalidate AuxCCS TLB
      drm/xe/mtl: Disable media GT
      drm/xe: Introduce xe_tile
      drm/xe: Add backpointer from gt to tile
      drm/xe: Add for_each_tile iterator
      drm/xe: Move register MMIO into xe_tile
      drm/xe: Move GGTT from GT to tile
      drm/xe: Move VRAM from GT to tile
      drm/xe: Memory allocations are tile-based, not GT-based
      drm/xe: Move migration from GT to tile
      drm/xe: Clarify 'gt' retrieval for primary tile
      drm/xe: Drop vram_id
      drm/xe: Drop extra_gts[] declarations and XE_GT_TYPE_REMOTE
      drm/xe: Allocate GT dynamically
      drm/xe: Add media GT to tile
      drm/xe: Interrupts are delivered per-tile, not per-GT
      drm/xe/irq: Move ASLE backlight interrupt logic
      drm/xe/irq: Ensure primary GuC won't clobber media GuC's interrupt mask
      drm/xe/irq: Untangle postinstall functions
      drm/xe: Replace xe_gt_irq_postinstall with xe_irq_enable_hwe
      drm/xe: Invalidate TLB on all affected GTs during GGTT updates
      drm/xe/tlb: Obtain forcewake when doing GGTT TLB invalidations
      drm/xe: Allow GT looping and lookup on standalone media
      drm/xe: Update query uapi to support standalone media
      drm/xe: Reinstate media GT support
      drm/xe: Add kerneldoc description of multi-tile devices
      drm/xe: Reformat xe_guc_regs.h
      drm/xe: Initialize MOCS earlier
      drm/xe: Don't hardcode GuC's MOCS index in register header
      drm/xe/wa: Extend scope of Wa_14015795083
      drm/xe/mtl: Add some initial MTL workarounds
      drm/xe: Return GMD_ID revid properly
      drm/xe: Don't raise error on fused-off media
      drm/xe: Print proper revid value for unknown media revision
      drm/xe: Enable PCI device earlier
      drm/xe/mtl: Map PPGTT as CPU:WC
      drm/xe: xe_engine_create_ioctl should check gt_count, not tile_count
      drm/xe/mtl: Reduce Wa_14018575942 scope to the CCS engine
      drm/xe: Add Wa_14015150844 for DG2 and Xe_LPG
      drm/xe: Stop tracking 4-tile support
      drm/xe/xe2: Update render/compute context image sizes
      drm/xe/xe2: Add GT topology readout
      drm/xe/xe2: Add MCR register steering for primary GT
      drm/xe/xe2: Add MCR register steering for media GT
      drm/xe/xe2: Update context image layouts
      drm/xe/xe2: Handle fused-off CCS engines
      drm/xe/xe2: AuxCCS is no longer used
      drm/xe/xe2: Define Xe2_LPG IP features
      drm/xe/xe2: Define Xe2_LPM IP features
      drm/xe/xe2: Track VA bits independently of max page table level
      drm/xe/xe2: Program GuC's MOCS on Xe2 and beyond
      drm/xe/lnl: Add LNL platform definition
      drm/xe/lnl: Add GuC firmware definition
      drm/xe: Avoid 64-bit register reads
      drm/xe: Drop xe_mmio_write64()
      drm/xe/wa: Apply tile workarounds at probe/resume
      drm/xe: Infer service copy functionality from engine list
      drm/xe/tuning: Add missing engine class rules for LRC tuning
      drm/xe/xe2: Program PAT tables
      drm/xe: Make MI_FLUSH_DW immediate size more explicit
      drm/xe: Separate number of registers from MI_LRI opcode
      drm/xe: Clarify number of dwords/qwords stored by MI_STORE_DATA_IMM
      drm/xe: Extract MI_* instructions to their own header
      drm/xe/debugfs: Add dump of default LRCs' MI instructions
      drm/xe/debugfs: Include GFXPIPE commands in LRC dump
      drm/xe: Prepare to emit non-register state while recording default LRC
      drm/xe: Emit SVG state on RCS during driver load on DG2 and MTL
      drm/xe/xe2: Update SVG state handling
      drm/xe/mocs: MOCS registers are multicast on Xe_HP and beyond
      drm/xe/xe2: Program correct MOCS registers
      drm/xe: Add Wa_14019821291
      drm/xe: Drop EXECLIST_CONTROL from error state dump
      drm/xe/dg2: Wa_18028616096 now applies to all DG2
      drm/xe/dg2: Drop Wa_22014600077
      drm/xe: Remove duplicate RING_MAX_NONPRIV_SLOTS definition
      drm/xe: Drop "_REG" suffix from CSFE_CHICKEN1
      drm/xe: Move some per-engine register definitions to the engine header
      drm/xe: Fix whitespace in register definitions
      drm/xe: Move engine base offsets to engine register header
      drm/xe: Move GSC HECI base offsets out of register header
      drm/xe: Define interrupt vector bits with the interrupt registers
      drm/xe: Re-sort GT register header
      drm/xe: Drop some unnecessary header includes

Matthew Auld (94):
      drm/xe/pcode: fix pcode error check
      drm/xe/bo: reduce xe_bo_create_pin_map() restrictions
      drm/xe/ppgtt: clear the scratch page
      drm/xe/ppgtt: fix scratch page usage on DG2
      drm/xe/ggtt: fix alignment usage for DG2
      drm/xe/ggtt: fix GGTT scratch usage for DG2
      drm/xe/mmio: fix forcewake ref leak in xe_mmio_ioctl
      drm/xe/stolen: don't map stolen on small-bar
      drm/xe/query: zero the region info
      drm/xe/pm: fix unbalanced ref handling
      drm/xe: prefer xe_bo_create_pin_map()
      drm/xe/bo: explicitly reject zero sized BO
      drm/xe: s/lmem/vram/
      drm/xe: one more s/lmem/vram/
      drm/xe: add xe_ttm_stolen_cpu_access_needs_ggtt()
      drm/xe/vram: start tracking the io_size
      drm/xe/buddy: remove the virtualized start
      drm/xe/buddy: add visible tracking
      drm/xe/buddy: add compatible and intersects hooks
      drm/xe/gt: some error handling fixes
      drm/xe: add XE_BO_CREATE_VRAM_MASK
      drm/xe/bo: refactor try_add_vram
      drm/xe: fix suspend-resume for dgfx
      drm/xe/mmio: stop incorrectly triggering drm_warn
      drm/xe/tlb: fix expected_seqno calculation
      drm/xe/sched_job: prefer dma_fence_is_later
      drm/xe/lrc: give start_seqno a better default
      drm/xe: fix tlb_invalidation_seqno_past()
      drm/xe: fix kernel-doc issues
      drm/xe/bo: further limit where CCS pages are needed
      drm/xe/migrate: retain CCS aux state for vram -> vram
      drm/xe: don't allocate under ct->lock
      drm/xe: keep pulling mem_access_get further back
      drm/xe/vm: fix double list add
      drm/xe/bo: handle PL_TT -> PL_TT
      drm/xe/uapi: restrict system wide accounting
      drm/xe/uapi: add some kernel-doc for region query
      drm/xe/uapi: silence kernel-doc errors
      drm/doc: include xe_drm.h
      drm/xe/bo: consider bo->flags in xe_bo_migrate()
      drm/xe/tlb: drop unnecessary smp_wmb()
      drm/xe/tlb: ensure we access seqno_recv once
      drm/xe: hold mem_access.ref for CT fast-path
      drm/xe/ct: hold fast_lock when reserving space for g2h
      drm/xe/tlb: increment next seqno after successful CT send
      drm/xe/ct: serialise fast_lock during CT disable
      drm/xe/gt: tweak placement for signalling TLB fences after GT reset
      drm/xe/tlb: also update seqno_recv during reset
      drm/xe/tlb: print seqno_recv on fence TLB timeout
      drm/xe/ct: update g2h outstanding for CTB capture
      drm/xe: handle TLB invalidations from CT fast-path
      drm/xe/mmio: update gt_count when probing multi-tile
      drm/xe: fix xe_device_mem_access_get() races
      drm/xe/vm: tidy up xe_runtime_pm usage
      drm/xe/debugfs: grab mem_access around forcewake
      drm/xe/guc_pc: add missing mem_access for freq_rpe_show
      drm/xe/mmio: grab mem_access in xe_mmio_ioctl
      drm/xe: ensure correct access_put ordering
      drm/xe: drop xe_device_mem_access_get() from guc_ct_send
      drm/xe/ggtt: prime ggtt->lock against FS_RECLAIM
      drm/xe: drop xe_device_mem_access_get() from invalidation_vma
      drm/xe: add lockdep annotation for xe_device_mem_access_get()
      drm/xe/selftests: hold rpm for evict_test_run_device()
      drm/xe/selftests: hold rpm for ccs_test_migrate()
      drm/xe/selftests: restart GT after xe_bo_restore_kernel()
      drm/xe: add missing bulk_move reset
      drm/xe: add lockdep annotation for xe_device_mem_access_put()
      drm/xe/bo: support tiered vram allocation for small-bar
      drm/xe/uapi: add the userspace bits for small-bar
      drm/xe: fully turn on small-bar support
      drm/xe/engine: add missing rpm for bind engines
      drm/xe/guc_submit: prevent repeated unregister
      drm/xe: don't warn for bogus pagefaults
      drm/xe/guc_submit: fixup deregister in job timeout
      drm/xe: skip rebind_list if vma destroyed
      drm/xe/ct: fix resv_space print
      drm/xe: nuke GuC on unload
      drm/xe: fix has_llc on rkl
      drm/xe/selftests: consider multi-GT for eviction test
      drm/xe/selftests: make eviction test tile centric
      drm/xe/hwmon: fix uaf on unload
      drm/xe/pat: trim the xelp PAT table
      drm/xe: directly use pat_index for pte_encode
      drm/xe: fix pat[2] programming with 2M/1G pages
      drm/xe/migrate: fix MI_ARB_ON_OFF usage
      drm/xe/bo: consider dma-resv fences for clear job
      drm/xe/bo: sync kernel fences for KMD buffers
      drm/xe/display: ensure clear-color surfaces are cpu mappable
      drm/xe/bo: don't hold dma-resv lock over drm_gem_handle_create
      drm/xe: fix mem_access for early lrc generation
      drm/xe/pat: annotate pat_index with coherency mode
      drm/xe/uapi: support pat_index selection with vm_bind
      drm/xe/mocs: update MOCS table for xe2
      drm/xe: add some debug info for d3cold

Matthew Brost (90):
      drm/xe: Introduce a new DRM driver for Intel GPUs
      drm/xe: Take memory ref on kernel job creation
      drm/xe: Ensure VMA not userptr before calling xe_bo_is_stolen
      drm/xe: Fake pulling gt->info.engine_mask from hwconfig blob
      drm/xe/guc: Report submission version of GuC firmware
      drm/xe/guc: s/xe_guc_send_mmio/xe_guc_mmio_send
      drm/xe/guc: Add support GuC MMIO send / recv
      drm/xe/migrate: Update emit_pte to cope with a size level than 4k
      drm/xe: Don't process TLB invalidation done in CT fast-path
      drm/xe: Break of TLB invalidation into its own file
      drm/xe: Move TLB invalidation variable to own sub-structure in GT
      drm/xe: Add TLB invalidation fence
      drm/xe: Invalidate TLB after unbind is complete
      drm/xe: Kernel doc GT TLB invalidations
      drm/xe: Add TLB invalidation fence ftrace
      drm/xe: Add TDR for invalidation fence timeout cleanup
      drm/xe: Only set VM->asid for platforms that support a ASID
      drm/xe: Delete debugfs entry to issue TLB invalidation
      drm/xe: Add has_range_tlb_invalidation device attribute
      drm/xe: Add range based TLB invalidations
      drm/xe: Propagate error from bind operations to async fence
      drm/xe: Use GuC to do GGTT invalidations for the GuC firmware
      drm/xe: Lock GGTT on when restoring kernel BOs
      drm/xe: Propagate VM unbind error to invalidation fence
      drm/xe: Signal invalidation fence immediately if CT send fails
      drm/xe: Add has_asid to device info
      drm/xe: Add TLB invalidation fence after rebinds issued from execs
      drm/xe: Drop TLB invalidation from ring operations
      drm/xe: Drop zero length arrays
      drm/xe: Reinstate render / compute cache invalidation in ring ops
      drm/xe: Use BO's GT to determine dma_offset when programming PTEs
      drm/xe: Fix potential deadlock handling page faults
      drm/xe: Decrement fault mode counts in xe_vm_close_and_put
      drm/xe: Better error messages for xe_gt_record_default_lrcs
      drm/xe: Always write GEN12_RCU_MODE.GEN12_RCU_MODE_CCS_ENABLE for CCS engines
      drm/xe: Don't grab runtime PM ref in engine create IOCTL
      drm/xe: Allow compute VMs to output dma-fences on binds
      drm/xe: Allow dma-fences as in-syncs for compute / faulting VM
      drm/xe/guc: Read HXG fields from DW1 of G2H response
      drm/xe: Handle unmapped userptr in analyze VM
      drm/xe: Use Xe ordered workqueue for rebind worker
      drm/xe: s/XE_PTE_READ_ONLY/XE_PTE_FLAG_READ_ONLY
      drm/xe: Move XE_PTE_FLAG_READ_ONLY to xe_vm_types.h
      drm/xe: NULL binding implementation
      drm/xe: Long running job update
      drm/xe: Ensure LR engines are not persistent
      drm/xe: Only try to lock external BOs in VM bind
      drm/xe: VM LRU bulk move
      drm/xe: Use internal VM flags in xe_vm_create
      drm/xe: Ban a VM if rebind worker hits an error
      drm/xe: Add helpers to hide struct xe_vma internals
      drm/xe: Remove __xe_vm_bind forward declaration
      drm/xe: Port Xe to GPUVA
      drm/xe: Make bind engines safe
      drm/xe: Remove xe_vma_op_unmap
      drm/xe: Avoid doing rebinds
      drm/xe: Reduce the number list links in xe_vma
      drm/xe: Replace list_del_init with list_del for userptr.invalidate_link cleanup
      drm/xe: Change tile masks from u64 to u8
      drm/xe: Combine destroy_cb and destroy_work in xe_vma into union
      drm/xe: Only alloc userptr part of xe_vma for userptrs
      drm/xe: Use migrate engine for page fault binds
      drm/xe: Always use xe_vm_queue_rebind_worker helper
      drm/xe: Signal out-syncs on VM binds if no operations
      drm/xe: Remove XE_GUC_CT_SELFTEST
      drm/xe: Remove ct->fence_context
      drm/xe: Add define WQ_HEADER_SIZE
      drm/xe: remove header variable from parse_g2h_msg
      drm/xe: Set max pte size when skipping rebinds
      drm/xe: Call __guc_exec_queue_fini_async direct for KERNEL exec_queues
      drm/xe: Convert xe_vma_op_flags to BIT macros
      drm/xe: Fixup unwind on VM ops errors
      drm/gpuva: Add drm_gpuva_for_each_op_reverse
      drm/xe: Fix array of binds
      drm/xe: Fix fence reservation accouting
      drm/xe: Fix exec queue usage for unbinds
      drm/xe: Fix xe_exec_queue_is_idle for parallel exec queues
      drm/xe: Deprecate XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE implementation
      drm/xe: Rename exec_queue_kill_compute to xe_vm_remove_compute_exec_queue
      drm/xe: Remove XE_EXEC_QUEUE_SET_PROPERTY_COMPUTE_MODE from uAPI
      drm/xe/uapi: Kill DRM_XE_UFENCE_WAIT_VM_ERROR
      drm/xe: Remove async worker and rework sync binds
      drm/xe: Fix VM bind out-sync signaling ordering
      drm/xe: Adjust tile_present mask when skipping rebinds
      drm/xe: Use pool of ordered wq for GuC submission
      drm/xe: Only set xe_vma_op.map fields for GPUVA map operations
      drm/xe: Use a flags field instead of bools for VMA create
      drm/xe: Use a flags field instead of bools for sync parse
      drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs
      drm/xe/uapi: Remove sync binds

Mauro Carvalho Chehab (5):
      drm/xe/Kconfig.debug: select DEBUG_FS for KUnit runs
      drm/xe: KUnit tests depend on CONFIG_DRM_FBDEV_EMULATION
      drm/xe: skip Kunit tests requiring real hardware when running on UML
      drm/xe/xe_uc_fw: Use firmware files from standard locations
      drm/xe/uapi: Reject bo creation of unaligned size

Michael J. Ruhl (5):
      drm/xe: Rework size helper to be a little more correct
      drm/xe: Simplify rebar sizing
      drm/xe: Size GT device memory correctly
      drm/xe: Rename GPU offset helper to reflect true usage
      drm/xe: REBAR resize should be best effort

Michal Wajdeczko (23):
      drm/xe: Introduce GT oriented log messages
      drm/xe: Use GT oriented log messages in xe_gt.c
      drm/xe: Move Media GuC register definition to regs/
      drm/xe: Change GuC interrupt data
      drm/xe: Introduce Xe assert macros
      drm/xe/guc: Promote guc_to_gt/xe helpers to .h
      drm/xe/guc: Fix wrong assert about full_len
      drm/xe/guc: Copy response data from proper registers
      drm/xe/guc: Fix handling of GUC_HXG_TYPE_NO_RESPONSE_BUSY
      drm/xe/guc: Use valid scratch register for posting read
      drm/xe: Add device flag to indicate SR-IOV support
      drm/xe: Prepare for running in different SR-IOV modes
      drm/xe: Print virtualization mode during probe
      drm/xe/kunit: Return number of iterated devices
      drm/xe/guc: Drop ancient GuC CTB definitions
      drm/xe/guc: Remove obsolete GuC CTB documentation
      drm/xe/guc: Include only required GuC ABI headers
      drm/xe/doc: Include documentation about xe_assert()
      drm/xe: Define DRM_XE_DEBUG_SRIOV config
      drm/xe: Introduce SR-IOV logging macros
      drm/xe/pf: Introduce Local Memory Translation Table
      drm/xe/kunit: Enable CONFIG_PCI_IOV in .kunitconfig
      drm/xe/kunit: Add test for LMTT operations

Michał Winiarski (21):
      drm/xe: Fix uninitialized variables
      drm/xe: Fix check for platform without geometry pipeline
      drm/xe: Fix header guard warning
      drm/xe: Skip calling drm_dev_put on probe error
      drm/xe: Use managed pci_enable_device
      drm/xe/irq: Don't call pci_free_irq_vectors
      drm/xe: Move xe_set_dma_info outside of MMIO setup
      drm/xe: Move xe_mmio_probe_tiles outside of MMIO setup
      drm/xe: Split xe_info_init
      drm/xe: Introduce xe_tile_init_early and use at earlier point in probe
      drm/xe: Map the entire BAR0 and hold onto the initial mapping
      drm/xe/device: Introduce xe_device_probe_early
      drm/xe: Don't "peek" into GMD_ID
      drm/xe: Move system memory management init to earlier point in probe
      drm/xe: Move force_wake init to earlier point in probe
      drm/xe: Reorder GGTT init to earlier point in probe
      drm/xe: Add a helper for DRM device-lifetime BO create
      drm/xe/uc: Split xe_uc_fw_init
      drm/xe/uc: Store firmware binary in system-memory backed BO
      drm/xe/uc: Extract xe_uc_sanitize_reset
      drm/xe/guc: Split GuC params used for "hwconfig" and "post-hwconfig"

Mika Kuoppala (4):
      drm/xe: destroy clients engine and vm xarrays on close
      drm/xe: Fix unreffed ptr leak on engine lookup
      drm/xe: Extend drm_xe_vm_bind_op
      drm/xe/vm: Avoid asid lookup if none allocated

Niranjana Vishwanathapura (16):
      drm/xe/migrate: Fix number of PT structs in docbook
      drm/xe/tests: Use proper batch base address
      drm/xe/tests: Set correct expectation
      drm/xe: Use proper vram offset
      drm/xe: Fix memory use after free
      drm/xe: Handle -EDEADLK case in preempt worker
      drm/xe: Handle -EDEADLK case in exec ioctl
      drm/xe: Apply upper limit to sg element size
      drm/xe: Simplify engine class sched_props setting
      drm/xe: Add CONFIG_DRM_XE_PREEMPT_TIMEOUT
      drm/xe/pvc: Blacklist BCS_SWCTRL register
      drm/xe/pvc: Force even num engines to use 64B
      drm/xe/pvc: Use fast copy engines as migrate engine on PVC
      drm/xe: Enable Fixed CCS mode setting
      drm/xe: Allow userspace to configure CCS mode
      drm/xe: Avoid any races around ccs_mode update

Nirmoy Das (3):
      drm/xe/stolen: Exclude reserved lmem portion
      drm/xe: Do not sleep in atomic
      drm/xe: Print GT info on TLB inv failure

Oak Zeng (3):
      drm/xe: Implement HW workaround 14016763929
      drm/xe: Make xe_mem_region struct
      drm/xe: Improve vram info debug printing

Ohad Sharabi (1):
      drm/xe: do not register to PM if GuC is disabled

Pallavi Mishra (5):
      drm/xe: Prevent return with locked vm
      drm/xe: Align size to PAGE_SIZE
      drm/xe: Dump CTB during TLB timeout
      drm/xe/tests: Fix migrate test
      drm/xe/uapi: Add support for CPU caching mode

Paulo Zanoni (5):
      drm/xe: fix bounds checking for 'len' in xe_engine_create_ioctl
      drm/xe: properly check bounds for xe_wait_user_fence_ioctl()
      drm/xe/vm: print the correct 'keep' when printing gpuva ops
      drm/xe/vm: use list_last_entry() to fetch last_op
      drm/xe: fix range printing for debug messages

Philippe Lecluse (4):
      drm/xe: enforce GSMBASE for DG1 instead of BAR2
      drm/xe: fix xe_mmio_total_vram_size
      drm/xe: Fix Meteor Lake rsa issue on guc loading
      drm/xe/mocs: add MTL mocs

Priyanka Dandamudi (1):
      drm/xe/xe_exec_queue: Add check for access counter granularity

Riana Tauro (5):
      drm/xe: Fix overflow in vram manager
      drm/xe/guc_pc: Reorder forcewake and xe_pm_runtime calls
      drm/xe: Fix GT looping for standalone media
      drm/xe: add a new sysfs directory for gtidle properties
      drm/xe: remove gucrc disable from suspend path

Rodrigo Vivi (65):
      drm/xe: Implement a local xe_mmio_wait32
      drm/xe: Stop using i915's range_overflows_t macro.
      drm/xe: Let's return last value read on xe_mmio_wait32.
      drm/xe: Convert guc_ready to regular xe_mmio_wait32
      drm/xe: Wait for success on guc done.
      drm/xe: Remove i915_utils dependency from xe_guc_pc.
      drm/xe: Stop using i915_utils in xe_wopcm.
      drm/xe: Let's avoid i915_utils in the xe_force_wake.
      drm/xe: Convert xe_mmio_wait32 to us so we can stop using wait_for_us.
      drm/xe: Remove i915_utils dependency from xe_pcode.
      drm/xe/guc_pc: Fix Meteor Lake registers.
      drm/xe: Remove unseless xe_force_wake_prune.
      drm/xe: Update comment on why d3cold is still blocked.
      drm/xe: Fix print of RING_EXECLIST_SQ_CONTENTS_HI
      drm/xe: Introduce the dev_coredump infrastructure.
      drm/xe: Do not take any action if our device was removed.
      drm/xe: Extract non mapped regions out of GuC CTB into its own struct.
      drm/xe: Convert GuC CT print to snapshot capture and print.
      drm/xe: Add GuC CT snapshot to xe_devcoredump.
      drm/xe: Introduce guc_submit_types.h with relevant structs.
      drm/xe: Convert GuC Engine print to snapshot capture and print.
      drm/xe: Add GuC Submit Engine snapshot to xe_devcoredump.
      drm/xe: Convert Xe HW Engine print to snapshot capture and print.
      drm/xe: Add HW Engine snapshot to xe_devcoredump.
      drm/xe: Limit CONFIG_DRM_XE_SIMPLE_ERROR_CAPTURE to itself.
      drm/xe/uapi: Remove XE_QUERY_CONFIG_FLAGS_USE_GUC
      drm/xe: Invert guc vs execlists parameters and info.
      drm/xe: Fix an invalid locking wait context bug
      drm/xe: Invert mask and val in xe_mmio_wait32.
      drm/xe: Only set PCI d3cold_allowed when we are really allowing.
      drm/xe: Move d3cold_allowed decision all together.
      drm/xe: Fix the runtime_idle call and d3cold.allowed decision.
      drm/xe: Only init runtime PM after all d3cold config is in place.
      drm/xe: Ensure memory eviction on s2idle.
      drm/xe/uapi: Typo lingo and other small backwards compatible fixes
      drm/xe/uapi: Remove useless max_page_size
      drm/xe: Kill XE_VM_PROPERTY_BIND_OP_ERROR_CAPTURE_ADDRESS extension
      drm/xe/uapi: Document drm_xe_query_gt
      drm/xe/uapi: Replace useless 'instance' per unique gt_id
      drm/xe/uapi: Remove unused field of drm_xe_query_gt
      drm/xe/uapi: Rename gts to gt_list
      drm/xe/uapi: Remove GT_TYPE_REMOTE
      drm/xe/uapi: Kill VM_MADVISE IOCTL
      drm/xe/uapi: Rename *_mem_regions masks
      drm/xe/uapi: Rename query's mem_usage to mem_regions
      drm/xe/uapi: Standardize the FLAG naming and assignment
      drm/xe/uapi: Differentiate WAIT_OP from WAIT_MASK
      drm/xe/uapi: Be more specific about the vm_bind prefetch region
      drm/xe/uapi: Separate bo_create placement from flags
      drm/xe/uapi: Split xe_sync types from flags
      drm/xe/uapi: Kill tile_mask
      drm/xe/uapi: Crystal Reference Clock updates
      drm/xe/uapi: Add Tile ID information to the GT info query
      drm/xe/uapi: Fix various struct padding for 64b alignment
      drm/xe/uapi: Move xe_exec after xe_exec_queue
      drm/xe: Remove unused extension definition
      drm/xe/uapi: Kill exec_queue_set_property
      drm/xe: Create a xe_gt_freq component for raw management and sysfs
      drm/xe: Remove vram size info from sysfs
      drm/xe/uapi: Ensure every uapi struct has drm_xe prefix
      drm/xe/uapi: Order sections
      drm/xe/uapi: More uAPI documentation additions and cosmetic updates
      drm/xe/uapi: Document the memory_region bitmask
      drm/xe/uapi: Remove reset uevent for now
      MAINTAINERS: Updates to Intel DRM

Ruthuvikas Ravikumar (1):
      drm/xe: Add mocs kunit

Shekhar Chauhan (6):
      drm/xe/dg2: Remove Wa_15010599737
      drm/xe: Add Wa_18028616096
      drm/xe: Add new DG2 PCI IDs
      drm/xe/dg2: Remove one PCI ID
      drm/xe: Add performance tuning settings for MTL and Xe2
      drm/xe/xelpmp: Extend Wa_22016670082 to Xe_LPM+

Sujaritha Sundaresan (2):
      drm/xe: Change the name of frequency sysfs attributes
      drm/xe: Add frequency throttle reasons sysfs attributes

Suraj Kandpal (1):
      drm/xe/hdcp: Define intel_hdcp_gsc_check_status in Xe

Tejas Upadhyay (26):
      drm/xe: Add sysfs entry for tile
      drm/xe: Add GTs under respective tile sysfs
      drm/xe: Add sysfs entry to report per tile memory size
      drm/xe: Make usable size of VRAM readable
      drm/xe: make GT sysfs init return void
      drm/xe: make kobject type struct as constant
      drm/xe: Add sysfs entries for engines under its GT
      drm/xe: Add sysfs for default engine scheduler properties
      drm/xe: Add job timeout engine property to sysfs
      drm/xe: Add timeslice duration engine property to sysfs
      drm/xe: Add sysfs for preempt reset timeout
      drm/xe: Add min/max cap for engine scheduler properties
      drm/xe: Add drm-client infrastructure
      drm/xe: Interface xe drm client with fdinfo interface
      drm/xe: Add tracking support for bos per client
      drm/xe: Record each drm client with its VM
      drm/xe: Track page table memory usage for client
      drm/xe: Account ring buffer and context state storage
      drm/xe: Implement fdinfo memory stats printing
      drm/xe/xe2: Add workaround 14017421178
      drm/xe/xe2: Add workaround 16021867713
      drm/xe/xe2: Add workaround 14019449301
      drm/xe/xe2: Add workaround 14020013138
      drm/xe/xe2: Add workaround 16020292621
      drm/xe/xe2: Add workaround 14019988906
      drm/xe/xe2: Add workaround 18032095049 and 16021639441

Thomas Hellström (41):
      drm/xe/migrate: Add kerneldoc for the migrate subsystem
      drm/xe/tests: Remove CONFIG_FB dependency
      drm/xe/tests: Grab a memory access reference around the migrate sanity test
      drm/xe/vm: Use the correct vma destroy sequence on userptr failure
      drm/xe: Use a define to set initial seqno for fences
      drm/xe/migrate: Update cpu page-table updates
      drm/xe/tests: Support CPU page-table updates in the migrate test
      drm/xe: Introduce xe_engine_is_idle()
      drm/xe: Use a small negative initial seqno
      drm/xe/tests: Test both CPU- and GPU page-table updates with the migrate test
      drm/xe/vm: Defer vm rebind until next exec if nothing to execute
      drm/xe: Fix the migrate selftest for integrated GPUs
      drm/xe: Support copying of data between system memory bos
      drm/xe: Invalidate TLB also on bind if in scratch page mode
      drm/xe: Emit a render cache flush after each rcs/ccs batch
      drm/xe/bo: Fix swapin when moving to VRAM
      drm/xe/bo: Avoid creating a system resource when allocating a fresh VRAM bo
      drm/xe/bo: Gracefully handle errors from ttm_bo_move_accel_cleanup().
      drm/xe/bo: Evict VRAM to TT rather than to system
      drm/xe: Fix vm refcount races
      drm/xe: Make page-table updates using the default engine happen in order
      drm/xe: Introduce a range-fence utility
      drm/xe/bo: Simplify xe_bo_lock()
      drm/xe/vm: Simplify and document xe_vm_lock()
      drm/xe/bo: Remove the lock_no_vm()/unlock_no_vm() interface
      drm/xe: Rework xe_exec and the VM rebind worker to use the drm_exec helper
      drm/xe: Convert pagefaulting code to use drm_exec
      drm/xe: Convert remaining instances of ttm_eu_reserve_buffers to drm_exec
      drm/xe: Reinstate pipelined fence enable_signaling
      drm/xe: Disallow pinning dma-bufs in VRAM
      drm/xe: Update SPDX deprecated license identifier
      drm/xe: Ensure that we don't access the placements array out-of-bounds
      drm/xe/bo: Rename xe_bo_get_sg() to xe_bo_sg()
      drm/xe/bo: Remove leftover trace_printk()
      drm/xe/vm: Fix ASID XA usage
      drm/xe: Internally change the compute_mode and no_dma_fence mode naming
      drm/xe/uapi: Use LR abbrev for long-running vms
      drm/xe: Restrict huge PTEs to 1GiB
      drm/xe: Use NULL PTEs as scratch PTEs
      drm/xe: Use DRM GPUVM helpers for external- and evicted objects
      drm/xe: Use DRM_GPUVM_RESV_PROTECTED for gpuvm

Uma Shankar (1):
      drm/xe/display: Create a dummy version for vga decode

Umesh Nerlige Ramappa (3):
      drm/xe: Fix array bounds check for queries
      drm/xe: Set the correct type for xe_to_user_engine_class
      drm/xe: Correlate engine and cpu timestamps with better accuracy

Vinay Belgaumkar (5):
      drm/xe: Raise GT frequency before GuC/HuC load
      drm/xe: Rename xe_gt_idle_sysfs to xe_gt_idle
      drm/xe: Add skip_guc_pc flag
      drm/xe: Manually setup C6 when skip_guc_pc is set
      drm/xe: Check skip_guc_pc before disabling gucrc

Vitaly Lubart (3):
      drm/xe/gsc: add HECI2 register offsets
      drm/xe/gsc: add has_heci_gscfi indication to device
      drm/xe/gsc: add gsc device support

Zbigniew Kempczyński (1):
      drm/xe: Use nanoseconds instead of jiffies in uapi for user fence

Zhanjun Dong (1):
      drm/xe: Add patch version on guc firmware init

 .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   70 +
 Documentation/gpu/driver-uapi.rst                  |    5 +
 Documentation/gpu/drivers.rst                      |    1 +
 Documentation/gpu/xe/index.rst                     |   25 +
 Documentation/gpu/xe/xe_cs.rst                     |    8 +
 Documentation/gpu/xe/xe_debugging.rst              |    7 +
 Documentation/gpu/xe/xe_firmware.rst               |   37 +
 Documentation/gpu/xe/xe_gt_mcr.rst                 |   13 +
 Documentation/gpu/xe/xe_map.rst                    |    8 +
 Documentation/gpu/xe/xe_migrate.rst                |    8 +
 Documentation/gpu/xe/xe_mm.rst                     |   14 +
 Documentation/gpu/xe/xe_pcode.rst                  |   14 +
 Documentation/gpu/xe/xe_pm.rst                     |   14 +
 Documentation/gpu/xe/xe_rtp.rst                    |   20 +
 Documentation/gpu/xe/xe_tile.rst                   |   14 +
 Documentation/gpu/xe/xe_wa.rst                     |   14 +
 MAINTAINERS                                        |   29 +-
 drivers/gpu/drm/Kconfig                            |    2 +
 drivers/gpu/drm/Makefile                           |    1 +
 drivers/gpu/drm/xe/.gitignore                      |    4 +
 drivers/gpu/drm/xe/.kunitconfig                    |   13 +
 drivers/gpu/drm/xe/Kconfig                         |   96 +
 drivers/gpu/drm/xe/Kconfig.debug                   |  107 +
 drivers/gpu/drm/xe/Kconfig.profile                 |   54 +
 drivers/gpu/drm/xe/Makefile                        |  305 ++
 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h    |   46 +
 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h     |   39 +
 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h      |   59 +
 drivers/gpu/drm/xe/abi/guc_actions_abi.h           |  219 ++
 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h      |  249 ++
 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |  127 +
 .../gpu/drm/xe/abi/guc_communication_mmio_abi.h    |   49 +
 drivers/gpu/drm/xe/abi/guc_errors_abi.h            |   37 +
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  322 ++
 drivers/gpu/drm/xe/abi/guc_messages_abi.h          |  234 ++
 .../drm/xe/compat-i915-headers/gem/i915_gem_lmem.h |    1 +
 .../drm/xe/compat-i915-headers/gem/i915_gem_mman.h |   17 +
 .../xe/compat-i915-headers/gem/i915_gem_object.h   |   65 +
 .../gem/i915_gem_object_frontbuffer.h              |   12 +
 .../gpu/drm/xe/compat-i915-headers/gt/intel_rps.h  |   11 +
 .../gpu/drm/xe/compat-i915-headers/i915_active.h   |   22 +
 .../drm/xe/compat-i915-headers/i915_active_types.h |   13 +
 .../gpu/drm/xe/compat-i915-headers/i915_config.h   |   19 +
 .../gpu/drm/xe/compat-i915-headers/i915_debugfs.h  |   14 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  233 ++
 .../gpu/drm/xe/compat-i915-headers/i915_fixed.h    |    6 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h  |    9 +
 .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   79 +
 .../drm/xe/compat-i915-headers/i915_gpu_error.h    |   17 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h  |    6 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h  |    6 +
 .../gpu/drm/xe/compat-i915-headers/i915_reg_defs.h |    6 +
 .../gpu/drm/xe/compat-i915-headers/i915_trace.h    |    6 +
 .../gpu/drm/xe/compat-i915-headers/i915_utils.h    |    6 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h |   44 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h  |   34 +
 .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 +
 .../xe/compat-i915-headers/intel_clock_gating.h    |    6 +
 .../drm/xe/compat-i915-headers/intel_gt_types.h    |   11 +
 .../drm/xe/compat-i915-headers/intel_mchbar_regs.h |    6 +
 .../drm/xe/compat-i915-headers/intel_pci_config.h  |    6 +
 .../gpu/drm/xe/compat-i915-headers/intel_pcode.h   |   42 +
 .../drm/xe/compat-i915-headers/intel_runtime_pm.h  |   16 +
 .../gpu/drm/xe/compat-i915-headers/intel_step.h    |   20 +
 .../gpu/drm/xe/compat-i915-headers/intel_uc_fw.h   |   11 +
 .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |  175 ++
 .../gpu/drm/xe/compat-i915-headers/intel_wakeref.h |    8 +
 .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |   28 +
 .../drm/xe/compat-i915-headers/soc/intel_dram.h    |    6 +
 .../drm/xe/compat-i915-headers/soc/intel_gmch.h    |    6 +
 .../gpu/drm/xe/compat-i915-headers/soc/intel_pch.h |    6 +
 .../gpu/drm/xe/compat-i915-headers/vlv_sideband.h  |  132 +
 .../drm/xe/compat-i915-headers/vlv_sideband_reg.h  |    6 +
 drivers/gpu/drm/xe/display/ext/i915_irq.c          |   77 +
 drivers/gpu/drm/xe/display/ext/i915_utils.c        |   26 +
 drivers/gpu/drm/xe/display/intel_fb_bo.c           |   74 +
 drivers/gpu/drm/xe/display/intel_fb_bo.h           |   24 +
 drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |  104 +
 drivers/gpu/drm/xe/display/intel_fbdev_fb.h        |   21 +
 drivers/gpu/drm/xe/display/xe_display_misc.c       |   16 +
 drivers/gpu/drm/xe/display/xe_display_rps.c        |   17 +
 drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |   71 +
 drivers/gpu/drm/xe/display/xe_fb_pin.c             |  384 +++
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   34 +
 drivers/gpu/drm/xe/display/xe_plane_initial.c      |  291 ++
 .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |  160 +
 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h  |   36 +
 drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |   33 +
 drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   61 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  184 ++
 drivers/gpu/drm/xe/regs/xe_gpu_commands.h          |   70 +
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |   41 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  478 +++
 drivers/gpu/drm/xe/regs/xe_guc_regs.h              |  143 +
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   17 +
 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h           |   44 +
 drivers/gpu/drm/xe/regs/xe_reg_defs.h              |  120 +
 drivers/gpu/drm/xe/regs/xe_regs.h                  |   68 +
 drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   17 +
 drivers/gpu/drm/xe/tests/Makefile                  |   10 +
 drivers/gpu/drm/xe/tests/xe_bo.c                   |  353 +++
 drivers/gpu/drm/xe/tests/xe_bo_test.c              |   26 +
 drivers/gpu/drm/xe/tests/xe_bo_test.h              |   14 +
 drivers/gpu/drm/xe/tests/xe_dma_buf.c              |  278 ++
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |   25 +
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h         |   13 +
 drivers/gpu/drm/xe/tests/xe_lmtt_test.c            |   73 +
 drivers/gpu/drm/xe/tests/xe_migrate.c              |  444 +++
 drivers/gpu/drm/xe/tests/xe_migrate_test.c         |   25 +
 drivers/gpu/drm/xe/tests/xe_migrate_test.h         |   13 +
 drivers/gpu/drm/xe/tests/xe_mocs.c                 |  130 +
 drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   24 +
 drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   13 +
 drivers/gpu/drm/xe/tests/xe_pci.c                  |  166 +
 drivers/gpu/drm/xe/tests/xe_pci_test.c             |   71 +
 drivers/gpu/drm/xe/tests/xe_pci_test.h             |   36 +
 drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  319 ++
 drivers/gpu/drm/xe/tests/xe_test.h                 |   67 +
 drivers/gpu/drm/xe/tests/xe_wa_test.c              |  170 ++
 drivers/gpu/drm/xe/xe_assert.h                     |  174 ++
 drivers/gpu/drm/xe/xe_bb.c                         |  110 +
 drivers/gpu/drm/xe/xe_bb.h                         |   25 +
 drivers/gpu/drm/xe/xe_bb_types.h                   |   20 +
 drivers/gpu/drm/xe/xe_bo.c                         | 2269 ++++++++++++++
 drivers/gpu/drm/xe/xe_bo.h                         |  355 +++
 drivers/gpu/drm/xe/xe_bo_doc.h                     |  179 ++
 drivers/gpu/drm/xe/xe_bo_evict.c                   |  228 ++
 drivers/gpu/drm/xe/xe_bo_evict.h                   |   15 +
 drivers/gpu/drm/xe/xe_bo_types.h                   |   96 +
 drivers/gpu/drm/xe/xe_debugfs.c                    |  148 +
 drivers/gpu/drm/xe/xe_debugfs.h                    |   13 +
 drivers/gpu/drm/xe/xe_devcoredump.c                |  196 ++
 drivers/gpu/drm/xe/xe_devcoredump.h                |   20 +
 drivers/gpu/drm/xe/xe_devcoredump_types.h          |   55 +
 drivers/gpu/drm/xe/xe_device.c                     |  700 +++++
 drivers/gpu/drm/xe/xe_device.h                     |  173 ++
 drivers/gpu/drm/xe/xe_device_sysfs.c               |   89 +
 drivers/gpu/drm/xe/xe_device_sysfs.h               |   13 +
 drivers/gpu/drm/xe/xe_device_types.h               |  545 ++++
 drivers/gpu/drm/xe/xe_display.c                    |  422 +++
 drivers/gpu/drm/xe/xe_display.h                    |   72 +
 drivers/gpu/drm/xe/xe_dma_buf.c                    |  322 ++
 drivers/gpu/drm/xe/xe_dma_buf.h                    |   15 +
 drivers/gpu/drm/xe/xe_drm_client.c                 |  204 ++
 drivers/gpu/drm/xe/xe_drm_client.h                 |   70 +
 drivers/gpu/drm/xe/xe_drv.h                        |   23 +
 drivers/gpu/drm/xe/xe_exec.c                       |  350 +++
 drivers/gpu/drm/xe/xe_exec.h                       |   14 +
 drivers/gpu/drm/xe/xe_exec_queue.c                 |  956 ++++++
 drivers/gpu/drm/xe/xe_exec_queue.h                 |   69 +
 drivers/gpu/drm/xe/xe_exec_queue_types.h           |  222 ++
 drivers/gpu/drm/xe/xe_execlist.c                   |  474 +++
 drivers/gpu/drm/xe/xe_execlist.h                   |   21 +
 drivers/gpu/drm/xe/xe_execlist_types.h             |   49 +
 drivers/gpu/drm/xe/xe_force_wake.c                 |  199 ++
 drivers/gpu/drm/xe/xe_force_wake.h                 |   38 +
 drivers/gpu/drm/xe/xe_force_wake_types.h           |   86 +
 drivers/gpu/drm/xe/xe_gen_wa_oob.c                 |  165 +
 drivers/gpu/drm/xe/xe_ggtt.c                       |  428 +++
 drivers/gpu/drm/xe/xe_ggtt.h                       |   33 +
 drivers/gpu/drm/xe/xe_ggtt_types.h                 |   39 +
 drivers/gpu/drm/xe/xe_gpu_scheduler.c              |  101 +
 drivers/gpu/drm/xe/xe_gpu_scheduler.h              |   73 +
 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h        |   57 +
 drivers/gpu/drm/xe/xe_gsc.c                        |  438 +++
 drivers/gpu/drm/xe/xe_gsc.h                        |   20 +
 drivers/gpu/drm/xe/xe_gsc_submit.c                 |  184 ++
 drivers/gpu/drm/xe/xe_gsc_submit.h                 |   30 +
 drivers/gpu/drm/xe/xe_gsc_types.h                  |   39 +
 drivers/gpu/drm/xe/xe_gt.c                         |  778 +++++
 drivers/gpu/drm/xe/xe_gt.h                         |   72 +
 drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  191 ++
 drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |   24 +
 drivers/gpu/drm/xe/xe_gt_clock.c                   |   85 +
 drivers/gpu/drm/xe/xe_gt_clock.h                   |   15 +
 drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  249 ++
 drivers/gpu/drm/xe/xe_gt_debugfs.h                 |   13 +
 drivers/gpu/drm/xe/xe_gt_freq.c                    |  219 ++
 drivers/gpu/drm/xe/xe_gt_freq.h                    |   13 +
 drivers/gpu/drm/xe/xe_gt_idle.c                    |  192 ++
 drivers/gpu/drm/xe/xe_gt_idle.h                    |   17 +
 drivers/gpu/drm/xe/xe_gt_idle_types.h              |   38 +
 drivers/gpu/drm/xe/xe_gt_mcr.c                     |  685 +++++
 drivers/gpu/drm/xe/xe_gt_mcr.h                     |   29 +
 drivers/gpu/drm/xe/xe_gt_pagefault.c               |  646 ++++
 drivers/gpu/drm/xe/xe_gt_pagefault.h               |   19 +
 drivers/gpu/drm/xe/xe_gt_printk.h                  |   46 +
 drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   61 +
 drivers/gpu/drm/xe/xe_gt_sysfs.h                   |   19 +
 drivers/gpu/drm/xe/xe_gt_sysfs_types.h             |   26 +
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |  251 ++
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |   16 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  406 +++
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   26 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h  |   28 +
 drivers/gpu/drm/xe/xe_gt_topology.c                |  169 ++
 drivers/gpu/drm/xe/xe_gt_topology.h                |   25 +
 drivers/gpu/drm/xe/xe_gt_types.h                   |  363 +++
 drivers/gpu/drm/xe/xe_guc.c                        |  911 ++++++
 drivers/gpu/drm/xe/xe_guc.h                        |   72 +
 drivers/gpu/drm/xe/xe_guc_ads.c                    |  672 ++++
 drivers/gpu/drm/xe/xe_guc_ads.h                    |   17 +
 drivers/gpu/drm/xe/xe_guc_ads_types.h              |   25 +
 drivers/gpu/drm/xe/xe_guc_ct.c                     | 1320 ++++++++
 drivers/gpu/drm/xe/xe_guc_ct.h                     |   59 +
 drivers/gpu/drm/xe/xe_guc_ct_types.h               |  115 +
 drivers/gpu/drm/xe/xe_guc_debugfs.c                |   74 +
 drivers/gpu/drm/xe/xe_guc_debugfs.h                |   14 +
 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h       |   54 +
 drivers/gpu/drm/xe/xe_guc_fwif.h                   |  361 +++
 drivers/gpu/drm/xe/xe_guc_hwconfig.c               |  104 +
 drivers/gpu/drm/xe/xe_guc_hwconfig.h               |   17 +
 drivers/gpu/drm/xe/xe_guc_log.c                    |   97 +
 drivers/gpu/drm/xe/xe_guc_log.h                    |   48 +
 drivers/gpu/drm/xe/xe_guc_log_types.h              |   23 +
 drivers/gpu/drm/xe/xe_guc_pc.c                     | 1000 ++++++
 drivers/gpu/drm/xe/xe_guc_pc.h                     |   31 +
 drivers/gpu/drm/xe/xe_guc_pc_types.h               |   34 +
 drivers/gpu/drm/xe/xe_guc_submit.c                 | 1990 ++++++++++++
 drivers/gpu/drm/xe/xe_guc_submit.h                 |   38 +
 drivers/gpu/drm/xe/xe_guc_submit_types.h           |  155 +
 drivers/gpu/drm/xe/xe_guc_types.h                  |   81 +
 drivers/gpu/drm/xe/xe_heci_gsc.c                   |  234 ++
 drivers/gpu/drm/xe/xe_heci_gsc.h                   |   35 +
 drivers/gpu/drm/xe/xe_huc.c                        |  307 ++
 drivers/gpu/drm/xe/xe_huc.h                        |   26 +
 drivers/gpu/drm/xe/xe_huc_debugfs.c                |   70 +
 drivers/gpu/drm/xe/xe_huc_debugfs.h                |   14 +
 drivers/gpu/drm/xe/xe_huc_types.h                  |   24 +
 drivers/gpu/drm/xe/xe_hw_engine.c                  |  883 ++++++
 drivers/gpu/drm/xe/xe_hw_engine.h                  |   70 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  675 +++++
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |   36 +
 drivers/gpu/drm/xe/xe_hw_engine_types.h            |  225 ++
 drivers/gpu/drm/xe/xe_hw_fence.c                   |  230 ++
 drivers/gpu/drm/xe/xe_hw_fence.h                   |   30 +
 drivers/gpu/drm/xe/xe_hw_fence_types.h             |   72 +
 drivers/gpu/drm/xe/xe_hwmon.c                      |  776 +++++
 drivers/gpu/drm/xe/xe_hwmon.h                      |   19 +
 drivers/gpu/drm/xe/xe_irq.c                        |  666 ++++
 drivers/gpu/drm/xe/xe_irq.h                        |   19 +
 drivers/gpu/drm/xe/xe_lmtt.c                       |  506 +++
 drivers/gpu/drm/xe/xe_lmtt.h                       |   27 +
 drivers/gpu/drm/xe/xe_lmtt_2l.c                    |  150 +
 drivers/gpu/drm/xe/xe_lmtt_ml.c                    |  161 +
 drivers/gpu/drm/xe/xe_lmtt_types.h                 |   63 +
 drivers/gpu/drm/xe/xe_lrc.c                        | 1272 ++++++++
 drivers/gpu/drm/xe/xe_lrc.h                        |   58 +
 drivers/gpu/drm/xe/xe_lrc_types.h                  |   46 +
 drivers/gpu/drm/xe/xe_macros.h                     |   18 +
 drivers/gpu/drm/xe/xe_map.h                        |   93 +
 drivers/gpu/drm/xe/xe_migrate.c                    | 1410 +++++++++
 drivers/gpu/drm/xe/xe_migrate.h                    |  110 +
 drivers/gpu/drm/xe/xe_migrate_doc.h                |   88 +
 drivers/gpu/drm/xe/xe_mmio.c                       |  524 ++++
 drivers/gpu/drm/xe/xe_mmio.h                       |  107 +
 drivers/gpu/drm/xe/xe_mocs.c                       |  580 ++++
 drivers/gpu/drm/xe/xe_mocs.h                       |   17 +
 drivers/gpu/drm/xe/xe_module.c                     |  101 +
 drivers/gpu/drm/xe/xe_module.h                     |   26 +
 drivers/gpu/drm/xe/xe_pat.c                        |  459 +++
 drivers/gpu/drm/xe/xe_pat.h                        |   61 +
 drivers/gpu/drm/xe/xe_pci.c                        |  951 ++++++
 drivers/gpu/drm/xe/xe_pci.h                        |   12 +
 drivers/gpu/drm/xe/xe_pci_types.h                  |   46 +
 drivers/gpu/drm/xe/xe_pcode.c                      |  296 ++
 drivers/gpu/drm/xe/xe_pcode.h                      |   30 +
 drivers/gpu/drm/xe/xe_pcode_api.h                  |   49 +
 drivers/gpu/drm/xe/xe_platform_types.h             |   37 +
 drivers/gpu/drm/xe/xe_pm.c                         |  405 +++
 drivers/gpu/drm/xe/xe_pm.h                         |   35 +
 drivers/gpu/drm/xe/xe_preempt_fence.c              |  158 +
 drivers/gpu/drm/xe/xe_preempt_fence.h              |   61 +
 drivers/gpu/drm/xe/xe_preempt_fence_types.h        |   32 +
 drivers/gpu/drm/xe/xe_pt.c                         | 1653 ++++++++++
 drivers/gpu/drm/xe/xe_pt.h                         |   48 +
 drivers/gpu/drm/xe/xe_pt_types.h                   |   77 +
 drivers/gpu/drm/xe/xe_pt_walk.c                    |  160 +
 drivers/gpu/drm/xe/xe_pt_walk.h                    |  161 +
 drivers/gpu/drm/xe/xe_query.c                      |  552 ++++
 drivers/gpu/drm/xe/xe_query.h                      |   14 +
 drivers/gpu/drm/xe/xe_range_fence.c                |  156 +
 drivers/gpu/drm/xe/xe_range_fence.h                |   75 +
 drivers/gpu/drm/xe/xe_reg_sr.c                     |  284 ++
 drivers/gpu/drm/xe/xe_reg_sr.h                     |   28 +
 drivers/gpu/drm/xe/xe_reg_sr_types.h               |   37 +
 drivers/gpu/drm/xe/xe_reg_whitelist.c              |  146 +
 drivers/gpu/drm/xe/xe_reg_whitelist.h              |   23 +
 drivers/gpu/drm/xe/xe_res_cursor.h                 |  240 ++
 drivers/gpu/drm/xe/xe_ring_ops.c                   |  482 +++
 drivers/gpu/drm/xe/xe_ring_ops.h                   |   17 +
 drivers/gpu/drm/xe/xe_ring_ops_types.h             |   22 +
 drivers/gpu/drm/xe/xe_rtp.c                        |  325 ++
 drivers/gpu/drm/xe/xe_rtp.h                        |  430 +++
 drivers/gpu/drm/xe/xe_rtp_helpers.h                |   81 +
 drivers/gpu/drm/xe/xe_rtp_types.h                  |  124 +
 drivers/gpu/drm/xe/xe_sa.c                         |  106 +
 drivers/gpu/drm/xe/xe_sa.h                         |   40 +
 drivers/gpu/drm/xe/xe_sa_types.h                   |   19 +
 drivers/gpu/drm/xe/xe_sched_job.c                  |  280 ++
 drivers/gpu/drm/xe/xe_sched_job.h                  |   80 +
 drivers/gpu/drm/xe/xe_sched_job_types.h            |   46 +
 drivers/gpu/drm/xe/xe_sriov.c                      |   55 +
 drivers/gpu/drm/xe/xe_sriov.h                      |   42 +
 drivers/gpu/drm/xe/xe_sriov_printk.h               |   46 +
 drivers/gpu/drm/xe/xe_sriov_types.h                |   28 +
 drivers/gpu/drm/xe/xe_step.c                       |  264 ++
 drivers/gpu/drm/xe/xe_step.h                       |   23 +
 drivers/gpu/drm/xe/xe_step_types.h                 |   50 +
 drivers/gpu/drm/xe/xe_sync.c                       |  344 +++
 drivers/gpu/drm/xe/xe_sync.h                       |   36 +
 drivers/gpu/drm/xe/xe_sync_types.h                 |   28 +
 drivers/gpu/drm/xe/xe_tile.c                       |  185 ++
 drivers/gpu/drm/xe/xe_tile.h                       |   18 +
 drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   57 +
 drivers/gpu/drm/xe/xe_tile_sysfs.h                 |   19 +
 drivers/gpu/drm/xe/xe_tile_sysfs_types.h           |   27 +
 drivers/gpu/drm/xe/xe_trace.c                      |    9 +
 drivers/gpu/drm/xe/xe_trace.h                      |  608 ++++
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |  334 ++
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h             |   21 +
 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |  118 +
 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h                |   13 +
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |  480 +++
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |   44 +
 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h         |   52 +
 drivers/gpu/drm/xe/xe_tuning.c                     |  121 +
 drivers/gpu/drm/xe/xe_tuning.h                     |   16 +
 drivers/gpu/drm/xe/xe_uc.c                         |  258 ++
 drivers/gpu/drm/xe/xe_uc.h                         |   24 +
 drivers/gpu/drm/xe/xe_uc_debugfs.c                 |   26 +
 drivers/gpu/drm/xe/xe_uc_debugfs.h                 |   14 +
 drivers/gpu/drm/xe/xe_uc_fw.c                      |  884 ++++++
 drivers/gpu/drm/xe/xe_uc_fw.h                      |  184 ++
 drivers/gpu/drm/xe/xe_uc_fw_abi.h                  |  321 ++
 drivers/gpu/drm/xe/xe_uc_fw_types.h                |  146 +
 drivers/gpu/drm/xe/xe_uc_types.h                   |   28 +
 drivers/gpu/drm/xe/xe_vm.c                         | 3206 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_vm.h                         |  263 ++
 drivers/gpu/drm/xe/xe_vm_doc.h                     |  555 ++++
 drivers/gpu/drm/xe/xe_vm_types.h                   |  373 +++
 drivers/gpu/drm/xe/xe_wa.c                         |  895 ++++++
 drivers/gpu/drm/xe/xe_wa.h                         |   32 +
 drivers/gpu/drm/xe/xe_wa_oob.rules                 |   24 +
 drivers/gpu/drm/xe/xe_wait_user_fence.c            |  178 ++
 drivers/gpu/drm/xe/xe_wait_user_fence.h            |   15 +
 drivers/gpu/drm/xe/xe_wopcm.c                      |  270 ++
 drivers/gpu/drm/xe/xe_wopcm.h                      |   16 +
 drivers/gpu/drm/xe/xe_wopcm_types.h                |   26 +
 include/drm/drm_gpuvm.h                            |   10 +
 include/drm/xe_pciids.h                            |  190 ++
 include/uapi/drm/xe_drm.h                          | 1347 ++++++++
 352 files changed, 61427 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/ABI/testing/sysfs-driver-intel-xe-hwmon
 create mode 100644 Documentation/gpu/xe/index.rst
 create mode 100644 Documentation/gpu/xe/xe_cs.rst
 create mode 100644 Documentation/gpu/xe/xe_debugging.rst
 create mode 100644 Documentation/gpu/xe/xe_firmware.rst
 create mode 100644 Documentation/gpu/xe/xe_gt_mcr.rst
 create mode 100644 Documentation/gpu/xe/xe_map.rst
 create mode 100644 Documentation/gpu/xe/xe_migrate.rst
 create mode 100644 Documentation/gpu/xe/xe_mm.rst
 create mode 100644 Documentation/gpu/xe/xe_pcode.rst
 create mode 100644 Documentation/gpu/xe/xe_pm.rst
 create mode 100644 Documentation/gpu/xe/xe_rtp.rst
 create mode 100644 Documentation/gpu/xe/xe_tile.rst
 create mode 100644 Documentation/gpu/xe/xe_wa.rst
 create mode 100644 drivers/gpu/drm/xe/.gitignore
 create mode 100644 drivers/gpu/drm/xe/.kunitconfig
 create mode 100644 drivers/gpu/drm/xe/Kconfig
 create mode 100644 drivers/gpu/drm/xe/Kconfig.debug
 create mode 100644 drivers/gpu/drm/xe/Kconfig.profile
 create mode 100644 drivers/gpu/drm/xe/Makefile
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_command_header_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_mkhi_commands_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/gsc_pxp_commands_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_communication_mmio_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_errors_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_klvs_abi.h
 create mode 100644 drivers/gpu/drm/xe/abi/guc_messages_abi.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_lmem.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_mman.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object_frontbuffer.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gt/intel_rps.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_active_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_config.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_fixed.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gem_stolen.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gpu_error.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_irq.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg_defs.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_trace.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_utils.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vgpu.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_clock_gating.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_gt_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_mchbar_regs.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pci_config.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_runtime_pm.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_step.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uc_fw.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_uncore.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_wakeref.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_dram.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_gmch.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/soc/intel_pch.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/vlv_sideband_reg.h
 create mode 100644 drivers/gpu/drm/xe/display/ext/i915_irq.c
 create mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c
 create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.c
 create mode 100644 drivers/gpu/drm/xe/display/intel_fb_bo.h
 create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.c
 create mode 100644 drivers/gpu/drm/xe/display/intel_fbdev_fb.h
 create mode 100644 drivers/gpu/drm/xe/display/xe_display_misc.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_display_rps.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_fb_pin.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c
 create mode 100644 drivers/gpu/drm/xe/display/xe_plane_initial.c
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfxpipe_commands.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gsc_commands.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_instr_defs.h
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_mi_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_engine_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gpu_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gsc_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gt_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_guc_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_lrc_layout.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_mchbar_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_reg_defs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_regs.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_sriov_regs.h
 create mode 100644 drivers/gpu/drm/xe/tests/Makefile
 create mode 100644 drivers/gpu/drm/xe/tests/xe_bo.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_bo_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_dma_buf_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_lmtt_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_migrate_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_mocs_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_pci_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_test.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_wa_test.c
 create mode 100644 drivers/gpu/drm/xe/xe_assert.h
 create mode 100644 drivers/gpu/drm/xe/xe_bb.c
 create mode 100644 drivers/gpu/drm/xe/xe_bb.h
 create mode 100644 drivers/gpu/drm/xe/xe_bb_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo.c
 create mode 100644 drivers/gpu/drm/xe/xe_bo.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo_doc.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.c
 create mode 100644 drivers/gpu/drm/xe/xe_bo_evict.h
 create mode 100644 drivers/gpu/drm/xe/xe_bo_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.c
 create mode 100644 drivers/gpu/drm/xe/xe_devcoredump.h
 create mode 100644 drivers/gpu/drm/xe/xe_devcoredump_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_device.c
 create mode 100644 drivers/gpu/drm/xe/xe_device.h
 create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_device_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_device_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_display.c
 create mode 100644 drivers/gpu/drm/xe/xe_display.h
 create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.c
 create mode 100644 drivers/gpu/drm/xe/xe_dma_buf.h
 create mode 100644 drivers/gpu/drm/xe/xe_drm_client.c
 create mode 100644 drivers/gpu/drm/xe/xe_drm_client.h
 create mode 100644 drivers/gpu/drm/xe/xe_drv.h
 create mode 100644 drivers/gpu/drm/xe/xe_exec.c
 create mode 100644 drivers/gpu/drm/xe/xe_exec.h
 create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.c
 create mode 100644 drivers/gpu/drm/xe/xe_exec_queue.h
 create mode 100644 drivers/gpu/drm/xe/xe_exec_queue_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_execlist.c
 create mode 100644 drivers/gpu/drm/xe/xe_execlist.h
 create mode 100644 drivers/gpu/drm/xe/xe_execlist_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_force_wake.c
 create mode 100644 drivers/gpu/drm/xe/xe_force_wake.h
 create mode 100644 drivers/gpu/drm/xe/xe_force_wake_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gen_wa_oob.c
 create mode 100644 drivers/gpu/drm/xe/xe_ggtt.c
 create mode 100644 drivers/gpu/drm/xe/xe_ggtt.h
 create mode 100644 drivers/gpu/drm/xe/xe_ggtt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.c
 create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler.h
 create mode 100644 drivers/gpu/drm/xe/xe_gpu_scheduler_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_submit.h
 create mode 100644 drivers/gpu/drm/xe/xe_gsc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_ccs_mode.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_clock.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_freq.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_idle.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_idle_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_mcr.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_pagefault.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_printk.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sysfs_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_tlb_invalidation_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_topology.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ads.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ads_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ct.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_ct_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_exec_queue_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_fwif.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_hwconfig.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_log.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_log.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_log_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_pc.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_pc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_submit.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_submit_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.c
 create mode 100644 drivers/gpu/drm/xe/xe_heci_gsc.h
 create mode 100644 drivers/gpu/drm/xe/xe_huc.c
 create mode 100644 drivers/gpu/drm/xe/xe_huc.h
 create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_huc_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_huc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_engine_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_hw_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_hw_fence_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_hwmon.c
 create mode 100644 drivers/gpu/drm/xe/xe_hwmon.h
 create mode 100644 drivers/gpu/drm/xe/xe_irq.c
 create mode 100644 drivers/gpu/drm/xe/xe_irq.h
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt.c
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt.h
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt_2l.c
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt_ml.c
 create mode 100644 drivers/gpu/drm/xe/xe_lmtt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_lrc.c
 create mode 100644 drivers/gpu/drm/xe/xe_lrc.h
 create mode 100644 drivers/gpu/drm/xe/xe_lrc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_macros.h
 create mode 100644 drivers/gpu/drm/xe/xe_map.h
 create mode 100644 drivers/gpu/drm/xe/xe_migrate.c
 create mode 100644 drivers/gpu/drm/xe/xe_migrate.h
 create mode 100644 drivers/gpu/drm/xe/xe_migrate_doc.h
 create mode 100644 drivers/gpu/drm/xe/xe_mmio.c
 create mode 100644 drivers/gpu/drm/xe/xe_mmio.h
 create mode 100644 drivers/gpu/drm/xe/xe_mocs.c
 create mode 100644 drivers/gpu/drm/xe/xe_mocs.h
 create mode 100644 drivers/gpu/drm/xe/xe_module.c
 create mode 100644 drivers/gpu/drm/xe/xe_module.h
 create mode 100644 drivers/gpu/drm/xe/xe_pat.c
 create mode 100644 drivers/gpu/drm/xe/xe_pat.h
 create mode 100644 drivers/gpu/drm/xe/xe_pci.c
 create mode 100644 drivers/gpu/drm/xe/xe_pci.h
 create mode 100644 drivers/gpu/drm/xe/xe_pci_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pcode.c
 create mode 100644 drivers/gpu/drm/xe/xe_pcode.h
 create mode 100644 drivers/gpu/drm/xe/xe_pcode_api.h
 create mode 100644 drivers/gpu/drm/xe/xe_platform_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pm.c
 create mode 100644 drivers/gpu/drm/xe/xe_pm.h
 create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_preempt_fence_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pt.c
 create mode 100644 drivers/gpu/drm/xe/xe_pt.h
 create mode 100644 drivers/gpu/drm/xe/xe_pt_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.c
 create mode 100644 drivers/gpu/drm/xe/xe_pt_walk.h
 create mode 100644 drivers/gpu/drm/xe/xe_query.c
 create mode 100644 drivers/gpu/drm/xe/xe_query.h
 create mode 100644 drivers/gpu/drm/xe/xe_range_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_range_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.c
 create mode 100644 drivers/gpu/drm/xe/xe_reg_sr.h
 create mode 100644 drivers/gpu/drm/xe/xe_reg_sr_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.c
 create mode 100644 drivers/gpu/drm/xe/xe_reg_whitelist.h
 create mode 100644 drivers/gpu/drm/xe/xe_res_cursor.h
 create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.c
 create mode 100644 drivers/gpu/drm/xe/xe_ring_ops.h
 create mode 100644 drivers/gpu/drm/xe/xe_ring_ops_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_rtp.c
 create mode 100644 drivers/gpu/drm/xe/xe_rtp.h
 create mode 100644 drivers/gpu/drm/xe/xe_rtp_helpers.h
 create mode 100644 drivers/gpu/drm/xe/xe_rtp_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sa.c
 create mode 100644 drivers/gpu/drm/xe/xe_sa.h
 create mode 100644 drivers/gpu/drm/xe/xe_sa_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sched_job.c
 create mode 100644 drivers/gpu/drm/xe/xe_sched_job.h
 create mode 100644 drivers/gpu/drm/xe/xe_sched_job_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_printk.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_step.c
 create mode 100644 drivers/gpu/drm/xe/xe_step.h
 create mode 100644 drivers/gpu/drm/xe/xe_step_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sync.c
 create mode 100644 drivers/gpu/drm/xe/xe_sync.h
 create mode 100644 drivers/gpu/drm/xe/xe_sync_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_tile.c
 create mode 100644 drivers/gpu/drm/xe/xe_tile.h
 create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_tile_sysfs_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_trace.c
 create mode 100644 drivers/gpu/drm/xe/xe_trace.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_sys_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_tuning.c
 create mode 100644 drivers/gpu/drm/xe/xe_tuning.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc.c
 create mode 100644 drivers/gpu/drm/xe/xe_uc.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_uc_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.c
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_abi.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_fw_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_uc_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_vm.c
 create mode 100644 drivers/gpu/drm/xe/xe_vm.h
 create mode 100644 drivers/gpu/drm/xe/xe_vm_doc.h
 create mode 100644 drivers/gpu/drm/xe/xe_vm_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_wa.c
 create mode 100644 drivers/gpu/drm/xe/xe_wa.h
 create mode 100644 drivers/gpu/drm/xe/xe_wa_oob.rules
 create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.c
 create mode 100644 drivers/gpu/drm/xe/xe_wait_user_fence.h
 create mode 100644 drivers/gpu/drm/xe/xe_wopcm.c
 create mode 100644 drivers/gpu/drm/xe/xe_wopcm.h
 create mode 100644 drivers/gpu/drm/xe/xe_wopcm_types.h
 create mode 100644 include/drm/xe_pciids.h
 create mode 100644 include/uapi/drm/xe_drm.h