summaryrefslogtreecommitdiff
path: root/include/linux/intel_vsec.h
diff options
context:
space:
mode:
authorDavid E. Box <david.e.box@linux.intel.com>2025-07-02 19:28:29 -0700
committerIlpo Järvinen <ilpo.jarvinen@linux.intel.com>2025-07-03 11:09:43 +0300
commit42dabe5442887946b16e64c6ebe91d2671a96fbb (patch)
tree0b44cc9fd0946b6f42dc0880dea832d9248a5322 /include/linux/intel_vsec.h
parent86fc85c75bcd9b0f28afadd60c9f890669b42ba4 (diff)
platform/x86/intel/pmt/telemetry: Add API to retrieve telemetry regions by feature
Introduce a new API, intel_pmt_get_regions_by_feature(), that gathers telemetry regions based on a provided capability flag. This API enables retrieval of regions with various capabilities (for example, RMID-based telemetry) and provides a unified interface for accessing them. Resource management is handled via reference counting using intel_pmt_put_feature_group(). Signed-off-by: David E. Box <david.e.box@linux.intel.com> Link: https://lore.kernel.org/r/20250703022832.1302928-15-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>
Diffstat (limited to 'include/linux/intel_vsec.h')
-rw-r--r--include/linux/intel_vsec.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/intel_vsec.h b/include/linux/intel_vsec.h
index f185e9c01c90..53f6fe88e369 100644
--- a/include/linux/intel_vsec.h
+++ b/include/linux/intel_vsec.h
@@ -4,6 +4,7 @@
#include <linux/auxiliary_bus.h>
#include <linux/bits.h>
+#include <linux/err.h>
#include <linux/intel_pmt_features.h>
/*
@@ -218,4 +219,21 @@ static inline struct oobmsm_plat_info *intel_vsec_get_mapping(struct pci_dev *pd
return ERR_PTR(-ENODEV);
}
#endif
+
+#if IS_ENABLED(CONFIG_INTEL_PMT_TELEMETRY)
+struct pmt_feature_group *
+intel_pmt_get_regions_by_feature(enum pmt_feature_id id);
+
+void intel_pmt_put_feature_group(struct pmt_feature_group *feature_group);
+#else
+static inline struct pmt_feature_group *
+intel_pmt_get_regions_by_feature(enum pmt_feature_id id)
+{
+ return ERR_PTR(-ENODEV);
+}
+
+static inline void
+intel_pmt_put_feature_group(struct pmt_feature_group *feature_group) {}
+#endif
+
#endif