Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/2] lib/intel_device_info: get the xe .graphics_rel from GMD_ID
@ 2025-10-15  6:01 Xin Wang
  2025-10-15  6:01 ` [PATCH v7 1/2] lib/xe/xe_query: Get runtime xe device graphics version " Xin Wang
                   ` (6 more replies)
  0 siblings, 7 replies; 14+ messages in thread
From: Xin Wang @ 2025-10-15  6:01 UTC (permalink / raw)
  To: igt-dev; +Cc: Xin Wang

This series enables IGT to retrieve the accurate IP minor version
(graphics_rel) at runtime for xe platforms with GMD_ID support,
instead of relying on hardcoded values in the PCI device table.

Background:
-----------
Current IGT uses static PCI device tables with hardcoded graphics_rel
values. For Xe2 platforms, Different device instances may have
different graphics_rel (minor version) values

The kernel's GMD_ID ioctl provides accurate runtime IP version
information (ip_ver_major.ip_ver_minor) which should be used for
platform-specific workarounds and feature detection.

Solution:
---------
This series adds support to query xe device info at runtime:

Patch 1/2: Get runtime xe device graphics version from GMD_ID
- Populate graphics versions in xe_device from GMD_ID ioctl
- Cache device info by devid in global map for efficient lookup
- Provide xe_device_get_info() API for other components

Patch 2/2: Query runtime xe device graphics versions
- Use runtime xe device info for Gen20+ platforms
- Use weak symbol linkage to avoid breaking static library builds
- Remove hardcoded graphics_rel from static table for xe platforms

Benefits:
---------
- Accurate IP version for platform-specific workarounds
- Proper feature detection for hardware variants
- Unified device info API between i915 and xe drivers
- No changes needed to existing test code

V2:
- set the graphics version info in xe_device_get() don't copy 
  the whole struct of the intel_device_info 
- update the graphics_rel when the info is already in the cache
V3:
- Optimize the coding style
V4:
- add braces around the else statement body

Xin Wang (2):
  lib/xe/xe_query: Get runtime xe device graphics version from GMD_ID
  lib/intel_device_info: Query runtime xe device graphics versions

 lib/intel_device_info.c | 25 ++++++++++++++++++++++---
 lib/xe/xe_query.c       | 33 ++++++++++++++++++++++++++++++++-
 lib/xe/xe_query.h       |  4 ++++
 3 files changed, 58 insertions(+), 4 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2025-10-17  4:54 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15  6:01 [PATCH v7 0/2] lib/intel_device_info: get the xe .graphics_rel from GMD_ID Xin Wang
2025-10-15  6:01 ` [PATCH v7 1/2] lib/xe/xe_query: Get runtime xe device graphics version " Xin Wang
2025-10-16 22:13   ` Matt Roper
2025-10-17  4:21     ` Wang, X
2025-10-15  6:01 ` [PATCH v7 2/2] lib/intel_device_info: Query runtime xe device graphics versions Xin Wang
2025-10-16 22:21   ` Matt Roper
2025-10-17  4:53     ` Wang, X
2025-10-15  6:55 ` ✓ Xe.CI.BAT: success for lib/intel_device_info: get the xe .graphics_rel from GMD_ID (rev7) Patchwork
2025-10-15  7:22 ` ✓ i915.CI.BAT: " Patchwork
2025-10-15 13:19 ` ✗ i915.CI.Full: failure " Patchwork
2025-10-15 16:26 ` ✓ Xe.CI.Full: success " Patchwork
2025-10-15 23:15 ` [PATCH v7 0/2] lib/intel_device_info: get the xe .graphics_rel from GMD_ID Matt Roper
2025-10-16  5:07   ` Wang, X
2025-10-16 22:05     ` Matt Roper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox