[PULL] drm-xe-next

Thomas Hellstrom thomas.hellstrom at linux.intel.com
Tue Apr 23 12:54:45 UTC 2024


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 at 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 at 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 at 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


More information about the Intel-gfx mailing list