[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <da30773d-5831-7cc6-4d82-b304d9b8a29b@arm.com>
Date: Fri, 30 Aug 2019 18:45:34 +0100
From: Robin Murphy <robin.murphy@....com>
To: Krishna Reddy <vdumpa@...dia.com>
Cc: Sachin Nikam <Snikam@...dia.com>,
"Thomas Zeng (SW-TEGRA)" <thomasz@...dia.com>,
Juha Tukkinen <jtukkinen@...dia.com>,
Mikko Perttunen <mperttunen@...dia.com>,
Pritesh Raithatha <praithatha@...dia.com>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Timo Alho <talho@...dia.com>, Yu-Huan Hsu <YHsu@...dia.com>,
"linux-tegra@...r.kernel.org" <linux-tegra@...r.kernel.org>,
Thierry Reding <treding@...dia.com>,
Alexander Van Brunt <avanbrunt@...dia.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"will.deacon@....com" <will.deacon@....com>,
"joro@...tes.org" <joro@...tes.org>
Subject: Re: [PATCH 6/7] arm64: tegra: Add DT node for T194 SMMU
On 30/08/2019 18:25, Krishna Reddy wrote:
>>> + #global-interrupts = <1>;
>
>> Shouldn't that be 3?
>
> Interrupt line is shared between global and all context faults for each SMMU instance.
> Nvidia implementation checks for both Global and context faults on each interrupt to an SMMU instance.
> It can be either 1 or 3. If we make it 3, we need to add two more irq entries in node for context faults.
The number of global interrupts has never been related to the number of
context interrupts :/
> In the future, we can update arm-smmu.c to support shared interrupt line between global and all context faults.
Clearly you have one combined interrupt output per SMMU - describing
those as one global interrupt and the first two context bank interrupts
respectively makes far less sense than calling them 3 global interrupts,
not least because the latter is strictly true. Yes, the binding prevents
us from describing the context bank interrupts for more than one
instance, but at that point the fact that it *is* the combined output
saves us - because the driver is aware of this specific integration it
knows it can just register the "secondary" global interrupts as
"secondary" context interrupts too. If we had separate IRQ lines per
context bank per instance, then we'd have a really big problem and might
have to redefine the binding, but as it is it happens to work out pretty
neatly.
Robin.
Powered by blists - more mailing lists