On 01/07/2020 20:00, Krishna Reddy wrote: >>>>> + items: >>>>> + - enum: >>>>> + - nvdia,tegra194-smmu >>>>> + - const: arm,mmu-500 >>> >>>> Is the fallback compatible appropriate here? If software treats this as a >>>> standard MMU-500 it will only program the first instance (because the >>>> second isn't presented as a separate MMU-500) - is there any way that >>>> isn't going to blow up? >>> >>> When compatible is set to both nvidia,tegra194-smmu and arm,mmu-500, >>> implementation override ensure that both instances are programmed. Isn't >>> it? I am not sure I follow your comment fully. > >> The problem is, if for some reason someone had a Tegra194, but only set the >> compatible string to 'arm,mmu-500' it would assume that it was a normal >> arm,mmu-500 and only one instance would be programmed. We always want at >> least 2 of the 3 instances >programmed and so we should only match >> 'nvidia,tegra194-smmu'. In fact, I think that we also need to update the >> arm_smmu_of_match table to add 'nvidia,tegra194-smmu' with the data set to >> &arm_mmu500. > > In that case, new binding "nvidia,smmu-v2" can be added with data set to > &arm_mmu500 and enumeration would have nvidia,tegra194-smmu and another > variant for next generation SoC in future.
I think you would be better off with nvidia,smmu-500 as smmu-v2 appears to be something different. I see others have a smmu-v2 but I am not sure if that is legacy. We have an smmu-500 and so that would seem more appropriate. Jon -- nvpublic _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu