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(-)
next 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