[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0d4f46d6-6a4e-bca0-bcf3-0e22a950e57b@nvidia.com>
Date: Wed, 1 Jul 2020 19:47:36 +0100
From: Jon Hunter <jonathanh@...dia.com>
To: Krishna Reddy <vdumpa@...dia.com>,
Robin Murphy <robin.murphy@....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 01/07/2020 19:28, Krishna Reddy wrote:
>>> + - description: NVIDIA SoCs that use more than one "arm,mmu-500"
>> Hmm, there must be a better way to word that to express that it only applies to the sets of SMMUs that must be programmed identically, and not any other independent MMU-500s that might also happen to be in the same SoC.
>
> Let me reword it to "NVIDIA SoCs that must program multiple MMU-500s identically".
>
>>> + 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.
Jon
--
nvpublic
Powered by blists - more mailing lists