On 03/11/16 16:14, Joerg Roedel wrote: > On Thu, Nov 03, 2016 at 04:00:06PM +0000, Will Deacon wrote: >> We're basically doing that already, since the bus_set_iommu call happens in >> the probe routine, which won't run unless an SMMUv3 has been found in the >> DT. The issue we're trying to avoid is failing the probe of a second SMMUv3 >> in the system, because the bus will already have the iommu ops set by the >> first SMMUv3 that probed. >> >> I suppose we could go and compare bus->iommu_ops with &arm_smmu_ops, but >> given that we can't support different IOMMU types on a single bus, I don't >> think we gain anything from that. > > Can you instead check whether there is already another smmu probed and > skip the bus_set_iommu call then?
But bus_set_iommu() is already checking whether another SMMU (in this case) has probed, by virtue of bus->iommu_ops being non-NULL, and returning without doing anything if so. What's the value of adding a whole bunch more code to effectively duplicate that in a less elegant manner? Robin. > > > Joerg > _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
