[PATCH 3/6] iommu/amd: Introduce amd_iommu_get_num_iommus()

From: Suravee Suthikulpanit
Date: Tue Dec 22 2015 - 14:30:30 EST


This patch introduces amd_iommu_get_num_iommus(). Initially, this is
intended to be used by Perf AMD IOMMU driver.

Signed-off-by: Suravee Suthikulpanit <Suravee.Suthikulpanit@xxxxxxx>
---
drivers/iommu/amd_iommu_init.c | 16 ++++++++++++++++
include/linux/perf/perf_event_amd_iommu.h | 2 ++
2 files changed, 18 insertions(+)

diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c
index 275c0f5..9c62613 100644
--- a/drivers/iommu/amd_iommu_init.c
+++ b/drivers/iommu/amd_iommu_init.c
@@ -2244,6 +2244,22 @@ bool amd_iommu_v2_supported(void)
}
EXPORT_SYMBOL(amd_iommu_v2_supported);

+static int amd_iommu_cnt;
+
+int amd_iommu_get_num_iommus(void)
+{
+ struct amd_iommu *iommu;
+
+ if (amd_iommu_cnt)
+ return amd_iommu_cnt;
+
+ for_each_iommu(iommu)
+ amd_iommu_cnt++;
+
+ return amd_iommu_cnt;
+}
+EXPORT_SYMBOL(amd_iommu_get_num_iommus);
+
/****************************************************************************
*
* IOMMU EFR Performance Counter support functionality. This code allows
diff --git a/include/linux/perf/perf_event_amd_iommu.h b/include/linux/perf/perf_event_amd_iommu.h
index 815eabb..cb820c2 100644
--- a/include/linux/perf/perf_event_amd_iommu.h
+++ b/include/linux/perf/perf_event_amd_iommu.h
@@ -25,6 +25,8 @@
#define PC_MAX_SPEC_CNTRS 16

/* amd_iommu_init.c external support functions */
+extern int amd_iommu_get_num_iommus(void);
+
extern bool amd_iommu_pc_supported(void);

extern u8 amd_iommu_pc_get_max_banks(void);
--
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/