[PATCH v4] ACPI: AGDI: Add interrupt signaling mode support

Kazuhiro Abe (Fujitsu) fj1078ii at fujitsu.com
Fri Nov 14 00:21:17 PST 2025


Hi Charlie,

> Hi All—
> 
> On Mon, Nov 10, 2025 at 07:38:17AM +0000, Kazuhiro Abe (Fujitsu) wrote:
> > Hi Will,
> >
> > > Hi Will,
> > >
> > > > [You don't often get email from will at kernel.org. Learn why this is
> > > > important at https://aka.ms/LearnAboutSenderIdentification ]
> > > >
> > > > On Mon, Oct 20, 2025 at 09:23:05PM +0800, Hanjun Guo wrote:
> > > > > On 2025/10/17 15:39, Kazuhiro Abe wrote:
> > > > > > AGDI has two types of signaling modes: SDEI and interrupt.
> > > > > > Currently, the AGDI driver only supports SDEI.
> > > > > > Therefore, add support for interrupt signaling mode The
> > > > > > interrupt vector is retrieved from the AGDI table, and call
> > > > > > panic function when an interrupt occurs.
> > > > > >
> > > > > > Reviewed-by: Ilkka Koskinen <ilkka at os.amperecomputing.com>
> > > > > > Signed-off-by: Kazuhiro Abe <fj1078ii at aa.jp.fujitsu.com>
> > > > > > ---
> > > > > > Hanjun, I have addressed all your comments.
> > > > > > Please review them.
> > > > > >
> > > > > > v3->v4
> > > > > >   - Add a comment to the flags member.
> > > > > >   - Fix agdi_interrupt_probe.
> > > > > >   - Fix agdi_interrupt_remove.
> > > > > >   - Add space in struct initializsation.
> > > > > >   - Delete curly braces.
> > > > >
> > > > > Looks good to me,
> > > > >
> > > > > Acked-by: Hanjun Guo <guohanjun at huawei.com>
> > > >
> > > > I wasn't cc'd on the original patch but I couldn't figure out why
> > > > it uses IRQF_NO_AUTOEN when requesting the irq given that the
> > > > first thing it does is enable it.
> > >
> > > I misunderstood the usage of request_irq and enable_irq.
> > > Since there's no need to separate them, I will remove IRQF_NO_AUTOEN
> > > and the enable_irq call, and send v5.
> >
> > I found out when calling request_nmi, removing IRQF_NO_AUTOEN results in an
> error (-EINVAL).
> > Therefore, I would like to keep IRQF_NO_AUTOEN specified.
> > If you have any comments on this version, please let me know.
> 
> Could it be that this is just a bug in `request_nmi`? I see the following:
> 
> if (!desc || (irq_settings_can_autoenable(desc) &&
>     !(irqflags & IRQF_NO_AUTOEN)) ||
>     !irq_settings_can_request(desc) ||
>     WARN_ON(irq_settings_is_per_cpu_devid(desc)) ||
>     !irq_supports_nmi(desc))
>         return -EINVAL;
> 
> Perhaps there is just a missing `!` before `irq_settings_can_autoenable`.

I tried this change without specifying NO_AUTOEN, but it resulted in an error.
__setup_irq succeeded, but irq_nmi_setup failed with -EINVAL.
I haven't investigated further beyond that point yet.

Best Regards,
Kazuhiro Abe

> 
> As far as I can tell it has always been wrong - git blame points me to the original
> commit where that code was introduced:
> 
> b525903c254da ("genirq: Provide basic NMI management for interrupt lines")
> 
> I looked and the only two callers are using `IRQF_NO_AUTOEN` so I guess it just
> hasn't been noticed yet.
> 
> Happy to send a patch to fix it.
> 
> >
> > Best Regards,
> > Kazuhiro Abe
> >
> > >
> > > Best Regards,
> > > Kazuhiro Abe
> > >
> > > >
> > > > Will
> 
> Best—Charlie



More information about the linux-arm-kernel mailing list