From: "David E. Box" <david.e.box@linux.intel.com>
To: linux-kernel@vger.kernel.org,
platform-driver-x86@vger.kernel.org, david.e.box@linux.intel.com,
srinivas.pandruvada@linux.intel.com,
andriy.shevchenko@linux.intel.com, ilpo.jarvinen@linux.intel.com,
tony.luck@intel.com, xi.pardee@linux.intel.com
Cc: hdegoede@redhat.com
Subject: [PATCH V2 07/15] platform/x86/intel/vsec: Add new Discovery feature
Date: Mon, 16 Jun 2025 18:40:31 -0700 [thread overview]
Message-ID: <20250617014041.2861032-8-david.e.box@linux.intel.com> (raw)
In-Reply-To: <20250617014041.2861032-1-david.e.box@linux.intel.com>
Add the PCIe VSEC ID for new Intel Platform Monitoring Technology
Capability Discovery feature. Discovery provides detailed information for
the various Intel VSEC features. Also make the driver a supplier for
TPMI and Telemetry drivers which will use the information.
Signed-off-by: David E. Box <david.e.box@linux.intel.com>
---
Changes in v2:
- Add missing comma in oobmsm_deps[]
drivers/platform/x86/intel/vsec.c | 26 ++++++++++++++++++++++++--
include/linux/intel_vsec.h | 4 +++-
2 files changed, 27 insertions(+), 3 deletions(-)
diff --git a/drivers/platform/x86/intel/vsec.c b/drivers/platform/x86/intel/vsec.c
index d522b06f3f69..98f570a389c6 100644
--- a/drivers/platform/x86/intel/vsec.c
+++ b/drivers/platform/x86/intel/vsec.c
@@ -65,6 +65,9 @@ static const char *intel_vsec_name(enum intel_vsec_id id)
case VSEC_ID_TPMI:
return "tpmi";
+ case VSEC_ID_DISCOVERY:
+ return "discovery";
+
default:
return NULL;
}
@@ -83,6 +86,8 @@ static bool intel_vsec_supported(u16 id, unsigned long caps)
return !!(caps & VSEC_CAP_SDSI);
case VSEC_ID_TPMI:
return !!(caps & VSEC_CAP_TPMI);
+ case VSEC_ID_DISCOVERY:
+ return !!(caps & VSEC_CAP_DISCOVERY);
default:
return false;
}
@@ -137,6 +142,8 @@ static bool vsec_driver_present(int cap_id)
return IS_ENABLED(CONFIG_INTEL_SDSI);
case VSEC_CAP_TPMI:
return IS_ENABLED(CONFIG_INTEL_TPMI);
+ case VSEC_CAP_DISCOVERY:
+ return IS_ENABLED(CONFIG_INTEL_PMT_DISCOVERY);
default:
return false;
}
@@ -391,6 +398,9 @@ static int get_cap_id(u32 header_id, unsigned long *cap_id)
case VSEC_ID_TPMI:
*cap_id = ilog2(VSEC_CAP_TPMI);
break;
+ case VSEC_ID_DISCOVERY:
+ *cap_id = ilog2(VSEC_CAP_DISCOVERY);
+ break;
default:
return -EINVAL;
}
@@ -676,14 +686,26 @@ static const struct intel_vsec_platform_info mtl_info = {
.caps = VSEC_CAP_TELEMETRY,
};
+static const struct vsec_feature_dependency oobmsm_deps[] = {
+ {
+ .feature = VSEC_CAP_TELEMETRY,
+ .supplier_bitmap = VSEC_CAP_DISCOVERY,
+ },
+};
+
/* OOBMSM info */
static const struct intel_vsec_platform_info oobmsm_info = {
- .caps = VSEC_CAP_TELEMETRY | VSEC_CAP_SDSI | VSEC_CAP_TPMI,
+ .caps = VSEC_CAP_TELEMETRY | VSEC_CAP_SDSI | VSEC_CAP_TPMI |
+ VSEC_CAP_DISCOVERY,
+ .deps = oobmsm_deps,
+ .num_deps = ARRAY_SIZE(oobmsm_deps),
};
/* DMR OOBMSM info */
static const struct intel_vsec_platform_info dmr_oobmsm_info = {
- .caps = VSEC_CAP_TELEMETRY | VSEC_CAP_TPMI,
+ .caps = VSEC_CAP_TELEMETRY | VSEC_CAP_TPMI | VSEC_CAP_DISCOVERY,
+ .deps = oobmsm_deps,
+ .num_deps = ARRAY_SIZE(oobmsm_deps),
};
/* TGL info */
diff --git a/include/linux/intel_vsec.h b/include/linux/intel_vsec.h
index 71067afaca99..a07796d7d43b 100644
--- a/include/linux/intel_vsec.h
+++ b/include/linux/intel_vsec.h
@@ -16,7 +16,8 @@
#define VSEC_CAP_CRASHLOG BIT(3)
#define VSEC_CAP_SDSI BIT(4)
#define VSEC_CAP_TPMI BIT(5)
-#define VSEC_FEATURE_COUNT 6
+#define VSEC_CAP_DISCOVERY BIT(6)
+#define VSEC_FEATURE_COUNT 7
/* Intel DVSEC offsets */
#define INTEL_DVSEC_ENTRIES 0xA
@@ -33,6 +34,7 @@ enum intel_vsec_id {
VSEC_ID_TELEMETRY = 2,
VSEC_ID_WATCHER = 3,
VSEC_ID_CRASHLOG = 4,
+ VSEC_ID_DISCOVERY = 12,
VSEC_ID_SDSI = 65,
VSEC_ID_TPMI = 66,
};
--
2.43.0
next prev parent reply other threads:[~2025-06-17 1:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-17 1:40 [PATCH V2 00/15] Intel VSEC/PMT: Introduce Discovery Driver David E. Box
2025-06-17 1:40 ` [PATCH V2 01/15] MAINTAINERS: Add link to documentation of Intel PMT ABI David E. Box
2025-06-17 1:40 ` [PATCH V2 02/15] platform/x86/intel/vsec: Add private data for per-device data David E. Box
2025-06-17 1:40 ` [PATCH V2 03/15] platform/x86/intel/vsec: Create wrapper to walk PCI config space David E. Box
2025-06-30 12:02 ` Ilpo Järvinen
2025-06-30 20:51 ` David Box
2025-06-17 1:40 ` [PATCH V2 04/15] platform/x86/intel/vsec: Add device links to enforce dependencies David E. Box
2025-06-30 12:06 ` Ilpo Järvinen
2025-06-30 20:47 ` David Box
2025-06-17 1:40 ` [PATCH V2 05/15] platform/x86/intel/vsec: Skip absent features during initialization David E. Box
2025-06-17 1:40 ` [PATCH V2 06/15] platform/x86/intel/vsec: Skip driverless features David E. Box
2025-06-17 1:40 ` David E. Box [this message]
2025-06-17 1:40 ` [PATCH V2 08/15] platform/x86/intel/pmt: Add PMT Discovery driver David E. Box
2025-06-17 1:40 ` [PATCH V2 09/15] docs: Add ABI documentation for intel_pmt feature directories David E. Box
2025-06-17 1:40 ` [PATCH V2 10/15] platform/x86/intel/tpmi: Relocate platform info to intel_vsec.h David E. Box
2025-06-17 1:40 ` [PATCH V2 11/15] platform/x86/intel/vsec: Set OOBMSM to CPU mapping David E. Box
2025-06-30 11:55 ` Ilpo Järvinen
2025-06-30 20:56 ` David Box
2025-06-17 1:40 ` [PATCH V2 12/15] platform/x86/intel/tpmi: Get OOBMSM CPU mapping from TPMI David E. Box
2025-06-17 1:40 ` [PATCH V2 13/15] platform/x86/intel/pmt/discovery: Get telemetry attributes David E. Box
2025-06-17 1:40 ` [PATCH V2] platform/x86/intel/pmt/telemetry: Add API to retrieve telemetry regions by feature David E. Box
2025-06-30 12:08 ` Ilpo Järvinen
2025-06-17 1:40 ` [PATCH V2 15/15] platform/x86/intel/pmt: KUNIT test for PMT Enhanced Discovery API David E. Box
2025-06-25 20:22 ` [PATCH V2 00/15] Intel VSEC/PMT: Introduce Discovery Driver Luck, Tony
2025-06-27 19:08 ` David Box
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=20250617014041.2861032-8-david.e.box@linux.intel.com \
--to=david.e.box@linux.intel.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=srinivas.pandruvada@linux.intel.com \
--cc=tony.luck@intel.com \
--cc=xi.pardee@linux.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 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).