From: Marc Zyngier <marc.zyngier@arm.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: Nishanth Menon <nm@ti.com>, Alexandre Courbot <gnurou@gmail.com>,
Kukjin Kim <kgene.kim@samsung.com>,
Sascha Hauer <kernel@pengutronix.de>,
Stephen Warren <swarren@wwwdotorg.org>,
Tony Lindgren <tony@atomide.com>,
Linus Walleij <linus.walleij@linaro.org>,
Magnus Damm <magnus.damm@gmail.com>,
Michal Simek <michal.simek@xilinx.com>,
Rob Herring <robh+dt@kernel.org>,
linux-samsung-soc@vger.kernel.org, linux-omap@vger.kernel.org,
Simon Horman <horms@verge.net.au>,
Benoit Cousson <bcousson@baylibre.com>,
Santosh Shilimkar <ssantosh@kernel.org>,
Mark Rutland <mark.rutland@arm.com>,
Shawn Guo <shawn.guo@linaro.org>,
Thomas Gleixner <tglx@linutronix.de>,
linux-arm-kernel@lists.infradead.org,
Jason Cooper <jason@lakedaemon.net>
Subject: Re: [PATCH v2 04/21] ARM: tegra: update DTs to expose legacy interrupt controller
Date: Sat, 10 Jan 2015 12:37:58 +0000 [thread overview]
Message-ID: <d6fe000bdc6f2fbfc18f0695ce88c321@www.loen.fr> (raw)
In-Reply-To: <20150108104141.GF1987@ulmo.nvidia.com>
On 2015-01-08 10:41, Thierry Reding wrote:
> On Wed, Jan 07, 2015 at 05:42:39PM +0000, Marc Zyngier wrote:
>> Describe the legacy interrupt controller in every tegra DTSI files,
>> and make it the parent of most interrupts.
>>
>> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>> ---
>> arch/arm/boot/dts/tegra114.dtsi | 16 +++++++++++++++-
>> arch/arm/boot/dts/tegra124.dtsi | 16 +++++++++++++++-
>> arch/arm/boot/dts/tegra20.dtsi | 15 ++++++++++++++-
>> arch/arm/boot/dts/tegra30.dtsi | 16 +++++++++++++++-
>> 4 files changed, 59 insertions(+), 4 deletions(-)
>>
I've updated the patch to reflect the requested changes. See below for
the few contentious points:
[...]
>> @@ -134,6 +134,19 @@
>> <0x50046000 0x2000>;
>> interrupts = <GIC_PPI 9
>> (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_HIGH)>;
>> + interrupt-parent = <&gic>;
>
> Is this allowed? It makes the GIC its own parent. I guess we need it
> to
> stop a loop from GIC -> LIC -> GIC, but it doesn't look quite right.
This seems to be the expected construct to override a parent interrupt
controller. Actually, this is already what happens when you have a
single interrupt-controller and a global interrupt-parent property.
[...]
>> timer@60005000 {
>> @@ -766,5 +779,6 @@
>> (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
>> <GIC_PPI 10
>> (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
>> + interrupt-parent = <&gic>;
>
> Why does this get to have a non-default parent?
The per-cpu timers are using PPIs. As such,. they are not routed
through the LIC, but are wired to the GIC instead.
[...]
>> timer@60005000 {
>> compatible = "nvidia,tegra20-timer";
>> reg = <0x60005000 0x60>;
>
> Why doesn't the Tegra timer get to keep the GIC as parent like for
> Tegra114 and Tegra124? Instead I see that the Cortex-A9 TWD timer
> gets
> to keep the parent instead.
The Tegra timer is using SPI (and can probably be used as a wake-up
source). As such, it is connected to the LIC, not to the GIC.
Per-CPU timers (arch timer for A15 and TWD for A9) are all using PPIs,
and are directly wired to the GIC.
[...]
>> timer@60005000 {
>> compatible = "nvidia,tegra30-timer", "nvidia,tegra20-timer";
>> reg = <0x60005000 0x400>;
>
> Like for Tegra20, the Tegra timer is now switched to the LIC as
> parent.
Which, in my understanding, is the right thing to do. Unless I missed
something obvious about this?
Thanks,
M.
--
Fast, cheap, reliable. Pick two.
next prev parent reply other threads:[~2015-01-10 12:37 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-07 17:42 [PATCH v2 00/21] irqchip: gic: killing gic_arch_extn and co, slowly Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 01/21] ARM: tegra: irq: nuke leftovers from non-DT support Marc Zyngier
2015-01-08 8:56 ` Thierry Reding
2015-01-07 17:42 ` [PATCH v2 02/21] irqchip: tegra: add DT-based support for legacy interrupt controller Marc Zyngier
2015-01-08 10:13 ` Thierry Reding
2015-01-08 15:06 ` Nishanth Menon
2015-01-10 12:28 ` Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 03/21] ARM: tegra: skip gic_arch_extn setup if DT has a LIC node Marc Zyngier
2015-01-08 10:16 ` Thierry Reding
2015-01-07 17:42 ` [PATCH v2 04/21] ARM: tegra: update DTs to expose legacy interrupt controller Marc Zyngier
2015-01-08 10:41 ` Thierry Reding
2015-01-10 12:37 ` Marc Zyngier [this message]
2015-01-07 17:42 ` [PATCH v2 05/21] DT: tegra: add binding for the " Marc Zyngier
2015-01-08 10:51 ` Thierry Reding
2015-01-08 15:12 ` Nishanth Menon
2015-01-07 17:42 ` [PATCH v2 06/21] ARM: tegra: remove old LIC support Marc Zyngier
2015-01-08 11:29 ` Thierry Reding
2015-01-10 12:43 ` Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 07/21] genirq: Add irqchip_set_wake_parent Marc Zyngier
2015-01-08 15:15 ` Nishanth Menon
2015-01-10 12:46 ` Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 08/21] irqchip: crossbar: convert dra7 crossbar to stacked domains Marc Zyngier
2015-01-08 14:39 ` Nishanth Menon
2015-01-10 12:59 ` Marc Zyngier
2015-01-08 15:20 ` Nishanth Menon
2015-01-07 17:42 ` [PATCH v2 09/21] DT: update ti,irq-crossbar binding Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 10/21] irqchip: GIC: get rid of routable domain Marc Zyngier
2015-01-08 16:13 ` Nishanth Menon
2015-01-07 17:42 ` [PATCH v2 11/21] DT: arm,gic: kill arm,routable-irqs Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 12/21] ARM: omap: convert wakeupgen to stacked domains Marc Zyngier
2015-01-08 16:44 ` Nishanth Menon
2015-01-10 13:17 ` Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 13/21] DT: omap4/5: add binding for the wake-up generator Marc Zyngier
2015-01-08 16:52 ` Nishanth Menon
2015-01-10 13:22 ` Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 14/21] ARM: imx6: convert GPC to stacked domains Marc Zyngier
2015-01-08 16:57 ` Nishanth Menon
2015-01-09 17:40 ` Stefan Agner
2015-01-10 13:34 ` Marc Zyngier
2015-01-10 14:16 ` Stefan Agner
2015-01-07 17:42 ` [PATCH v2 15/21] ARM: exynos4/5: convert pmu wakeup " Marc Zyngier
2015-01-08 16:58 ` Nishanth Menon
2015-01-07 17:42 ` [PATCH v2 16/21] DT: exynos: update PMU binding Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 17/21] irqchip: gic: add an entry point to set up irqchip flags Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 18/21] ARM: shmobile: remove use of gic_arch_extn.irq_set_wake Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 19/21] ARM: ux500: switch from gic_arch_extn to gic_set_irqchip_flags Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 20/21] ARM: zynq: " Marc Zyngier
2015-01-07 17:42 ` [PATCH v2 21/21] irqchip: gic: Drop support for gic_arch_extn Marc Zyngier
2015-01-07 18:45 ` [PATCH v2 00/21] irqchip: gic: killing gic_arch_extn and co, slowly santosh shilimkar
2015-01-08 3:31 ` Nishanth Menon
2015-01-10 13:45 ` Marc Zyngier
2015-01-12 14:14 ` Rob Herring
2015-01-12 15:39 ` Marc Zyngier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d6fe000bdc6f2fbfc18f0695ce88c321@www.loen.fr \
--to=marc.zyngier@arm.com \
--cc=bcousson@baylibre.com \
--cc=gnurou@gmail.com \
--cc=horms@verge.net.au \
--cc=jason@lakedaemon.net \
--cc=kernel@pengutronix.de \
--cc=kgene.kim@samsung.com \
--cc=linus.walleij@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=magnus.damm@gmail.com \
--cc=mark.rutland@arm.com \
--cc=michal.simek@xilinx.com \
--cc=nm@ti.com \
--cc=robh+dt@kernel.org \
--cc=shawn.guo@linaro.org \
--cc=ssantosh@kernel.org \
--cc=swarren@wwwdotorg.org \
--cc=tglx@linutronix.de \
--cc=thierry.reding@gmail.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).