summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid E. Box <david.e.box@linux.intel.com>2025-07-03 05:28:27 +0300
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2025-07-03 11:09:38 +0300
commitc9699057521834862616ce159a47bd33920f0d9f (patch)
tree89bb385bda5902a8db74cadbbb6906b9769a9336
parenta885a2780937afac4f31f00d11663f50d05dfb35 (diff)
downloadlinux-c9699057521834862616ce159a47bd33920f0d9f.tar.xz
platform/x86/intel/tpmi: Get OOBMSM CPU mapping from TPMI
Copy TPMI’s OOBMSM platform info into a common area within VSEC private data via intel_vsec_set_mapping(). This enables other Intel VSEC features to access the CPU mapping without additional queries. Additionally, designate the TPMI driver as a supplier for the Telemetry driver, ensuring it can obtain the necessary platform information for future feature extensions. Signed-off-by: David E. Box <david.e.box@linux.intel.com> Link: https://lore.kernel.org/r/20250703022832.1302928-13-david.e.box@linux.intel.com Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
-rw-r--r--drivers/platform/x86/intel/vsec.c2
-rw-r--r--drivers/platform/x86/intel/vsec_tpmi.c4
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/platform/x86/intel/vsec.c b/drivers/platform/x86/intel/vsec.c
index 711ff4edfe21..f66f0ce8559b 100644
--- a/drivers/platform/x86/intel/vsec.c
+++ b/drivers/platform/x86/intel/vsec.c
@@ -725,7 +725,7 @@ static const struct intel_vsec_platform_info mtl_info = {
static const struct vsec_feature_dependency oobmsm_deps[] = {
{
.feature = VSEC_CAP_TELEMETRY,
- .supplier_bitmap = VSEC_CAP_DISCOVERY,
+ .supplier_bitmap = VSEC_CAP_DISCOVERY | VSEC_CAP_TPMI,
},
};
diff --git a/drivers/platform/x86/intel/vsec_tpmi.c b/drivers/platform/x86/intel/vsec_tpmi.c
index d95a0d994546..7748b5557a18 100644
--- a/drivers/platform/x86/intel/vsec_tpmi.c
+++ b/drivers/platform/x86/intel/vsec_tpmi.c
@@ -799,6 +799,10 @@ static int intel_vsec_tpmi_init(struct auxiliary_device *auxdev)
ret = tpmi_process_info(tpmi_info, pfs);
if (ret)
return ret;
+
+ ret = intel_vsec_set_mapping(&tpmi_info->plat_info, vsec_dev);
+ if (ret)
+ return ret;
}
if (pfs->pfs_header.tpmi_id == TPMI_CONTROL_ID)