Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
To: Dave Airlie <airlied@gmail.com>, Simona Vetter <simona.vetter@ffwll.ch>
Cc: "Jani Nikula" <jani.nikula@linux.intel.com>,
	"Joonas Lahtinen" <joonas.lahtinen@linux.intel.com>,
	"Tvrtko Ursulin" <tursulin@ursulin.net>,
	"Rodrigo Vivi" <rodrigo.vivi@intel.com>,
	"Thomas Zimmermann" <tzimmermann@suse.de>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Maxime Ripard" <mripard@kernel.org>,
	"Matthew Brost" <matthew.brost@intel.com>,
	"Thomas Hellström" <thomas.hellstrom@linux.intel.com>,
	"Oded Gabbay" <ogabbay@kernel.org>,
	dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org,
	intel-xe@lists.freedesktop.org, dim-tools@lists.freedesktop.org
Subject: [PULL] drm-xe-next
Date: Thu, 14 May 2026 15:20:41 +0200	[thread overview]
Message-ID: <agXMKRRl1oxB204x@fedora> (raw)

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	other threads:[~2026-05-14 13:20 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-14 13:20 Thomas Hellstrom [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-04-30 13:00 [PULL] drm-xe-next Thomas Hellstrom
2026-03-27  3:24 Matthew Brost
2026-03-26  4:44 Matthew Brost
2026-03-12 14:57 Matthew Brost
2026-03-02 22:40 Matthew Brost
2026-01-15 16:16 Rodrigo Vivi
2025-12-30  9:58 Thomas Hellstrom
2025-12-19 22:41 Rodrigo Vivi
2025-11-14 10:49 Thomas Hellstrom
2025-11-17 20:56 ` Dave Airlie
2025-11-18  8:34   ` Thomas Hellström
2025-11-05 16:53 Thomas Hellstrom
2025-10-28 11:16 Thomas Hellstrom
2025-10-31 17:46 ` Simona Vetter
2025-10-20  8:31 Thomas Hellstrom
2025-10-24 11:26 ` Simona Vetter
2025-09-19 14:53 Lucas De Marchi
2025-08-29 22:00 Lucas De Marchi
2025-07-15 18:21 Rodrigo Vivi
2025-07-10 22:16 Rodrigo Vivi
2025-07-11  9:12 ` Simona Vetter
2025-07-11  9:25 ` Simona Vetter
2025-06-18 20:05 Rodrigo Vivi
2025-05-08 16:01 Thomas Hellstrom
2025-04-28 16:03 Thomas Hellstrom
2025-04-28 14:27 Thomas Hellstrom
2025-04-28 15:40 ` Thomas Hellström
2025-04-17 10:22 Thomas Hellstrom
2025-03-07  8:02 Lucas De Marchi
2025-03-07 14:51 ` Lucas De Marchi
2025-03-07 19:04   ` Lucas De Marchi
2025-02-24 18:50 Lucas De Marchi
2025-01-10 14:54 Rodrigo Vivi
2025-01-07 19:01 Rodrigo Vivi
2024-12-11 23:27 Rodrigo Vivi
2024-10-31 11:50 Thomas Hellstrom
2024-10-24 17:52 Thomas Hellstrom
2024-10-24 19:22 ` Matthew Brost
2024-10-25  7:30   ` Thomas Hellström
2024-10-25  9:34     ` Jani Nikula
2024-10-25 10:45       ` Thomas Hellström
2024-10-25 22:26         ` Matthew Brost
2024-10-17  9:32 Thomas Hellstrom
2024-10-10  9:56 Thomas Hellstrom
2024-09-06  2:29 Lucas De Marchi
2024-08-28 19:18 Lucas De Marchi
2024-08-22 20:55 Lucas De Marchi
2024-08-27 10:51 ` Daniel Vetter
2024-07-30 22:39 Lucas De Marchi
2024-07-02 19:02 Rodrigo Vivi
2024-07-05  8:18 ` Daniel Vetter
2024-06-26 22:32 Rodrigo Vivi
2024-06-06 21:43 Rodrigo Vivi
2024-04-23 12:54 Thomas Hellstrom
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=agXMKRRl1oxB204x@fedora \
    --to=thomas.hellstrom@linux.intel.com \
    --cc=airlied@gmail.com \
    --cc=dim-tools@lists.freedesktop.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=jani.nikula@linux.intel.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=matthew.brost@intel.com \
    --cc=mripard@kernel.org \
    --cc=ogabbay@kernel.org \
    --cc=rodrigo.vivi@intel.com \
    --cc=simona.vetter@ffwll.ch \
    --cc=tursulin@ursulin.net \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox