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
