Re: [PATCH v10 16/21] irqchip: Add GICv2 specific ACPI boot support

From: Jason Cooper
Date: Wed Mar 11 2015 - 19:12:01 EST


Hey Grant,

On Wed, Mar 11, 2015 at 06:04:50PM +0000, Grant Likely wrote:
> On 11 Mar 2015 12:42, "Hanjun Guo" <hanjun.guo@xxxxxxxxxx> wrote:
> >
> > From: Tomasz Nowicki <tomasz.nowicki@xxxxxxxxxx>
> >
> > ACPI kernel uses MADT table for proper GIC initialization. It needs to
> > parse GIC related subtables, collect CPU interface and distributor
> > addresses and call driver initialization function (which is hardware
> > abstraction agnostic). In a similar way, FDT initialize GICv1/2.
> >
> > NOTE: This commit allow to initialize GICv1/2 basic functionality.
> > While now simple GICv2 init call is used, any further GIC features
> > require generic infrastructure for proper ACPI irqchip initialization.
> > That mechanism and stacked irqdomains to support GICv2 MSI/virtualization
> > extension, GICv3/4 and its ITS are considered as next steps.
> >
> > CC: Jason Cooper <jason@xxxxxxxxxxxxxx>
> > CC: Marc Zyngier <marc.zyngier@xxxxxxx>
> > CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
>
> BTW, Thomas is taking a bit of a break, do he is unlikely to give an ack
> here in a timely manner. I've not heard from Jason. Personally, I think we
> can proceed without their ack if everything else is in order (heck, I used
> to help with the irq subsystem, use me as an ack of you want). The patch is
> low impact and only had effect for ARM ACPI builds.

I'm not talking much, but I am tracking and collecting everything for irqchip.
We do have some other changes in this driver this time around. So it'd be nice
if I could take this.

I had reached out to Olof for his thoughts on this and he hasn't had enough
cycles to look at it. iirc, Marc reviewed a previous version and was happy with
the changes. My only question I had for Olof I'll put below:

> > diff --git a/drivers/irqchip/irqchip.c b/drivers/irqchip/irqchip.c
> > index 0fe2f71..afd1af3 100644
> > --- a/drivers/irqchip/irqchip.c
> > +++ b/drivers/irqchip/irqchip.c
> > @@ -8,6 +8,7 @@
> > * warranty of any kind, whether express or implied.
> > */
> >
> > +#include <linux/acpi_irq.h>
> > #include <linux/init.h>
> > #include <linux/of_irq.h>
> > #include <linux/irqchip.h>
> > @@ -26,4 +27,6 @@ extern struct of_device_id __irqchip_of_table[];
> > void __init irqchip_init(void)
> > {
> > of_irq_init(__irqchip_of_table);
> > +
> > + acpi_irq_init();
> > }

Is this in line with Olof's idea that providing a dtb would override ACPI?

I have no strong opinion on the matter personally. I haven't been able to
follow the ACPI discussion as closely as I would have liked, what with the new
job and all.

Just let me know and I can pull it in with other GIC changes for this cycle.
I'll do a topic branch in case other branches need to depend on this.

thx,

Jason.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/