On Monday 22 September 2014 11:19:35 Thierry Reding wrote: > On Fri, Sep 12, 2014 at 05:34:55PM +0100, Will Deacon wrote: > [...] > > > +static bool arm_setup_iommu_dma_ops(struct device *dev, u64 dma_base, u64 > > size) +{ > > + struct dma_iommu_mapping *mapping; > > + > > + mapping = arm_iommu_create_mapping(dev->bus, dma_base, size); > > If I understand correctly this will be called for each device that has > an IOMMU master interface and will end up creating a new mapping for > each of the devices. Each of these mappings will translate to a domain > in the IOMMU API, which in turn is a separate address space. > > How do you envision to support use-cases where a set of devices need to > share a single domain? This is needed for example in DRM where SoCs > often have a set of hardware blocks (each with its own master interface) > that compose the display device. On Tegra for example there are two > display controllers that need access to the same IOVA domain so that > they can scan out framebuffers.
Or simply for IOMMUs that serve multiple masters and support a single domain only. -- Regards, Laurent Pinchart
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu