----- Original Message ----- > From: "Sakari Ailus" <sakari.ailus@xxxxxxxxxxxxxxx> > Sent: Thursday, January 3, 2019 2:11:27 PM Hi Laurent and Sakari, I don't have much else to offer here, but wanted to second Sakari's use case below. > Hi Laurent, > > On Thu, Jan 03, 2019 at 12:52:00AM +0200, Laurent Pinchart wrote: >> Hi Sakari, >> >> Thank you for the patch. >> >> On Wednesday, 2 January 2019 23:16:57 EET Sakari Ailus wrote: >> > Drivers such as the Intel IPU3 ImgU driver use the IOVA library to manage >> > the device's own virtual address space while not implementing the IOMMU >> > API. >> >> Why is that ? Could the IPU3 IOMMU be implemented as an IOMMU driver ? > > You could do that, but: > > - it's a single PCI device so there's no advantage in doing so and I also use the IOVA library for a PCI device (PCIe-VME bridge) that has IOMMU features, but isn't a general purpose IOMMU. I am eagerly following along. -Aaron > - doing that would render the device inoperable if an IOMMU is enabled in > the system, as chaining IOMMUs is not supported in the IOMMU framework > AFAIK. > >> >> > Currently the IOVA library is only compiled if the IOMMU support is >> > enabled, resulting into a failure during linking due to missing symbols. >> > >> > Fix this by defining IOVA library Kconfig bits independently of IOMMU >> > support configuration, and descending to the iommu directory >> > unconditionally during the build. >> > >> > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx>