On Fri, Nov 20, 2015 at 10:25:06AM +0800, Chen Feng wrote: > eg: > struct iommu_domain *domain = iommu_domain_alloc(bus); > iommu_attach_device(domain, dev); > struct iova_domain *iovad = (struct iova_domain *)m_dev->archdata.iommu; > struct iova * t_iova = alloc_iova(iovad, size, limit_pfn, align); > iommu_map(domain, t_iova->pfn_lo << 12, phy_addr, size, port); Any reason the media subsystem should use the iommu-api directly, and not the dma-api? You can make your iommu available by adapting the common dma-iommu implementation from Robin Murphy to your iommu to make it usable through the dma-api. Joerg -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html