[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <04e35d51-5e65-047d-90ef-a2de901eb15d@arm.com>
Date: Thu, 2 Jul 2020 17:05:05 +0100
From: Robin Murphy <robin.murphy@....com>
To: Krishna Reddy <vdumpa@...dia.com>,
Jonathan Hunter <jonathanh@...dia.com>
Cc: "joro@...tes.org" <joro@...tes.org>,
"will@...nel.org" <will@...nel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
Thierry Reding <treding@...dia.com>,
Yu-Huan Hsu <YHsu@...dia.com>,
Sachin Nikam <Snikam@...dia.com>,
Pritesh Raithatha <praithatha@...dia.com>,
Timo Alho <talho@...dia.com>,
Bitan Biswas <bbiswas@...dia.com>,
Mikko Perttunen <mperttunen@...dia.com>,
Nicolin Chen <nicolinc@...dia.com>,
Bryan Huntsman <bhuntsman@...dia.com>,
"nicoleotsuka@...il.com" <nicoleotsuka@...il.com>
Subject: Re: [PATCH v8 2/3] dt-bindings: arm-smmu: Add binding for Tegra194
SMMU
On 2020-07-01 20:39, Krishna Reddy wrote:
> 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.
>
> I tried to use the binding synonymous to other vendors.
> V2 is the architecture version. MMU-500 is the actual implementation from ARM based on V2 arch. As we just use the MMU-500 IP as it is, It can be named as nvidia,smmu-500 or similar as well.
Yup, that sounds OK to me if you want a broader compatible to
potentially match other future SoCs as well.
> Others probably having their own implementation based on V2 arch.
Exactly - "cavium,smmu-v2" and "qcom,smmu-v2" are their own in-house
microarchitectures, not one of Arm's designs, so they don't really have
a suitable 'product name' we could have used for the bindings.
Robin.
Powered by blists - more mailing lists