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@xxxxxxxxx> 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@xxxxxxxxxx> > > 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