02.10.2020 19:37, Dmitry Osipenko пишет: > 02.10.2020 19:00, Dmitry Osipenko пишет: >> 02.10.2020 18:23, Dmitry Osipenko пишет: >>> 02.10.2020 09:08, Nicolin Chen пишет: >>>> Then when a client gets probed, of_iommu_configure() in >>>> iommu core will search DTB for swgroup ID and call ->of_xlate() >>>> to prepare an fwspec, similar to tegra_smmu_probe_device() and >>>> tegra_smmu_configure(). Then it'll call tegra_smmu_probe_device() >>>> again, and this time we shall return smmu->iommu pointer properly. >>> >>> I don't quite see where IOMMU core calls of_xlate(). >>> >>> Have tried to at least boot-test this patch? >>> >> >> I don't see how it ever could work because of_xlate() is only invoked from: >> >> fsl_mc_dma_configure()->of_dma_configure_id()->of_iommu_configure() >> >> Looks like the tegra_smmu_configure() is still needed. >> >> I don't know how sun50i driver could work to be honest. Seems IOMMU is >> broken on sun50i, but maybe I'm missing something. >> >> I added Maxime Ripard to this thread, who is the author of the >> sun50i-iommu driver. >> > > Actually, I now see that the other IOMMU drivers (qcom, exynos, etc) do > the same. So obviously I'm missing something and it should work.. > Okay, somehow I was oblivious to that of_dma_configure() invokes of_dma_configure_id(). Should be good :)