|
|
Log in / Subscribe / Register

Add ACPI-based PMT discovery support for Intel PMC

From:  "David E. Box" <david.e.box-AT-linux.intel.com>
To:  irenic.rajneesh-AT-gmail.com, ilpo.jarvinen-AT-linux.intel.com, srinivas.pandruvada-AT-linux.intel.com, xi.pardee-AT-linux.intel.com, david.e.box-AT-linux.intel.com
Subject:  [PATCH V2 00/17] Add ACPI-based PMT discovery support for Intel PMC
Date:  Tue, 24 Mar 2026 18:48:02 -0700
Message-ID:  <20260325014819.1283566-1-david.e.box@linux.intel.com>
Cc:  hansg-AT-kernel.org, linux-kernel-AT-vger.kernel.org, platform-driver-x86-AT-vger.kernel.org
Archive-link:  Article

This series adds ACPI-based PMT discovery support and wires it into the
Intel PMC telemetry stack for Nova Lake S.

Today, PMT discovery flow is primarily PCI-oriented. Some platforms expose
PMT discovery via ACPI _DSD, and PMC telemetry needs to consume that path
for both standalone and companion-device cases. This series addresses that
in three logical steps:

    1. Prepare intel_vsec for ACPI-backed discovery
    2. Refactor PMT class handling so discovery source is
       abstracted (PCI or ACPI)
    3. Add/enable PMC consumers using ACPI discovery, including NVL
       SSRAM support

Patches for step 1 were previously accepted. V2 includes the remaining
integration patches plus a new patch addressing review feedback on
cleanup.h patterns in ssram_telemetry.c.

Series layout

    01-06: intel_vsec cleanup/generalization for ACPI-capable discovery
           plumbing. Previously posted and accepted.

    07-12: PMT class refactor and ACPI discovery-source support
           Major patches:
           Patch 12 - adds ACPI support in PMT driver

    13-17: PMC driver integration
           Major patches:
           Patch 15 - adds ACPI discovery support in ssram driver
           Patch 17 - adds NVL IDs for SSRAM discovery

           Notable changes in V2:
           Patch 14 - new commit fixing __free() cleanup patterns per Ilpo's review

David E. Box (15):
  platform/x86/intel/pmt: Add pre/post decode hooks around header
    parsing
  platform/x86/intel/pmt/crashlog: Split init into pre-decode
  platform/x86/intel/pmt/telemetry: Move overlap check to post-decode
    hook
  platform/x86/intel/pmt: Move header decode into common helper
  platform/x86/intel/pmt: Pass discovery index instead of resource
  platform/x86/intel/pmt: Unify header fetch and add ACPI source
  platform/x86/intel/pmc: Add PMC SSRAM Kconfig description
  platform/x86/intel/pmc: Add ACPI PWRM telemetry driver for Nova Lake S
  platform/x86/intel/pmc/ssram: Rename probe and PCI ID table for
    consistency
  platform/x86/intel/pmc/ssram: Refactor DEVID/PWRMBASE extraction into
    helper
  platform/x86/intel/pmc/ssram: Add PCI platform data
  platform/x86/intel/pmc/ssram_telemetry: Fix cleanup pattern for
    __free() variables
  platform/x86/intel/pmc/ssram: Add ACPI discovery scaffolding
  platform/x86/intel/pmc/ssram: Make PMT registration optional
  platform/x86/intel/pmc: Add NVL PCI IDs for SSRAM telemetry discovery

Xi Pardee (2):
  platform/x86/intel/pmc/ssram: Use fixed-size static pmc array
  platform/x86/intel/pmc/ssram: Refactor memory barrier for reentrant
    probe

 drivers/platform/x86/intel/pmc/Kconfig        |  25 ++
 drivers/platform/x86/intel/pmc/Makefile       |   2 +
 drivers/platform/x86/intel/pmc/core.h         |  20 ++
 .../platform/x86/intel/pmc/pwrm_telemetry.c   | 214 ++++++++++++++
 .../platform/x86/intel/pmc/ssram_telemetry.c  | 267 +++++++++++++-----
 drivers/platform/x86/intel/pmt/class.c        | 160 ++++++++++-
 drivers/platform/x86/intel/pmt/class.h        |  20 +-
 drivers/platform/x86/intel/pmt/crashlog.c     |  22 +-
 drivers/platform/x86/intel/pmt/telemetry.c    |  32 +--
 9 files changed, 636 insertions(+), 126 deletions(-)
 create mode 100644 drivers/platform/x86/intel/pmc/pwrm_telemetry.c


base-commit: a5877e921389178f994a5ec15a145d7e7ba3ec65
--
2.43.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds