[PATCH V5 00/20] intel_pmc: Add telemetry API to read counters

From: David E. Box
Date: Wed Nov 22 2023 - 23:04:18 EST


On newer Intel silicon, more IP counters are being added in Intel Platform
Monitoring Technology (PMT) telemetry spaces hosted in MMIO. There is a
need for the intel_pmc_core driver and other drivers to access PMT hosted
telemetry in the kernel using an API. This patchset adds driver APIs to
allow registering and reading telemetry entries. It makes changes to the
intel_pmc_core driver to use these interfaces to access the low power mode
counters that are now exclusively available from PMT.

David E. Box (15):
platform/x86/intel/vsec: Fix xa_alloc memory leak
platform/x86/intel/vsec: Move structures to header
platform/x86/intel/vsec: remove platform_info from vsec device
structure
platform/x86/intel/vsec: Use cleanup.h
platform/x86/intel/vsec: Assign auxdev parent by argument
platform/x86/intel/vsec: Add base address field
platform/x86/intel/pmt: Add header to struct intel_pmt_entry
platform/x86/intel/pmt: telemetry: Export API to read telemetry
platform/x86/intel/pmc: Allow pmc_core_ssram_init to fail
asm-generic/io.h: iounmap/ioport_unmap cleanup.h support
platform/x86/intel/pmc: Cleanup SSRAM discovery
platform/x86/intel/pmc/mtl: Use return value from
pmc_core_ssram_init()
platform/x86/intel/pmc: Find and register PMC telemetry entries
platform/x86/intel/pmc: Add debug attribute for Die C6 counter
platform/x86/intel/pmc: Show Die C6 counter on Meteor Lake

Gayatri Kammela (1):
platform/x86/intel/vsec: Add intel_vsec_register

Rajvi Jingar (1):
platform/x86/intel/pmc: Display LPM requirements for multiple PMCs

Xi Pardee (3):
platform/x86:intel/pmc: Call pmc_get_low_power_modes from platform
init
platform/x86/intel/pmc: Retrieve LPM information using Intel PMT
platform/x86/intel/pmc: Read low power mode requirements for MTL-M and
MTL-P

drivers/platform/x86/intel/pmc/Kconfig | 1 +
drivers/platform/x86/intel/pmc/adl.c | 2 +
drivers/platform/x86/intel/pmc/cnp.c | 2 +
drivers/platform/x86/intel/pmc/core.c | 190 +++++++++-----
drivers/platform/x86/intel/pmc/core.h | 10 +-
drivers/platform/x86/intel/pmc/core_ssram.c | 263 +++++++++++++++++---
drivers/platform/x86/intel/pmc/icl.c | 10 +-
drivers/platform/x86/intel/pmc/mtl.c | 87 ++++++-
drivers/platform/x86/intel/pmc/spt.c | 10 +-
drivers/platform/x86/intel/pmc/tgl.c | 1 +
drivers/platform/x86/intel/pmt/class.c | 43 +++-
drivers/platform/x86/intel/pmt/class.h | 30 ++-
drivers/platform/x86/intel/pmt/crashlog.c | 2 +-
drivers/platform/x86/intel/pmt/telemetry.c | 193 +++++++++++++-
drivers/platform/x86/intel/pmt/telemetry.h | 126 ++++++++++
drivers/platform/x86/intel/vsec.c | 129 +++++-----
drivers/platform/x86/intel/vsec.h | 45 +++-
include/asm-generic/io.h | 6 +
18 files changed, 946 insertions(+), 204 deletions(-)
create mode 100644 drivers/platform/x86/intel/pmt/telemetry.h


base-commit: b85ea95d086471afb4ad062012a4d73cd328fa86
--
2.34.1