Re: [PULL] drm-xe-next

Oded Gabbay
2023-12-18T19:16:23Z

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