All of lore.kernel.org
 help / color / mirror / Atom feed
From: Xin Wang <x.wang@intel.com>
To: igt-dev@lists.freedesktop.org
Cc: matthew.d.roper@intel.com, zbigniew.kempczynski@intel.com,
	kamil.konieczny@linux.intel.com, ravi.kumar.vodapalli@intel.com,
	Xin Wang <x.wang@intel.com>
Subject: [PATCH v12 0/4] lib/intel_device_info: get the xe .graphics_rel from GMD_ID
Date: Sat, 17 Jan 2026 23:48:16 +0000	[thread overview]
Message-ID: <20260117234821.929209-1-x.wang@intel.com> (raw)

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.

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
V5:
- add new struct xe_device_ipver to hold the ipver info
- separate cache map to eliminate collision (Roper, Matthew D)
- changed function name to xe_ipver_cache_lookup() to avoid 
  confusion (Roper, Matthew D)
V6:
- optimize the coding style. (Summers, Stuart)
V7:
- rebased to latest mainline
V8:
- Reworked caching in intel_get_device_info(): replace the per-thread single-entry cache
  with a process-wide cache keyed by devid (igt_map + pthread mutex), with automatic
  init/fini via igt_constructor/igt_destructor.
- Dropped the xe_ipver_cache_lookup() weak-symbol plumbing and the separate xe_query-side
  ipver cache. Instead, xe_query updates the cached intel_device_info directly via
  xe_dev_update_graphics_ver() when MAIN GT exposes ip_ver_{major,minor} via GMD_ID.
V9:
- make xe_dev_update_graphics_ver() return error and guard NULL cache.
- assert in xe query path to avoid silently ignoring update failures.

Xin Wang (4):
  lib/igt_core: add igt_destructor helper macro
  lib/intel_device_info: make device info cache thread-safe
  lib/intel_device_info: allow xe_query to override graphics version
  lib/intel_device_info: remove the graphcs_rel from xe2+ devices

 lib/igt_core.h          |  12 ++++
 lib/intel_chipset.h     |   1 +
 lib/intel_device_info.c | 128 +++++++++++++++++++++++++++++++++++-----
 lib/meson.build         |   1 +
 lib/xe/xe_query.c       |  13 ++++
 5 files changed, 141 insertions(+), 14 deletions(-)

-- 
2.43.0


             reply	other threads:[~2026-01-17 23:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-17 23:48 Xin Wang [this message]
2026-01-17 23:48 ` [PATCH v12 1/4] lib/igt_core: add igt_destructor helper macro Xin Wang
2026-01-17 23:48 ` [PATCH v12 2/4] lib/intel_device_info: make device info cache thread-safe Xin Wang
2026-01-17 23:48 ` [PATCH v12 3/4] lib/intel_device_info: allow xe_query to override graphics version Xin Wang
2026-01-17 23:48 ` [PATCH v12 4/4] lib/intel_device_info: remove the graphcs_rel from xe2+ devices Xin Wang
2026-01-18  0:40 ` ✓ Xe.CI.BAT: success for lib/intel_device_info: get the xe .graphics_rel from GMD_ID Patchwork
2026-01-18  0:52 ` ✓ i915.CI.BAT: " Patchwork
2026-01-18  1:47 ` ✗ Xe.CI.Full: failure " Patchwork
2026-01-18  2:56 ` ✓ i915.CI.Full: success " Patchwork

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=20260117234821.929209-1-x.wang@intel.com \
    --to=x.wang@intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    --cc=kamil.konieczny@linux.intel.com \
    --cc=matthew.d.roper@intel.com \
    --cc=ravi.kumar.vodapalli@intel.com \
    --cc=zbigniew.kempczynski@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.