On Thu, 31 Oct 2013 20:39:41 +0100 Will Deacon <will.deacon@xxxxxxx> wrote: > On Thu, Oct 31, 2013 at 07:25:25PM +0000, Stephen Warren wrote: > > On 10/31/2013 01:16 PM, Stephen Warren wrote: > > > Hmm. That's interesting. I see that the ARM SMMU has a list of the > > > clients it affects, whereas this Tegra series puts information into each > > > client device about the SMMU(s) that affect it. Is it better to flip the > > > Tegra binding around to match the style of the ARM SMMU? > > > > One question here: How do you ensure that the SMMU driver probe()s > > before probe() runs for devices affected by the SMMU? > > I think we get away with this by virtue of nobody actually creating IOMMU > mappings from within drivers, so the ordering is already handled. However, I Could you explain the above a bit more? Currently I have a problem that IOMMU(tegra smmu) needs to be instanciated earlier than other IOMMU'able devices since IOMMU needs to configure devices IOMMU'ed at their instanciation time. Now I'm considering to use iommu_bus_notifier or inserting a hook in dd.c:really_probe() in order to defer a device instanciation til IOMMU's instanciated. -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html