[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <543BC138.3010109@arm.com>
Date: Mon, 13 Oct 2014 13:10:32 +0100
From: Marc Zyngier <marc.zyngier@....com>
To: "Joe.C" <yingjoe.chen@...iatek.com>
CC: Mark Rutland <Mark.Rutland@....com>,
"arm@...nel.org" <arm@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Jiang Liu <jiang.liu@...ux.intel.com>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"srv_heupstream@...iatek.com" <srv_heupstream@...iatek.com>,
"yingjoe.chen@...il.com" <yingjoe.chen@...il.com>,
"hc.yen@...iatek.com" <hc.yen@...iatek.com>,
"eddie.huang@...iatek.com" <eddie.huang@...iatek.com>,
"nathan.chung@...iatek.com" <nathan.chung@...iatek.com>,
"yh.chen@...iatek.com" <yh.chen@...iatek.com>,
Sascha Hauer <kernel@...gutronix.de>,
Olof Johansson <olof@...om.net>, Arnd Bergmann <arnd@...db.de>,
Pawel Moll <Pawel.Moll@....com>,
Russell King <linux@....linux.org.uk>,
Jason Cooper <jason@...edaemon.net>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Santosh Shilimkar <santosh.shilimkar@...com>,
Matt Porter <mporter@...aro.org>,
Marc Carino <marc.ceeeee@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
Sricharan R <r.sricharan@...com>,
Matthias Brugger <matthias.bgg@...il.com>,
"grant.likely@...aro.org" <grant.likely@...aro.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v3 3/7] irqchip: gic: Support hierarchy irq domain.
On 13/10/14 11:43, Joe.C wrote:
> On Thu, 2014-10-09 at 17:59 +0100, Marc Zyngier wrote:
>> On 09/10/14 15:29, Joe.C wrote
>>> @@ -952,7 +988,11 @@ void __init gic_init_bases(unsigned int gic_nr, int irq_start,
>>>
>>> gic_irqs -= hwirq_base; /* calculate # of irqs to allocate */
>>>
>>> - if (of_property_read_u32(node, "arm,routable-irqs",
>>> + if (IS_ENABLED(CONFIG_IRQ_DOMAIN_HIERARCHY) &&
>>> + of_find_property(node, "arm,irq-domain-hierarchy", NULL))
>>> + gic->domain = irq_domain_add_linear(node, gic_irqs,
>>> + &gic_irq_domain_hierarchy_ops, gic);
>>
>> I really think that looking for a property is the wrong thing to do. If
>> "node" is non-NULL, then we're pretty sure that we're initializing from
>> DT, and that a pure linear domain should be the right thing, leaving the
>> legacy stuff for the few non-DT platforms that are still around.
>>
>> Thanks,
>>
>> M.
>
> The only reason I introduce "arm,irq-domain-hierarchy" property is
> trying to keep original behavior when hierarchy irq domain is not used.
> Without this, when a board init GIC with DT, all driver will have to use
> devicetree. I'm not sure we want to break things like this.
I don't think we want to support a "middle of the road" setup, where the
GIC is probed by DT, but some devices have hardcoded interrupts.
> I will remove this and just use linear for all DT in my next version.
I came up with the attached patch, which allows me to boot my test
platform (together with the other fix I posted earlier).
Thanks,
M.
--
Jazz is not dead. It just smells funny...
View attachment "0001-fixup-irqchip-gic-Support-hierarchy-irq-domain.patch" of type "text/x-diff" (3711 bytes)
Powered by blists - more mailing lists