linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] Intel VSEC/PMT: Introduce Discovery Driver
@ 2025-04-30 21:20 David E. Box
  2025-04-30 21:20 ` [PATCH 01/15] MAINTAINERS: Add link to documentation of Intel PMT ABI David E. Box
                   ` (15 more replies)
  0 siblings, 16 replies; 27+ messages in thread
From: David E. Box @ 2025-04-30 21:20 UTC (permalink / raw)
  To: linux-kernel, platform-driver-x86, david.e.box,
	srinivas.pandruvada, andriy.shevchenko, ilpo.jarvinen, tony.luck,
	xi.pardee
  Cc: hdegoede

This patch series introduces a new discovery driver for Intel Platform
Monitoring Technology (PMT) and a set of supporting changes to improve
telemetry integration across Intel VSEC features.

The primary goal of this series is to add the PMT Discovery driver, which
enumerates and exposes telemetry attributes by parsing hardware-provided
discovery tables from OOBMSM devices. In particular, the discovery driver
gathers detailed capability information (such as telemetry region
attributes) that will later enable direct access to telemetry regions via a
new API (intel_pmt_get_regions_by_feature()). This API is crucial for
retrieving data like per-RMID counters.

The remainder of the series consists of several preparatory and testing
patches:

1. Private Data and CPU Mapping:  The VSEC driver now includes
per-device private data to store the OOBMSM-to-CPU mapping. The TPMI driver
copies its platform info into this common area (via
intel_vsec_set_mapping()), allowing other VSEC features to access CPU
mapping information without redundant queries.

2. Device Links Enhancements:  With telemetry now depending on both the
TPMI driver (for CPU mapping) and the new discovery driver (for telemetry
region attributes), device links have been added and optimized. These
changes ensure that supplier drivers are probed and registered before
consumer drivers, enforcing the proper dependency order for reliable
telemetry feature access.

4. Discovery Driver and API:  The core of the series is the addition of
the PMT Discovery driver. This driver not only implements discovery of
telemetry attributes and capability data (exposed via sysfs) but also
introduces an API to retrieve telemetry regions by feature, which is
essential for features like per-RMID telemetry counters.

5. Testing:  A simple KUNIT test is provided for the enhanced discovery
API to ensure its reliability and correctness.

Together, these patches provide a foundation for future telemetry
enhancements in the Intel VSEC framework. They enable a unified interface
for accessing hardware telemetry capabilities and ensure that inter-driver
dependencies are properly managed through device links.

David E. Box (15):
  MAINTAINERS: Add link to documentation of Intel PMT ABI
  platform/x86/intel/vsec: Add private data for per-device data
  platform/x86/intel/vsec: Create wrapper to walk PCI config space
  platform/x86/intel/vsec: Add device links to enforce dependencies
  platform/x86/intel/vsec: Skip absent features during initialization
  platform/x86/intel/vsec: Skip driverless features
  platform/x86/intel/vsec: Add new Discovery feature
  platform/x86/intel/pmt: Add PMT Discovery driver
  docs: Add ABI documentation for intel_pmt feature directories
  platform/x86/intel/tpmi: Relocate platform info to intel_vsec.h
  platform/x86/intel/vsec: Set OOBMSM to CPU mapping
  platform/x86/intel/tpmi: Get OOBMSM CPU mapping from TPMI
  platform/x86/intel/pmt/discovery: Get telemetry attributes
  platform/x86/intel/pmt/telemetry: Add API to retrieve telemetry
    regions by feature
  platform/x86/intel/pmt: KUNIT test for PMT Enhanced Discovery API

 .../testing/sysfs-class-intel_pmt-features    | 128 ++++
 MAINTAINERS                                   |   2 +
 drivers/platform/x86/intel/plr_tpmi.c         |   3 +-
 drivers/platform/x86/intel/pmt/Kconfig        |  27 +
 drivers/platform/x86/intel/pmt/Makefile       |   4 +
 drivers/platform/x86/intel/pmt/class.c        |  35 +-
 drivers/platform/x86/intel/pmt/class.h        |   9 +
 .../platform/x86/intel/pmt/discovery-kunit.c  | 116 ++++
 drivers/platform/x86/intel/pmt/discovery.c    | 633 ++++++++++++++++++
 drivers/platform/x86/intel/pmt/features.c     | 205 ++++++
 drivers/platform/x86/intel/pmt/telemetry.c    |  94 ++-
 .../intel/speed_select_if/isst_tpmi_core.c    |   9 +-
 .../uncore-frequency/uncore-frequency-tpmi.c  |   5 +-
 drivers/platform/x86/intel/vsec.c             | 358 +++++++++-
 drivers/platform/x86/intel/vsec_tpmi.c        |   8 +-
 drivers/powercap/intel_rapl_tpmi.c            |   9 +-
 include/linux/intel_pmt_features.h            | 157 +++++
 include/linux/intel_tpmi.h                    |  26 +-
 include/linux/intel_vsec.h                    |  97 ++-
 19 files changed, 1865 insertions(+), 60 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-class-intel_pmt-features
 create mode 100644 drivers/platform/x86/intel/pmt/discovery-kunit.c
 create mode 100644 drivers/platform/x86/intel/pmt/discovery.c
 create mode 100644 drivers/platform/x86/intel/pmt/features.c
 create mode 100644 include/linux/intel_pmt_features.h


base-commit: 67e2635fe0cca5f0383c0780db986d8237e83f0a
-- 
2.43.0


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

end of thread, other threads:[~2025-06-16 16:04 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-30 21:20 [PATCH 00/15] Intel VSEC/PMT: Introduce Discovery Driver David E. Box
2025-04-30 21:20 ` [PATCH 01/15] MAINTAINERS: Add link to documentation of Intel PMT ABI David E. Box
2025-04-30 21:20 ` [PATCH 02/15] platform/x86/intel/vsec: Add private data for per-device data David E. Box
2025-04-30 21:20 ` [PATCH 03/15] platform/x86/intel/vsec: Create wrapper to walk PCI config space David E. Box
2025-04-30 21:20 ` [PATCH 04/15] platform/x86/intel/vsec: Add device links to enforce dependencies David E. Box
2025-05-20 13:51   ` Ilpo Järvinen
2025-06-16 16:04     ` David E. Box
2025-04-30 21:20 ` [PATCH 05/15] platform/x86/intel/vsec: Skip absent features during initialization David E. Box
2025-04-30 21:20 ` [PATCH 06/15] platform/x86/intel/vsec: Skip driverless features David E. Box
2025-04-30 21:20 ` [PATCH 07/15] platform/x86/intel/vsec: Add new Discovery feature David E. Box
2025-05-20 14:01   ` Ilpo Järvinen
2025-04-30 21:20 ` [PATCH 08/15] platform/x86/intel/pmt: Add PMT Discovery driver David E. Box
2025-05-20 14:32   ` Ilpo Järvinen
2025-05-20 20:59     ` David E. Box
2025-04-30 21:20 ` [PATCH 09/15] docs: Add ABI documentation for intel_pmt feature directories David E. Box
2025-05-20 14:51   ` Ilpo Järvinen
2025-04-30 21:20 ` [PATCH 10/15] platform/x86/intel/tpmi: Relocate platform info to intel_vsec.h David E. Box
2025-05-20 14:54   ` Ilpo Järvinen
2025-04-30 21:21 ` [PATCH 11/15] platform/x86/intel/vsec: Set OOBMSM to CPU mapping David E. Box
2025-04-30 21:21 ` [PATCH 12/15] platform/x86/intel/tpmi: Get OOBMSM CPU mapping from TPMI David E. Box
2025-04-30 21:21 ` [PATCH 13/15] platform/x86/intel/pmt/discovery: Get telemetry attributes David E. Box
2025-04-30 21:21 ` [PATCH 14/15] platform/x86/intel/pmt/telemetry: Add API to retrieve telemetry regions by feature David E. Box
2025-05-20 15:05   ` Ilpo Järvinen
2025-04-30 21:21 ` [PATCH 15/15] platform/x86/intel/pmt: KUNIT test for PMT Enhanced Discovery API David E. Box
2025-05-16 15:30 ` [PATCH 00/15] Intel VSEC/PMT: Introduce Discovery Driver Luck, Tony
2025-05-19 17:22   ` Luck, Tony
2025-05-19 17:32     ` Ilpo Järvinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).