Hi Dave & Simona,

This week's drm-xe-next PR.

Series highlights:

- drm/xe: Misc initialization improvements
  7/7 patches pushed
  Refactors early device initialization to improve separation of
  concerns. Moves devid/revid and force_execlist initialization earlier,
  separates early xe_device init from the rest, and cleans up pm
  init_early() so it no longer accesses the device object directly.
  Also drops an unused parameter from xe_device_create() and uses the
  raw device ID to find the sub-platform descriptor.
  (Michal Wajdeczko)

- drm/xe/rtp: Miscellaneous improvements to rule matching
  7/7 patches pushed
  Improves the RTP (Register Table Processing) rule matching logic with
  a more robust structured parser that resembles a formal grammar (eBNF
  documented in kernel-doc), making it easier to add future extensions.
  First reorganizes kunit tests to have cleaner separation of
  responsibilities, then fixes short-circuit behaviour in the or-yes
  case, improves handling of missing context, extracts rule_match_item(),
  and introduces the full structured parser.
  (Gustavo Sousa)

Single patches:

- drm/xe: Move xe_uc_fw_abi.h to abi/ (Michal Wajdeczko)
- drm/xe: Restore IDLEDLY regiter on engine reset (Balasubramani Vivekanandan)
- drm/xe: Assign queue name in time for drm_sched_init (Tvrtko Ursulin)


Thanks,
Thomas

drm-xe-next-2026-05-28:
Driver Changes:
- drm/xe: Move xe_uc_fw_abi.h to abi/ (Michal Wajdeczko)
- drm/xe: Restore IDLEDLY regiter on engine reset (Balasubramani Vivekanandan)
- drm/xe/pm: Do early initialization in init_early() (Michal Wajdeczko)
- drm/xe/pm: Don't access device in init_early() (Michal Wajdeczko)
- drm/xe: Separate early xe_device initialization (Michal Wajdeczko)
- drm/xe: Move xe->info.devid|revid initialization (Michal Wajdeczko)
- drm/xe: Move xe->info.force_execlist initialization (Michal Wajdeczko)
- drm/xe: Drop unused param from xe_device_create() (Michal Wajdeczko)
- drm/xe: Use raw device ID to find sub-platform descriptor (Michal Wajdeczko)
- drm/xe: Assign queue name in time for drm_sched_init (Tvrtko Ursulin)
- drm/xe/rtp: Implement a structured parser for rule matching (Gustavo Sousa)
- drm/xe/rtp: Fully parse the ruleset (Gustavo Sousa)
- drm/xe/rtp: Extract rule_match_item() (Gustavo Sousa)
- drm/xe/rtp: Do not break parsing when missing context (Gustavo Sousa)
- drm/xe/rtp: Don't short-circuit to false in or-yes case (Gustavo Sousa)
- drm/xe/rtp: Drop rule matching cases from rtp_to_sr_cases and rtp_cases 
(Gustavo Sousa)
- drm/xe/rtp: Write kunit test cases specific for rule matching (Gustavo Sousa)

The following changes since commit 339fa0be9e4a5d69fa47e91f4a36574224fb478f:

  drm/xe/oa: Fix exec_queue leak on width check in stream open (2026-05-19 
08:48:46 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 637c8e3a525b73ac3cf765831119b02a927d11cd:

  drm/xe: Move xe_uc_fw_abi.h to abi/ (2026-05-27 21:28:01 +0200)

----------------------------------------------------------------
Driver Changes:
- drm/xe: Move xe_uc_fw_abi.h to abi/ (Michal Wajdeczko)
- drm/xe: Restore IDLEDLY regiter on engine reset (Balasubramani Vivekanandan)
- drm/xe/pm: Do early initialization in init_early() (Michal Wajdeczko)
- drm/xe/pm: Don't access device in init_early() (Michal Wajdeczko)
- drm/xe: Separate early xe_device initialization (Michal Wajdeczko)
- drm/xe: Move xe->info.devid|revid initialization (Michal Wajdeczko)
- drm/xe: Move xe->info.force_execlist initialization (Michal Wajdeczko)
- drm/xe: Drop unused param from xe_device_create() (Michal Wajdeczko)
- drm/xe: Use raw device ID to find sub-platform descriptor (Michal Wajdeczko)
- drm/xe: Assign queue name in time for drm_sched_init (Tvrtko Ursulin)
- drm/xe/rtp: Implement a structured parser for rule matching (Gustavo Sousa)
- drm/xe/rtp: Fully parse the ruleset (Gustavo Sousa)
- drm/xe/rtp: Extract rule_match_item() (Gustavo Sousa)
- drm/xe/rtp: Do not break parsing when missing context (Gustavo Sousa)
- drm/xe/rtp: Don't short-circuit to false in or-yes case (Gustavo Sousa)
- drm/xe/rtp: Drop rule matching cases from rtp_to_sr_cases and rtp_cases 
(Gustavo Sousa)
- drm/xe/rtp: Write kunit test cases specific for rule matching (Gustavo Sousa)

----------------------------------------------------------------
Balasubramani Vivekanandan (1):
      drm/xe: Restore IDLEDLY regiter on engine reset

Gustavo Sousa (7):
      drm/xe/rtp: Write kunit test cases specific for rule matching
      drm/xe/rtp: Drop rule matching cases from rtp_to_sr_cases and rtp_cases
      drm/xe/rtp: Don't short-circuit to false in or-yes case
      drm/xe/rtp: Do not break parsing when missing context
      drm/xe/rtp: Extract rule_match_item()
      drm/xe/rtp: Fully parse the ruleset
      drm/xe/rtp: Implement a structured parser for rule matching

Michal Wajdeczko (8):
      drm/xe: Use raw device ID to find sub-platform descriptor
      drm/xe: Drop unused param from xe_device_create()
      drm/xe: Move xe->info.force_execlist initialization
      drm/xe: Move xe->info.devid|revid initialization
      drm/xe: Separate early xe_device initialization
      drm/xe/pm: Don't access device in init_early()
      drm/xe/pm: Do early initialization in init_early()
      drm/xe: Move xe_uc_fw_abi.h to abi/

Tvrtko Ursulin (1):
      drm/xe: Assign queue name in time for drm_sched_init

 Documentation/gpu/xe/xe_firmware.rst               |   4 +-
 .../gpu/drm/xe/{xe_uc_fw_abi.h => abi/uc_fw_abi.h} |   4 +-
 drivers/gpu/drm/xe/tests/xe_pci.c                  |   6 +
 drivers/gpu/drm/xe/tests/xe_rtp.c                  |  38 +++
 drivers/gpu/drm/xe/tests/xe_rtp_test.c             | 331 +++++++++++++--------
 drivers/gpu/drm/xe/tests/xe_rtp_test.h             |  23 ++
 drivers/gpu/drm/xe/xe_device.c                     |  57 +++-
 drivers/gpu/drm/xe/xe_device.h                     |   4 +-
 drivers/gpu/drm/xe/xe_guc_ads.c                    |   5 +
 drivers/gpu/drm/xe/xe_guc_submit.c                 |  72 +++--
 drivers/gpu/drm/xe/xe_late_bind_fw_types.h         |   3 +-
 drivers/gpu/drm/xe/xe_pci.c                        |  27 +-
 drivers/gpu/drm/xe/xe_pm.c                         |  42 ++-
 drivers/gpu/drm/xe/xe_pm.h                         |   1 +
 drivers/gpu/drm/xe/xe_rtp.c                        | 325 +++++++++++---------
 drivers/gpu/drm/xe/xe_rtp.h                        |  29 +-
 drivers/gpu/drm/xe/xe_uc_fw.h                      |   2 +-
 17 files changed, 644 insertions(+), 329 deletions(-)
 rename drivers/gpu/drm/xe/{xe_uc_fw_abi.h => abi/uc_fw_abi.h} (99%)
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp.c
 create mode 100644 drivers/gpu/drm/xe/tests/xe_rtp_test.h

Reply via email to