dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PULL] drm-xe-next
@ 2024-04-23 12:54 Thomas Hellstrom
  0 siblings, 0 replies; 12+ messages in thread
From: Thomas Hellstrom @ 2024-04-23 12:54 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, intel-xe, dim-tools

Hi, Dave, Sima

The main -next 6.10 pull request for the xe driver. I scanned through the patches and
tried to provide a somewhat condensed log below.

Nothing spectacular in the uAPI changes. Among other things there are some flags
that are reinstated now that we have published UMD for them. Unfortunately some
of the underlying implementation got somehow lost in a backmerge but there is a
patch pending to reinstate that. Will send another pull-request this week, or
if you want I can resend this one when the patch passes review and CI with the
patch included.

Some hickups unfortunately in that we carry a couple of i915 patches.
One that got mistakenly commited to drm-xe-next, but was later acked-by
Rodrigo for carrying in drm-xe-next to simplify handling. There is also one
that was part of the PM rework, and a fix for that patch.

Thanks,
Thomas

drm-xe-next-2024-04-23:
UAPI Changes:
- Remove unused flags (Francois Dugast)
- Extend uAPI to query HuC micro-controler firmware version (Francois Dugast)
- drm/xe/uapi: Define topology types as indexes rather than masks
  (Francois Dugast)
- drm/xe/uapi: Restore flags VM_BIND_FLAG_READONLY and VM_BIND_FLAG_IMMEDIATE
  (Francois Dugast)
- devcoredump updates. Some touching the output format.
  (José Roberto de Souza, Matthew Brost)
- drm/xe/hwmon: Add infra to support card power and energy attributes
- Improve LRC, HWSP and HWCTX error capture. (Maarten Lankhorst)
- drm/xe/uapi: Add IP version and stepping to GT list query (Matt roper)
- Invalidate userptr VMA on page pin fault (Matthew Brost)
- Improve xe_bo_move tracepoint (Priyanka Danamudi)
- Align fence output format in ftrace log

Cross-driver Changes:
- drm/i915/hwmon: Get rid of devm (Ashutosh Dixit)
  (Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>)
- drm/i915/display: convert inner wakeref get towards get_if_in_use
  (SOB Rodrigo Vivi)
- drm/i915: Convert intel_runtime_pm_get_noresume towards raw wakeref
  (Committer, SOB Jani Nikula)

Driver Changes:
- Fix for unneeded CCS metadata allocation (Akshata Jahagirdar)
- Fix for fix multicast support for Xe_LP platforms (Andrzej Hajda)
- A couple of build fixes (Arnd Bergmann)
- Fix register definition (Ashutosh Dixit)
- Add BMG mocs table (Balasubramani Vivekanandan)
- Replace sprintf() across driver (Bommu Krishnaiah)
- Add an xe2 workaround (Bommu Krishnaiah)
- Makefile fix (Dafna Hirschfeld)
- force_wake_get error value check (Daniele Ceraolo Spurio)
- Handle GSCCS ER interrupt (Daniele Ceraolo Spurio)
- GSC Workaround (Daniele Ceraolo Spurio)
- Build error fix (Dawei Li)
- drm/xe/gt: Add L3 bank mask to GT topology (Francois Dugast)
- Implement xe2- and GuC workarounds (Gustavo Sousa, Haridhar Kalvala,
  Himal rasad Ghimiray, John Harrison, Matt Roper, Radhakrishna Sripada,
  Vinay Belgaumkar, Badal Nilawar)
- xe2hpg compression (Himal Ghimiray Prasad)
- Error code cleanups and fixes (Himal Prasad Ghimiray)
- struct xe_device cleanup (Jani Nikula)
- Avoid validating bos when only requesting an exec dma-fence
  (José Roberto de Souza)
- Remove debug message from migrate_clear (José Roberto de Souza)
- Nuke EXEC_QUEUE_FLAG_PERSISTENT leftover internal flag (José Roberto de Souza)
- Mark dpt and related vma as uncached (Juha-Pekka Heikkila)
- Hwmon updates (Karthik Poosa)
- KConfig fix when ACPI_WMI selcted (Lu Yao)
- Update intel_uncore_read*() return types (Luca Coelho)
- Mocs updates (Lucas De Marchi, Matt Roper)
- Drop dynamic load-balancing workaround (Lucas De Marchi)
- Fix a PVC workaround (Lucas De Marchi)
- Group live kunit tests into a single module (Lucas De Marchi)
- Various code cleanups (Lucas De Marchi)
- Fix a ggtt init error patch and move ggtt invalidate out of ggtt lock
  (Maarten Lankhorst)
- Fix a bo leak (Marten Lankhorst)
- Add LRC parsing for more GPU instructions (Matt Roper)
- Add various definitions for hardware and IP (Matt Roper)
- Define all possible engines in media IP descriptors (Matt Roper)
- Various cleanups, asserts and code fixes (Matthew Auld)
- Various cleanups and code fixes (Matthew Brost)
- Increase VM_BIND number of per-ioctl Ops (Matthew Brost, Paulo Zanoni)
- Don't support execlists in xe_gt_tlb_invalidation layer (Matthew Brost)
- Handle timing out of already signaled jobs gracefully (Matthew Brost)
- Pipeline evict / restore of pinned BOs during suspend / resume (Matthew Brost)
- Do not grab forcewakes when issuing GGTT TLB invalidation via GuC
  (Matthew Brost)
- Drop ggtt invalidate from display code (Matthew Brost)
- drm/xe: Add XE_BO_GGTT_INVALIDATE flag (Matthew Brost)
- Add debug messages for MMU notifier and VMA invalidate (Matthew Brost)
- Use ordered wq for preempt fence waiting (Matthew Brost)
- Initial development for SR-IOV support including some refactoring
  (Michal Wajdeczko)
- Various GuC- and GT- related cleanups and fixes (Michal Wajdeczko)
- Move userptr over to start using hmm_range_fault (Oak Zeng)
- Add new PCI IDs to DG2 platform (Ravi Kumar Vodapalli)
- Pcode - and VRAM initialization check update (Riana Tauro)
- Large PM update including i915 display patches, and a fix for one of those.
  (Rodrigo Vivi)
- Introduce performance tuning changes for Xe2_HPG (Shekhar Chauhan)
- GSC / HDCP updates (Suraj Kandpal)
- Minor code cleanup (Tejas Upadhyay)
- Rework / fix rebind TLB flushing and move rebind into the drm_exec locking loop
  (Thomas Hellström)
- Backmerge (Thomas Hellström)
- GuC updates and fixes (Vinay Belgaumkar, Zhanjun Dong)

The following changes since commit 6e1f415e7129f7cd4c2394af83b35cdcdd40baf7:

  Merge tag 'drm-misc-next-2024-04-10' of https://gitlab.freedesktop.org/drm/misc/kernel into drm-next (2024-04-11 13:36:01 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-04-23

for you to fetch changes up to 48c64d495fbef343c59598a793d583dfd199d389:

  drm/xe/guc: Fix arguments passed to relay G2H handlers (2024-04-22 20:08:04 +0200)

----------------------------------------------------------------
UAPI Changes:
- Remove unused flags (Francois Dugast)
- Extend uAPI to query HuC micro-controler firmware version (Francois Dugast)
- drm/xe/uapi: Define topology types as indexes rather than masks
  (Francois Dugast)
- drm/xe/uapi: Restore flags VM_BIND_FLAG_READONLY and VM_BIND_FLAG_IMMEDIATE
  (Francois Dugast)
- devcoredump updates. Some touching the output format.
  (José Roberto de Souza, Matthew Brost)
- drm/xe/hwmon: Add infra to support card power and energy attributes
- Improve LRC, HWSP and HWCTX error capture. (Maarten Lankhorst)
- drm/xe/uapi: Add IP version and stepping to GT list query (Matt roper)
- Invalidate userptr VMA on page pin fault (Matthew Brost)
- Improve xe_bo_move tracepoint (Priyanka Danamudi)
- Align fence output format in ftrace log

Cross-driver Changes:
- drm/i915/hwmon: Get rid of devm (Ashutosh Dixit)
  (Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>)
- drm/i915/display: convert inner wakeref get towards get_if_in_use
  (SOB Rodrigo Vivi)
- drm/i915: Convert intel_runtime_pm_get_noresume towards raw wakeref
  (Committer, SOB Jani Nikula)

Driver Changes:
- Fix for unneeded CCS metadata allocation (Akshata Jahagirdar)
- Fix for fix multicast support for Xe_LP platforms (Andrzej Hajda)
- A couple of build fixes (Arnd Bergmann)
- Fix register definition (Ashutosh Dixit)
- Add BMG mocs table (Balasubramani Vivekanandan)
- Replace sprintf() across driver (Bommu Krishnaiah)
- Add an xe2 workaround (Bommu Krishnaiah)
- Makefile fix (Dafna Hirschfeld)
- force_wake_get error value check (Daniele Ceraolo Spurio)
- Handle GSCCS ER interrupt (Daniele Ceraolo Spurio)
- GSC Workaround (Daniele Ceraolo Spurio)
- Build error fix (Dawei Li)
- drm/xe/gt: Add L3 bank mask to GT topology (Francois Dugast)
- Implement xe2- and GuC workarounds (Gustavo Sousa, Haridhar Kalvala,
  Himal rasad Ghimiray, John Harrison, Matt Roper, Radhakrishna Sripada,
  Vinay Belgaumkar, Badal Nilawar)
- xe2hpg compression (Himal Ghimiray Prasad)
- Error code cleanups and fixes (Himal Prasad Ghimiray)
- struct xe_device cleanup (Jani Nikula)
- Avoid validating bos when only requesting an exec dma-fence
  (José Roberto de Souza)
- Remove debug message from migrate_clear (José Roberto de Souza)
- Nuke EXEC_QUEUE_FLAG_PERSISTENT leftover internal flag (José Roberto de Souza)
- Mark dpt and related vma as uncached (Juha-Pekka Heikkila)
- Hwmon updates (Karthik Poosa)
- KConfig fix when ACPI_WMI selcted (Lu Yao)
- Update intel_uncore_read*() return types (Luca Coelho)
- Mocs updates (Lucas De Marchi, Matt Roper)
- Drop dynamic load-balancing workaround (Lucas De Marchi)
- Fix a PVC workaround (Lucas De Marchi)
- Group live kunit tests into a single module (Lucas De Marchi)
- Various code cleanups (Lucas De Marchi)
- Fix a ggtt init error patch and move ggtt invalidate out of ggtt lock
  (Maarten Lankhorst)
- Fix a bo leak (Marten Lankhorst)
- Add LRC parsing for more GPU instructions (Matt Roper)
- Add various definitions for hardware and IP (Matt Roper)
- Define all possible engines in media IP descriptors (Matt Roper)
- Various cleanups, asserts and code fixes (Matthew Auld)
- Various cleanups and code fixes (Matthew Brost)
- Increase VM_BIND number of per-ioctl Ops (Matthew Brost, Paulo Zanoni)
- Don't support execlists in xe_gt_tlb_invalidation layer (Matthew Brost)
- Handle timing out of already signaled jobs gracefully (Matthew Brost)
- Pipeline evict / restore of pinned BOs during suspend / resume (Matthew Brost)
- Do not grab forcewakes when issuing GGTT TLB invalidation via GuC
  (Matthew Brost)
- Drop ggtt invalidate from display code (Matthew Brost)
- drm/xe: Add XE_BO_GGTT_INVALIDATE flag (Matthew Brost)
- Add debug messages for MMU notifier and VMA invalidate (Matthew Brost)
- Use ordered wq for preempt fence waiting (Matthew Brost)
- Initial development for SR-IOV support including some refactoring
  (Michal Wajdeczko)
- Various GuC- and GT- related cleanups and fixes (Michal Wajdeczko)
- Move userptr over to start using hmm_range_fault (Oak Zeng)
- Add new PCI IDs to DG2 platform (Ravi Kumar Vodapalli)
- Pcode - and VRAM initialization check update (Riana Tauro)
- Large PM update including i915 display patches, and a fix for one of those.
  (Rodrigo Vivi)
- Introduce performance tuning changes for Xe2_HPG (Shekhar Chauhan)
- GSC / HDCP updates (Suraj Kandpal)
- Minor code cleanup (Tejas Upadhyay)
- Rework / fix rebind TLB flushing and move rebind into the drm_exec locking loop
  (Thomas Hellström)
- Backmerge (Thomas Hellström)
- GuC updates and fixes (Vinay Belgaumkar, Zhanjun Dong)

----------------------------------------------------------------
Akshata Jahagirdar (1):
      drm/xe/xe2hpg: Remove extra allocation of CCS pages for dgfx

Andrzej Hajda (1):
      drm/xe: fix multicast support for Xe_LP platforms

Arnd Bergmann (3):
      drm/xe/kunit: fix link failure with built-in xe
      drm/xe/mmio: fix build warning for BAR resize on 32-bit
      drm/xe/xe2: fix 64-bit division in pte_update_size

Ashutosh Dixit (2):
      drm/xe: Label RING_CONTEXT_CONTROL as masked
      drm/i915/hwmon: Get rid of devm

Badal Nilawar (2):
      drm/xe/guc: Add support for workaround KLVs
      drm/xe/lnl: Enable GuC Wa_14019882105

Balasubramani Vivekanandan (1):
      drm/xe/bmg: Add BMG mocs table

Bommu Krishnaiah (3):
      drm/xe: prefer snprintf over sprintf
      drm/xe/xe_hw_engine_class_sysfs: use sysfs_emit() for attr's _show()
      drm/xe/xe2: Add workaround 18034896535

Dafna Hirschfeld (1):
      drm/xe: Replace 'grouped target' in Makefile with pattern rule

Daniele Ceraolo Spurio (6):
      drm/xe/gsc: Handle GSCCS ER interrupt
      drm/xe/guc: Don't support older GuC 70.x releases
      drm/xe: Always check force_wake_get return code
      drm/xe/uc: Use u64 for offsets for which we use upper_32_bits()
      drm/xe/guc: Check error code when initializing the CT mutex
      drm/xe/gsc: Implement WA 14018094691

Dawei Li (1):
      drm/xe: Declare __xe_lrc_*_ggtt_addr with __maybe__unused

Francois Dugast (5):
      drm/xe/uapi: Remove unused flags
      drm/xe: Extend uAPI to query HuC micro-controler firmware version
      drm/xe/uapi: Define topology types as indexes rather than masks
      drm/xe/uapi: Restore flags VM_BIND_FLAG_READONLY and VM_BIND_FLAG_IMMEDIATE
      drm/xe/gt: Add L3 bank mask to GT topology

Gustavo Sousa (2):
      drm/xe/xe2hpm: Add initial set of workarounds
      drm/xe/xe2lpg: Extend Wa_14020338487

Haridhar Kalvala (1):
      drm/xe/xe2hpg: Add initial GT workarounds

Himal Prasad Ghimiray (15):
      drm/xe: Return if kobj creation is failed
      drm/xe/xe_exec : In xe_exec_ioctl remove deadcode
      drm/xe/vm : Remove duplicate assignment of XE_VM_FLAG_LR_MODE flag.
      drm/xe: Use USEC_PER_MSEC rather than the hard coding
      drm/xe/xe_devcoredump: Check NULL before assignments
      drm/xe/xe2: Add workaround 18033852989
      drm/xe/xe_migrate: Cast to output precision before multiplying operands
      drm/xe/xe2hpg: Determine flat ccs offset for vram
      drm/xe: Simplify function return using drmm_add_action_or_reset()
      drm/xe: Remove sysfs only once on action add failure
      drm/xe: call free_gsc_pkt only once on action add failure
      drm/xe: Return NULL in case of drmm_add_action_or_reset failure
      drm/xe/gt: Abort driver load for sysfs creation failure
      drm/xe/tile: Abort driver load for sysfs creation failure
      drm/xe/pm: Capture errors and handle them

Jani Nikula (1):
      drm/xe: remove unused struct xe_device members

John Harrison (2):
      drm/xe/lnl: Enable more GuC based workarounds
      drm/xe/bmg: Some LNL workarounds also apply to BMG

José Roberto de Souza (7):
      drm/xe: Skip VMAs pin when requesting signal to the last XE_EXEC
      drm/xe: Make devcoredump VM error state print consistent
      drm/xe/devcoredump: Print errno if VM snapshot was not captured
      drm/xe: Nuke EXEC_QUEUE_FLAG_PERSISTENT
      drm/xe: Remove debug message from migrate_clear()
      devcoredump: Add dev_coredump_put()
      drm/xe: Remove devcoredump during driver release

Juha-Pekka Heikkila (1):
      drm/xe/display: Mark dpt and related vma as uncached

Karthik Poosa (4):
      drm/xe/hwmon: Add infra to support card power and energy attributes
      drm/xe: Define xe_reg_is_valid
      drm/xe/hwmon: Update xe_hwmon_get_reg to return struct xe_reg
      drm/xe/hwmon: Cast result to output precision on left shift of operand

Lu Yao (1):
      drm/xe: select X86_PLATFORM_DEVICES when ACPI_WMI is selected

Luca Coelho (1):
      drm/xe/display: fix type of intel_uncore_read*() functions

Lucas De Marchi (15):
      drm/xe/mocs: Refactor mocs/l3cc loop
      drm/xe/mocs: Be explicit when logging number of entries
      drm/xe/mocs: Move warn/assertion up
      drm/xe/mocs: Allow odd number of entries on test
      drm/xe/mocs: Fix DG2 kunit
      drm/xe: Drop WA 16015675438
      drm/xe: Remove unused FF_SLICE_CS_CHICKEN2
      drm/xe/pvc: Fix WA 18020744125
      drm/xe: Group live kunit tests
      drm/xe: Fix END redefinition
      drm/xe: Remove redundant functions to get xe
      drm/xe: Stop passing user flag to xe_bo_create_user()
      drm/xe: Normalize bo flags macros
      drm/xe/display: Fix double mutex initialization
      drm/xe: Remove dead clock code

Maarten Lankhorst (6):
      drm/xe: Move lrc snapshot capturing to xe_lrc.c
      drm/xe: Add infrastructure for delayed LRC capture
      drm/xe: Implement capture of HWSP and HWCTX
      drm/xe: Fix NULL check in xe_ggtt_init()
      drm/xe: Move xe_ggtt_invalidate out from ggtt->lock
      drm/xe: Fix bo leak in intel_fb_bo_framebuffer_init

Matt Roper (12):
      drm/xe: Add LRC parsing for more GPU instructions
      drm/xe/xelpg: Recognize graphics version 12.74 as Xe_LPG
      drm/xe/xelpg: Extend some workarounds to graphics version 12.74
      drm/xe/arl: Add Arrow Lake H support
      drm/xe/uapi: Add IP version and stepping to GT list query
      drm/xe/mocs: Determine MCR separately for primary/media GT in kunit test
      drm/xe/mocs: Clarify which GT is being operated on
      drm/xe/xe2: Recognize Xe2_HPG IP
      drm/xe/xe2: Recognize Xe2_HPM IP
      drm/xe/bmg: Add BMG platform definition
      drm/xe/bmg: Program an additional discrete-specific PAT setting
      drm/xe: Define all possible engines in media IP descriptors

Matthew Auld (16):
      drm/xe/guc_submit: use jiffies for job timeout
      drm/xe/client: remove bogus rcu list usage
      drm/xe/client: drop bogus bo NULL check
      drm/xe/vm: fix xe_assert()
      drm/xe/queue: fix engine_class bounds check
      drm/xe/device: fix XE_MAX_GT_PER_TILE check
      drm/xe/device: fix XE_MAX_TILES_PER_DEVICE check
      drm/xe/display: mark DPT with XE_BO_PAGETABLE
      drm/xe/bb: assert width in xe_bb_create_job()
      drm/xe/bb: assert width in xe_bb_create_migration_job()
      drm/xe/query: fix gt_id bounds check
      drm/xe/stolen: lower the default alignment
      drm/xe/stolen: ignore first page for FBC
      drm/xe/vm: prevent UAF with asid based lookup
      drm/xe/vm: drop vm->destroy_work
      drm/xe/vm: don't include xe_gt.h

Matthew Brost (17):
      drm/xe: Fix execlist splat
      drm/xe: Cleanup some layering in GGTT
      drm/xe: Don't support execlists in xe_gt_tlb_invalidation layer
      drm/xe: Use vmalloc for array of bind allocation in bind IOCTL
      drm/xe/guc: Handle timing out of signaled jobs gracefully
      drm/xe: Fix build error in xe_ggtt.c
      drm/xe: Fix ref counting leak on page fault
      drm/xe: Pipeline evict / restore of pinned BOs during suspend / resume
      drm/xe: Do not grab forcewakes when issuing GGTT TLB invalidation via GuC
      drm/xe: Invalidate userptr VMA on page pin fault
      drm/xe: Use xe_assert in xe_device_assert_mem_access
      drm/xe: Drop ggtt invalidate from display code
      drm/xe: Add XE_BO_GGTT_INVALIDATE flag
      drm/xe: Add debug messages for MMU notifier and VMA invalidate
      drm/xe: Use ordered wq for preempt fence waiting
      drm/xe: Always capture exec queues on snapshot
      drm/xe: Capture GuC CT snapshot when stopped

Michal Wajdeczko (53):
      drm/xe: Assert size of the struct xe_reg
      drm/xe: Define XE_REG_OPTION_VF
      drm/xe: Mark VF accessible GuC registers
      drm/xe: Mark VF accessible global registers
      drm/xe: Mark VF accessible interrupt registers
      drm/xe: Make xe_mmio_read|write() functions non-inline
      drm/xe: Allow VRAM BO allocations aligned to 64K
      drm/xe/pf: Request 64K aligned allocations for LMTT PD
      drm/xe/pf: Always select Multi-Level LMTT for platforms 12.60+
      drm/xe: Move HW GGTT definitions to dedicated file
      drm/xe/guc: Fix include guard for SR-IOV ABI
      drm/xe/guc: Move GUC_ID_MAX definition to GuC ABI header
      drm/xe/guc: Introduce GuC context ID Manager
      drm/xe/kunit: Add basic tests for GuC context ID Manager
      drm/xe/guc: Use GuC ID Manager in submission code
      drm/xe: Separate pure MMIO init from VRAM checkout
      drm/xe: Move SR-IOV probe to xe_device_probe_early()
      drm/xe/vf: Add proper detection of the SR-IOV VF mode
      drm/xe/guc: Add VF_STATE_NOTIFY and VF_CONTROL to ABI
      drm/xe/pf: Add minimal support for VF_STATE_NOTIFY events
      drm/xe: Store pointer to struct xe_gt in gt/ debugfs directory
      drm/xe: Define helper for GT specific debugfs files
      drm/xe: Refactor GT debugfs
      drm/xe/guc: Prefer GT oriented logs for GuC messages
      drm/xe/guc: Reuse code while debugging GuC params
      drm/xe: Move PTE/PDE bit definitions to proper header
      drm/xe: Drop xe_vm_assert_held() macro definition from xe_bo.h
      drm/xe/guc: Use drm_device-managed version of mutex_init()
      drm/xe/guc: Initialize GuC ID manager sooner
      drm/xe/vf: Don't emit access to Global HWSP if VF
      drm/xe/vf: Don't try to program MOCS if VF
      drm/xe/vf: Don't try to read legacy GuC MMIO notification if VF
      drm/xe/vf: Mark supported firmwares as preloaded
      drm/xe: Assert pat.ops function pointers
      drm/xe: Check pat.ops before dumping PAT settings
      drm/xe: Add max_vfs module parameter
      drm/xe: Add proper detection of the SR-IOV PF mode
      drm/xe: Add SR-IOV info attribute to debugfs
      drm/xe/guc: Prefer GT oriented logs in GuC CTB code
      drm/xe/guc: Prefer GT oriented asserts in CTB code
      drm/xe/pf: Introduce mutex to protect VFs configurations
      drm/xe/pf: Introduce helper functions for use by PF
      drm/xe/guc: Add PF2GUC_UPDATE_VGT_POLICY to ABI
      drm/xe/guc: Add helpers for GuC KLVs
      drm/xe/pf: Add support to configure GuC SR-IOV policies
      drm/xe: Add helper to format SR-IOV function name
      drm/xe: Allow to assign GGTT region to the VF
      drm/xe: Add xe_ttm_vram_get_avail
      drm/xe/guc: Add PF2GUC_UPDATE_VF_CFG to ABI
      drm/xe/pf: Add SR-IOV PF specific early GT initialization
      drm/xe/pf: Add support to configure SR-IOV VFs
      drm/xe/pf: Fix xe_gt_sriov_pf_config_print_available_ggtt()
      drm/xe/guc: Fix arguments passed to relay G2H handlers

Mika Kuoppala (3):
      drm/xe: Expose user fence from xe_sync_entry
      drm/xe: Deny unbinds if uapi ufence pending
      drm/xe: Remove obsolete async_ops from struct xe_vm

Nathan Chancellor (1):
      drm/xe: Add xe_guc_ads.c to uses_generated_oob

Niranjana Vishwanathapura (4):
      drm/xe: Separate out sched/deregister_done handling
      drm/xe: Streamline exec queue freeing path
      drm/xe: Use correct function pointer type
      drm/xe: Use FIELD_PREP for lrc descriptor

Nirmoy Das (7):
      drm/xe: Remove unused 'create' parameter from queue property logic
      drm/xe: Remove unused xe_bo->props struct
      drm/xe: Fix potential integer overflow in page size calculation
      drm/xe: Drop bogus vma NULL check
      drm/xe: Remove usage of unsafe strcpy
      drm/xe: Add a NULL check in xe_ttm_stolen_mgr_init
      drm/xe: Create a helper function to init job's user fence

Oak Zeng (2):
      drm/xe: Introduce helper to populate userptr
      drm/xe: Use hmm_range_fault to populate user pages

Paulo Zanoni (1):
      drm/xe: get rid of MAX_BINDS

Priyanka Dandamudi (1):
      drm/xe/xe_trace: Add move_lacks_source detail to xe_bo_move trace

Radhakrishna Sripada (1):
      drm/xe/xelpg: Add Wa_14020495402

Ravi Kumar Vodapalli (1):
      drm/xe: Add new PCI IDs to DG2 platform

Riana Tauro (2):
      drm/xe: check pcode init status only on root gt of root tile
      drm/xe: re-order lmem init check and wait for initialization to complete

Rodrigo Vivi (33):
      drm/xe: Document Xe PM component
      drm/xe: Convert mem_access assertion towards the runtime_pm state
      drm/xe: Runtime PM wake on every IOCTL
      drm/xe: Convert kunit tests from mem_access to xe_pm_runtime
      drm/xe: Runtime PM wake on every sysfs call
      drm/xe: Remove mem_access from guc_pc calls
      drm/xe: Runtime PM wake on every debugfs call
      drm/xe: Replace dma_buf mem_access per direct xe_pm_runtime calls
      drm/xe: Convert hwmon from mem_access to xe_pm_runtime calls
      drm/xe: Remove useless mem_access protection for query ioctls
      drm/xe: Convert gsc_work from mem_access to xe_pm_runtime
      drm/xe: Remove mem_access from suspend and resume functions
      drm/xe: Convert gt_reset from mem_access to xe_pm_runtime
      drm/xe: Remove useless mem_access on PAT dumps
      drm/xe: Fix display runtime_pm handling
      drm/xe: Create a xe_pm_runtime_resume_and_get variant for display
      drm/xe: Convert xe_pm_runtime_{get, put} to void and protect from recursion
      drm/xe: Return immediately on tile_init failure
      drm/xe: Convert gt suspend/resume messages to debug
      drm/xe: Add dbg messages on the suspend resume functions.
      drm/xe: Protect devcoredump access after unbind
      drm/xe: Introduce xe_pm_runtime_get_noresume for inner callers
      drm/xe: Introduce intel_runtime_pm_get_noresume at compat-i915-headers for display
      drm/i915/display: convert inner wakeref get towards get_if_in_use
      drm/xe: Move lockdep protection from mem_access to xe_pm_runtime
      drm/xe: Remove useless mem_access during probe
      drm/xe: Convert xe_gem_fault to use direct xe_pm_runtime calls
      drm/xe: Removing extra mem_access protection from runtime pm
      drm/xe: Convert mem_access_if_ongoing to direct xe_pm_runtime_get_if_active
      drm/xe: Ensure all the inner access are using the _noresume variant
      drm/xe: Add outer runtime_pm protection to xe_live_ktest@xe_dma_buf
      drm/i915: Convert intel_runtime_pm_get_noresume towards raw wakeref
      drm/xe: Kill xe_device_mem_access_{get*,put}

Shekhar Chauhan (1):
      drm/xe/xe2hpg: Introduce performance tuning changes for Xe2_HPG.

Shuicheng Lin (1):
      drm/xe/xe_tracer: Align fence output format in ftrace log

Suraj Kandpal (6):
      drm/i915/hdcp: Move intel_hdcp_gsc_message def away from header file
      drm/xe/hdcp: Use xe_device struct
      drm/xe: Use gsc_proxy_init_done to check proxy status
      drm/xe/hdcp: Enable HDCP for XE
      drm/xe/gsc: Fix kernel doc for xe_gsc_create_host_session_id
      drm/xe/hdcp: Fix condition for hdcp gsc cs requirement

Tejas Upadhyay (1):
      drm/xe/gt: Remove continue statement which has no effect

Thomas Hellström (5):
      drm/xe: Use ring ops TLB invalidation for rebinds
      drm/xe: Rework rebinding
      drm/xe: Make TLB invalidation fences unordered
      drm/xe: Move vma rebinding to the drm_exec locking loop
      Merge drm/drm-next into drm-xe-next

Vinay Belgaumkar (3):
      drm/xe/guc: Add some failure checks
      drm/xe/guc: Remove explicit shutdown of SLPC
      drm/xe/lnl: Apply GuC Wa_13011645652

Zhanjun Dong (2):
      drm/xe/guc: Fix missing topology init
      drm/xe: Add helper macro to loop each DSS

 .../ABI/testing/sysfs-driver-intel-xe-hwmon        |   94 +-
 drivers/base/devcoredump.c                         |   23 +
 drivers/gpu/drm/i915/display/intel_display_power.c |    8 +-
 drivers/gpu/drm/i915/display/intel_hdcp_gsc.c      |    6 +
 drivers/gpu/drm/i915/display/intel_hdcp_gsc.h      |    7 +-
 drivers/gpu/drm/i915/i915_hwmon.c                  |   46 +-
 drivers/gpu/drm/i915/intel_runtime_pm.c            |   14 +-
 drivers/gpu/drm/xe/Kconfig                         |    2 +
 drivers/gpu/drm/xe/Makefile                        |   13 +-
 drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h     |  200 +-
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |   10 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |   17 +-
 .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |    9 +-
 .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |    6 +-
 drivers/gpu/drm/xe/display/intel_fb_bo.c           |   16 +-
 drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |   16 +-
 drivers/gpu/drm/xe/display/xe_display.c            |   13 +-
 drivers/gpu/drm/xe/display/xe_dsb_buffer.c         |    4 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c             |   39 +-
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |  240 ++-
 drivers/gpu/drm/xe/display/xe_plane_initial.c      |    7 +-
 .../drm/xe/instructions/xe_gfx_state_commands.h    |   18 +
 .../gpu/drm/xe/instructions/xe_gfxpipe_commands.h  |    3 +
 drivers/gpu/drm/xe/instructions/xe_instr_defs.h    |    1 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h           |    5 +-
 drivers/gpu/drm/xe/regs/xe_gsc_regs.h              |    7 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h               |   65 +-
 drivers/gpu/drm/xe/regs/xe_gtt_defs.h              |   37 +
 drivers/gpu/drm/xe/regs/xe_guc_regs.h              |   15 +-
 drivers/gpu/drm/xe/regs/xe_reg_defs.h              |   19 +
 drivers/gpu/drm/xe/regs/xe_regs.h                  |    2 +-
 drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |    3 +
 drivers/gpu/drm/xe/tests/Makefile                  |    3 +-
 drivers/gpu/drm/xe/tests/xe_bo.c                   |   12 +-
 drivers/gpu/drm/xe/tests/xe_bo_test.c              |    5 -
 drivers/gpu/drm/xe/tests/xe_dma_buf.c              |   57 +-
 drivers/gpu/drm/xe/tests/xe_dma_buf_test.c         |    5 -
 drivers/gpu/drm/xe/tests/xe_guc_id_mgr_test.c      |  136 ++
 drivers/gpu/drm/xe/tests/xe_live_test_mod.c        |   10 +
 drivers/gpu/drm/xe/tests/xe_migrate.c              |   27 +-
 drivers/gpu/drm/xe/tests/xe_migrate_test.c         |    5 -
 drivers/gpu/drm/xe/tests/xe_mocs.c                 |   96 +-
 drivers/gpu/drm/xe/tests/xe_mocs_test.c            |    5 -
 drivers/gpu/drm/xe/tests/xe_wa_test.c              |    1 +
 drivers/gpu/drm/xe/xe_bb.c                         |    6 +-
 drivers/gpu/drm/xe/xe_bo.c                         |  137 +-
 drivers/gpu/drm/xe/xe_bo.h                         |   74 +-
 drivers/gpu/drm/xe/xe_bo_evict.c                   |    4 +-
 drivers/gpu/drm/xe/xe_debugfs.c                    |   23 +-
 drivers/gpu/drm/xe/xe_devcoredump.c                |   47 +-
 drivers/gpu/drm/xe/xe_devcoredump.h                |    6 +
 drivers/gpu/drm/xe/xe_device.c                     |  236 ++-
 drivers/gpu/drm/xe/xe_device.h                     |    9 -
 drivers/gpu/drm/xe/xe_device_sysfs.c               |   16 +-
 drivers/gpu/drm/xe/xe_device_sysfs.h               |    2 +-
 drivers/gpu/drm/xe/xe_device_types.h               |   15 +-
 drivers/gpu/drm/xe/xe_dma_buf.c                    |    7 +-
 drivers/gpu/drm/xe/xe_drm_client.c                 |    8 +-
 drivers/gpu/drm/xe/xe_exec.c                       |   93 +-
 drivers/gpu/drm/xe/xe_exec_queue.c                 |   74 +-
 drivers/gpu/drm/xe/xe_exec_queue_types.h           |   13 +-
 drivers/gpu/drm/xe/xe_ggtt.c                       |  136 +-
 drivers/gpu/drm/xe/xe_ggtt.h                       |    8 +-
 drivers/gpu/drm/xe/xe_gsc.c                        |  100 +-
 drivers/gpu/drm/xe/xe_gsc.h                        |    2 +
 drivers/gpu/drm/xe/xe_gsc_proxy.c                  |   15 +-
 drivers/gpu/drm/xe/xe_gsc_proxy.h                  |    1 +
 drivers/gpu/drm/xe/xe_gsc_submit.c                 |   15 +
 drivers/gpu/drm/xe/xe_gsc_submit.h                 |    1 +
 drivers/gpu/drm/xe/xe_gsc_types.h                  |    1 +
 drivers/gpu/drm/xe/xe_gt.c                         |   63 +-
 drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |   19 +-
 drivers/gpu/drm/xe/xe_gt_ccs_mode.h                |    2 +-
 drivers/gpu/drm/xe/xe_gt_clock.c                   |    5 -
 drivers/gpu/drm/xe/xe_gt_clock.h                   |    2 +-
 drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  240 ++-
 drivers/gpu/drm/xe/xe_gt_debugfs.h                 |    2 +
 drivers/gpu/drm/xe/xe_gt_freq.c                    |   63 +-
 drivers/gpu/drm/xe/xe_gt_freq.h                    |    2 +-
 drivers/gpu/drm/xe/xe_gt_idle.c                    |   43 +-
 drivers/gpu/drm/xe/xe_gt_idle.h                    |    2 +-
 drivers/gpu/drm/xe/xe_gt_mcr.c                     |   39 +-
 drivers/gpu/drm/xe/xe_gt_mcr.h                     |   14 +
 drivers/gpu/drm/xe/xe_gt_pagefault.c               |    3 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf.c                |   52 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf.h                |   20 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c         | 1977 ++++++++++++++++++++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h         |   56 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h   |   54 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c        |  257 +++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h        |   27 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_helpers.h        |   35 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.c         |  418 +++++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.h         |   25 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy_types.h   |   31 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h          |   34 +
 drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   14 +-
 drivers/gpu/drm/xe/xe_gt_sysfs.h                   |    2 +-
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.c          |   16 +-
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |    2 +-
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |   44 +-
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |    2 +-
 drivers/gpu/drm/xe/xe_gt_topology.c                |  115 +-
 drivers/gpu/drm/xe/xe_gt_topology.h                |   11 +
 drivers/gpu/drm/xe/xe_gt_types.h                   |   29 +-
 drivers/gpu/drm/xe/xe_guc.c                        |  122 +-
 drivers/gpu/drm/xe/xe_guc_ads.c                    |  137 +-
 drivers/gpu/drm/xe/xe_guc_ads_types.h              |    2 +
 drivers/gpu/drm/xe/xe_guc_ct.c                     |  135 +-
 drivers/gpu/drm/xe/xe_guc_debugfs.c                |    9 +-
 drivers/gpu/drm/xe/xe_guc_fwif.h                   |    7 +-
 drivers/gpu/drm/xe/xe_guc_hwconfig.c               |    7 +-
 drivers/gpu/drm/xe/xe_guc_id_mgr.c                 |  279 +++
 drivers/gpu/drm/xe/xe_guc_id_mgr.h                 |   22 +
 drivers/gpu/drm/xe/xe_guc_klv_helpers.c            |  134 ++
 drivers/gpu/drm/xe/xe_guc_klv_helpers.h            |   51 +
 drivers/gpu/drm/xe/xe_guc_log.c                    |    5 +-
 drivers/gpu/drm/xe/xe_guc_pc.c                     |  116 +-
 drivers/gpu/drm/xe/xe_guc_submit.c                 |  230 ++-
 drivers/gpu/drm/xe/xe_guc_submit.h                 |    6 +-
 drivers/gpu/drm/xe/xe_guc_submit_types.h           |   13 +-
 drivers/gpu/drm/xe/xe_guc_types.h                  |   21 +-
 drivers/gpu/drm/xe/xe_hmm.c                        |  253 +++
 drivers/gpu/drm/xe/xe_hmm.h                        |   11 +
 drivers/gpu/drm/xe/xe_huc.c                        |   13 +-
 drivers/gpu/drm/xe/xe_huc_debugfs.c                |    5 +-
 drivers/gpu/drm/xe/xe_hw_engine.c                  |   46 +-
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  155 +-
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.h      |    7 +
 drivers/gpu/drm/xe/xe_hw_fence.c                   |    2 +-
 drivers/gpu/drm/xe/xe_hwmon.c                      |  270 +--
 drivers/gpu/drm/xe/xe_irq.c                        |    3 +-
 drivers/gpu/drm/xe/xe_lmtt.c                       |    6 +-
 drivers/gpu/drm/xe/xe_lrc.c                        |  174 +-
 drivers/gpu/drm/xe/xe_lrc.h                        |    5 +
 drivers/gpu/drm/xe/xe_lrc_types.h                  |    2 +
 drivers/gpu/drm/xe/xe_memirq.c                     |    9 +-
 drivers/gpu/drm/xe/xe_migrate.c                    |   16 +-
 drivers/gpu/drm/xe/xe_mmio.c                       |  144 +-
 drivers/gpu/drm/xe/xe_mmio.h                       |   82 +-
 drivers/gpu/drm/xe/xe_mocs.c                       |   66 +-
 drivers/gpu/drm/xe/xe_module.c                     |    7 +
 drivers/gpu/drm/xe/xe_module.h                     |    3 +
 drivers/gpu/drm/xe/xe_pat.c                        |   23 +-
 drivers/gpu/drm/xe/xe_pci.c                        |   43 +-
 drivers/gpu/drm/xe/xe_pcode.c                      |  117 +-
 drivers/gpu/drm/xe/xe_pcode.h                      |    6 +-
 drivers/gpu/drm/xe/xe_platform_types.h             |    1 +
 drivers/gpu/drm/xe/xe_pm.c                         |  327 +++-
 drivers/gpu/drm/xe/xe_pm.h                         |   13 +-
 drivers/gpu/drm/xe/xe_preempt_fence.c              |    2 +-
 drivers/gpu/drm/xe/xe_pt.c                         |   38 +-
 drivers/gpu/drm/xe/xe_query.c                      |   53 +-
 drivers/gpu/drm/xe/xe_ring_ops.c                   |   22 +-
 drivers/gpu/drm/xe/xe_sa.c                         |    5 +-
 drivers/gpu/drm/xe/xe_sched_job.c                  |   33 +-
 drivers/gpu/drm/xe/xe_sched_job.h                  |    3 +
 drivers/gpu/drm/xe/xe_sched_job_types.h            |    2 +
 drivers/gpu/drm/xe/xe_sriov.c                      |   62 +-
 drivers/gpu/drm/xe/xe_sriov.h                      |    6 +-
 drivers/gpu/drm/xe/xe_sriov_pf.c                   |  104 +
 drivers/gpu/drm/xe/xe_sriov_pf.h                   |   30 +
 drivers/gpu/drm/xe/xe_sriov_pf_helpers.h           |   46 +
 drivers/gpu/drm/xe/xe_sriov_types.h                |   19 +
 drivers/gpu/drm/xe/xe_sync.c                       |    7 +-
 drivers/gpu/drm/xe/xe_sync.h                       |    1 -
 drivers/gpu/drm/xe/xe_tile.c                       |   17 +-
 drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   17 +-
 drivers/gpu/drm/xe/xe_tile_sysfs.h                 |    2 +-
 drivers/gpu/drm/xe/xe_trace.h                      |    6 +-
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |   15 +-
 drivers/gpu/drm/xe/xe_ttm_sys_mgr.c                |    5 +-
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c               |   14 +-
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.h               |    1 +
 drivers/gpu/drm/xe/xe_tuning.c                     |   10 +-
 drivers/gpu/drm/xe/xe_uc.c                         |   11 -
 drivers/gpu/drm/xe/xe_uc_fw.c                      |   53 +-
 drivers/gpu/drm/xe/xe_uc_fw.h                      |    8 +-
 drivers/gpu/drm/xe/xe_uc_fw_types.h                |    3 +-
 drivers/gpu/drm/xe/xe_vm.c                         |  341 ++--
 drivers/gpu/drm/xe/xe_vm.h                         |    8 +-
 drivers/gpu/drm/xe/xe_vm_types.h                   |   15 +-
 drivers/gpu/drm/xe/xe_vram_freq.c                  |   20 +-
 drivers/gpu/drm/xe/xe_vram_freq.h                  |    2 +-
 drivers/gpu/drm/xe/xe_wa.c                         |  135 +-
 drivers/gpu/drm/xe/xe_wa_oob.rules                 |   11 +-
 include/drm/xe_pciids.h                            |    7 +-
 include/linux/devcoredump.h                        |    5 +
 include/uapi/drm/xe_drm.h                          |   25 +-
 189 files changed, 8136 insertions(+), 2229 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/instructions/xe_gfx_state_commands.h
 create mode 100644 drivers/gpu/drm/xe/regs/xe_gtt_defs.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_guc_id_mgr_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_live_test_mod.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_helpers.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_id_mgr.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_id_mgr.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_klv_helpers.c
 create mode 100644 drivers/gpu/drm/xe/xe_guc_klv_helpers.h
 create mode 100644 drivers/gpu/drm/xe/xe_hmm.c
 create mode 100644 drivers/gpu/drm/xe/xe_hmm.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_pf_helpers.h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PULL] drm-xe-next
@ 2024-06-06 21:43 Rodrigo Vivi
  0 siblings, 0 replies; 12+ messages in thread
From: Rodrigo Vivi @ 2024-06-06 21:43 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, intel-xe, dim-tools

Hi Dave and Sima,

Here goes our first Xe pull request targeting 6.11.

A very active round, with highlight to many changes targeting
SR-IOV support and many different clean-ups.

Thanks,
Rodrigo.

drm-xe-next-2024-06-06:
UAPI Changes:
- Expose the L3 bank mask (Francois)

Cross-subsystem Changes:
- Update Xe driver maintainers (Oded)

Display (i915):
- Add missing include to intel_vga.c (Michal Wajdeczko)

Driver Changes:
- Fix Display (xe-only) detection for ADL-N (Lucas)
- Runtime PM fixes that enabled PC-10 and D3Cold (Francois, Rodrigo)
- Fix unexpected silent drm backmerge issues (Thomas)
- More (a lot more) preparation for SR-IOV support (Michal Wajdeczko)
- Devcoredump fixes and improvements (Jose, Tejas, Matt Brost)
- Introduce device 'wedged' state (Rodrigo)
- Improve debug and info messages (Michal Wajdeczko, Rodrigo, Nirmoy)
- Adding or fixing workarounds (Tejas, Shekhar, Lucas, Bommu)
- Check result of drmm_mutex_init (Michal Wajdeczko)
- Enlarge the critical dma fence area for preempt fences (Matt Auld)
- Prevent UAF in VM's rebind work (Matt Auld)
- GuC submit related clean-ups and fixes (Matt Brost, Himal, Jonathan, Niranjana)
- Prefer local helpers to perform dma reservation locking (Himal)
- Spelling and typo fixes (Colin, Francois)
- Prep patches for 1 job per VM bind IOCTL (no uapi change yet) (Matt Brost)
- Remove uninitialized end var from xe_gt_tlb_invalidation_range (Nirmoy)
- GSC related changes targeting LNL support (Daniele)
- Fix assert in L3 bank mask generation (Francois)
- Perform dma_map when moving system buffer objects to TT (Thomas)
- Add helpers for manipulating macro arguments (Michal Wajdeczko)
- Refactor default device atomic settings (Nirmoy)
- Add debugfs node to dump mocs (Janga)
- Use ordered WQ for G2H handler (Matt Brost)
- Clean up and fixes in header includes (Michal Wajdeczko)
- Prefer flexible-array over deprecated zero-lenght ones (Lucas)
- Add Indirect Ring State support (Niranjana)
- Fix UBSAN shift-out-of-bounds failure (Shuicheng)
- HWMon fixes and additions (Karthik)
- Clean-up refactor around probe init functions (Lucas, Michal Wajdeczko)
- Fix PCODE init function (Himal)
- Only use reserved BCS instances for usm migrate exec queue (Matt Brost)
- Only zap PTEs as needed (Matt Brost)
- Per client usage info (Lucas)
- Core hotunplug improvements converting stuff towards devm (Matt Auld)
- Don't emit false error if running in execlist mode (Michal Wajdeczko)
- Remove unused struct (Dr. David)
- Support/debug for slow GuC loads (John Harrison)
- Decouple job seqno and lrc seqno (Matt Brost)
- Allow migrate vm gpu submissions from reclaim context (Thomas)
- Rename drm-client running time to run_ticks and fix a UAF (Umesh)
- Check empty pinned BO list with lock held (Nirmoy)
- Drop undesired prefix from the platform name (Michal Wajdeczko)
- Remove unwanted mutex locking on xe file close (Niranjana)
- Replace format-less snprintf() with strscpy() (Arnd)
- Other general clean-ups on registers definitions and function names (Michal Wajdeczko)
- Add kernel-doc to some xe_lrc interfaces (Niranajana)
- Use missing lock in relay_needs_worker (Nirmoy)
- Drop redundant W=1 warnings from Makefile (Jani)
- Simplify if condition in preempt fences code (Thorsten)
- Flush engine buffers before signalling user fence on all engines (Andrzej)
- Don't overmap identity VRAM mapping (Matt Brost)
- Do not dereference NULL job->fence in trace points (Matt Brost)
- Add synchronous gt reset debugfs (Jonathan)
- Xe gt_idle fixes (Riana)

The following changes since commit 4a56c0ed5aa0bcbe1f5f7d755fb1fe1ebf48ae9c:

  Merge tag 'amd-drm-next-6.10-2024-04-26' of https://gitlab.freedesktop.org/agd5f/linux into drm-next (2024-04-30 14:43:00 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-06-06

for you to fetch changes up to 6800e63cf97bae62bca56d8e691544540d945f53:

  drm/xe: move disable_c6 call (2024-06-06 15:07:19 -0400)

----------------------------------------------------------------
UAPI Changes:
- Expose the L3 bank mask (Francois)

Cross-subsystem Changes:
- Update Xe driver maintainers (Oded)

Display (i915):
- Add missing include to intel_vga.c (Michal Wajdeczko)

Driver Changes:
- Fix Display (xe-only) detection for ADL-N (Lucas)
- Runtime PM fixes that enabled PC-10 and D3Cold (Francois, Rodrigo)
- Fix unexpected silent drm backmerge issues (Thomas)
- More (a lot more) preparation for SR-IOV support (Michal Wajdeczko)
- Devcoredump fixes and improvements (Jose, Tejas, Matt Brost)
- Introduce device 'wedged' state (Rodrigo)
- Improve debug and info messages (Michal Wajdeczko, Rodrigo, Nirmoy)
- Adding or fixing workarounds (Tejas, Shekhar, Lucas, Bommu)
- Check result of drmm_mutex_init (Michal Wajdeczko)
- Enlarge the critical dma fence area for preempt fences (Matt Auld)
- Prevent UAF in VM's rebind work (Matt Auld)
- GuC submit related clean-ups and fixes (Matt Brost, Himal, Jonathan, Niranjana)
- Prefer local helpers to perform dma reservation locking (Himal)
- Spelling and typo fixes (Colin, Francois)
- Prep patches for 1 job per VM bind IOCTL (no uapi change yet) (Matt Brost)
- Remove uninitialized end var from xe_gt_tlb_invalidation_range (Nirmoy)
- GSC related changes targeting LNL support (Daniele)
- Fix assert in L3 bank mask generation (Francois)
- Perform dma_map when moving system buffer objects to TT (Thomas)
- Add helpers for manipulating macro arguments (Michal Wajdeczko)
- Refactor default device atomic settings (Nirmoy)
- Add debugfs node to dump mocs (Janga)
- Use ordered WQ for G2H handler (Matt Brost)
- Clean up and fixes in header includes (Michal Wajdeczko)
- Prefer flexible-array over deprecated zero-lenght ones (Lucas)
- Add Indirect Ring State support (Niranjana)
- Fix UBSAN shift-out-of-bounds failure (Shuicheng)
- HWMon fixes and additions (Karthik)
- Clean-up refactor around probe init functions (Lucas, Michal Wajdeczko)
- Fix PCODE init function (Himal)
- Only use reserved BCS instances for usm migrate exec queue (Matt Brost)
- Only zap PTEs as needed (Matt Brost)
- Per client usage info (Lucas)
- Core hotunplug improvements converting stuff towards devm (Matt Auld)
- Don't emit false error if running in execlist mode (Michal Wajdeczko)
- Remove unused struct (Dr. David)
- Support/debug for slow GuC loads (John Harrison)
- Decouple job seqno and lrc seqno (Matt Brost)
- Allow migrate vm gpu submissions from reclaim context (Thomas)
- Rename drm-client running time to run_ticks and fix a UAF (Umesh)
- Check empty pinned BO list with lock held (Nirmoy)
- Drop undesired prefix from the platform name (Michal Wajdeczko)
- Remove unwanted mutex locking on xe file close (Niranjana)
- Replace format-less snprintf() with strscpy() (Arnd)
- Other general clean-ups on registers definitions and function names (Michal Wajdeczko)
- Add kernel-doc to some xe_lrc interfaces (Niranajana)
- Use missing lock in relay_needs_worker (Nirmoy)
- Drop redundant W=1 warnings from Makefile (Jani)
- Simplify if condition in preempt fences code (Thorsten)
- Flush engine buffers before signalling user fence on all engines (Andrzej)
- Don't overmap identity VRAM mapping (Matt Brost)
- Do not dereference NULL job->fence in trace points (Matt Brost)
- Add synchronous gt reset debugfs (Jonathan)
- Xe gt_idle fixes (Riana)

----------------------------------------------------------------
Andrzej Hajda (4):
      drm/xe: flush gtt before signalling user fence on all engines
      drm/xe: allow unaligned start and size xe_res_cursor parameters
      Revert "drm/xe: flush gtt before signalling user fence on all engines"
      drm/xe: flush engine buffers before signalling user fence on all engines

Arnd Bergmann (1):
      drm/xe: replace format-less snprintf() with strscpy()

Bommu Krishnaiah (1):
      drm/xe/xe2: Add workaround 14021402888

Colin Ian King (1):
      drm/xe: Fix spelling mistake "forcebly" -> "forcibly"

Daniele Ceraolo Spurio (3):
      drm/xe/gsc: Turn off GSCCS interrupts when disabling the engine
      drm/xe/gsc: define GSCCS for LNL
      Revert "drm/xe: make gt_remove use devm"

Dr. David Alan Gilbert (1):
      drm/xe: remove unused struct 'xe_gt_desc'

Francois Dugast (4):
      drm/xe/gt: Fix assert in L3 bank mask generation
      drm/xe/debugfs: Get a runtime_pm reference when setting wedged mode
      drm/xe/vm_doc: Fix some typos
      drm/xe/uapi: Expose the L3 bank mask

Himal Prasad Ghimiray (5):
      drm/xe/vm: Use xe_vm_lock()/xe_vm_unlock() helpers
      drm/xe: Use xe_bo_lock()/xe_bo_unlock() helpers
      drm/xe: Change xe_guc_submit_stop return to void
      drm/xe: Change pcode timeout to 50msec while polling again
      drm/xe: Fix the warning conditions

Janga Rahul Kumar (2):
      drm/xe: Relocate regs_are_mcr function
      drm/xe/mocs: Add debugfs node to dump mocs

Jani Nikula (1):
      drm/xe: drop redundant W=1 warnings from Makefile

John Harrison (3):
      drm/xe: Make read_perf_limit_reasons globally accessible
      drm/xe/guc: Port over the slow GuC loading support from i915
      drm/xe/guc: Fix uninitialised count in GuC load debug prints

Jonathan Cavitt (4):
      drm/xe/xe_guc_submit: Fix exec queue stop race condition
      drm/xe/xe_guc_submit: Allow lr exec queues to be banned
      drm/xe/xe_guc_submit: Declare reset if banned or killed or wedged
      drm/xe/xe_gt_debugfs: Add synchronous gt reset debugfs

José Roberto de Souza (6):
      drm/xe: Store xe_hw_engine in xe_hw_engine_snapshot
      drm/xe: Add helpers to loop over geometry and compute DSS
      drm/xe: Add INSTDONE registers to devcoredump
      drm/xe: Replace RING_START_UDW by u64 RING_START
      drm/xe: Add process name to devcoredump
      drm/xe: Nuke simple error capture

Karthik Poosa (3):
      drm/xe/hwmon: Remove unwanted write permission for currN_label
      drm/xe/hwmon: Add HWMON support for BMG
      drm/xe/hwmon: Expose card power and energy attributes of BMG

Lucas De Marchi (14):
      drm/xe/display: Fix ADL-N detection
      drm/xe: Merge 16021540221 and 18034896535 WAs
      drm/xe/ads: Use flexible-array
      drm/xe: Drop __engine_mask
      drm/xe: Drop useless forcewake get/put
      drm/xe: Move xe_gt_init_early() where it belongs
      drm/xe: Move xe_force_wake_init_gt() inside gt initialization
      drm/xe: Move sw-only pcode initialization
      drm/xe: Promote xe_hw_engine_class_to_str()
      drm/xe: Add XE_ENGINE_CLASS_OTHER to str conversion
      drm/xe: Add helper to capture engine timestamp
      drm/xe: Cache data about user-visible engines
      drm/xe: Add helper to return any available hw engine
      drm/xe/client: Print runtime to fdinfo

Matt Roper (1):
      drm/xe: Don't refer to general LRC initialization as a "wa"

Matthew Auld (21):
      drm/xe/preempt_fence: enlarge the fence critical section
      Revert "drm/xe/vm: drop vm->destroy_work"
      drm/xe/vm: prevent UAF in rebind_work_func()
      drm/xe/pci: remove broken driver_release
      drm/xe: covert sysfs over to devm
      drm/xe/ggtt: use drm_dev_enter to mark device section
      drm/xe/guc: move guc_fini over to devm
      drm/xe/guc: s/guc_fini/guc_fini_hw/
      drm/xe/guc_pc: move pc_fini to devm
      drm/xe/guc_pc: s/pc_fini/pc_fini_hw/
      drm/xe/irq: move irq_uninstall over to devm
      drm/xe/device: move flr to devm
      drm/xe/device: move xe_device_sanitize over to devm
      drm/xe/coredump: move over to devm
      drm/xe/gt: break out gt_fini into sw vs hw state
      drm/xe: make gt_remove use devm
      drm/xe/mmio: move mmio_fini over to devm
      drm/xe: reset mmio mappings with devm
      drm/xe/display: move display fini stuff to devm
      drm/xe/display: stop calling domains_driver_remove twice
      drm/xe/display: move device_remove over to drmm

Matthew Brost (26):
      drm/xe: Delete unused GuC submission_state.suspend
      drm/xe: s/ENGINE_STATE_ENABLED/EXEC_QUEUE_STATE_ENABLED
      drm/xe: s/ENGINE_STATE_SUSPENDED/EXEC_QUEUE_STATE_SUSPENDED
      drm/xe: s/ENGINE_STATE_KILLED/EXEC_QUEUE_STATE_KILLED
      drm/xe: Fix alignment in GuC exec queue state defines
      drm/xe: Replace engine references with exec queue in xe_guc_submit.c
      drm/xe: Lock all gpuva ops during VM bind IOCTL
      drm/xe: Add ops_execute function which returns a fence
      drm/xe: Move migrate to prefetch to op_lock_and_prep function
      drm/xe: Add struct xe_vma_ops abstraction
      drm/xe: Use xe_vma_ops to implement xe_vm_rebind
      drm/xe: Simplify VM bind IOCTL error handling and cleanup
      drm/xe: Use xe_vma_ops to implement page fault rebinds
      drm/xe: Add some members to xe_vma_ops
      drm/xe: Add vm_bind_ioctl_ops_fini helper
      drm/xe: Move ufence check to op_lock_and_prep
      drm/xe: Move ufence add to vm_bind_ioctl_ops_fini
      drm/xe: Add xe_gt_tlb_invalidation_range and convert PT layer to use this
      drm/xe: Delete PT update selftest
      drm/xe: Use ordered WQ for G2H handler
      drm/xe: Only use reserved BCS instances for usm migrate exec queue
      drm/xe: Only zap PTEs as needed
      drm/xe: Decouple job seqno and lrc seqno
      drm/xe: Fix NULL ptr dereference in devcoredump
      drm/xe: Don't overmap identity VRAM mapping
      drm/xe: Do not dereference NULL job->fence in trace points

Michal Wajdeczko (79):
      drm/xe/guc: Add GuC Relay ABI version 1.0 definitions
      drm/xe: Add helper to calculate adjusted register offset
      drm/xe: Add few more GT register definitions
      drm/xe/pf: Add SR-IOV GuC Relay PF services
      drm/xe/kunit: Add PF service tests
      drm/xe/pf: Expose SR-IOV VFs configuration over debugfs
      drm/xe/pf: Expose SR-IOV VF control commands over debugfs
      drm/xe/pf: Expose SR-IOV policy settings over debugfs
      drm/xe/guc: Update VF configuration KLVs definitions
      drm/xe/pf: Clamp maximum execution quantum to 100s
      drm/xe/guc: Improve GuC doorbell/context ID manager intro message
      drm/xe: Check result of drmm_mutex_init()
      drm/xe/pf: Expose PF service details via debugfs
      drm/xe/guc: Fix typos in VF CFG KLVs descriptions
      drm/xe/pf: Re-initialize SR-IOV specific HW settings
      drm/xe/pf: Initialize and update PF services on driver init
      drm/xe: Add helpers for manipulating macro arguments
      drm/xe/kunit: Add simple tests for new xe_args macros
      drm/xe/rtp: Prefer helper macros from xe_args.h
      drm/xe: Fix xe_mocs.h
      drm/xe: Don't rely on xe_assert.h to be included elsewhere
      drm/xe: Don't rely on xe_force_wake.h to be included elsewhere
      drm/xe: Fix xe_device.h
      drm/xe: Move xe_gpu_commands.h file to instructions/
      drm/xe: Rename few xe_args.h macros
      drm/xe: Fix xe_gt_throttle_sysfs.h
      drm/xe: Fix xe_guc_ads.h
      drm/xe: Fix xe_lrc.h
      drm/xe: Fix xe_reg_sr.h
      drm/xe/uc: Reorder post hwconfig uC initialization step
      drm/xe/uc: Move GuC submission init to post hwconfig step
      drm/xe/pf: Don't advertise support to enable VFs if not ready
      drm/xe/pf: Implement pci_driver.sriov_configure callback
      drm/xe/guc: Add more KLV helper macros
      drm/xe/guc: Introduce GuC KLV thresholds set
      drm/xe/guc: Add support for threshold KLVs in to_string() helper
      drm/xe/pf: Introduce functions to configure VF thresholds
      drm/xe/pf: Allow configuration of VF thresholds over debugfs
      drm/xe/guc: Add GUC2PF_ADVERSE_EVENT to ABI
      drm/xe/pf: Track adverse events notifications from GuC
      drm/xe/pf: Expose PF monitor details via debugfs
      drm/xe/guc: Add VF2GUC_MATCH_VERSION to ABI
      drm/xe/guc: Add VF2GUC_VF_RESET to ABI
      drm/xe/guc: Add VF2GUC_QUERY_SINGLE_KLV to ABI
      drm/xe/vf: Add support for VF to query its configuration
      drm/xe/vf: Custom hardware config load step if VF
      drm/xe/vf: Expose SR-IOV VF attributes to GT debugfs
      drm/xe: Fix xe_uc.h
      drm/xe: Fix xe_gsc.h
      drm/xe: Fix xe_huc.h
      drm/xe: Fix xe_guc_pc.h
      drm/i915/display: Add missing include to intel_vga.c
      drm/xe: Don't rely on indirect includes from xe_mmio.h
      drm/xe: Cleanup xe_mmio.h
      drm/xe/guc: Allow to initialize submission with limited set of IDs
      drm/xe/vf: Custom GuC initialization if VF
      drm/xe/uc: Don't emit false error if running in execlist mode
      drm/xe/vf: Use register values obtained from the PF
      drm/xe/guc: Add GLOBAL_CFG_GMD_ID KLV definition
      drm/xe/vf: Obtain value of GMDID register from GuC
      drm/xe/vf: Provide early access to GMDID register
      drm/xe/vf: Cache value of the GMDID register
      drm/xe/vf: Treat GMDID as another runtime register
      drm/xe/vf: Read VF configuration prior to GGTT initialization
      drm/xe/vf: Use only assigned GGTT region
      drm/xe: Store platform name in xe_device.info
      drm/xe: Use platform name in xe_assert()
      drm/xe: Drop undesired prefix from the platform name
      drm/xe: Move XEHP_MTCFG_ADDR register definition to xe_regs.h
      drm/xe: Move BAR definitions to dedicated file
      drm/xe: Drop xe_ prefix from static functions in xe_mmio.c
      drm/xe: Promote VRAM initialization function to own file
      drm/xe/vf: Setup VRAM based on received config data
      drm/xe: Split MCR initialization
      drm/xe/pf: Update the LMTT when freeing VF GT config
      drm/xe/vf: Support only GuC/HuC firmwares
      drm/xe/vf: Custom uC initialization
      drm/xe/vf: Custom GuC reset
      drm/xe/vf: Custom GT restart

Niranjana Vishwanathapura (8):
      drm/xe: Minor cleanup in LRC handling
      drm/xe: Add Indirect Ring State support
      drm/xe: Dump Indirect Ring State registers
      drm/xe/xe2: Enable Indirect Ring State support for Xe2
      drm/xe: Properly handle alloc_guc_id() failure
      drm/xe: Remove unwanted mutex locking
      drm/xe: Decouple xe_exec_queue and xe_lrc
      drm/xe: Add kernel-doc to some xe_lrc interfaces

Nirmoy Das (11):
      drm/xe: Remove uninitialized end var from xe_gt_tlb_invalidation_range()
      drm/xe: Introduce has_atomic_enable_pte_bit device info
      drm/xe: Move vm bind bo validation to a helper function
      drm/xe: Introduce has_device_atomics_on_smem device info
      drm/xe: Add function to check if BO has single placement
      drm/xe: Refactor default device atomic settings
      drm/xe: Add warn when level can not be zero.
      drm/xe/tests: Use uninterruptible VM lock
      drm/xe: Check empty pinned BO list with lock held.
      drm/xe: Add engine name to the engine reset and cat-err log
      drm/xe: Use missing lock in relay_needs_worker

Oded Gabbay (1):
      MAINTAINERS: update Xe driver maintainers

Riana Tauro (4):
      drm/xe: Standardize power gate registers
      drm/xe: Enable Coarse Power Gating
      drm/xe/xe_gt_idle: use GT forcewake domain assertion
      drm/xe: move disable_c6 call

Rodrigo Vivi (13):
      drm/xe: make xe_pm_runtime_lockdep_map a static struct
      drm/xe: Introduce a simple wedged state
      drm/xe: declare wedged upon GuC load failure
      drm/xe: Force wedged state and block GT reset upon any GPU hang
      drm/xe: Introduce the wedged_mode debugfs
      drm/xe: Demote CCS_MODE info to debug only
      drm/xe: Fix xe_pm_runtime_get_if_active return
      drm/xe: Fix xe_pm_runtime_get_if_in_use documentation
      drm/xe: Relax runtime pm protection during execution
      drm/xe: Relax runtime pm protection around VM
      drm/xe: Prepare display for D3Cold
      drm/xe: Stop checking for power_lost on D3Cold
      drm/xe: Enable D3Cold on 'low' VRAM utilization

Shekhar Chauhan (1):
      drm/xe/xe2hpg: Add Wa_14021490052

Shuicheng Lin (1):
      drm/xe: Fix UBSAN shift-out-of-bounds failure

Tejas Upadhyay (4):
      drm/xe/xe2: Add workaround 14021567978
      drm/xe: skip error capture when exec queue is killed
      drm/xe/xe2lpm: Add permanent Wa_14020756599
      drm/xe/xe2lpg: Add permanent wa_14020756599

Thomas Hellström (7):
      drm/xe: Fix unexpected backmerge results
      Merge drm/drm-next into drm-xe-next
      drm/xe: Perform dma_map when moving system buffer objects to TT
      drm/xe: Split lrc seqno fence creation up
      drm/xe: Don't initialize fences at xe_sched_job_create()
      drm/xe: Remove xe_lrc_create_seqno_fence()
      drm/xe: Move job creation out of the struct xe_migrate::job_mutex

Thorsten Blum (1):
      drm/xe/vm: Simplify if condition

Umesh Nerlige Ramappa (4):
      drm/xe/lrc: Add helper to capture context timestamp
      drm/xe: Add helper to accumulate exec queue runtime
      drm/xe: Use run_ticks instead of runtime for client stats
      drm/xe: Do not access xe file when updating exec queue run_ticks

 Documentation/gpu/drm-usage-stats.rst              |  21 +-
 Documentation/gpu/xe/index.rst                     |   1 +
 Documentation/gpu/xe/xe-drm-usage-stats.rst        |  10 +
 MAINTAINERS                                        |   1 -
 drivers/gpu/drm/i915/display/intel_vga.c           |   1 +
 drivers/gpu/drm/xe/Kconfig.debug                   |  10 -
 drivers/gpu/drm/xe/Makefile                        |  34 +-
 drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h     | 190 ++++
 drivers/gpu/drm/xe/abi/guc_errors_abi.h            |  26 +-
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h              |  40 +-
 drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h     | 170 +++-
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |   3 +-
 drivers/gpu/drm/xe/display/xe_display.c            |  43 +-
 drivers/gpu/drm/xe/display/xe_display.h            |  12 +-
 drivers/gpu/drm/xe/display/xe_hdcp_gsc.c           |   1 +
 .../xe/{regs => instructions}/xe_gpu_commands.h    |   0
 drivers/gpu/drm/xe/regs/xe_bars.h                  |  11 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h           |  10 +-
 drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  67 +-
 drivers/gpu/drm/xe/regs/xe_guc_regs.h              |   2 +
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   8 +
 drivers/gpu/drm/xe/regs/xe_pcode_regs.h            |   7 +
 drivers/gpu/drm/xe/regs/xe_regs.h                  |   3 +
 drivers/gpu/drm/xe/regs/xe_sriov_regs.h            |   3 +
 drivers/gpu/drm/xe/tests/Makefile                  |   1 +
 drivers/gpu/drm/xe/tests/xe_args_test.c            | 221 +++++
 .../gpu/drm/xe/tests/xe_gt_sriov_pf_service_test.c | 232 +++++
 drivers/gpu/drm/xe/tests/xe_migrate.c              |  88 +-
 drivers/gpu/drm/xe/xe_args.h                       | 143 +++
 drivers/gpu/drm/xe/xe_assert.h                     |   4 +-
 drivers/gpu/drm/xe/xe_bb.c                         |   2 +-
 drivers/gpu/drm/xe/xe_bo.c                         |  71 +-
 drivers/gpu/drm/xe/xe_bo.h                         |   1 +
 drivers/gpu/drm/xe/xe_debugfs.c                    |  58 ++
 drivers/gpu/drm/xe/xe_devcoredump.c                |  19 +-
 drivers/gpu/drm/xe/xe_devcoredump_types.h          |   2 +
 drivers/gpu/drm/xe/xe_device.c                     | 107 ++-
 drivers/gpu/drm/xe/xe_device.h                     |  13 +-
 drivers/gpu/drm/xe/xe_device_sysfs.c               |   4 +-
 drivers/gpu/drm/xe/xe_device_types.h               |  23 +-
 drivers/gpu/drm/xe/xe_drm_client.c                 | 124 ++-
 drivers/gpu/drm/xe/xe_exec_queue.c                 |  77 +-
 drivers/gpu/drm/xe/xe_exec_queue.h                 |  10 +
 drivers/gpu/drm/xe/xe_exec_queue_types.h           |  16 +-
 drivers/gpu/drm/xe/xe_execlist.c                   |  12 +-
 drivers/gpu/drm/xe/xe_ggtt.c                       |  32 +-
 drivers/gpu/drm/xe/xe_gsc.c                        |   3 +
 drivers/gpu/drm/xe/xe_gsc.h                        |   3 +-
 drivers/gpu/drm/xe/xe_gsc_proxy.c                  |   1 +
 drivers/gpu/drm/xe/xe_gsc_submit.c                 |   1 +
 drivers/gpu/drm/xe/xe_gt.c                         | 142 ++-
 drivers/gpu/drm/xe/xe_gt.h                         |  27 +
 drivers/gpu/drm/xe/xe_gt_ccs_mode.c                |  10 +-
 drivers/gpu/drm/xe/xe_gt_clock.c                   |   1 +
 drivers/gpu/drm/xe/xe_gt_debugfs.c                 |  31 +
 drivers/gpu/drm/xe/xe_gt_freq.c                    |   8 +-
 drivers/gpu/drm/xe/xe_gt_idle.c                    |  66 +-
 drivers/gpu/drm/xe/xe_gt_idle.h                    |   4 +-
 drivers/gpu/drm/xe/xe_gt_mcr.c                     |  27 +-
 drivers/gpu/drm/xe/xe_gt_mcr.h                     |  25 +
 drivers/gpu/drm/xe/xe_gt_pagefault.c               |  16 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf.c                |  32 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf.h                |   5 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c         | 106 ++-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h         |   6 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h   |   4 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c        | 427 +++++++++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.h        |  18 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.c        | 147 ++++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.h        |  27 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor_types.h  |  22 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_service.c        | 550 ++++++++++++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_service.h        |  36 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_service_types.h  |  52 ++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h          |  10 +
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c                | 979 +++++++++++++++++++++
 drivers/gpu/drm/xe/xe_gt_sriov_vf.h                |  30 +
 drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.c        |  72 ++
 drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.h        |  14 +
 drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h          |  84 ++
 drivers/gpu/drm/xe/xe_gt_sysfs.c                   |   4 +-
 .../{xe_gt_throttle_sysfs.c => xe_gt_throttle.c}   |  30 +-
 drivers/gpu/drm/xe/xe_gt_throttle.h                |  17 +
 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h          |  16 -
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  64 +-
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h        |   3 +
 drivers/gpu/drm/xe/xe_gt_topology.c                |  14 +-
 drivers/gpu/drm/xe/xe_gt_topology.h                |   3 +
 drivers/gpu/drm/xe/xe_gt_types.h                   |  34 +-
 drivers/gpu/drm/xe/xe_guc.c                        | 354 ++++++--
 drivers/gpu/drm/xe/xe_guc.h                        |   3 +-
 drivers/gpu/drm/xe/xe_guc_ads.c                    |  73 +-
 drivers/gpu/drm/xe/xe_guc_ads.h                    |   3 +-
 drivers/gpu/drm/xe/xe_guc_ct.c                     |   9 +
 drivers/gpu/drm/xe/xe_guc_ct.h                     |   2 +-
 drivers/gpu/drm/xe/xe_guc_ct_types.h               |   2 +
 drivers/gpu/drm/xe/xe_guc_db_mgr.c                 |   3 +-
 drivers/gpu/drm/xe/xe_guc_id_mgr.c                 |   3 +-
 drivers/gpu/drm/xe/xe_guc_klv_helpers.c            |  12 +
 drivers/gpu/drm/xe/xe_guc_klv_helpers.h            |  15 +-
 drivers/gpu/drm/xe/xe_guc_klv_thresholds_set.h     |  64 ++
 .../gpu/drm/xe/xe_guc_klv_thresholds_set_types.h   |  68 ++
 drivers/gpu/drm/xe/xe_guc_pc.c                     |  12 +-
 drivers/gpu/drm/xe/xe_guc_pc.h                     |   5 +-
 drivers/gpu/drm/xe/xe_guc_relay.c                  |  17 +-
 drivers/gpu/drm/xe/xe_guc_submit.c                 | 282 +++---
 drivers/gpu/drm/xe/xe_guc_submit.h                 |   4 +-
 drivers/gpu/drm/xe/xe_guc_types.h                  |   9 -
 drivers/gpu/drm/xe/xe_huc.c                        |   2 +
 drivers/gpu/drm/xe/xe_huc.h                        |   3 +-
 drivers/gpu/drm/xe/xe_hw_engine.c                  | 193 +++-
 drivers/gpu/drm/xe/xe_hw_engine.h                  |   3 +
 drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  30 +-
 drivers/gpu/drm/xe/xe_hw_engine_types.h            |  26 +-
 drivers/gpu/drm/xe/xe_hw_fence.c                   |  59 +-
 drivers/gpu/drm/xe/xe_hw_fence.h                   |   7 +-
 drivers/gpu/drm/xe/xe_hwmon.c                      |  37 +-
 drivers/gpu/drm/xe/xe_irq.c                        |   6 +-
 drivers/gpu/drm/xe/xe_lrc.c                        | 305 ++++++-
 drivers/gpu/drm/xe/xe_lrc.h                        |  58 +-
 drivers/gpu/drm/xe/xe_lrc_types.h                  |  12 +
 drivers/gpu/drm/xe/xe_migrate.c                    |  90 +-
 drivers/gpu/drm/xe/xe_mmio.c                       | 442 +++-------
 drivers/gpu/drm/xe/xe_mmio.h                       |  22 +-
 drivers/gpu/drm/xe/xe_mocs.c                       | 301 ++++++-
 drivers/gpu/drm/xe/xe_mocs.h                       |  11 +-
 drivers/gpu/drm/xe/xe_module.c                     |   5 +
 drivers/gpu/drm/xe/xe_module.h                     |   1 +
 drivers/gpu/drm/xe/xe_pat.c                        |   1 +
 drivers/gpu/drm/xe/xe_pci.c                        | 106 ++-
 drivers/gpu/drm/xe/xe_pci_sriov.c                  | 143 +++
 drivers/gpu/drm/xe/xe_pci_sriov.h                  |  13 +
 drivers/gpu/drm/xe/xe_pci_types.h                  |   4 +
 drivers/gpu/drm/xe/xe_pcode.c                      |   8 +-
 drivers/gpu/drm/xe/xe_pm.c                         |  42 +-
 drivers/gpu/drm/xe/xe_pm.h                         |   9 +-
 drivers/gpu/drm/xe/xe_preempt_fence.c              |  14 +-
 drivers/gpu/drm/xe/xe_pt.c                         |  69 +-
 drivers/gpu/drm/xe/xe_query.c                      |  10 +-
 drivers/gpu/drm/xe/xe_reg_sr.h                     |   4 +-
 drivers/gpu/drm/xe/xe_res_cursor.h                 |   2 -
 drivers/gpu/drm/xe/xe_ring_ops.c                   |  52 +-
 drivers/gpu/drm/xe/xe_rtp.c                        |   6 +
 drivers/gpu/drm/xe/xe_rtp.h                        |  18 +-
 drivers/gpu/drm/xe/xe_rtp_helpers.h                |  26 +-
 drivers/gpu/drm/xe/xe_sched_job.c                  | 181 ++--
 drivers/gpu/drm/xe/xe_sched_job.h                  |   7 +-
 drivers/gpu/drm/xe/xe_sched_job_types.h            |  20 +-
 drivers/gpu/drm/xe/xe_sriov.c                      |  11 +
 drivers/gpu/drm/xe/xe_sync.c                       |  15 +
 drivers/gpu/drm/xe/xe_sync.h                       |   1 +
 drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   4 +-
 drivers/gpu/drm/xe/xe_trace.h                      |  11 +-
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |   2 +
 drivers/gpu/drm/xe/xe_uc.c                         |  58 +-
 drivers/gpu/drm/xe/xe_uc.h                         |   4 +-
 drivers/gpu/drm/xe/xe_uc_fw.c                      |   5 +
 drivers/gpu/drm/xe/xe_vm.c                         | 859 ++++++++++--------
 drivers/gpu/drm/xe/xe_vm.h                         |   5 +-
 drivers/gpu/drm/xe/xe_vm_doc.h                     |  24 +-
 drivers/gpu/drm/xe/xe_vm_types.h                   |  33 +-
 drivers/gpu/drm/xe/xe_vram.c                       | 368 ++++++++
 drivers/gpu/drm/xe/xe_vram.h                       |  13 +
 drivers/gpu/drm/xe/xe_vram_freq.c                  |   4 +-
 drivers/gpu/drm/xe/xe_wa.c                         |  46 +-
 include/uapi/drm/xe_drm.h                          |   2 +
 166 files changed, 8058 insertions(+), 1800 deletions(-)
 create mode 100644 Documentation/gpu/xe/xe-drm-usage-stats.rst
 rename drivers/gpu/drm/xe/{regs => instructions}/xe_gpu_commands.h (100%)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_bars.h
 create mode 100644 drivers/gpu/drm/xe/tests/xe_args_test.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_gt_sriov_pf_service_test.c
 create mode 100644 drivers/gpu/drm/xe/xe_args.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_monitor_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_service.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_service.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_service_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_vf.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_vf.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.c
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_vf_debugfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_vf_types.h
 rename drivers/gpu/drm/xe/{xe_gt_throttle_sysfs.c => xe_gt_throttle.c} (83%)
 create mode 100644 drivers/gpu/drm/xe/xe_gt_throttle.h
 delete mode 100644 drivers/gpu/drm/xe/xe_gt_throttle_sysfs.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_klv_thresholds_set.h
 create mode 100644 drivers/gpu/drm/xe/xe_guc_klv_thresholds_set_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_pci_sriov.c
 create mode 100644 drivers/gpu/drm/xe/xe_pci_sriov.h
 create mode 100644 drivers/gpu/drm/xe/xe_vram.c
 create mode 100644 drivers/gpu/drm/xe/xe_vram.h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2024-02-26 10:46 ` Daniel Stone
@ 2024-02-26 14:16   ` Lucas De Marchi
  0 siblings, 0 replies; 12+ messages in thread
From: Lucas De Marchi @ 2024-02-26 14:16 UTC (permalink / raw)
  To: Daniel Stone
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, Joonas Lahtinen,
	Tvrtko Ursulin, Rodrigo Vivi, Thomas Zimmermann,
	Maarten Lankhorst, Maxime Ripard, Thomas Hellström,
	Oded Gabbay, dri-devel, intel-gfx, dim-tools

On Mon, Feb 26, 2024 at 10:46:43AM +0000, Daniel Stone wrote:
>Hi,
>
>On Mon, 26 Feb 2024 at 03:21, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
>> All of this should be fixed by now: dim is used for applying and pushing
>> patches, which has additional checks so that doesn't happen again. Still
>> pending confirmation from Daniel Stone if the git server hooks are ready
>> in gitlab so we properly forbid pushes without dim, like we do with the
>> git.fd.o infra.
>
>Yeah, I did that last week.

thanks!

Lucas De Marchi

>
>Cheers,
>Daniel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2024-02-26  3:21 Lucas De Marchi
  2024-02-26  9:58 ` Daniel Vetter
@ 2024-02-26 10:46 ` Daniel Stone
  2024-02-26 14:16   ` Lucas De Marchi
  1 sibling, 1 reply; 12+ messages in thread
From: Daniel Stone @ 2024-02-26 10:46 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, Joonas Lahtinen,
	Tvrtko Ursulin, Rodrigo Vivi, Thomas Zimmermann,
	Maarten Lankhorst, Maxime Ripard, Thomas Hellström,
	Oded Gabbay, dri-devel, intel-gfx, dim-tools

Hi,

On Mon, 26 Feb 2024 at 03:21, Lucas De Marchi <lucas.demarchi@intel.com> wrote:
> All of this should be fixed by now: dim is used for applying and pushing
> patches, which has additional checks so that doesn't happen again. Still
> pending confirmation from Daniel Stone if the git server hooks are ready
> in gitlab so we properly forbid pushes without dim, like we do with the
> git.fd.o infra.

Yeah, I did that last week.

Cheers,
Daniel

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2024-02-26  3:21 Lucas De Marchi
@ 2024-02-26  9:58 ` Daniel Vetter
  2024-02-26 10:46 ` Daniel Stone
  1 sibling, 0 replies; 12+ messages in thread
From: Daniel Vetter @ 2024-02-26  9:58 UTC (permalink / raw)
  To: Lucas De Marchi
  Cc: Dave Airlie, Daniel Vetter, Jani Nikula, Joonas Lahtinen,
	Tvrtko Ursulin, Rodrigo Vivi, Thomas Zimmermann,
	Maarten Lankhorst, Maxime Ripard, Thomas Hellström,
	Oded Gabbay, dri-devel, intel-gfx, dim-tools

On Sun, Feb 25, 2024 at 09:21:00PM -0600, Lucas De Marchi wrote:
> Hi Dave and Sima,
> 
> Here's the PR for drm-xe-next for Linux v6.9. It's a big list of
> changes, but it contains several fixes for things noticed throughout the
> v6.8 cycle after being merged upstream, added to the linux-next, etc.
> Approximately 30% are fixes already sent or on its way to v6.8.
> 
> First, the bad part: this still shows some issues of not being properly
> integrated with our tooling, with this one being the worst:
> https://lore.kernel.org/all/20240221173645.225a979d@canb.auug.org.au/.
> Some of the committers didn't add their s-o-b while applying patches.  I
> checked that all the affected patches do contain the s-o-b by the author
> and come from the same company (Intel).
> 
> Also due to the same reason, some commits are missing a Link trailer to
> the mailing list discussion. Often these patches were applied with bare
> git-am or b4.
> 
> All of this should be fixed by now: dim is used for applying and pushing
> patches, which has additional checks so that doesn't happen again. Still
> pending confirmation from Daniel Stone if the git server hooks are ready
> in gitlab so we properly forbid pushes without dim, like we do with the
> git.fd.o infra.
> 
> Finally, we enabled again building for 32b, but on Friday we received
> bug reports that it still fails with clang. There are some fixes being
> reviewed and we should have them ready next week.
> 
> Summary of the changes are below.
> 
> drm-xe-next-2024-02-25:
> drm/xe feature pull for v6.9:
> 
> UAPI Changes:
> 
> - New query to the GuC firmware submission version. (José Roberto de Souza)
> - Remove unused persistent exec_queues (Thomas Hellström)
> - Add vram frequency sysfs attributes (Sujaritha Sundaresan, Rodrigo Vivi)
> - Add the flag XE_VM_BIND_FLAG_DUMPABLE to notify devcoredump that mapping
>   should be dumped (Maarten Lankhorst)
> 
> Cross-drivers Changes:
> 
> - Make sure intel_wakeref_t is treated as opaque type on i915-display
>   and fix its type on xe
> 
> Driver Changes:
> 
> - Drop pre-production workarounds (Matt Roper)
> - Drop kunit tests for unsuported platforms: PVC and pre-production DG2 (Lucas De Marchi)
> - Start pumbling SR-IOV support with memory based interrupts
>   for VF (Michal Wajdeczko)
> - Allow to map BO in GGTT with PAT index corresponding to
>   XE_CACHE_UC to work with memory based interrupts (Michal Wajdeczko)
> - Improve logging with GT-oriented drm_printers (Michal Wajdeczko)
> - Add GuC Doorbells Manager as prep work SR-IOV during
>   VF provisioning ((Michal Wajdeczko)
> - Refactor fake device handling in kunit integration ((Michal Wajdeczko)
> - Implement additional workarounds for xe2 and MTL (Tejas Upadhyay,
>   Lucas De Marchi, Shekhar Chauhan, Karthik Poosa)
> - Program a few registers according to perfomance guide spec for Xe2 (Shekhar Chauhan)
> - Add error handling for non-blocking communication with GuC (Daniele Ceraolo Spurio)
> - Fix remaining 32b build issues and enable it back (Lucas De  Marchi)
> - Fix build with CONFIG_DEBUG_FS=n (Jani Nikula)
> - Fix warnings from GuC ABI headers (Matthew Brost)
> - Introduce Relay Communication for SR-IOV for VF <-> GuC <-> PF (Michal Wajdeczko)
> - Add mocs reset kunit (Ruthuvikas Ravikumar)
> - Fix spellings (Colin Ian King)
> - Disable mid-thread preemption when not properly supported by hardware (Nirmoy Das)
> - Release mmap mappings on rpm suspend (Badal Nilawar)
> - Fix BUG_ON on xe_exec by moving fence reservation to the validate stage (Matthew Auld)
> - Fix xe_exec by reserving extra fence slot for CPU bind (Matthew Brost)
> - Fix xe_exec with full long running exec queue, now returning
>   -EWOULDBLOCK to userspace (Matthew Brost)
> - Fix CT irq handler when CT is disabled (Matthew Brost)
> - Fix VM_BIND_OP_UNMAP_ALL without any bound vmas (Thomas Hellström)
> - Fix missing __iomem annotations (Thomas Hellström)
> - Fix exec queue priority handling with GuC (Brian Welty)
> - Fix setting SLPC flag to GuC when it's not supported (Vinay Belgaumkar)
> - Fix C6 disabling without SLPC (Matt Roper)
> - Drop -Wstringop-overflow to fix build with GCC11 (Paul E. McKenney)
> - Circumvent bogus -Wstringop-overflow in one case (Arnd Bergmann)
> - Refactor exec_queue user extensions handling and fix USM attributes
>   being applied too late (Brian Welty)
> - Use circ_buf head/tail convention (Matthew Brost)
> - Fail build if circ_buf-related defines are modified with incompatible values
>   (Matthew Brost)
> - Fix several error paths (Dan Carpenter)
> - Fix CCS copy for small VRAM copy chunks (Thomas Hellström)
> - Rework driver initialization order and paths to account for driver running
>   in VF mode (Michal Wajdeczko)
> - Initialize GuC earlier during probe to handle driver in VF mode (Michał Winiarski)
> - Fix migration use of MI_STORE_DATA_IMM to write PTEs (Matt Roper)
> - Fix bounds checking in __xe_bo_placement_for_flags (Brian Welty)
> - Drop display dependency on CONFIG_EXPERT (Jani Nikula)
> - Do not hand-roll kstrdup when creating snapshot (Michal Wajdeczko)
> - Stop creating one kunit module per kunit suite (Lucas De Marchi)
> - Reduce scope and constify variables (Thomas Hellström, Jani Nikula, Michal Wajdeczko)
> - Improve and document xe_guc_ct_send_recv() (Michal Wajdeczko)
> - Add proxy communication between CSME and GSC uC (Daniele Ceraolo Spurio)
> - Fix size calculation when writing pgtable (Fei Yang)
> - Make sure cfb is page size aligned in stolen memory (Vinod Govindapillai)
> - Stop printing guc log to dmesg when waiting for GuC fails (Rodrigo Vivi)
> - Use XE_CACHE_WB instead of XE_CACHE_NONE for cpu coherency on migration
>   (Himal Prasad Ghimiray)
> - Fix error path in xe_vm_create (Moti Haimovski)
> - Fix warnings in doc generation (Thomas Hellström, Badal Nilawar)
> - Improve devcoredump content for mesa debugging (José Roberto de Souza)
> - Fix crash in trace_dma_fence_init() (José Roberto de Souza)
> - Improve CT state change handling (Matthew Brost)
> - Toggle USM support for Xe2 (Lucas De Marchi)
> - Reduces code duplication to emit PIPE_CONTROL (José Roberto de Souza)
> - Canonicalize addresses where needed for Xe2 and add to devcoredump
>   (José Roberto de Souza)
> - Only allow 1 ufence per exec / bind IOCTL (Matthew Brost)
> - Move all display code to display/ (Jani Nikula)
> - Fix sparse warnings by correctly using annotations (Thomas Hellström)
> - Warn on job timeouts instead of using asserts (Matt Roper)
> - Prefix macros to avoid clashes with sparc (Matthew Brost)
> - Fix -Walloc-size by subclassing instead of allocating size smaller than struct (Thomas Hellström)
> - Add status check during gsc header readout (Suraj Kandpal)
> - Fix infinite loop in vm_bind_ioctl_ops_unwind() (Matthew Brost)
> - Fix fence refcounting (Matthew Brost)
> - Fix picking incorrect userptr VMA (Matthew Brost)
> - Fix USM on integrated by mapping both mem.kernel_bb_pool and usm.bb_pool (Matthew Brost)
> - Fix double initialization of display power domains (Xiaoming Wang)
> - Check expected uC versions by major.minor.patch instead of just major.minor (John Harrison)
> - Bump minimum GuC version to 70.19.2 for all platforms under force-probe
>   (John Harrison)
> - Add GuC firmware loading for Lunar Lake (John Harrison)
> - Use kzalloc() instead of hand-rolled alloc + memset (Nirmoy Das)
> - Fix max page size of VMA during a REMAP (Matthew Brost)
> - Don't ignore error when pinning pages in kthread (Matthew Auld)
> - Refactor xe hwmon (Karthik Poosa)
> - Add debug logs for D3cold (Riana Tauro)
> - Remove broken TEST_VM_ASYNC_OPS_ERROR (Matthew Brost)
> - Always allow to override firmware blob with module param and improve
>   log when no firmware is found (Lucas De Marchi)
> - Fix shift-out-of-bounds due to xe_vm_prepare_vma() accepting zero fences (Thomas Hellström)
> - Fix shift-out-of-bounds by distinguishing xe_pt/xe_pt_dir subclass (Thomas Hellström)
> - Fail driver bind if platform supports MSIX, but fails to allocate all of them (Dani Liberman)
> - Fix intel_fbdev thinking memory is backed by shmem (Matthew Auld)
> - Prefer drm_dbg() over dev_dbg() (Jani Nikula)
> - Avoid function cast warnings with clang-16 (Arnd Bergmann)
> - Enhance xe_bo_move trace (Priyanka Dandamudi)
> - Fix xe_vma_set_pte_size() not setting the right gpuva.flags for 4K size (Matthew Brost)
> - Add XE_VMA_PTE_64K VMA flag (Matthew Brost)
> - Return 2MB page size for compact 64k PTEs (Matthew Brost)
> - Remove usage of the deprecated ida_simple_xx() API (Christophe JAILLET)
> - Fix modpost warning on xe_mocs live kunit module (Ashutosh Dixit)
> - Drop extra newline in from sysfs files (Ashutosh Dixit)
> - Implement VM snapshot support for BO's and userptr (Maarten Lankhorst)
> - Add debug logs when skipping rebinds (Matthew Brost)
> - Fix code generation when mixing build directories (Dafna Hirschfeld)
> - Prefer struct_size over open coded arithmetic (Erick Archer)
> 
> The following changes since commit 9ac4beb7578a88baa4f7e6a59eeb5be79d7b011a:
> 
>   Merge tag 'drm-misc-next-2024-02-15' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2024-02-16 13:16:40 +1000)
> 
> are available in the Git repository at:
> 
>   ssh://git@gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-02-25

Merged to drm-next, thanks a lot!
-Sima

> 
> for you to fetch changes up to a7a3d73686f5837916ebffda77afa4343754e7dc:
> 
>   drm/xe: Prefer struct_size over open coded arithmetic (2024-02-22 20:58:20 -0800)
> 
> ----------------------------------------------------------------
> drm/xe feature pull for v6.9:
> 
> UAPI Changes:
> 
> - New query to the GuC firmware submission version. (José Roberto de Souza)
> - Remove unused persistent exec_queues (Thomas Hellström)
> - Add vram frequency sysfs attributes (Sujaritha Sundaresan, Rodrigo Vivi)
> - Add the flag XE_VM_BIND_FLAG_DUMPABLE to notify devcoredump that mapping
>   should be dumped (Maarten Lankhorst)
> 
> Cross-drivers Changes:
> 
> - Make sure intel_wakeref_t is treated as opaque type on i915-display
>   and fix its type on xe
> 
> Driver Changes:
> 
> - Drop pre-production workarounds (Matt Roper)
> - Drop kunit tests for unsuported platforms: PVC and pre-production DG2 (Lucas De Marchi)
> - Start pumbling SR-IOV support with memory based interrupts
>   for VF (Michal Wajdeczko)
> - Allow to map BO in GGTT with PAT index corresponding to
>   XE_CACHE_UC to work with memory based interrupts (Michal Wajdeczko)
> - Improve logging with GT-oriented drm_printers (Michal Wajdeczko)
> - Add GuC Doorbells Manager as prep work SR-IOV during
>   VF provisioning ((Michal Wajdeczko)
> - Refactor fake device handling in kunit integration ((Michal Wajdeczko)
> - Implement additional workarounds for xe2 and MTL (Tejas Upadhyay,
>   Lucas De Marchi, Shekhar Chauhan, Karthik Poosa)
> - Program a few registers according to perfomance guide spec for Xe2 (Shekhar Chauhan)
> - Add error handling for non-blocking communication with GuC (Daniele Ceraolo Spurio)
> - Fix remaining 32b build issues and enable it back (Lucas De  Marchi)
> - Fix build with CONFIG_DEBUG_FS=n (Jani Nikula)
> - Fix warnings from GuC ABI headers (Matthew Brost)
> - Introduce Relay Communication for SR-IOV for VF <-> GuC <-> PF (Michal Wajdeczko)
> - Add mocs reset kunit (Ruthuvikas Ravikumar)
> - Fix spellings (Colin Ian King)
> - Disable mid-thread preemption when not properly supported by hardware (Nirmoy Das)
> - Release mmap mappings on rpm suspend (Badal Nilawar)
> - Fix BUG_ON on xe_exec by moving fence reservation to the validate stage (Matthew Auld)
> - Fix xe_exec by reserving extra fence slot for CPU bind (Matthew Brost)
> - Fix xe_exec with full long running exec queue, now returning
>   -EWOULDBLOCK to userspace (Matthew Brost)
> - Fix CT irq handler when CT is disabled (Matthew Brost)
> - Fix VM_BIND_OP_UNMAP_ALL without any bound vmas (Thomas Hellström)
> - Fix missing __iomem annotations (Thomas Hellström)
> - Fix exec queue priority handling with GuC (Brian Welty)
> - Fix setting SLPC flag to GuC when it's not supported (Vinay Belgaumkar)
> - Fix C6 disabling without SLPC (Matt Roper)
> - Drop -Wstringop-overflow to fix build with GCC11 (Paul E. McKenney)
> - Circumvent bogus -Wstringop-overflow in one case (Arnd Bergmann)
> - Refactor exec_queue user extensions handling and fix USM attributes
>   being applied too late (Brian Welty)
> - Use circ_buf head/tail convention (Matthew Brost)
> - Fail build if circ_buf-related defines are modified with incompatible values
>   (Matthew Brost)
> - Fix several error paths (Dan Carpenter)
> - Fix CCS copy for small VRAM copy chunks (Thomas Hellström)
> - Rework driver initialization order and paths to account for driver running
>   in VF mode (Michal Wajdeczko)
> - Initialize GuC earlier during probe to handle driver in VF mode (Michał Winiarski)
> - Fix migration use of MI_STORE_DATA_IMM to write PTEs (Matt Roper)
> - Fix bounds checking in __xe_bo_placement_for_flags (Brian Welty)
> - Drop display dependency on CONFIG_EXPERT (Jani Nikula)
> - Do not hand-roll kstrdup when creating snapshot (Michal Wajdeczko)
> - Stop creating one kunit module per kunit suite (Lucas De Marchi)
> - Reduce scope and constify variables (Thomas Hellström, Jani Nikula, Michal Wajdeczko)
> - Improve and document xe_guc_ct_send_recv() (Michal Wajdeczko)
> - Add proxy communication between CSME and GSC uC (Daniele Ceraolo Spurio)
> - Fix size calculation when writing pgtable (Fei Yang)
> - Make sure cfb is page size aligned in stolen memory (Vinod Govindapillai)
> - Stop printing guc log to dmesg when waiting for GuC fails (Rodrigo Vivi)
> - Use XE_CACHE_WB instead of XE_CACHE_NONE for cpu coherency on migration
>   (Himal Prasad Ghimiray)
> - Fix error path in xe_vm_create (Moti Haimovski)
> - Fix warnings in doc generation (Thomas Hellström, Badal Nilawar)
> - Improve devcoredump content for mesa debugging (José Roberto de Souza)
> - Fix crash in trace_dma_fence_init() (José Roberto de Souza)
> - Improve CT state change handling (Matthew Brost)
> - Toggle USM support for Xe2 (Lucas De Marchi)
> - Reduces code duplication to emit PIPE_CONTROL (José Roberto de Souza)
> - Canonicalize addresses where needed for Xe2 and add to devcoredump
>   (José Roberto de Souza)
> - Only allow 1 ufence per exec / bind IOCTL (Matthew Brost)
> - Move all display code to display/ (Jani Nikula)
> - Fix sparse warnings by correctly using annotations (Thomas Hellström)
> - Warn on job timeouts instead of using asserts (Matt Roper)
> - Prefix macros to avoid clashes with sparc (Matthew Brost)
> - Fix -Walloc-size by subclassing instead of allocating size smaller than struct (Thomas Hellström)
> - Add status check during gsc header readout (Suraj Kandpal)
> - Fix infinite loop in vm_bind_ioctl_ops_unwind() (Matthew Brost)
> - Fix fence refcounting (Matthew Brost)
> - Fix picking incorrect userptr VMA (Matthew Brost)
> - Fix USM on integrated by mapping both mem.kernel_bb_pool and usm.bb_pool (Matthew Brost)
> - Fix double initialization of display power domains (Xiaoming Wang)
> - Check expected uC versions by major.minor.patch instead of just major.minor (John Harrison)
> - Bump minimum GuC version to 70.19.2 for all platforms under force-probe
>   (John Harrison)
> - Add GuC firmware loading for Lunar Lake (John Harrison)
> - Use kzalloc() instead of hand-rolled alloc + memset (Nirmoy Das)
> - Fix max page size of VMA during a REMAP (Matthew Brost)
> - Don't ignore error when pinning pages in kthread (Matthew Auld)
> - Refactor xe hwmon (Karthik Poosa)
> - Add debug logs for D3cold (Riana Tauro)
> - Remove broken TEST_VM_ASYNC_OPS_ERROR (Matthew Brost)
> - Always allow to override firmware blob with module param and improve
>   log when no firmware is found (Lucas De Marchi)
> - Fix shift-out-of-bounds due to xe_vm_prepare_vma() accepting zero fences (Thomas Hellström)
> - Fix shift-out-of-bounds by distinguishing xe_pt/xe_pt_dir subclass (Thomas Hellström)
> - Fail driver bind if platform supports MSIX, but fails to allocate all of them (Dani Liberman)
> - Fix intel_fbdev thinking memory is backed by shmem (Matthew Auld)
> - Prefer drm_dbg() over dev_dbg() (Jani Nikula)
> - Avoid function cast warnings with clang-16 (Arnd Bergmann)
> - Enhance xe_bo_move trace (Priyanka Dandamudi)
> - Fix xe_vma_set_pte_size() not setting the right gpuva.flags for 4K size (Matthew Brost)
> - Add XE_VMA_PTE_64K VMA flag (Matthew Brost)
> - Return 2MB page size for compact 64k PTEs (Matthew Brost)
> - Remove usage of the deprecated ida_simple_xx() API (Christophe JAILLET)
> - Fix modpost warning on xe_mocs live kunit module (Ashutosh Dixit)
> - Drop extra newline in from sysfs files (Ashutosh Dixit)
> - Implement VM snapshot support for BO's and userptr (Maarten Lankhorst)
> - Add debug logs when skipping rebinds (Matthew Brost)
> - Fix code generation when mixing build directories (Dafna Hirschfeld)
> - Prefer struct_size over open coded arithmetic (Erick Archer)
> 
> ----------------------------------------------------------------
> Arnd Bergmann (2):
>       drm/xe: circumvent bogus stringop-overflow warning
>       drm/xe: avoid function cast warnings
> 
> Ashutosh Dixit (2):
>       drm/xe/xe_gt_idle: Drop redundant newline in name
>       drm/xe: Fix modpost warning on xe_mocs kunit module
> 
> Badal Nilawar (3):
>       drm/xe/dgfx: Release mmap mappings on rpm suspend
>       drm/xe/xe_debugfs: Print skip_guc_pc in xe info
>       drm/hwmon: Fix abi doc warnings
> 
> Brian Welty (7):
>       drm/xe: Fix guc_exec_queue_set_priority
>       drm/xe: Fix modifying exec_queue priority in xe_migrate_init
>       drm/xe: Refactor __xe_exec_queue_create()
>       drm/xe: Add exec_queue.sched_props.job_timeout_ms
>       drm/xe: Finish refactoring of exec_queue_create
>       drm/xe: Remove set_job_timeout_ms() from exec_queue_ops
>       drm/xe: Fix bounds checking in __xe_bo_placement_for_flags()
> 
> Christophe JAILLET (1):
>       drm/xe/guc: Remove usage of the deprecated ida_simple_xx() API
> 
> Colin Ian King (1):
>       drm/xe: Fix spelling mistake "gueue" -> "queue"
> 
> Dafna Hirschfeld (1):
>       drm/xe: Do not include current dir for generated/xe_wa_oob.h
> 
> Dan Carpenter (3):
>       drm/xe/device: clean up on error in probe()
>       drm/xe/selftests: Fix an error pointer dereference bug
>       drm/xe: unlock on error path in xe_vm_add_compute_exec_queue()
> 
> Dani Liberman (1):
>       drm/xe/irq: allocate all possible msix interrupts
> 
> Daniele Ceraolo Spurio (3):
>       drm/xe/guc: Use FAST_REQUEST for non-blocking H2G messages
>       drm/xe/gsc: Initialize GSC proxy
>       drm/xe/gsc: add support for GSC proxy interrupt
> 
> Erick Archer (1):
>       drm/xe: Prefer struct_size over open coded arithmetic
> 
> Fei Yang (2):
>       drm/xe: correct the calculation of remaining size
>       drm/xe: correct the assertion for number of PTEs
> 
> Himal Prasad Ghimiray (1):
>       drm/xe/xe2: Use XE_CACHE_WB pat index
> 
> Jani Nikula (11):
>       drm/i915: don't make assumptions about intel_wakeref_t type
>       drm/xe: display support should not depend on EXPERT
>       drm/xe: make xe_ttm_funcs const
>       drm/xe: make heci_gsc_irq_chip const
>       drm/xe: make hwmon_info const
>       drm/xe: make gpuvm_ops const
>       drm/xe: constify engine class sysfs attributes
>       drm/xe: don't build debugfs files when CONFIG_DEBUG_FS=n
>       drm/xe: move xe_display.[ch] under display/
>       drm/xe: drop display/ subdir from include directories
>       drm/xe: use drm based debugging instead of dev
> 
> John Harrison (3):
>       drm/xe/uc: Include patch version in expectations
>       drm/xe/guc: Update to GuC firmware 70.19.2
>       drm/xe/guc: Add support for LNL firmware
> 
> José Roberto de Souza (14):
>       drm/xe/uapi: Remove DRM_XE_VM_BIND_FLAG_ASYNC comment left over
>       drm/xe: Fix definition of intel_wakeref_t
>       drm/xe: Use intel_wakeref_t in intel_runtime_pm functions
>       drm/xe: Remove double new lines in devcoredump
>       drm/xe: Change devcoredump functions parameters to xe_sched_job
>       drm/xe: Nuke xe from xe_devcoredump
>       drm/xe: Print more device information in devcoredump
>       drm/xe: Print registers spread in 2 u32 as u64
>       drm/xe: Remove additional spaces in devcoredump HW Engines section
>       drm/xe: Fix crash in trace_dma_fence_init()
>       drm/xe: Use function to emit PIPE_CONTROL
>       drm/xe: Add functions to convert regular address to canonical address and back
>       drm/xe: Add batch buffer addresses to devcoredump
>       drm/xe: Add uAPI to query GuC firmware submission version
> 
> Karthik Poosa (3):
>       drm/xe/guc: Enable WA 14018913170
>       drm/xe/guc: Reduce a print from warn to debug
>       drm/xe/hwmon: Refactor xe hwmon
> 
> Lucas De Marchi (18):
>       drm/xe: Fix warning on impossible condition
>       drm/xe: Disable 32bits build
>       drm/xe/xe2: Add workaround 16020183090
>       drm/xe/kunit: Drop xe_wa tests for pre-production DG2
>       drm/xe: Group normal kunit tests in a single module
>       drm/xe: Use _ULL for u64 division
>       drm/xe/mmio: Cast to u64 when printing
>       drm/xe/display: Avoid calling readq()
>       drm/xe: Fix cast on trace variable
>       drm/xe: Enable 32bits build
>       Merge drm/drm-next into drm-xe-next
>       drm/xe: Remove PVC from xe_wa kunit tests
>       drm/xe/xe2: Enable has_usm
>       drm/xe: Always allow to override firmware
>       drm/xe: Avoid cryptic message when there's no GuC definition
>       drm/xe: Enable 32bits build
>       Merge drm/drm-next into drm-xe-next
>       drm/xe: Use pointers in trace events
> 
> Maarten Lankhorst (6):
>       drm/xe/snapshot: Remove drm_err on guc alloc failures
>       drm/xe: Clear all snapshot members after deleting coredump
>       drm/xe: Add uapi for dumpable bos
>       drm/xe: Annotate each dumpable vma as such
>       drm/xe: Add vm snapshot mutex for easily taking a vm snapshot during devcoredump
>       drm/xe: Implement VM snapshot support for BO's and userptr
> 
> Matt Roper (5):
>       drm/xe/dg2: Drop pre-production workarounds
>       drm/xe/migrate: Cap PTEs written by MI_STORE_DATA_IMM to 510
>       drm/xe: Stash GMD_ID value in xe_gt
>       drm/xe: Grab mem_access when disabling C6 on skip_guc_pc platforms
>       drm/xe: Convert job timeouts from assert to warning
> 
> Matthew Auld (4):
>       drm/xe/exec: move fence reservation
>       drm/xe/exec: reserve fence slot for CPU bind
>       drm/xe/vm: don't ignore error when in_kthread
>       drm/xe/display: fix i915_gem_object_is_shmem() wrapper
> 
> Matthew Brost (25):
>       drm/xe: Fix UBSAN splat in add_preempt_fences()
>       drm/xe: Fix exec IOCTL long running exec queue ring full condition
>       drm/xe/guc: Only take actions in CT irq handler if CTs are enabled
>       drm/xe: Add build on bug to assert page fault queue works
>       drm/xe: Invert page fault queue head / tail
>       drm/xe: Add build on bug to assert access counter queue works
>       drm/xe: Invert access counter queue head / tail
>       drm/xe/guc: Add more GuC CT states
>       drm/xe: Move TLB invalidation reset before HW reset
>       drm/xe/guc: Flush G2H handler when turning off CTs
>       drm/xe: Only allow 1 ufence per exec / bind IOCTL
>       drm/xe: Make all GuC ABI shift values unsigned
>       drm/xe: Use LRC prefix rather than CTX prefix in lrc desc defines
>       drm/xe: Fix loop in vm_bind_ioctl_ops_unwind
>       drm/xe: Drop rebind argument from xe_pt_prepare_bind
>       drm/xe: Take a reference in xe_exec_queue_last_fence_get()
>       drm/xe: Pick correct userptr VMA to repin on REMAP op failure
>       drm/xe: Map both mem.kernel_bb_pool and usm.bb_pool
>       drm/xe: Assume large page size if VMA not yet bound
>       drm/xe: Remove TEST_VM_ASYNC_OPS_ERROR
>       drm/xe: Remove exec queue bind.fence_*
>       drm/xe: Fix xe_vma_set_pte_size
>       drm/xe: Add XE_VMA_PTE_64K VMA flag
>       drm/xe: Return 2MB page size for compact 64k PTEs
>       drm/xe: Add debug prints for skipping rebinds
> 
> Michal Wajdeczko (49):
>       drm/xe: Add command MI_LOAD_REGISTER_MEM
>       drm/xe: Define registers used by memory based irq processing
>       drm/xe: Update LRC context layout definitions
>       drm/xe: Update definition of GT_INTR_DW
>       drm/xe: Define IRQ offsets used by HW engines
>       drm/xe: Add XE_BO_NEEDS_UC flag to force UC mode instead WB
>       drm/xe/vf: Introduce Memory Based Interrupts Handler
>       drm/xe/vf: Update LRC with memory based interrupts data
>       drm/xe/vf: Setup memory based interrupts in GuC
>       drm/xe/vf: Add VF specific interrupt handler
>       drm/xe: Add GT oriented drm_printers
>       drm/xe: Report TLB timeout using GT oriented functions
>       drm/xe: Introduce GuC Doorbells Manager
>       drm/xe/kunit: Set SR-IOV mode of the fake device
>       drm/xe/kunit: Define helper functions to allocate fake xe device
>       drm/xe/kunit: Restore test->priv when done with fake xe device
>       drm/xe/kunit: Use xe kunit helper in RTP test
>       drm/xe/kunit: Use xe kunit helper in WA test
>       drm/xe/kunit: Enable CONFIG_LOCKDEP in tests
>       drm/xe/kunit: Add GuC Doorbells Manager tests
>       drm/xe: Allocate dedicated workqueue for SR-IOV workers
>       drm/xe: Define Virtual Function Identifier
>       drm/xe: Introduce GT-oriented SR-IOV logging macros
>       drm/xe/guc: Add helpers for HXG messages
>       drm/xe/guc: Update few GuC CTB ABI definitions
>       drm/xe/guc: Add Relay Communication ABI definitions
>       drm/xe/guc: Introduce Relay Communication for SR-IOV
>       drm/xe/kunit: Allow to replace xe_guc_ct_send_recv() with stub
>       drm/xe/kunit: Add GuC Relay kunit tests
>       drm/xe/guc: Start handling GuC Relay event messages
>       drm/xe: Fix compilation without CONFIG_KUNIT
>       drm/xe: Split GuC communication initialization
>       drm/xe/guc: Treat non-response message after BUSY as unexpected
>       drm/xe/guc: Return CTB response length
>       drm/xe/guc: Use HXG definitions on HXG messages
>       drm/xe: Allow to exclude part of GGTT from allocations
>       drm/xe: Fix potential deadlock in __fini_dbm
>       drm/xe: Use kstrdup while creating snapshot
>       drm/xe: Mark internal gmdid mappings as const
>       drm/xe/guc: Return CTB HXG response DATA0 if no buffer provided
>       drm/xe/guc: Add kernel-doc for xe_guc_ct_send_recv()
>       drm/xe/vf: Assume fixed GSM size if VF
>       drm/xe/vf: Don't try to capture engine data unavailable to VF
>       drm/xe/vf: Don't program MOCS if VF
>       drm/xe/vf: Don't initialize stolen memory manager if VF
>       drm/xe/vf: Don't check if LMEM is initialized if VF
>       drm/xe/vf: Don't enable hwmon if VF
>       drm/xe/vf: Don't program PAT if VF
>       drm/xe/vf: Don't support MCR registers if VF
> 
> Michał Winiarski (4):
>       drm/xe/guc: Allocate GuC data structures in system memory for initial load
>       drm/xe/huc: Realloc HuC FW in vram for post-hwconfig
>       drm/xe/guc: Move GuC power control init to "post-hwconfig"
>       drm/xe: Initialize GuC earlier during probe
> 
> Moti Haimovski (1):
>       drm/xe/vm: bugfix in xe_vm_create_ioctl
> 
> Nirmoy Das (2):
>       drm/xe/xe2: synchronise CS_CHICKEN1 with WMTP support
>       drm/xe/query: Use kzalloc for drm_xe_query_engines
> 
> Paul E. McKenney (1):
>       drm/xe: Fix build bug for GCC 11
> 
> Priyanka Dandamudi (1):
>       drm/xe/xe_bo_move: Enhance xe_bo_move trace
> 
> Riana Tauro (1):
>       drm/xe/pm: add debug logs for D3cold
> 
> Rodrigo Vivi (1):
>       drm/xe: Do not flood dmesg with guc log
> 
> Ruthuvikas Ravikumar (1):
>       drm/xe: Add mocs reset kunit
> 
> Shekhar Chauhan (2):
>       drm/xe/xe2_lpg: Add Wa_16018610683
>       drm/xe/xe2_lpg: Introduce performance guide changes
> 
> Sujaritha Sundaresan (2):
>       drm/xe: Add vram frequency sysfs attributes
>       drm/xe: Fix typo in vram frequency sysfs documentation
> 
> Suraj Kandpal (1):
>       drm/xe/gsc: Add status check during gsc header readout
> 
> Tejas Upadhyay (1):
>       drm/xe/xelpg: Extend Wa_14019877138 for Graphics 12.70/71
> 
> Thomas Hellström (15):
>       drm/xe/vm: Fix an error path
>       drm/xe: Use __iomem for the regs pointer
>       drm/xe: Annotate xe_mem_region::mapping with __iomem
>       drm/xe: Annotate multiple mmio pointers with __iomem
>       drm/xe: Annotate xe_ttm_stolen_mgr::mapping with __iomem
>       drm/xe/migrate: Fix CCS copy for small VRAM copy chunks
>       drm/xe/dmabuf: Make xe_dmabuf_ops static
>       drm/xe: Use a NULL pointer instead of 0.
>       drm/xe: Document nested struct members according to guidelines
>       drm/xe: Annotate mcr_[un]lock()
>       drm/xe: Don't use __user error pointers
>       drm/xe/vm: Subclass userptr vmas
>       drm/xe/vm: Avoid reserving zero fences
>       drm/xe/pt: Allow for stricter type- and range checking
>       drm/xe/uapi: Remove support for persistent exec_queues
> 
> Vinay Belgaumkar (1):
>       drm/xe: Check skip_guc_pc before setting SLPC flag
> 
> Vinod Govindapillai (1):
>       drm/xe: Modify the cfb size to be page size aligned for FBC
> 
> Xiaoming Wang (1):
>       drm/xe/display: Fix memleak in display initialization
> 
>  drivers/gpu/drm/xe/.kunitconfig                    |   5 +
>  drivers/gpu/drm/xe/Kconfig                         |   2 +-
>  drivers/gpu/drm/xe/Makefile                        |  40 +-
>  drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h    |  44 +
>  drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h     | 174 ++++
>  drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |   3 +-
>  drivers/gpu/drm/xe/abi/guc_messages_abi.h          |   2 +
>  drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h     |  79 ++
>  .../gpu/drm/xe/abi/guc_relay_communication_abi.h   | 118 +++
>  .../xe/compat-i915-headers/gem/i915_gem_object.h   |   2 +-
>  drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  10 +-
>  .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   3 +
>  drivers/gpu/drm/xe/{ => display}/xe_display.c      |   6 -
>  drivers/gpu/drm/xe/{ => display}/xe_display.h      |   0
>  drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   3 +
>  drivers/gpu/drm/xe/regs/xe_engine_regs.h           |   6 +
>  drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  27 +-
>  drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   9 +
>  drivers/gpu/drm/xe/regs/xe_pcode_regs.h            |  21 +
>  drivers/gpu/drm/xe/tests/Makefile                  |   7 +-
>  drivers/gpu/drm/xe/tests/xe_guc_db_mgr_test.c      | 201 +++++
>  drivers/gpu/drm/xe/tests/xe_guc_relay_test.c       | 522 ++++++++++++
>  drivers/gpu/drm/xe/tests/xe_kunit_helpers.c        |  90 ++
>  drivers/gpu/drm/xe/tests/xe_kunit_helpers.h        |  17 +
>  drivers/gpu/drm/xe/tests/xe_mocs.c                 |  36 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   2 +
>  drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   1 +
>  drivers/gpu/drm/xe/tests/xe_pci.c                  |   3 +
>  drivers/gpu/drm/xe/tests/xe_pci_test.c             |   5 -
>  drivers/gpu/drm/xe/tests/xe_pci_test.h             |   2 +
>  drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  10 +-
>  drivers/gpu/drm/xe/tests/xe_test_mod.c             |  10 +
>  drivers/gpu/drm/xe/tests/xe_wa_test.c              |  16 +-
>  drivers/gpu/drm/xe/xe_bo.c                         | 101 ++-
>  drivers/gpu/drm/xe/xe_bo.h                         |   7 +-
>  drivers/gpu/drm/xe/xe_bo_types.h                   |   3 +
>  drivers/gpu/drm/xe/xe_debugfs.c                    |   1 +
>  drivers/gpu/drm/xe/xe_devcoredump.c                |  55 +-
>  drivers/gpu/drm/xe/xe_devcoredump.h                |   6 +-
>  drivers/gpu/drm/xe/xe_devcoredump_types.h          |  13 +-
>  drivers/gpu/drm/xe/xe_device.c                     | 114 ++-
>  drivers/gpu/drm/xe/xe_device.h                     |  14 +-
>  drivers/gpu/drm/xe/xe_device_types.h               | 174 ++--
>  drivers/gpu/drm/xe/xe_drm_client.c                 |  12 +-
>  drivers/gpu/drm/xe/xe_exec.c                       |  42 +-
>  drivers/gpu/drm/xe/xe_exec_queue.c                 | 168 ++--
>  drivers/gpu/drm/xe/xe_exec_queue.h                 |   3 +-
>  drivers/gpu/drm/xe/xe_exec_queue_types.h           |  59 +-
>  drivers/gpu/drm/xe/xe_execlist.c                   |  10 -
>  drivers/gpu/drm/xe/xe_ggtt.c                       |  81 +-
>  drivers/gpu/drm/xe/xe_ggtt.h                       |   3 +
>  drivers/gpu/drm/xe/xe_gsc.c                        |  71 +-
>  drivers/gpu/drm/xe/xe_gsc.h                        |   1 +
>  drivers/gpu/drm/xe/xe_gsc_proxy.c                  | 537 ++++++++++++
>  drivers/gpu/drm/xe/xe_gsc_proxy.h                  |  20 +
>  drivers/gpu/drm/xe/xe_gsc_submit.c                 |  20 +
>  drivers/gpu/drm/xe/xe_gsc_submit.h                 |   1 +
>  drivers/gpu/drm/xe/xe_gsc_types.h                  |  33 +
>  drivers/gpu/drm/xe/xe_gt.c                         |  92 +-
>  drivers/gpu/drm/xe/xe_gt.h                         |   2 +
>  drivers/gpu/drm/xe/xe_gt_idle.c                    |   4 +-
>  drivers/gpu/drm/xe/xe_gt_mcr.c                     |  17 +
>  drivers/gpu/drm/xe/xe_gt_pagefault.c               |  40 +-
>  drivers/gpu/drm/xe/xe_gt_printk.h                  |  44 +
>  drivers/gpu/drm/xe/xe_gt_sriov_printk.h            |  34 +
>  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  13 +-
>  drivers/gpu/drm/xe/xe_gt_types.h                   | 118 +--
>  drivers/gpu/drm/xe/xe_guc.c                        | 115 ++-
>  drivers/gpu/drm/xe/xe_guc.h                        |   1 +
>  drivers/gpu/drm/xe/xe_guc_ads.c                    |   2 +-
>  drivers/gpu/drm/xe/xe_guc_ct.c                     | 255 ++++--
>  drivers/gpu/drm/xe/xe_guc_ct.h                     |  12 +-
>  drivers/gpu/drm/xe/xe_guc_ct_types.h               |  22 +-
>  drivers/gpu/drm/xe/xe_guc_db_mgr.c                 | 266 ++++++
>  drivers/gpu/drm/xe/xe_guc_db_mgr.h                 |  22 +
>  drivers/gpu/drm/xe/xe_guc_fwif.h                   |   1 +
>  drivers/gpu/drm/xe/xe_guc_hwconfig.c               |   2 +-
>  drivers/gpu/drm/xe/xe_guc_hxg_helpers.h            | 108 +++
>  drivers/gpu/drm/xe/xe_guc_log.c                    |   2 +-
>  drivers/gpu/drm/xe/xe_guc_pc.c                     |  19 +-
>  drivers/gpu/drm/xe/xe_guc_pc.h                     |   1 -
>  drivers/gpu/drm/xe/xe_guc_relay.c                  | 941 +++++++++++++++++++++
>  drivers/gpu/drm/xe/xe_guc_relay.h                  |  37 +
>  drivers/gpu/drm/xe/xe_guc_relay_types.h            |  36 +
>  drivers/gpu/drm/xe/xe_guc_submit.c                 |  87 +-
>  drivers/gpu/drm/xe/xe_guc_submit.h                 |   4 +-
>  drivers/gpu/drm/xe/xe_guc_submit_types.h           |  18 +-
>  drivers/gpu/drm/xe/xe_guc_types.h                  |  47 +-
>  drivers/gpu/drm/xe/xe_heci_gsc.c                   |   2 +-
>  drivers/gpu/drm/xe/xe_huc.c                        |  19 +
>  drivers/gpu/drm/xe/xe_huc.h                        |   1 +
>  drivers/gpu/drm/xe/xe_hw_engine.c                  | 144 ++--
>  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  38 +-
>  drivers/gpu/drm/xe/xe_hw_engine_types.h            |  82 +-
>  drivers/gpu/drm/xe/xe_hwmon.c                      |  32 +-
>  drivers/gpu/drm/xe/xe_irq.c                        | 136 ++-
>  drivers/gpu/drm/xe/xe_lrc.c                        |  38 +
>  drivers/gpu/drm/xe/xe_lrc_types.h                  |   6 +-
>  drivers/gpu/drm/xe/xe_memirq.c                     | 430 ++++++++++
>  drivers/gpu/drm/xe/xe_memirq.h                     |  26 +
>  drivers/gpu/drm/xe/xe_memirq_types.h               |  37 +
>  drivers/gpu/drm/xe/xe_migrate.c                    |  53 +-
>  drivers/gpu/drm/xe/xe_mmio.c                       |   9 +-
>  drivers/gpu/drm/xe/xe_mocs.c                       |  27 +-
>  drivers/gpu/drm/xe/xe_pat.c                        |   5 +
>  drivers/gpu/drm/xe/xe_pci.c                        |  10 +-
>  drivers/gpu/drm/xe/xe_pcode_api.h                  |   7 +
>  drivers/gpu/drm/xe/xe_pm.c                         |  38 +-
>  drivers/gpu/drm/xe/xe_pm.h                         |   1 +
>  drivers/gpu/drm/xe/xe_pt.c                         |  55 +-
>  drivers/gpu/drm/xe/xe_pt_walk.c                    |   2 +-
>  drivers/gpu/drm/xe/xe_pt_walk.h                    |  19 +-
>  drivers/gpu/drm/xe/xe_query.c                      |  50 +-
>  drivers/gpu/drm/xe/xe_range_fence.c                |   7 +-
>  drivers/gpu/drm/xe/xe_reg_whitelist.c              |   8 +
>  drivers/gpu/drm/xe/xe_ring_ops.c                   |  60 +-
>  drivers/gpu/drm/xe/xe_sched_job.c                  |  39 +-
>  drivers/gpu/drm/xe/xe_sched_job.h                  |   5 +
>  drivers/gpu/drm/xe/xe_sched_job_types.h            |  11 +-
>  drivers/gpu/drm/xe/xe_sriov.c                      |  32 +
>  drivers/gpu/drm/xe/xe_sriov.h                      |   1 +
>  drivers/gpu/drm/xe/xe_sriov_types.h                |  12 +
>  drivers/gpu/drm/xe/xe_sync.c                       |   2 -
>  drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   3 +
>  drivers/gpu/drm/xe/xe_trace.h                      |  55 +-
>  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |   8 +-
>  drivers/gpu/drm/xe/xe_tuning.c                     |   9 +-
>  drivers/gpu/drm/xe/xe_uc.c                         |  33 +-
>  drivers/gpu/drm/xe/xe_uc.h                         |   1 +
>  drivers/gpu/drm/xe/xe_uc_fw.c                      |  60 +-
>  drivers/gpu/drm/xe/xe_uc_fw_types.h                |   9 +-
>  drivers/gpu/drm/xe/xe_vm.c                         | 287 ++++++-
>  drivers/gpu/drm/xe/xe_vm.h                         |   7 +-
>  drivers/gpu/drm/xe/xe_vm_types.h                   |  18 +-
>  drivers/gpu/drm/xe/xe_vram_freq.c                  | 128 +++
>  drivers/gpu/drm/xe/xe_vram_freq.h                  |  13 +
>  drivers/gpu/drm/xe/xe_wa.c                         | 191 +----
>  drivers/gpu/drm/xe/xe_wa_oob.rules                 |  12 +-
>  drivers/gpu/drm/xe/xe_wait_user_fence.c            |   2 +-
>  drivers/gpu/drm/xe/xe_wopcm_types.h                |   4 +-
>  include/uapi/drm/xe_drm.h                          |  34 +-
>  141 files changed, 6518 insertions(+), 1187 deletions(-)
>  create mode 100644 drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h
>  create mode 100644 drivers/gpu/drm/xe/abi/guc_relay_communication_abi.h
>  rename drivers/gpu/drm/xe/{ => display}/xe_display.c (99%)
>  rename drivers/gpu/drm/xe/{ => display}/xe_display.h (100%)
>  create mode 100644 drivers/gpu/drm/xe/regs/xe_pcode_regs.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_guc_db_mgr_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_guc_relay_test.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_kunit_helpers.h
>  create mode 100644 drivers/gpu/drm/xe/tests/xe_test_mod.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_proxy.c
>  create mode 100644 drivers/gpu/drm/xe/xe_gsc_proxy.h
>  create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_printk.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_db_mgr.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_db_mgr.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_hxg_helpers.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_relay.c
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_relay.h
>  create mode 100644 drivers/gpu/drm/xe/xe_guc_relay_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_memirq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_memirq.h
>  create mode 100644 drivers/gpu/drm/xe/xe_memirq_types.h
>  create mode 100644 drivers/gpu/drm/xe/xe_vram_freq.c
>  create mode 100644 drivers/gpu/drm/xe/xe_vram_freq.h

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PULL] drm-xe-next
@ 2024-02-26  3:21 Lucas De Marchi
  2024-02-26  9:58 ` Daniel Vetter
  2024-02-26 10:46 ` Daniel Stone
  0 siblings, 2 replies; 12+ messages in thread
From: Lucas De Marchi @ 2024-02-26  3:21 UTC (permalink / raw)
  To: Dave Airlie, Daniel Vetter
  Cc: Jani Nikula, Joonas Lahtinen, Tvrtko Ursulin, Rodrigo Vivi,
	Thomas Zimmermann, Maarten Lankhorst, Maxime Ripard,
	Thomas Hellström, Oded Gabbay, Lucas De Marchi, dri-devel,
	intel-gfx, dim-tools

Hi Dave and Sima,

Here's the PR for drm-xe-next for Linux v6.9. It's a big list of
changes, but it contains several fixes for things noticed throughout the
v6.8 cycle after being merged upstream, added to the linux-next, etc.
Approximately 30% are fixes already sent or on its way to v6.8.

First, the bad part: this still shows some issues of not being properly
integrated with our tooling, with this one being the worst:
https://lore.kernel.org/all/20240221173645.225a979d@canb.auug.org.au/.
Some of the committers didn't add their s-o-b while applying patches.  I
checked that all the affected patches do contain the s-o-b by the author
and come from the same company (Intel).

Also due to the same reason, some commits are missing a Link trailer to
the mailing list discussion. Often these patches were applied with bare
git-am or b4.

All of this should be fixed by now: dim is used for applying and pushing
patches, which has additional checks so that doesn't happen again. Still
pending confirmation from Daniel Stone if the git server hooks are ready
in gitlab so we properly forbid pushes without dim, like we do with the
git.fd.o infra.

Finally, we enabled again building for 32b, but on Friday we received
bug reports that it still fails with clang. There are some fixes being
reviewed and we should have them ready next week.

Summary of the changes are below.

drm-xe-next-2024-02-25:
drm/xe feature pull for v6.9: 

UAPI Changes:

- New query to the GuC firmware submission version. (José Roberto de Souza)
- Remove unused persistent exec_queues (Thomas Hellström)
- Add vram frequency sysfs attributes (Sujaritha Sundaresan, Rodrigo Vivi)
- Add the flag XE_VM_BIND_FLAG_DUMPABLE to notify devcoredump that mapping
   should be dumped (Maarten Lankhorst)

Cross-drivers Changes:

- Make sure intel_wakeref_t is treated as opaque type on i915-display
   and fix its type on xe

Driver Changes:

- Drop pre-production workarounds (Matt Roper)
- Drop kunit tests for unsuported platforms: PVC and pre-production DG2 (Lucas De Marchi)
- Start pumbling SR-IOV support with memory based interrupts
   for VF (Michal Wajdeczko)
- Allow to map BO in GGTT with PAT index corresponding to
   XE_CACHE_UC to work with memory based interrupts (Michal Wajdeczko)
- Improve logging with GT-oriented drm_printers (Michal Wajdeczko)
- Add GuC Doorbells Manager as prep work SR-IOV during
   VF provisioning ((Michal Wajdeczko)
- Refactor fake device handling in kunit integration ((Michal Wajdeczko)
- Implement additional workarounds for xe2 and MTL (Tejas Upadhyay,
   Lucas De Marchi, Shekhar Chauhan, Karthik Poosa)
- Program a few registers according to perfomance guide spec for Xe2 (Shekhar Chauhan)
- Add error handling for non-blocking communication with GuC (Daniele Ceraolo Spurio)
- Fix remaining 32b build issues and enable it back (Lucas De  Marchi)
- Fix build with CONFIG_DEBUG_FS=n (Jani Nikula)
- Fix warnings from GuC ABI headers (Matthew Brost)
- Introduce Relay Communication for SR-IOV for VF <-> GuC <-> PF (Michal Wajdeczko)
- Add mocs reset kunit (Ruthuvikas Ravikumar)
- Fix spellings (Colin Ian King)
- Disable mid-thread preemption when not properly supported by hardware (Nirmoy Das)
- Release mmap mappings on rpm suspend (Badal Nilawar)
- Fix BUG_ON on xe_exec by moving fence reservation to the validate stage (Matthew Auld)
- Fix xe_exec by reserving extra fence slot for CPU bind (Matthew Brost)
- Fix xe_exec with full long running exec queue, now returning
   -EWOULDBLOCK to userspace (Matthew Brost)
- Fix CT irq handler when CT is disabled (Matthew Brost)
- Fix VM_BIND_OP_UNMAP_ALL without any bound vmas (Thomas Hellström)
- Fix missing __iomem annotations (Thomas Hellström)
- Fix exec queue priority handling with GuC (Brian Welty)
- Fix setting SLPC flag to GuC when it's not supported (Vinay Belgaumkar)
- Fix C6 disabling without SLPC (Matt Roper)
- Drop -Wstringop-overflow to fix build with GCC11 (Paul E. McKenney)
- Circumvent bogus -Wstringop-overflow in one case (Arnd Bergmann)
- Refactor exec_queue user extensions handling and fix USM attributes
   being applied too late (Brian Welty)
- Use circ_buf head/tail convention (Matthew Brost)
- Fail build if circ_buf-related defines are modified with incompatible values
   (Matthew Brost)
- Fix several error paths (Dan Carpenter)
- Fix CCS copy for small VRAM copy chunks (Thomas Hellström)
- Rework driver initialization order and paths to account for driver running
   in VF mode (Michal Wajdeczko)
- Initialize GuC earlier during probe to handle driver in VF mode (Michał Winiarski)
- Fix migration use of MI_STORE_DATA_IMM to write PTEs (Matt Roper)
- Fix bounds checking in __xe_bo_placement_for_flags (Brian Welty)
- Drop display dependency on CONFIG_EXPERT (Jani Nikula)
- Do not hand-roll kstrdup when creating snapshot (Michal Wajdeczko)
- Stop creating one kunit module per kunit suite (Lucas De Marchi)
- Reduce scope and constify variables (Thomas Hellström, Jani Nikula, Michal Wajdeczko)
- Improve and document xe_guc_ct_send_recv() (Michal Wajdeczko)
- Add proxy communication between CSME and GSC uC (Daniele Ceraolo Spurio)
- Fix size calculation when writing pgtable (Fei Yang)
- Make sure cfb is page size aligned in stolen memory (Vinod Govindapillai)
- Stop printing guc log to dmesg when waiting for GuC fails (Rodrigo Vivi)
- Use XE_CACHE_WB instead of XE_CACHE_NONE for cpu coherency on migration
   (Himal Prasad Ghimiray)
- Fix error path in xe_vm_create (Moti Haimovski)
- Fix warnings in doc generation (Thomas Hellström, Badal Nilawar)
- Improve devcoredump content for mesa debugging (José Roberto de Souza)
- Fix crash in trace_dma_fence_init() (José Roberto de Souza)
- Improve CT state change handling (Matthew Brost)
- Toggle USM support for Xe2 (Lucas De Marchi)
- Reduces code duplication to emit PIPE_CONTROL (José Roberto de Souza)
- Canonicalize addresses where needed for Xe2 and add to devcoredump
   (José Roberto de Souza)
- Only allow 1 ufence per exec / bind IOCTL (Matthew Brost)
- Move all display code to display/ (Jani Nikula)
- Fix sparse warnings by correctly using annotations (Thomas Hellström)
- Warn on job timeouts instead of using asserts (Matt Roper)
- Prefix macros to avoid clashes with sparc (Matthew Brost)
- Fix -Walloc-size by subclassing instead of allocating size smaller than struct (Thomas Hellström)
- Add status check during gsc header readout (Suraj Kandpal)
- Fix infinite loop in vm_bind_ioctl_ops_unwind() (Matthew Brost)
- Fix fence refcounting (Matthew Brost)
- Fix picking incorrect userptr VMA (Matthew Brost)
- Fix USM on integrated by mapping both mem.kernel_bb_pool and usm.bb_pool (Matthew Brost)
- Fix double initialization of display power domains (Xiaoming Wang)
- Check expected uC versions by major.minor.patch instead of just major.minor (John Harrison)
- Bump minimum GuC version to 70.19.2 for all platforms under force-probe
   (John Harrison)
- Add GuC firmware loading for Lunar Lake (John Harrison)
- Use kzalloc() instead of hand-rolled alloc + memset (Nirmoy Das)
- Fix max page size of VMA during a REMAP (Matthew Brost)
- Don't ignore error when pinning pages in kthread (Matthew Auld)
- Refactor xe hwmon (Karthik Poosa)
- Add debug logs for D3cold (Riana Tauro)
- Remove broken TEST_VM_ASYNC_OPS_ERROR (Matthew Brost)
- Always allow to override firmware blob with module param and improve
   log when no firmware is found (Lucas De Marchi)
- Fix shift-out-of-bounds due to xe_vm_prepare_vma() accepting zero fences (Thomas Hellström)
- Fix shift-out-of-bounds by distinguishing xe_pt/xe_pt_dir subclass (Thomas Hellström)
- Fail driver bind if platform supports MSIX, but fails to allocate all of them (Dani Liberman)
- Fix intel_fbdev thinking memory is backed by shmem (Matthew Auld)
- Prefer drm_dbg() over dev_dbg() (Jani Nikula)
- Avoid function cast warnings with clang-16 (Arnd Bergmann)
- Enhance xe_bo_move trace (Priyanka Dandamudi)
- Fix xe_vma_set_pte_size() not setting the right gpuva.flags for 4K size (Matthew Brost)
- Add XE_VMA_PTE_64K VMA flag (Matthew Brost)
- Return 2MB page size for compact 64k PTEs (Matthew Brost)
- Remove usage of the deprecated ida_simple_xx() API (Christophe JAILLET)
- Fix modpost warning on xe_mocs live kunit module (Ashutosh Dixit)
- Drop extra newline in from sysfs files (Ashutosh Dixit)
- Implement VM snapshot support for BO's and userptr (Maarten Lankhorst)
- Add debug logs when skipping rebinds (Matthew Brost)
- Fix code generation when mixing build directories (Dafna Hirschfeld)
- Prefer struct_size over open coded arithmetic (Erick Archer)

The following changes since commit 9ac4beb7578a88baa4f7e6a59eeb5be79d7b011a:

   Merge tag 'drm-misc-next-2024-02-15' of git://anongit.freedesktop.org/drm/drm-misc into drm-next (2024-02-16 13:16:40 +1000)

are available in the Git repository at:

   ssh://git@gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-02-25

for you to fetch changes up to a7a3d73686f5837916ebffda77afa4343754e7dc:

   drm/xe: Prefer struct_size over open coded arithmetic (2024-02-22 20:58:20 -0800)

----------------------------------------------------------------
drm/xe feature pull for v6.9:

UAPI Changes:

- New query to the GuC firmware submission version. (José Roberto de Souza)
- Remove unused persistent exec_queues (Thomas Hellström)
- Add vram frequency sysfs attributes (Sujaritha Sundaresan, Rodrigo Vivi)
- Add the flag XE_VM_BIND_FLAG_DUMPABLE to notify devcoredump that mapping
   should be dumped (Maarten Lankhorst)

Cross-drivers Changes:

- Make sure intel_wakeref_t is treated as opaque type on i915-display
   and fix its type on xe

Driver Changes:

- Drop pre-production workarounds (Matt Roper)
- Drop kunit tests for unsuported platforms: PVC and pre-production DG2 (Lucas De Marchi)
- Start pumbling SR-IOV support with memory based interrupts
   for VF (Michal Wajdeczko)
- Allow to map BO in GGTT with PAT index corresponding to
   XE_CACHE_UC to work with memory based interrupts (Michal Wajdeczko)
- Improve logging with GT-oriented drm_printers (Michal Wajdeczko)
- Add GuC Doorbells Manager as prep work SR-IOV during
   VF provisioning ((Michal Wajdeczko)
- Refactor fake device handling in kunit integration ((Michal Wajdeczko)
- Implement additional workarounds for xe2 and MTL (Tejas Upadhyay,
   Lucas De Marchi, Shekhar Chauhan, Karthik Poosa)
- Program a few registers according to perfomance guide spec for Xe2 (Shekhar Chauhan)
- Add error handling for non-blocking communication with GuC (Daniele Ceraolo Spurio)
- Fix remaining 32b build issues and enable it back (Lucas De  Marchi)
- Fix build with CONFIG_DEBUG_FS=n (Jani Nikula)
- Fix warnings from GuC ABI headers (Matthew Brost)
- Introduce Relay Communication for SR-IOV for VF <-> GuC <-> PF (Michal Wajdeczko)
- Add mocs reset kunit (Ruthuvikas Ravikumar)
- Fix spellings (Colin Ian King)
- Disable mid-thread preemption when not properly supported by hardware (Nirmoy Das)
- Release mmap mappings on rpm suspend (Badal Nilawar)
- Fix BUG_ON on xe_exec by moving fence reservation to the validate stage (Matthew Auld)
- Fix xe_exec by reserving extra fence slot for CPU bind (Matthew Brost)
- Fix xe_exec with full long running exec queue, now returning
   -EWOULDBLOCK to userspace (Matthew Brost)
- Fix CT irq handler when CT is disabled (Matthew Brost)
- Fix VM_BIND_OP_UNMAP_ALL without any bound vmas (Thomas Hellström)
- Fix missing __iomem annotations (Thomas Hellström)
- Fix exec queue priority handling with GuC (Brian Welty)
- Fix setting SLPC flag to GuC when it's not supported (Vinay Belgaumkar)
- Fix C6 disabling without SLPC (Matt Roper)
- Drop -Wstringop-overflow to fix build with GCC11 (Paul E. McKenney)
- Circumvent bogus -Wstringop-overflow in one case (Arnd Bergmann)
- Refactor exec_queue user extensions handling and fix USM attributes
   being applied too late (Brian Welty)
- Use circ_buf head/tail convention (Matthew Brost)
- Fail build if circ_buf-related defines are modified with incompatible values
   (Matthew Brost)
- Fix several error paths (Dan Carpenter)
- Fix CCS copy for small VRAM copy chunks (Thomas Hellström)
- Rework driver initialization order and paths to account for driver running
   in VF mode (Michal Wajdeczko)
- Initialize GuC earlier during probe to handle driver in VF mode (Michał Winiarski)
- Fix migration use of MI_STORE_DATA_IMM to write PTEs (Matt Roper)
- Fix bounds checking in __xe_bo_placement_for_flags (Brian Welty)
- Drop display dependency on CONFIG_EXPERT (Jani Nikula)
- Do not hand-roll kstrdup when creating snapshot (Michal Wajdeczko)
- Stop creating one kunit module per kunit suite (Lucas De Marchi)
- Reduce scope and constify variables (Thomas Hellström, Jani Nikula, Michal Wajdeczko)
- Improve and document xe_guc_ct_send_recv() (Michal Wajdeczko)
- Add proxy communication between CSME and GSC uC (Daniele Ceraolo Spurio)
- Fix size calculation when writing pgtable (Fei Yang)
- Make sure cfb is page size aligned in stolen memory (Vinod Govindapillai)
- Stop printing guc log to dmesg when waiting for GuC fails (Rodrigo Vivi)
- Use XE_CACHE_WB instead of XE_CACHE_NONE for cpu coherency on migration
   (Himal Prasad Ghimiray)
- Fix error path in xe_vm_create (Moti Haimovski)
- Fix warnings in doc generation (Thomas Hellström, Badal Nilawar)
- Improve devcoredump content for mesa debugging (José Roberto de Souza)
- Fix crash in trace_dma_fence_init() (José Roberto de Souza)
- Improve CT state change handling (Matthew Brost)
- Toggle USM support for Xe2 (Lucas De Marchi)
- Reduces code duplication to emit PIPE_CONTROL (José Roberto de Souza)
- Canonicalize addresses where needed for Xe2 and add to devcoredump
   (José Roberto de Souza)
- Only allow 1 ufence per exec / bind IOCTL (Matthew Brost)
- Move all display code to display/ (Jani Nikula)
- Fix sparse warnings by correctly using annotations (Thomas Hellström)
- Warn on job timeouts instead of using asserts (Matt Roper)
- Prefix macros to avoid clashes with sparc (Matthew Brost)
- Fix -Walloc-size by subclassing instead of allocating size smaller than struct (Thomas Hellström)
- Add status check during gsc header readout (Suraj Kandpal)
- Fix infinite loop in vm_bind_ioctl_ops_unwind() (Matthew Brost)
- Fix fence refcounting (Matthew Brost)
- Fix picking incorrect userptr VMA (Matthew Brost)
- Fix USM on integrated by mapping both mem.kernel_bb_pool and usm.bb_pool (Matthew Brost)
- Fix double initialization of display power domains (Xiaoming Wang)
- Check expected uC versions by major.minor.patch instead of just major.minor (John Harrison)
- Bump minimum GuC version to 70.19.2 for all platforms under force-probe
   (John Harrison)
- Add GuC firmware loading for Lunar Lake (John Harrison)
- Use kzalloc() instead of hand-rolled alloc + memset (Nirmoy Das)
- Fix max page size of VMA during a REMAP (Matthew Brost)
- Don't ignore error when pinning pages in kthread (Matthew Auld)
- Refactor xe hwmon (Karthik Poosa)
- Add debug logs for D3cold (Riana Tauro)
- Remove broken TEST_VM_ASYNC_OPS_ERROR (Matthew Brost)
- Always allow to override firmware blob with module param and improve
   log when no firmware is found (Lucas De Marchi)
- Fix shift-out-of-bounds due to xe_vm_prepare_vma() accepting zero fences (Thomas Hellström)
- Fix shift-out-of-bounds by distinguishing xe_pt/xe_pt_dir subclass (Thomas Hellström)
- Fail driver bind if platform supports MSIX, but fails to allocate all of them (Dani Liberman)
- Fix intel_fbdev thinking memory is backed by shmem (Matthew Auld)
- Prefer drm_dbg() over dev_dbg() (Jani Nikula)
- Avoid function cast warnings with clang-16 (Arnd Bergmann)
- Enhance xe_bo_move trace (Priyanka Dandamudi)
- Fix xe_vma_set_pte_size() not setting the right gpuva.flags for 4K size (Matthew Brost)
- Add XE_VMA_PTE_64K VMA flag (Matthew Brost)
- Return 2MB page size for compact 64k PTEs (Matthew Brost)
- Remove usage of the deprecated ida_simple_xx() API (Christophe JAILLET)
- Fix modpost warning on xe_mocs live kunit module (Ashutosh Dixit)
- Drop extra newline in from sysfs files (Ashutosh Dixit)
- Implement VM snapshot support for BO's and userptr (Maarten Lankhorst)
- Add debug logs when skipping rebinds (Matthew Brost)
- Fix code generation when mixing build directories (Dafna Hirschfeld)
- Prefer struct_size over open coded arithmetic (Erick Archer)

----------------------------------------------------------------
Arnd Bergmann (2):
       drm/xe: circumvent bogus stringop-overflow warning
       drm/xe: avoid function cast warnings

Ashutosh Dixit (2):
       drm/xe/xe_gt_idle: Drop redundant newline in name
       drm/xe: Fix modpost warning on xe_mocs kunit module

Badal Nilawar (3):
       drm/xe/dgfx: Release mmap mappings on rpm suspend
       drm/xe/xe_debugfs: Print skip_guc_pc in xe info
       drm/hwmon: Fix abi doc warnings

Brian Welty (7):
       drm/xe: Fix guc_exec_queue_set_priority
       drm/xe: Fix modifying exec_queue priority in xe_migrate_init
       drm/xe: Refactor __xe_exec_queue_create()
       drm/xe: Add exec_queue.sched_props.job_timeout_ms
       drm/xe: Finish refactoring of exec_queue_create
       drm/xe: Remove set_job_timeout_ms() from exec_queue_ops
       drm/xe: Fix bounds checking in __xe_bo_placement_for_flags()

Christophe JAILLET (1):
       drm/xe/guc: Remove usage of the deprecated ida_simple_xx() API

Colin Ian King (1):
       drm/xe: Fix spelling mistake "gueue" -> "queue"

Dafna Hirschfeld (1):
       drm/xe: Do not include current dir for generated/xe_wa_oob.h

Dan Carpenter (3):
       drm/xe/device: clean up on error in probe()
       drm/xe/selftests: Fix an error pointer dereference bug
       drm/xe: unlock on error path in xe_vm_add_compute_exec_queue()

Dani Liberman (1):
       drm/xe/irq: allocate all possible msix interrupts

Daniele Ceraolo Spurio (3):
       drm/xe/guc: Use FAST_REQUEST for non-blocking H2G messages
       drm/xe/gsc: Initialize GSC proxy
       drm/xe/gsc: add support for GSC proxy interrupt

Erick Archer (1):
       drm/xe: Prefer struct_size over open coded arithmetic

Fei Yang (2):
       drm/xe: correct the calculation of remaining size
       drm/xe: correct the assertion for number of PTEs

Himal Prasad Ghimiray (1):
       drm/xe/xe2: Use XE_CACHE_WB pat index

Jani Nikula (11):
       drm/i915: don't make assumptions about intel_wakeref_t type
       drm/xe: display support should not depend on EXPERT
       drm/xe: make xe_ttm_funcs const
       drm/xe: make heci_gsc_irq_chip const
       drm/xe: make hwmon_info const
       drm/xe: make gpuvm_ops const
       drm/xe: constify engine class sysfs attributes
       drm/xe: don't build debugfs files when CONFIG_DEBUG_FS=n
       drm/xe: move xe_display.[ch] under display/
       drm/xe: drop display/ subdir from include directories
       drm/xe: use drm based debugging instead of dev

John Harrison (3):
       drm/xe/uc: Include patch version in expectations
       drm/xe/guc: Update to GuC firmware 70.19.2
       drm/xe/guc: Add support for LNL firmware

José Roberto de Souza (14):
       drm/xe/uapi: Remove DRM_XE_VM_BIND_FLAG_ASYNC comment left over
       drm/xe: Fix definition of intel_wakeref_t
       drm/xe: Use intel_wakeref_t in intel_runtime_pm functions
       drm/xe: Remove double new lines in devcoredump
       drm/xe: Change devcoredump functions parameters to xe_sched_job
       drm/xe: Nuke xe from xe_devcoredump
       drm/xe: Print more device information in devcoredump
       drm/xe: Print registers spread in 2 u32 as u64
       drm/xe: Remove additional spaces in devcoredump HW Engines section
       drm/xe: Fix crash in trace_dma_fence_init()
       drm/xe: Use function to emit PIPE_CONTROL
       drm/xe: Add functions to convert regular address to canonical address and back
       drm/xe: Add batch buffer addresses to devcoredump
       drm/xe: Add uAPI to query GuC firmware submission version

Karthik Poosa (3):
       drm/xe/guc: Enable WA 14018913170
       drm/xe/guc: Reduce a print from warn to debug
       drm/xe/hwmon: Refactor xe hwmon

Lucas De Marchi (18):
       drm/xe: Fix warning on impossible condition
       drm/xe: Disable 32bits build
       drm/xe/xe2: Add workaround 16020183090
       drm/xe/kunit: Drop xe_wa tests for pre-production DG2
       drm/xe: Group normal kunit tests in a single module
       drm/xe: Use _ULL for u64 division
       drm/xe/mmio: Cast to u64 when printing
       drm/xe/display: Avoid calling readq()
       drm/xe: Fix cast on trace variable
       drm/xe: Enable 32bits build
       Merge drm/drm-next into drm-xe-next
       drm/xe: Remove PVC from xe_wa kunit tests
       drm/xe/xe2: Enable has_usm
       drm/xe: Always allow to override firmware
       drm/xe: Avoid cryptic message when there's no GuC definition
       drm/xe: Enable 32bits build
       Merge drm/drm-next into drm-xe-next
       drm/xe: Use pointers in trace events

Maarten Lankhorst (6):
       drm/xe/snapshot: Remove drm_err on guc alloc failures
       drm/xe: Clear all snapshot members after deleting coredump
       drm/xe: Add uapi for dumpable bos
       drm/xe: Annotate each dumpable vma as such
       drm/xe: Add vm snapshot mutex for easily taking a vm snapshot during devcoredump
       drm/xe: Implement VM snapshot support for BO's and userptr

Matt Roper (5):
       drm/xe/dg2: Drop pre-production workarounds
       drm/xe/migrate: Cap PTEs written by MI_STORE_DATA_IMM to 510
       drm/xe: Stash GMD_ID value in xe_gt
       drm/xe: Grab mem_access when disabling C6 on skip_guc_pc platforms
       drm/xe: Convert job timeouts from assert to warning

Matthew Auld (4):
       drm/xe/exec: move fence reservation
       drm/xe/exec: reserve fence slot for CPU bind
       drm/xe/vm: don't ignore error when in_kthread
       drm/xe/display: fix i915_gem_object_is_shmem() wrapper

Matthew Brost (25):
       drm/xe: Fix UBSAN splat in add_preempt_fences()
       drm/xe: Fix exec IOCTL long running exec queue ring full condition
       drm/xe/guc: Only take actions in CT irq handler if CTs are enabled
       drm/xe: Add build on bug to assert page fault queue works
       drm/xe: Invert page fault queue head / tail
       drm/xe: Add build on bug to assert access counter queue works
       drm/xe: Invert access counter queue head / tail
       drm/xe/guc: Add more GuC CT states
       drm/xe: Move TLB invalidation reset before HW reset
       drm/xe/guc: Flush G2H handler when turning off CTs
       drm/xe: Only allow 1 ufence per exec / bind IOCTL
       drm/xe: Make all GuC ABI shift values unsigned
       drm/xe: Use LRC prefix rather than CTX prefix in lrc desc defines
       drm/xe: Fix loop in vm_bind_ioctl_ops_unwind
       drm/xe: Drop rebind argument from xe_pt_prepare_bind
       drm/xe: Take a reference in xe_exec_queue_last_fence_get()
       drm/xe: Pick correct userptr VMA to repin on REMAP op failure
       drm/xe: Map both mem.kernel_bb_pool and usm.bb_pool
       drm/xe: Assume large page size if VMA not yet bound
       drm/xe: Remove TEST_VM_ASYNC_OPS_ERROR
       drm/xe: Remove exec queue bind.fence_*
       drm/xe: Fix xe_vma_set_pte_size
       drm/xe: Add XE_VMA_PTE_64K VMA flag
       drm/xe: Return 2MB page size for compact 64k PTEs
       drm/xe: Add debug prints for skipping rebinds

Michal Wajdeczko (49):
       drm/xe: Add command MI_LOAD_REGISTER_MEM
       drm/xe: Define registers used by memory based irq processing
       drm/xe: Update LRC context layout definitions
       drm/xe: Update definition of GT_INTR_DW
       drm/xe: Define IRQ offsets used by HW engines
       drm/xe: Add XE_BO_NEEDS_UC flag to force UC mode instead WB
       drm/xe/vf: Introduce Memory Based Interrupts Handler
       drm/xe/vf: Update LRC with memory based interrupts data
       drm/xe/vf: Setup memory based interrupts in GuC
       drm/xe/vf: Add VF specific interrupt handler
       drm/xe: Add GT oriented drm_printers
       drm/xe: Report TLB timeout using GT oriented functions
       drm/xe: Introduce GuC Doorbells Manager
       drm/xe/kunit: Set SR-IOV mode of the fake device
       drm/xe/kunit: Define helper functions to allocate fake xe device
       drm/xe/kunit: Restore test->priv when done with fake xe device
       drm/xe/kunit: Use xe kunit helper in RTP test
       drm/xe/kunit: Use xe kunit helper in WA test
       drm/xe/kunit: Enable CONFIG_LOCKDEP in tests
       drm/xe/kunit: Add GuC Doorbells Manager tests
       drm/xe: Allocate dedicated workqueue for SR-IOV workers
       drm/xe: Define Virtual Function Identifier
       drm/xe: Introduce GT-oriented SR-IOV logging macros
       drm/xe/guc: Add helpers for HXG messages
       drm/xe/guc: Update few GuC CTB ABI definitions
       drm/xe/guc: Add Relay Communication ABI definitions
       drm/xe/guc: Introduce Relay Communication for SR-IOV
       drm/xe/kunit: Allow to replace xe_guc_ct_send_recv() with stub
       drm/xe/kunit: Add GuC Relay kunit tests
       drm/xe/guc: Start handling GuC Relay event messages
       drm/xe: Fix compilation without CONFIG_KUNIT
       drm/xe: Split GuC communication initialization
       drm/xe/guc: Treat non-response message after BUSY as unexpected
       drm/xe/guc: Return CTB response length
       drm/xe/guc: Use HXG definitions on HXG messages
       drm/xe: Allow to exclude part of GGTT from allocations
       drm/xe: Fix potential deadlock in __fini_dbm
       drm/xe: Use kstrdup while creating snapshot
       drm/xe: Mark internal gmdid mappings as const
       drm/xe/guc: Return CTB HXG response DATA0 if no buffer provided
       drm/xe/guc: Add kernel-doc for xe_guc_ct_send_recv()
       drm/xe/vf: Assume fixed GSM size if VF
       drm/xe/vf: Don't try to capture engine data unavailable to VF
       drm/xe/vf: Don't program MOCS if VF
       drm/xe/vf: Don't initialize stolen memory manager if VF
       drm/xe/vf: Don't check if LMEM is initialized if VF
       drm/xe/vf: Don't enable hwmon if VF
       drm/xe/vf: Don't program PAT if VF
       drm/xe/vf: Don't support MCR registers if VF

Michał Winiarski (4):
       drm/xe/guc: Allocate GuC data structures in system memory for initial load
       drm/xe/huc: Realloc HuC FW in vram for post-hwconfig
       drm/xe/guc: Move GuC power control init to "post-hwconfig"
       drm/xe: Initialize GuC earlier during probe

Moti Haimovski (1):
       drm/xe/vm: bugfix in xe_vm_create_ioctl

Nirmoy Das (2):
       drm/xe/xe2: synchronise CS_CHICKEN1 with WMTP support
       drm/xe/query: Use kzalloc for drm_xe_query_engines

Paul E. McKenney (1):
       drm/xe: Fix build bug for GCC 11

Priyanka Dandamudi (1):
       drm/xe/xe_bo_move: Enhance xe_bo_move trace

Riana Tauro (1):
       drm/xe/pm: add debug logs for D3cold

Rodrigo Vivi (1):
       drm/xe: Do not flood dmesg with guc log

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

Shekhar Chauhan (2):
       drm/xe/xe2_lpg: Add Wa_16018610683
       drm/xe/xe2_lpg: Introduce performance guide changes

Sujaritha Sundaresan (2):
       drm/xe: Add vram frequency sysfs attributes
       drm/xe: Fix typo in vram frequency sysfs documentation

Suraj Kandpal (1):
       drm/xe/gsc: Add status check during gsc header readout

Tejas Upadhyay (1):
       drm/xe/xelpg: Extend Wa_14019877138 for Graphics 12.70/71

Thomas Hellström (15):
       drm/xe/vm: Fix an error path
       drm/xe: Use __iomem for the regs pointer
       drm/xe: Annotate xe_mem_region::mapping with __iomem
       drm/xe: Annotate multiple mmio pointers with __iomem
       drm/xe: Annotate xe_ttm_stolen_mgr::mapping with __iomem
       drm/xe/migrate: Fix CCS copy for small VRAM copy chunks
       drm/xe/dmabuf: Make xe_dmabuf_ops static
       drm/xe: Use a NULL pointer instead of 0.
       drm/xe: Document nested struct members according to guidelines
       drm/xe: Annotate mcr_[un]lock()
       drm/xe: Don't use __user error pointers
       drm/xe/vm: Subclass userptr vmas
       drm/xe/vm: Avoid reserving zero fences
       drm/xe/pt: Allow for stricter type- and range checking
       drm/xe/uapi: Remove support for persistent exec_queues

Vinay Belgaumkar (1):
       drm/xe: Check skip_guc_pc before setting SLPC flag

Vinod Govindapillai (1):
       drm/xe: Modify the cfb size to be page size aligned for FBC

Xiaoming Wang (1):
       drm/xe/display: Fix memleak in display initialization

  drivers/gpu/drm/xe/.kunitconfig                    |   5 +
  drivers/gpu/drm/xe/Kconfig                         |   2 +-
  drivers/gpu/drm/xe/Makefile                        |  40 +-
  drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h    |  44 +
  drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h     | 174 ++++
  drivers/gpu/drm/xe/abi/guc_communication_ctb_abi.h |   3 +-
  drivers/gpu/drm/xe/abi/guc_messages_abi.h          |   2 +
  drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h     |  79 ++
  .../gpu/drm/xe/abi/guc_relay_communication_abi.h   | 118 +++
  .../xe/compat-i915-headers/gem/i915_gem_object.h   |   2 +-
  drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |  10 +-
  .../drm/xe/compat-i915-headers/i915_gem_stolen.h   |   3 +
  drivers/gpu/drm/xe/{ => display}/xe_display.c      |   6 -
  drivers/gpu/drm/xe/{ => display}/xe_display.h      |   0
  drivers/gpu/drm/xe/instructions/xe_mi_commands.h   |   3 +
  drivers/gpu/drm/xe/regs/xe_engine_regs.h           |   6 +
  drivers/gpu/drm/xe/regs/xe_gt_regs.h               |  27 +-
  drivers/gpu/drm/xe/regs/xe_lrc_layout.h            |   9 +
  drivers/gpu/drm/xe/regs/xe_pcode_regs.h            |  21 +
  drivers/gpu/drm/xe/tests/Makefile                  |   7 +-
  drivers/gpu/drm/xe/tests/xe_guc_db_mgr_test.c      | 201 +++++
  drivers/gpu/drm/xe/tests/xe_guc_relay_test.c       | 522 ++++++++++++
  drivers/gpu/drm/xe/tests/xe_kunit_helpers.c        |  90 ++
  drivers/gpu/drm/xe/tests/xe_kunit_helpers.h        |  17 +
  drivers/gpu/drm/xe/tests/xe_mocs.c                 |  36 +
  drivers/gpu/drm/xe/tests/xe_mocs_test.c            |   2 +
  drivers/gpu/drm/xe/tests/xe_mocs_test.h            |   1 +
  drivers/gpu/drm/xe/tests/xe_pci.c                  |   3 +
  drivers/gpu/drm/xe/tests/xe_pci_test.c             |   5 -
  drivers/gpu/drm/xe/tests/xe_pci_test.h             |   2 +
  drivers/gpu/drm/xe/tests/xe_rtp_test.c             |  10 +-
  drivers/gpu/drm/xe/tests/xe_test_mod.c             |  10 +
  drivers/gpu/drm/xe/tests/xe_wa_test.c              |  16 +-
  drivers/gpu/drm/xe/xe_bo.c                         | 101 ++-
  drivers/gpu/drm/xe/xe_bo.h                         |   7 +-
  drivers/gpu/drm/xe/xe_bo_types.h                   |   3 +
  drivers/gpu/drm/xe/xe_debugfs.c                    |   1 +
  drivers/gpu/drm/xe/xe_devcoredump.c                |  55 +-
  drivers/gpu/drm/xe/xe_devcoredump.h                |   6 +-
  drivers/gpu/drm/xe/xe_devcoredump_types.h          |  13 +-
  drivers/gpu/drm/xe/xe_device.c                     | 114 ++-
  drivers/gpu/drm/xe/xe_device.h                     |  14 +-
  drivers/gpu/drm/xe/xe_device_types.h               | 174 ++--
  drivers/gpu/drm/xe/xe_drm_client.c                 |  12 +-
  drivers/gpu/drm/xe/xe_exec.c                       |  42 +-
  drivers/gpu/drm/xe/xe_exec_queue.c                 | 168 ++--
  drivers/gpu/drm/xe/xe_exec_queue.h                 |   3 +-
  drivers/gpu/drm/xe/xe_exec_queue_types.h           |  59 +-
  drivers/gpu/drm/xe/xe_execlist.c                   |  10 -
  drivers/gpu/drm/xe/xe_ggtt.c                       |  81 +-
  drivers/gpu/drm/xe/xe_ggtt.h                       |   3 +
  drivers/gpu/drm/xe/xe_gsc.c                        |  71 +-
  drivers/gpu/drm/xe/xe_gsc.h                        |   1 +
  drivers/gpu/drm/xe/xe_gsc_proxy.c                  | 537 ++++++++++++
  drivers/gpu/drm/xe/xe_gsc_proxy.h                  |  20 +
  drivers/gpu/drm/xe/xe_gsc_submit.c                 |  20 +
  drivers/gpu/drm/xe/xe_gsc_submit.h                 |   1 +
  drivers/gpu/drm/xe/xe_gsc_types.h                  |  33 +
  drivers/gpu/drm/xe/xe_gt.c                         |  92 +-
  drivers/gpu/drm/xe/xe_gt.h                         |   2 +
  drivers/gpu/drm/xe/xe_gt_idle.c                    |   4 +-
  drivers/gpu/drm/xe/xe_gt_mcr.c                     |  17 +
  drivers/gpu/drm/xe/xe_gt_pagefault.c               |  40 +-
  drivers/gpu/drm/xe/xe_gt_printk.h                  |  44 +
  drivers/gpu/drm/xe/xe_gt_sriov_printk.h            |  34 +
  drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c        |  13 +-
  drivers/gpu/drm/xe/xe_gt_types.h                   | 118 +--
  drivers/gpu/drm/xe/xe_guc.c                        | 115 ++-
  drivers/gpu/drm/xe/xe_guc.h                        |   1 +
  drivers/gpu/drm/xe/xe_guc_ads.c                    |   2 +-
  drivers/gpu/drm/xe/xe_guc_ct.c                     | 255 ++++--
  drivers/gpu/drm/xe/xe_guc_ct.h                     |  12 +-
  drivers/gpu/drm/xe/xe_guc_ct_types.h               |  22 +-
  drivers/gpu/drm/xe/xe_guc_db_mgr.c                 | 266 ++++++
  drivers/gpu/drm/xe/xe_guc_db_mgr.h                 |  22 +
  drivers/gpu/drm/xe/xe_guc_fwif.h                   |   1 +
  drivers/gpu/drm/xe/xe_guc_hwconfig.c               |   2 +-
  drivers/gpu/drm/xe/xe_guc_hxg_helpers.h            | 108 +++
  drivers/gpu/drm/xe/xe_guc_log.c                    |   2 +-
  drivers/gpu/drm/xe/xe_guc_pc.c                     |  19 +-
  drivers/gpu/drm/xe/xe_guc_pc.h                     |   1 -
  drivers/gpu/drm/xe/xe_guc_relay.c                  | 941 +++++++++++++++++++++
  drivers/gpu/drm/xe/xe_guc_relay.h                  |  37 +
  drivers/gpu/drm/xe/xe_guc_relay_types.h            |  36 +
  drivers/gpu/drm/xe/xe_guc_submit.c                 |  87 +-
  drivers/gpu/drm/xe/xe_guc_submit.h                 |   4 +-
  drivers/gpu/drm/xe/xe_guc_submit_types.h           |  18 +-
  drivers/gpu/drm/xe/xe_guc_types.h                  |  47 +-
  drivers/gpu/drm/xe/xe_heci_gsc.c                   |   2 +-
  drivers/gpu/drm/xe/xe_huc.c                        |  19 +
  drivers/gpu/drm/xe/xe_huc.h                        |   1 +
  drivers/gpu/drm/xe/xe_hw_engine.c                  | 144 ++--
  drivers/gpu/drm/xe/xe_hw_engine_class_sysfs.c      |  38 +-
  drivers/gpu/drm/xe/xe_hw_engine_types.h            |  82 +-
  drivers/gpu/drm/xe/xe_hwmon.c                      |  32 +-
  drivers/gpu/drm/xe/xe_irq.c                        | 136 ++-
  drivers/gpu/drm/xe/xe_lrc.c                        |  38 +
  drivers/gpu/drm/xe/xe_lrc_types.h                  |   6 +-
  drivers/gpu/drm/xe/xe_memirq.c                     | 430 ++++++++++
  drivers/gpu/drm/xe/xe_memirq.h                     |  26 +
  drivers/gpu/drm/xe/xe_memirq_types.h               |  37 +
  drivers/gpu/drm/xe/xe_migrate.c                    |  53 +-
  drivers/gpu/drm/xe/xe_mmio.c                       |   9 +-
  drivers/gpu/drm/xe/xe_mocs.c                       |  27 +-
  drivers/gpu/drm/xe/xe_pat.c                        |   5 +
  drivers/gpu/drm/xe/xe_pci.c                        |  10 +-
  drivers/gpu/drm/xe/xe_pcode_api.h                  |   7 +
  drivers/gpu/drm/xe/xe_pm.c                         |  38 +-
  drivers/gpu/drm/xe/xe_pm.h                         |   1 +
  drivers/gpu/drm/xe/xe_pt.c                         |  55 +-
  drivers/gpu/drm/xe/xe_pt_walk.c                    |   2 +-
  drivers/gpu/drm/xe/xe_pt_walk.h                    |  19 +-
  drivers/gpu/drm/xe/xe_query.c                      |  50 +-
  drivers/gpu/drm/xe/xe_range_fence.c                |   7 +-
  drivers/gpu/drm/xe/xe_reg_whitelist.c              |   8 +
  drivers/gpu/drm/xe/xe_ring_ops.c                   |  60 +-
  drivers/gpu/drm/xe/xe_sched_job.c                  |  39 +-
  drivers/gpu/drm/xe/xe_sched_job.h                  |   5 +
  drivers/gpu/drm/xe/xe_sched_job_types.h            |  11 +-
  drivers/gpu/drm/xe/xe_sriov.c                      |  32 +
  drivers/gpu/drm/xe/xe_sriov.h                      |   1 +
  drivers/gpu/drm/xe/xe_sriov_types.h                |  12 +
  drivers/gpu/drm/xe/xe_sync.c                       |   2 -
  drivers/gpu/drm/xe/xe_tile_sysfs.c                 |   3 +
  drivers/gpu/drm/xe/xe_trace.h                      |  55 +-
  drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c             |   8 +-
  drivers/gpu/drm/xe/xe_tuning.c                     |   9 +-
  drivers/gpu/drm/xe/xe_uc.c                         |  33 +-
  drivers/gpu/drm/xe/xe_uc.h                         |   1 +
  drivers/gpu/drm/xe/xe_uc_fw.c                      |  60 +-
  drivers/gpu/drm/xe/xe_uc_fw_types.h                |   9 +-
  drivers/gpu/drm/xe/xe_vm.c                         | 287 ++++++-
  drivers/gpu/drm/xe/xe_vm.h                         |   7 +-
  drivers/gpu/drm/xe/xe_vm_types.h                   |  18 +-
  drivers/gpu/drm/xe/xe_vram_freq.c                  | 128 +++
  drivers/gpu/drm/xe/xe_vram_freq.h                  |  13 +
  drivers/gpu/drm/xe/xe_wa.c                         | 191 +----
  drivers/gpu/drm/xe/xe_wa_oob.rules                 |  12 +-
  drivers/gpu/drm/xe/xe_wait_user_fence.c            |   2 +-
  drivers/gpu/drm/xe/xe_wopcm_types.h                |   4 +-
  include/uapi/drm/xe_drm.h                          |  34 +-
  141 files changed, 6518 insertions(+), 1187 deletions(-)
  create mode 100644 drivers/gpu/drm/xe/abi/gsc_proxy_commands_abi.h
  create mode 100644 drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h
  create mode 100644 drivers/gpu/drm/xe/abi/guc_relay_actions_abi.h
  create mode 100644 drivers/gpu/drm/xe/abi/guc_relay_communication_abi.h
  rename drivers/gpu/drm/xe/{ => display}/xe_display.c (99%)
  rename drivers/gpu/drm/xe/{ => display}/xe_display.h (100%)
  create mode 100644 drivers/gpu/drm/xe/regs/xe_pcode_regs.h
  create mode 100644 drivers/gpu/drm/xe/tests/xe_guc_db_mgr_test.c
  create mode 100644 drivers/gpu/drm/xe/tests/xe_guc_relay_test.c
  create mode 100644 drivers/gpu/drm/xe/tests/xe_kunit_helpers.c
  create mode 100644 drivers/gpu/drm/xe/tests/xe_kunit_helpers.h
  create mode 100644 drivers/gpu/drm/xe/tests/xe_test_mod.c
  create mode 100644 drivers/gpu/drm/xe/xe_gsc_proxy.c
  create mode 100644 drivers/gpu/drm/xe/xe_gsc_proxy.h
  create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_printk.h
  create mode 100644 drivers/gpu/drm/xe/xe_guc_db_mgr.c
  create mode 100644 drivers/gpu/drm/xe/xe_guc_db_mgr.h
  create mode 100644 drivers/gpu/drm/xe/xe_guc_hxg_helpers.h
  create mode 100644 drivers/gpu/drm/xe/xe_guc_relay.c
  create mode 100644 drivers/gpu/drm/xe/xe_guc_relay.h
  create mode 100644 drivers/gpu/drm/xe/xe_guc_relay_types.h
  create mode 100644 drivers/gpu/drm/xe/xe_memirq.c
  create mode 100644 drivers/gpu/drm/xe/xe_memirq.h
  create mode 100644 drivers/gpu/drm/xe/xe_memirq_types.h
  create mode 100644 drivers/gpu/drm/xe/xe_vram_freq.c
  create mode 100644 drivers/gpu/drm/xe/xe_vram_freq.h

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2023-12-18 14:27 ` Oded Gabbay
  2023-12-19  7:17   ` Ohad Sharabi
@ 2023-12-19  9:15   ` Dani Liberman
  1 sibling, 0 replies; 12+ messages in thread
From: Dani Liberman @ 2023-12-19  9:15 UTC (permalink / raw)
  To: Oded Gabbay, Rodrigo Vivi
  Cc: jani.nikula, daniel.vetter, De Marchi, Lucas, dri-devel, airlied,
	intel-xe

[-- Attachment #1: Type: text/plain, Size: 102641 bytes --]

On 18/12/2023 16:27, Oded Gabbay wrote:

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


Hi Dave and Sima,

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

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

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

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

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

Thanks,
Rodrigo.


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

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

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

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

Thanks,
Oded

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

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

Thanks,
Dani







The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:

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

are available in the Git repository at:

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

for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:

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

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

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

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

It reuses/shares i915 code for display support.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



[-- Attachment #2: Type: text/html, Size: 103567 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2023-12-18 14:27 ` Oded Gabbay
@ 2023-12-19  7:17   ` Ohad Sharabi
  2023-12-19  9:15   ` Dani Liberman
  1 sibling, 0 replies; 12+ messages in thread
From: Ohad Sharabi @ 2023-12-19  7:17 UTC (permalink / raw)
  To: Oded Gabbay, Rodrigo Vivi
  Cc: jani.nikula, daniel.vetter, De Marchi, Lucas, dri-devel, airlied,
	intel-xe

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

Rodrigo,

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

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

Thanks,

Ohad

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



^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2023-12-15 22:28 Rodrigo Vivi
  2023-12-17 12:35 ` Oded Gabbay
  2023-12-18 12:09 ` Oded Gabbay
@ 2023-12-18 14:27 ` Oded Gabbay
  2023-12-19  7:17   ` Ohad Sharabi
  2023-12-19  9:15   ` Dani Liberman
  2 siblings, 2 replies; 12+ messages in thread
From: Oded Gabbay @ 2023-12-18 14:27 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: thomas.hellstrom, tvrtko.ursulin, jani.nikula, daniel.vetter,
	lucas.demarchi, dri-devel, intel-xe

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

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

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

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

Thanks,
Oded

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2023-12-15 22:28 Rodrigo Vivi
  2023-12-17 12:35 ` Oded Gabbay
@ 2023-12-18 12:09 ` Oded Gabbay
  2023-12-18 14:27 ` Oded Gabbay
  2 siblings, 0 replies; 12+ messages in thread
From: Oded Gabbay @ 2023-12-18 12:09 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: thomas.hellstrom, tvrtko.ursulin, jani.nikula, daniel.vetter,
	lucas.demarchi, dri-devel, intel-xe

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

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

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

Thanks,
Oded

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [PULL] drm-xe-next
  2023-12-15 22:28 Rodrigo Vivi
@ 2023-12-17 12:35 ` Oded Gabbay
  2023-12-18 12:09 ` Oded Gabbay
  2023-12-18 14:27 ` Oded Gabbay
  2 siblings, 0 replies; 12+ messages in thread
From: Oded Gabbay @ 2023-12-17 12:35 UTC (permalink / raw)
  To: Rodrigo Vivi
  Cc: thomas.hellstrom, tvrtko.ursulin, jani.nikula, daniel.vetter,
	lucas.demarchi, dri-devel, intel-xe

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

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

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

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

Thanks,
Oded

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [PULL] drm-xe-next
@ 2023-12-15 22:28 Rodrigo Vivi
  2023-12-17 12:35 ` Oded Gabbay
                   ` (2 more replies)
  0 siblings, 3 replies; 12+ messages in thread
From: Rodrigo Vivi @ 2023-12-15 22:28 UTC (permalink / raw)
  To: dri-devel, intel-xe, airlied, daniel.vetter, lucas.demarchi,
	ogabbay, thomas.hellstrom, jani.nikula, joonas.lahtinen,
	tvrtko.ursulin

Hi Dave and Sima,

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

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

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

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

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

Thanks,
Rodrigo.

The following changes since commit a60501d7c2d3e70b3545b9b96576628e369d8e85:

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

are available in the Git repository at:

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

for you to fetch changes up to ac62a6ea9c2030910344723bab3e3f0d04c8a6f4:

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

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

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

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

It reuses/shares i915 code for display support.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-06-06 21:44 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-23 12:54 [PULL] drm-xe-next Thomas Hellstrom
  -- strict thread matches above, loose matches on Subject: below --
2024-06-06 21:43 Rodrigo Vivi
2024-02-26  3:21 Lucas De Marchi
2024-02-26  9:58 ` Daniel Vetter
2024-02-26 10:46 ` Daniel Stone
2024-02-26 14:16   ` Lucas De Marchi
2023-12-15 22:28 Rodrigo Vivi
2023-12-17 12:35 ` Oded Gabbay
2023-12-18 12:09 ` Oded Gabbay
2023-12-18 14:27 ` Oded Gabbay
2023-12-19  7:17   ` Ohad Sharabi
2023-12-19  9:15   ` Dani Liberman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).