Hi, Dave & Simona

The drm-xe-next PR for this week:

Series highlights:

- Support run ticks for multi-queue use case
  11/11 patches pushed
  In multi-queue scenarios the CTX_TIMESTAMP represents run ticks of all
  queues combined. To determine individual queue run ticks, QUEUE TIMESTAMP
  must be used instead. The series adds support to read QUEUE TIMESTAMP for
  multi-queue use cases, including LRC snapshot support, trace events, and
  the infrastructure to capture queue run times for active queues.
  (Umesh Nerlige Ramappa, Matthew Brost)

- Refactor functions implementing the blt batch
  3/3 patches
  Functions implementing batch buffers for blitter instructions (MEM_SET,
  MEM_COPY, XY_FAST_COPY, XY_FAST_COLOR) used hardcoded fixed instruction
  lengths. Replaces these with a helper function that returns the correct
  length based on the platform, as preparatory work for upcoming platforms
  where these instruction lengths will increase.
  (Balasubramani Vivekanandan)

- drm/xe/memirq: Update interrupt handler logic
  2/2 patches
  A new programming note for memory-based interrupts was released. Updates
  the interrupt handler to follow the new note and stops enabling all
  GT_MI_USER_INTERRUPTs to avoid unnecessary empty processing cycles.
  (Michal Wajdeczko)

- drm/xe/dma-buf: UAF and race condition fixes
  2/2 patches
  Fixes two use-after-free and race conditions in the dma-buf import path.
  The invalidate_mappings hook could be called back into with a partially
  initialized or already freed buffer object. Fixes this by moving the
  attach step until after the buffer object is fully set up.
  (Matthew Auld)

- drm/xe/multi_queue: Code refactor and cleanup
  2/2 patches
  Removes a redundant assignment in guc_exec_queue_run_job and refactors
  the CGP_SYNC send path to reduce code size and improve clarity.
  (Niranjana Vishwanathapura)

- More MERTOA WA's
  4/4 patches
  Two hardware workarounds for the MERTOA OA unit. Wa_14026746987
  restricts the supported OA format to XE_OAM_FORMAT_MPEC8u32_B8_C8.
  Wa_14026779378 blocks the SYS_MEM_LAT_MEASURE_EN bit to prevent memory
  corruption. Also includes a refactor of oa_unit_supports_oa_format and
  a new val argument to xe_oa_is_valid_config_reg.
  (Ashutosh Dixit)

Individual commits:

- drm/xe: Drop unused ggtt_balloon field (Michal Wajdeczko)
- drm/xe/devcoredump: Drop a FIXME in devcoredump (Shekhar Chauhan)
- drm/xe/eustall: Return ENODEV from read if EU stall registers get reset 
(Harish Chegondi)
- drm/xe: Make decision to use Xe2-style blitter instructions a feature flag 
(Matt Roper)
- drm/xe: Convert stolen memory over to ttm_range_manager (Sanjay Yadav)
- drm/xe/madvise: Track purgeability with BO-local counters (Arvind Yadav)
- drm/xe/cri: Add new PCI IDs (Balasubramani Vivekanandan)
- drm/xe/xe_survivability: Simplify runtime survivability error handling 
(Mallesh Koujalagi)
- drm/xe/guc: Exclude indirect ring state page from ADS engine state size 
(Satyanarayana K V P)
- drm/xe/hw_error: Cleanup array map (Raag Jadav)
- drm/xe/pf: Fix MMIO access using PF view instead of VF view during migration 
(Shuicheng Lin)
- drm/xe/pf: Fix EAGAIN sign in pf_migration_consume() (Shuicheng Lin)

Thanks,
Thomas

drm-xe-next-2026-05-14:
Driver Changes:

- drm/xe/cri: Add new PCI IDs (Balasubramani Vivekanandan)
- drm/xe/memirq: Enable GT_MI_USER_INTERRUPT only (Michal Wajdeczko)
- drm/xe/memirq: Update interrupt handler logic (Michal Wajdeczko)
- drm/xe: Drop unused ggtt_balloon field (Michal Wajdeczko)
- drm/xe: Refactor emit_xy_fast_copy and emit_mem_copy functions (Balasubramani 
Vivekanandan)
- drm/xe: Refactor emit_clear_link_copy (Balasubramani Vivekanandan)
- drm/xe: Refactor emit_clear_main_copy (Balasubramani Vivekanandan)
- drm/xe/devcoredump: Drop a FIXME in devcoredump (Shekhar Chauhan)
- drm/xe/oa: MERTOA Wa_14026779378 (Ashutosh Dixit)
- drm/xe/oa: Add val arg to xe_oa_is_valid_config_reg (Ashutosh Dixit)
- drm/xe/oa: MERTOA Wa_14026746987 (Ashutosh Dixit)
- drm/xe/oa: Refactor oa_unit_supports_oa_format (Ashutosh Dixit)
- drm/xe/dma-buf: fix UAF with retry loop (Matthew Auld)
- drm/xe/dma-buf: handle empty bo and UAF races (Matthew Auld)
- drm/xe/multi_queue: Whitelist QUEUE_TIMESTAMP register (Umesh Nerlige Ramappa)
- drm/xe/multi_queue: Use QUEUE_TIMESTAMP as job timestamp for multi-queue 
(Umesh Nerlige Ramappa)
- drm/xe/multi_queue: Add trace event for the multi queue timestamp (Umesh 
Nerlige Ramappa)
- drm/xe/multi_queue: Capture queue run times for active queues (Umesh Nerlige 
Ramappa)
- drm/xe/lrc: Refactor out engine id to hwe conversion (Umesh Nerlige Ramappa)
- drm/xe/multi_queue: Add helpers to access CS QUEUE TIMESTAMP from lrc (Umesh 
Nerlige Ramappa)
- drm/xe/multi_queue: Store primary LRC and position info in LRC (Umesh Nerlige 
Ramappa)
- drm/xe/multi_queue: Refactor check for multi queue support for engine class 
(Umesh Nerlige Ramappa)
- drm/xe/lrc: Refactor xe_lrc_timestamp to simplify logic (Umesh Nerlige 
Ramappa)
- drm/xe: Add timestamp_ms to LRC snapshot (Matthew Brost)
- drm/xe/lrc: Use 64 bit ctx timestamp in the LRC snapshot (Umesh Nerlige 
Ramappa)
- drm/xe/eustall: Return ENODEV from read if EU stall registers get reset 
(Harish Chegondi)
- drm/xe/multi_queue: Refactor CGP_SYNC send path (Niranjana Vishwanathapura)
- drm/xe/multi_queue: Remove redundant assignment in guc_exec_queue_run_job 
(Niranjana Vishwanathapura)
- drm/xe: Make decision to use Xe2-style blitter instructions a feature flag 
(Matt Roper)
- drm/xe: Convert stolen memory over to ttm_range_manager (Sanjay Yadav)
- drm/xe/madvise: Track purgeability with BO-local counters (Arvind Yadav)
- drm/xe/xe_survivability: Simplify runtime survivability error handling 
(Mallesh Koujalagi)
- drm/xe/guc: Exclude indirect ring state page from ADS engine state size 
(Satyanarayana K V P)
- drm/xe/hw_error: Cleanup array map (Raag Jadav)
- drm/xe/pf: Fix MMIO access using PF view instead of VF view during migration 
(Shuicheng Lin)
- drm/xe/pf: Fix EAGAIN sign in pf_migration_consume() (Shuicheng Lin)
The following changes since commit f96538285cfdbb3acf5e3356e0bb88c38815790b:

  Merge tag 'drm-misc-next-2026-05-07' of 
https://gitlab.freedesktop.org/drm/misc/kernel into drm-next (2026-05-08 
14:16:04 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2026-05-14

for you to fetch changes up to 2ddedd4b7b7c329dd65358025cba8652675bec3d:

  drm/xe/memirq: Enable GT_MI_USER_INTERRUPT only (2026-05-13 20:11:21 +0200)

----------------------------------------------------------------
Driver Changes:

- drm/xe/cri: Add new PCI IDs (Balasubramani Vivekanandan)
- drm/xe/memirq: Enable GT_MI_USER_INTERRUPT only (Michal Wajdeczko)
- drm/xe/memirq: Update interrupt handler logic (Michal Wajdeczko)
- drm/xe: Drop unused ggtt_balloon field (Michal Wajdeczko)
- drm/xe: Refactor emit_xy_fast_copy and emit_mem_copy functions (Balasubramani 
Vivekanandan)
- drm/xe: Refactor emit_clear_link_copy (Balasubramani Vivekanandan)
- drm/xe: Refactor emit_clear_main_copy (Balasubramani Vivekanandan)
- drm/xe/devcoredump: Drop a FIXME in devcoredump (Shekhar Chauhan)
- drm/xe/oa: MERTOA Wa_14026779378 (Ashutosh Dixit)
- drm/xe/oa: Add val arg to xe_oa_is_valid_config_reg (Ashutosh Dixit)
- drm/xe/oa: MERTOA Wa_14026746987 (Ashutosh Dixit)
- drm/xe/oa: Refactor oa_unit_supports_oa_format (Ashutosh Dixit)
- drm/xe/dma-buf: fix UAF with retry loop (Matthew Auld)
- drm/xe/dma-buf: handle empty bo and UAF races (Matthew Auld)
- drm/xe/multi_queue: Whitelist QUEUE_TIMESTAMP register (Umesh Nerlige Ramappa)
- drm/xe/multi_queue: Use QUEUE_TIMESTAMP as job timestamp for multi-queue 
(Umesh Nerlige Ramappa)
- drm/xe/multi_queue: Add trace event for the multi queue timestamp (Umesh 
Nerlige Ramappa)
- drm/xe/multi_queue: Capture queue run times for active queues (Umesh Nerlige 
Ramappa)
- drm/xe/lrc: Refactor out engine id to hwe conversion (Umesh Nerlige Ramappa)
- drm/xe/multi_queue: Add helpers to access CS QUEUE TIMESTAMP from lrc (Umesh 
Nerlige Ramappa)
- drm/xe/multi_queue: Store primary LRC and position info in LRC (Umesh Nerlige 
Ramappa)
- drm/xe/multi_queue: Refactor check for multi queue support for engine class 
(Umesh Nerlige Ramappa)
- drm/xe/lrc: Refactor xe_lrc_timestamp to simplify logic (Umesh Nerlige 
Ramappa)
- drm/xe: Add timestamp_ms to LRC snapshot (Matthew Brost)
- drm/xe/lrc: Use 64 bit ctx timestamp in the LRC snapshot (Umesh Nerlige 
Ramappa)
- drm/xe/eustall: Return ENODEV from read if EU stall registers get reset 
(Harish Chegondi)
- drm/xe/multi_queue: Refactor CGP_SYNC send path (Niranjana Vishwanathapura)
- drm/xe/multi_queue: Remove redundant assignment in guc_exec_queue_run_job 
(Niranjana Vishwanathapura)
- drm/xe: Make decision to use Xe2-style blitter instructions a feature flag 
(Matt Roper)
- drm/xe: Convert stolen memory over to ttm_range_manager (Sanjay Yadav)
- drm/xe/madvise: Track purgeability with BO-local counters (Arvind Yadav)
- drm/xe/xe_survivability: Simplify runtime survivability error handling 
(Mallesh Koujalagi)
- drm/xe/guc: Exclude indirect ring state page from ADS engine state size 
(Satyanarayana K V P)
- drm/xe/hw_error: Cleanup array map (Raag Jadav)
- drm/xe/pf: Fix MMIO access using PF view instead of VF view during migration 
(Shuicheng Lin)
- drm/xe/pf: Fix EAGAIN sign in pf_migration_consume() (Shuicheng Lin)

----------------------------------------------------------------
Arvind Yadav (1):
      drm/xe/madvise: Track purgeability with BO-local counters

Ashutosh Dixit (4):
      drm/xe/oa: Refactor oa_unit_supports_oa_format
      drm/xe/oa: MERTOA Wa_14026746987
      drm/xe/oa: Add val arg to xe_oa_is_valid_config_reg
      drm/xe/oa: MERTOA Wa_14026779378

Balasubramani Vivekanandan (4):
      drm/xe/cri: Add new PCI IDs
      drm/xe: Refactor emit_clear_main_copy
      drm/xe: Refactor emit_clear_link_copy
      drm/xe: Refactor emit_xy_fast_copy and emit_mem_copy functions

Harish Chegondi (1):
      drm/xe/eustall: Return ENODEV from read if EU stall registers get reset

Mallesh Koujalagi (1):
      drm/xe/xe_survivability: Simplify runtime survivability error handling

Matt Roper (1):
      drm/xe: Make decision to use Xe2-style blitter instructions a feature flag

Matthew Auld (2):
      drm/xe/dma-buf: handle empty bo and UAF races
      drm/xe/dma-buf: fix UAF with retry loop

Matthew Brost (1):
      drm/xe: Add timestamp_ms to LRC snapshot

Michal Wajdeczko (3):
      drm/xe: Drop unused ggtt_balloon field
      drm/xe/memirq: Update interrupt handler logic
      drm/xe/memirq: Enable GT_MI_USER_INTERRUPT only

Niranjana Vishwanathapura (2):
      drm/xe/multi_queue: Remove redundant assignment in guc_exec_queue_run_job
      drm/xe/multi_queue: Refactor CGP_SYNC send path

Raag Jadav (1):
      drm/xe/hw_error: Cleanup array map

Sanjay Yadav (1):
      drm/xe: Convert stolen memory over to ttm_range_manager

Satyanarayana K V P (1):
      drm/xe/guc: Exclude indirect ring state page from ADS engine state size

Shekhar Chauhan (1):
      drm/xe/devcoredump: Drop a FIXME in devcoredump

Shuicheng Lin (2):
      drm/xe/pf: Fix EAGAIN sign in pf_migration_consume()
      drm/xe/pf: Fix MMIO access using PF view instead of VF view during 
migration

Thomas Hellström (1):
      Merge drm/drm-next into drm-xe-next

Umesh Nerlige Ramappa (10):
      drm/xe/lrc: Use 64 bit ctx timestamp in the LRC snapshot
      drm/xe/lrc: Refactor xe_lrc_timestamp to simplify logic
      drm/xe/multi_queue: Refactor check for multi queue support for engine 
class
      drm/xe/multi_queue: Store primary LRC and position info in LRC
      drm/xe/multi_queue: Add helpers to access CS QUEUE TIMESTAMP from lrc
      drm/xe/lrc: Refactor out engine id to hwe conversion
      drm/xe/multi_queue: Capture queue run times for active queues
      drm/xe/multi_queue: Add trace event for the multi queue timestamp
      drm/xe/multi_queue: Use QUEUE_TIMESTAMP as job timestamp for multi-queue
      drm/xe/multi_queue: Whitelist QUEUE_TIMESTAMP register

 drivers/gpu/drm/xe/display/xe_display_bo.c        |   2 +-
 drivers/gpu/drm/xe/instructions/xe_gpu_commands.h |   4 +-
 drivers/gpu/drm/xe/regs/xe_engine_regs.h          |   4 +
 drivers/gpu/drm/xe/regs/xe_lrc_layout.h           |   3 +
 drivers/gpu/drm/xe/regs/xe_oa_regs.h              |   3 +
 drivers/gpu/drm/xe/tests/xe_migrate.c             |   2 +-
 drivers/gpu/drm/xe/xe_bo.c                        |  22 +-
 drivers/gpu/drm/xe/xe_bo.h                        |  88 +++++++-
 drivers/gpu/drm/xe/xe_bo_types.h                  |  28 ++-
 drivers/gpu/drm/xe/xe_device_types.h              |   3 +
 drivers/gpu/drm/xe/xe_device_wa_oob.rules         |   2 +
 drivers/gpu/drm/xe/xe_dma_buf.c                   |  80 ++++---
 drivers/gpu/drm/xe/xe_eu_stall.c                  |  40 +++-
 drivers/gpu/drm/xe/xe_exec_queue.c                |  14 +-
 drivers/gpu/drm/xe/xe_gt.h                        |  15 ++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_migration.c     |   8 +-
 drivers/gpu/drm/xe/xe_gt_types.h                  |   7 +
 drivers/gpu/drm/xe/xe_guc_ads.c                   |   5 +-
 drivers/gpu/drm/xe/xe_guc_capture.c               |   6 -
 drivers/gpu/drm/xe/xe_guc_submit.c                |  69 ++----
 drivers/gpu/drm/xe/xe_hw_error.c                  |  32 ++-
 drivers/gpu/drm/xe/xe_lrc.c                       | 253 +++++++++++++++++-----
 drivers/gpu/drm/xe/xe_lrc.h                       |  12 +-
 drivers/gpu/drm/xe/xe_lrc_types.h                 |  11 +
 drivers/gpu/drm/xe/xe_memirq.c                    |  32 ++-
 drivers/gpu/drm/xe/xe_migrate.c                   |  75 ++++---
 drivers/gpu/drm/xe/xe_oa.c                        |  40 ++--
 drivers/gpu/drm/xe/xe_pci.c                       |   9 +
 drivers/gpu/drm/xe/xe_reg_whitelist.c             |  14 ++
 drivers/gpu/drm/xe/xe_res_cursor.h                |  14 +-
 drivers/gpu/drm/xe/xe_ring_ops.c                  |   8 +-
 drivers/gpu/drm/xe/xe_sriov_pf_migration.c        |   7 +-
 drivers/gpu/drm/xe/xe_survivability_mode.c        |  14 +-
 drivers/gpu/drm/xe/xe_survivability_mode.h        |   2 +-
 drivers/gpu/drm/xe/xe_tile_types.h                |   2 -
 drivers/gpu/drm/xe/xe_trace_lrc.h                 |  27 +++
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c            |  64 ++----
 drivers/gpu/drm/xe/xe_ttm_stolen_mgr.h            |  12 +
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c              |  11 +-
 drivers/gpu/drm/xe/xe_vm.c                        |  51 ++++-
 drivers/gpu/drm/xe/xe_vm_madvise.c                | 162 +-------------
 drivers/gpu/drm/xe/xe_vm_madvise.h                |   2 -
 include/drm/intel/pciids.h                        |   6 +-
 43 files changed, 779 insertions(+), 486 deletions(-)

Reply via email to