diff options
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index ef377865eb76..71646c81421a 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -66,6 +66,7 @@ static struct dma_ops_domain *find_protection_domain(u16 devid); | |||
66 | 66 | ||
67 | DECLARE_STATS_COUNTER(compl_wait); | 67 | DECLARE_STATS_COUNTER(compl_wait); |
68 | DECLARE_STATS_COUNTER(cnt_map_single); | 68 | DECLARE_STATS_COUNTER(cnt_map_single); |
69 | DECLARE_STATS_COUNTER(cnt_unmap_single); | ||
69 | 70 | ||
70 | static struct dentry *stats_dir; | 71 | static struct dentry *stats_dir; |
71 | static struct dentry *de_isolate; | 72 | static struct dentry *de_isolate; |
@@ -94,6 +95,7 @@ static void amd_iommu_stats_init(void) | |||
94 | 95 | ||
95 | amd_iommu_stats_add(&compl_wait); | 96 | amd_iommu_stats_add(&compl_wait); |
96 | amd_iommu_stats_add(&cnt_map_single); | 97 | amd_iommu_stats_add(&cnt_map_single); |
98 | amd_iommu_stats_add(&cnt_unmap_single); | ||
97 | } | 99 | } |
98 | 100 | ||
99 | #endif | 101 | #endif |
@@ -1321,6 +1323,8 @@ static void unmap_single(struct device *dev, dma_addr_t dma_addr, | |||
1321 | struct protection_domain *domain; | 1323 | struct protection_domain *domain; |
1322 | u16 devid; | 1324 | u16 devid; |
1323 | 1325 | ||
1326 | INC_STATS_COUNTER(cnt_unmap_single); | ||
1327 | |||
1324 | if (!check_device(dev) || | 1328 | if (!check_device(dev) || |
1325 | !get_device_resources(dev, &iommu, &domain, &devid)) | 1329 | !get_device_resources(dev, &iommu, &domain, &devid)) |
1326 | /* device not handled by any AMD IOMMU */ | 1330 | /* device not handled by any AMD IOMMU */ |