|
@@ -65,6 +65,7 @@ static struct dma_ops_domain *find_protection_domain(u16 devid);
|
|
|
*/
|
|
|
|
|
|
DECLARE_STATS_COUNTER(compl_wait);
|
|
|
+DECLARE_STATS_COUNTER(cnt_map_single);
|
|
|
|
|
|
static struct dentry *stats_dir;
|
|
|
static struct dentry *de_isolate;
|
|
@@ -92,6 +93,7 @@ static void amd_iommu_stats_init(void)
|
|
|
(u32 *)&amd_iommu_unmap_flush);
|
|
|
|
|
|
amd_iommu_stats_add(&compl_wait);
|
|
|
+ amd_iommu_stats_add(&cnt_map_single);
|
|
|
}
|
|
|
|
|
|
#endif
|
|
@@ -1278,6 +1280,8 @@ static dma_addr_t map_single(struct device *dev, phys_addr_t paddr,
|
|
|
dma_addr_t addr;
|
|
|
u64 dma_mask;
|
|
|
|
|
|
+ INC_STATS_COUNTER(cnt_map_single);
|
|
|
+
|
|
|
if (!check_device(dev))
|
|
|
return bad_dma_address;
|
|
|
|