[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID:
<TYCPR01MB112692A2801DFD822EF124BE486512@TYCPR01MB11269.jpnprd01.prod.outlook.com>
Date: Mon, 19 Feb 2024 17:39:09 +0000
From: Biju Das <biju.das.jz@...renesas.com>
To: Marc Zyngier <maz@...nel.org>, Dmitry Baryshkov
<dmitry.baryshkov@...aro.org>
CC: "tip-bot2@...utronix.de" <tip-bot2@...utronix.de>,
"apatel@...tanamicro.com" <apatel@...tanamicro.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-tip-commits@...r.kernel.org" <linux-tip-commits@...r.kernel.org>,
"tglx@...utronix.de" <tglx@...utronix.de>, "geert@...ux-m68k.org"
<geert@...ux-m68k.org>, "linux-renesas-soc@...r.kernel.org"
<linux-renesas-soc@...r.kernel.org>, "x86@...nel.org" <x86@...nel.org>
Subject: RE: [tip: irq/msi] genirq/irqdomain: Remove the param count
restriction from select()
Hi Marc and Dmitry,
> -----Original Message-----
> From: Biju Das
> Sent: Monday, February 19, 2024 4:39 PM
> Subject: RE: [tip: irq/msi] genirq/irqdomain: Remove the param count
> restriction from select()
>
> Hi Marc Zyngier,
>
> Thanks for the feedback.
>
> > -----Original Message-----
> > From: Marc Zyngier <maz@...nel.org>
> > Sent: Monday, February 19, 2024 3:57 PM
> > Subject: Re: [tip: irq/msi] genirq/irqdomain: Remove the param count
> > restriction from select()
> >
> > On Mon, 19 Feb 2024 15:50:36 +0000,
> > Biju Das <biju.das.jz@...renesas.com> wrote:
> > >
> > > > Now that the GIC-v3 callback can handle invocation with a fwspec
> > > > parameter count of 0 lift the restriction in the core code and
> > > > invoke select() unconditionally when the domain provides it.
> > >
> > > This patch breaks on RZ/G2L SMARC EVK as of_phandle_args_to_fwspec
> > > count() is called after irq_find_matching_fwspec() is causing
> > > fwspec->param_count=0 and this results in boot failure as the patch
> > removes the check.
> > >
> > > Maybe we need to revert this patch or fix the fundamental issue.
> > >
> > > Cheers,
> > > Biju
> > > ---
> > > kernel/irq/irqdomain.c | 2 +-
> > > 1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/kernel/irq/irqdomain.c b/kernel/irq/irqdomain.c index
> > > 0bdef4f..8fee379 100644
> > > --- a/kernel/irq/irqdomain.c
> > > +++ b/kernel/irq/irqdomain.c
> > > @@ -448,7 +448,7 @@ struct irq_domain
> > > *irq_find_matching_fwspec(struct
> > irq_fwspec *fwspec,
> > > */
> > > mutex_lock(&irq_domain_mutex);
> > > list_for_each_entry(h, &irq_domain_list, link) {
> > > - if (h->ops->select && fwspec->param_count)
> > > + if (h->ops->select)
> > > rc = h->ops->select(h, fwspec, bus_token);
> > > else if (h->ops->match)
> > > rc = h->ops->match(h, to_of_node(fwnode), bus_token);
> > >
> > >
> >
> > Dmitry posted his take on this at [1], and I have suggested another
> > possible fix in my reply.
> >
> > Could you please give both patches a go?
>
> I tested and confirm both the patches looks good.
Please let me know the details of the final patch, so that I can test and
add tested-by tag for Renesas RZ/G2L platforms.
Cheers,
Biju
Powered by blists - more mailing lists