RE: [PATCH v4] ACPI: AGDI: Add interrupt signaling mode support
From: Kazuhiro Abe (Fujitsu) <hidden>
Date: 2025-11-14 08:21:20
Also in:
linux-acpi, lkml
Hi Charlie,
Hi All— On Mon, Nov 10, 2025 at 07:38:17AM +0000, Kazuhiro Abe (Fujitsu) wrote:quoted
Hi Will,quoted
Hi Will,quoted
[You don't often get email from will@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:quoted
On 2025/10/17 15:39, Kazuhiro Abe wrote:quoted
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 <redacted> Signed-off-by: Kazuhiro Abe <redacted> --- 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@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 anerror (-EINVAL).quoted
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.quoted
Best Regards, Kazuhiro Abequoted
Best Regards, Kazuhiro Abequoted
WillBest—Charlie