From: Tony Lindgren <tony@atomide.com>
To: Marc Zyngier <marc.zyngier@arm.com>
Cc: Benoit Cousson <bcousson@baylibre.com>,
Nishanth Menon <nm@ti.com>,
Santosh Shilimkar <ssantosh@kernel.org>,
Jason Cooper <jason@lakedaemon.net>,
Thomas Gleixner <tglx@linutronix.de>,
Rob Herring <robh+dt@kernel.org>,
Mark Rutland <Mark.Rutland@arm.com>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
Subject: Re: [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 to use stacked domains
Date: Tue, 24 Feb 2015 07:03:08 -0800 [thread overview]
Message-ID: <20150224150308.GU32521@atomide.com> (raw)
In-Reply-To: <54EC3E9A.5010807@arm.com>
* Marc Zyngier <marc.zyngier@arm.com> [150224 01:08]:
> On 23/02/15 23:02, Tony Lindgren wrote:
> > * Marc Zyngier <marc.zyngier@arm.com> [150223 09:48]:
> >> This series is extracted from [4], which is trying to remove all
> >> traces of gic_arch_extn from the tree. As some maintainers are more
> >> responsive than others (understatement of the year...), I've decided
> >> to split it per sub-arch, and get it moving, at least partially.
> >>
> >> This series addresses OMAP{4,5} by converting the WUGEN to stacked
> >> domains. The DRA7 crossbar gets the same treatment.
> >>
> >> It is worth realizing that:
> >>
> >> - I haven't been able to test this as much as I would have wanted to
> >> (it's only been tested on omap4 and omap5).
> >>
> >> - This actively *breaks* existing setups. Once you boot a new kernel
> >> with an old DT, suspend/resume *will* be broken. Old kernels on a
> >> new DT won't even boot! You've been warned. This really outline the
> >> necessity of actually describing the HW in device trees...
> >
> > Could we parse still the old binding and produce warning for the
> > case when a new kernel is booted with the old DT? That would make
> > it easier for people to debug what's going on.
>
> There's a number of strategies:
> - Looking up the default, top-level interrupt controller:
> if that's the GIC, scream.
> - Lookup the crossbar:
> if it exists, but is not an interrupt controller, scream as well.
> - Lookup the WUGEN:
> if it doesn't exist, scream again.
>
> The last one is pretty easy to implement:
>
> diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
> index fba1ba7..7bb116a 100644
> --- a/arch/arm/mach-omap2/omap4-common.c
> +++ b/arch/arm/mach-omap2/omap4-common.c
> @@ -277,6 +277,12 @@ void __init omap_gic_of_init(void)
> {
> struct device_node *np;
>
> + intc_node = of_find_matching_node(NULL, intc_match);
> + if (WARN_ON(!intc_node)) {
> + pr_err("No WUGEN found in DT, system will misbehave.\n");
> + pr_err("UPDATE YOUR DEVICE TREE!\n");
> + }
> +
> /* Extract GIC distributor and TWD bases for OMAP4460 ROM Errata WA */
> if (!cpu_is_omap446x())
> goto skip_errata_init;
>
> This should cover both OMAP4, OMAP5 and DRA7.
>
> What do you think?
This should do the job for the case of old dtb and people trying to
suspend the device.
Thanks,
Tony
WARNING: multiple messages have this Message-ID (diff)
From: tony@atomide.com (Tony Lindgren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 to use stacked domains
Date: Tue, 24 Feb 2015 07:03:08 -0800 [thread overview]
Message-ID: <20150224150308.GU32521@atomide.com> (raw)
In-Reply-To: <54EC3E9A.5010807@arm.com>
* Marc Zyngier <marc.zyngier@arm.com> [150224 01:08]:
> On 23/02/15 23:02, Tony Lindgren wrote:
> > * Marc Zyngier <marc.zyngier@arm.com> [150223 09:48]:
> >> This series is extracted from [4], which is trying to remove all
> >> traces of gic_arch_extn from the tree. As some maintainers are more
> >> responsive than others (understatement of the year...), I've decided
> >> to split it per sub-arch, and get it moving, at least partially.
> >>
> >> This series addresses OMAP{4,5} by converting the WUGEN to stacked
> >> domains. The DRA7 crossbar gets the same treatment.
> >>
> >> It is worth realizing that:
> >>
> >> - I haven't been able to test this as much as I would have wanted to
> >> (it's only been tested on omap4 and omap5).
> >>
> >> - This actively *breaks* existing setups. Once you boot a new kernel
> >> with an old DT, suspend/resume *will* be broken. Old kernels on a
> >> new DT won't even boot! You've been warned. This really outline the
> >> necessity of actually describing the HW in device trees...
> >
> > Could we parse still the old binding and produce warning for the
> > case when a new kernel is booted with the old DT? That would make
> > it easier for people to debug what's going on.
>
> There's a number of strategies:
> - Looking up the default, top-level interrupt controller:
> if that's the GIC, scream.
> - Lookup the crossbar:
> if it exists, but is not an interrupt controller, scream as well.
> - Lookup the WUGEN:
> if it doesn't exist, scream again.
>
> The last one is pretty easy to implement:
>
> diff --git a/arch/arm/mach-omap2/omap4-common.c b/arch/arm/mach-omap2/omap4-common.c
> index fba1ba7..7bb116a 100644
> --- a/arch/arm/mach-omap2/omap4-common.c
> +++ b/arch/arm/mach-omap2/omap4-common.c
> @@ -277,6 +277,12 @@ void __init omap_gic_of_init(void)
> {
> struct device_node *np;
>
> + intc_node = of_find_matching_node(NULL, intc_match);
> + if (WARN_ON(!intc_node)) {
> + pr_err("No WUGEN found in DT, system will misbehave.\n");
> + pr_err("UPDATE YOUR DEVICE TREE!\n");
> + }
> +
> /* Extract GIC distributor and TWD bases for OMAP4460 ROM Errata WA */
> if (!cpu_is_omap446x())
> goto skip_errata_init;
>
> This should cover both OMAP4, OMAP5 and DRA7.
>
> What do you think?
This should do the job for the case of old dtb and people trying to
suspend the device.
Thanks,
Tony
next prev parent reply other threads:[~2015-02-24 15:07 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-23 17:44 [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 to use stacked domains Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 1/7] genirq: Add irqchip_set_wake_parent Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 2/7] irqchip: crossbar: convert dra7 crossbar to stacked domains Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 3/7] DT: update ti,irq-crossbar binding Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 4/7] irqchip: GIC: get rid of routable domain Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 5/7] DT: arm,gic: kill arm,routable-irqs Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 6/7] DT: omap4/5: add binding for the wake-up generator Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 17:44 ` [PATCH v5 7/7] ARM: omap: convert wakeupgen to stacked domains Marc Zyngier
2015-02-23 17:44 ` Marc Zyngier
2015-02-23 20:32 ` [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 to use " Nishanth Menon
2015-02-23 20:32 ` Nishanth Menon
2015-02-23 20:39 ` Nishanth Menon
2015-02-23 20:39 ` [PATCH v5 0/7] irqchip: Move OMAP{4, 5}/DRA7 " Nishanth Menon
2015-02-24 10:41 ` [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 " Marc Zyngier
2015-02-24 10:41 ` [PATCH v5 0/7] irqchip: Move OMAP{4, 5}/DRA7 " Marc Zyngier
2015-02-25 15:16 ` [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 " Nishanth Menon
2015-02-25 15:16 ` [PATCH v5 0/7] irqchip: Move OMAP{4, 5}/DRA7 " Nishanth Menon
2015-02-23 23:02 ` [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 " Tony Lindgren
2015-02-23 23:02 ` Tony Lindgren
2015-02-24 0:11 ` Tony Lindgren
2015-02-24 0:11 ` Tony Lindgren
[not found] ` <CAJydem=O0S0dKL6pOvm79bNYinDcFVhQE0qUW43Qhvfo7voqtA@mail.gmail.com>
2015-02-24 9:57 ` Marc Zyngier
2015-02-24 9:57 ` [PATCH v5 0/7] irqchip: Move OMAP{4, 5}/DRA7 " Marc Zyngier
2015-02-24 9:04 ` [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 " Marc Zyngier
2015-02-24 9:04 ` [PATCH v5 0/7] irqchip: Move OMAP{4, 5}/DRA7 " Marc Zyngier
2015-02-24 15:03 ` Tony Lindgren [this message]
2015-02-24 15:03 ` [PATCH v5 0/7] irqchip: Move OMAP{4,5}/DRA7 " Tony Lindgren
2015-02-24 21:39 ` santosh shilimkar
2015-02-24 21:39 ` [PATCH v5 0/7] irqchip: Move OMAP{4, 5}/DRA7 " santosh shilimkar
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=20150224150308.GU32521@atomide.com \
--to=tony@atomide.com \
--cc=Mark.Rutland@arm.com \
--cc=bcousson@baylibre.com \
--cc=jason@lakedaemon.net \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=marc.zyngier@arm.com \
--cc=nm@ti.com \
--cc=robh+dt@kernel.org \
--cc=ssantosh@kernel.org \
--cc=tglx@linutronix.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.