From 058ccb29334351370324ca45d753708718714827 Mon Sep 17 00:00:00 2001 From: Sudarshan Rajagopalan Date: Tue, 4 Apr 2017 19:10:06 -0700 Subject: iommu/iommu-debug: Add validation support for per-buffer coherent mappings Added new debugfs files/nodes to perform basic validation of the per-buffer IO coherent dma-mapping that was recently implemented. Also, added a node to print out the PTE for a given IOVA. Nodes added: dma_attach dma_map dma_unmap dma_atos virt_addr pte Change-Id: I041ab5f4e37e50dd3f58e2def3fdd3125a60629c Signed-off-by: Sudarshan Rajagopalan --- include/linux/iommu.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'include/linux') diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 55ae8b928411..2767fcdec5a1 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -235,6 +235,8 @@ struct iommu_ops { void (*tlbi_domain)(struct iommu_domain *domain); int (*enable_config_clocks)(struct iommu_domain *domain); void (*disable_config_clocks)(struct iommu_domain *domain); + uint64_t (*iova_to_pte)(struct iommu_domain *domain, + dma_addr_t iova); #ifdef CONFIG_OF_IOMMU int (*of_xlate)(struct device *dev, struct of_phandle_args *args); @@ -334,6 +336,9 @@ extern int iommu_domain_window_enable(struct iommu_domain *domain, u32 wnd_nr, phys_addr_t offset, u64 size, int prot); extern void iommu_domain_window_disable(struct iommu_domain *domain, u32 wnd_nr); + +extern uint64_t iommu_iova_to_pte(struct iommu_domain *domain, + dma_addr_t iova); /** * report_iommu_fault() - report about an IOMMU fault to the IOMMU framework * @domain: the iommu domain where the fault has happened -- cgit v1.2.3