* [PATCH v2] nfc: nxp-nci: remove interrupt trigger type
@ 2026-02-05 11:11 Carl Lee via B4 Relay
2026-02-07 5:20 ` patchwork-bot+netdevbpf
2026-03-09 18:13 ` Luca Stefani
0 siblings, 2 replies; 4+ messages in thread
From: Carl Lee via B4 Relay @ 2026-02-05 11:11 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: netdev, linux-kernel, carl.lee, peter.shen, colin.huang2
From: Carl Lee <carl.lee@amd.com>
For NXP NCI devices (e.g. PN7150), the interrupt is level-triggered and
active high, not edge-triggered.
Using IRQF_TRIGGER_RISING in the driver can cause interrupts to fail
to trigger correctly.
Remove IRQF_TRIGGER_RISING and rely on the IRQ trigger type configured
via Device Tree.
Signed-off-by: Carl Lee <carl.lee@amd.com>
---
This v2 of the series includes Krzysztof Kozlowski in the review list
for NXP-NCI NFC.
This series removes IRQF_TRIGGER_RISING in nxp-nci driver,
relying on the IRQ trigger type specified via Device Tree.
---
Changes in v2:
- Include Krzysztof Kozlowski in the review list for NXP-NCI NFC.
- Link to v1: https://lore.kernel.org/r/20260204-fc-nxp-nci-remove-interrupt-trigger-type-v1-1-3bde91593173@amd.com
---
drivers/nfc/nxp-nci/i2c.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/nfc/nxp-nci/i2c.c b/drivers/nfc/nxp-nci/i2c.c
index 049662ffdf97..6a5ce8ff91f0 100644
--- a/drivers/nfc/nxp-nci/i2c.c
+++ b/drivers/nfc/nxp-nci/i2c.c
@@ -305,7 +305,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client)
r = request_threaded_irq(client->irq, NULL,
nxp_nci_i2c_irq_thread_fn,
- IRQF_TRIGGER_RISING | IRQF_ONESHOT,
+ IRQF_ONESHOT,
NXP_NCI_I2C_DRIVER_NAME, phy);
if (r < 0)
nfc_err(&client->dev, "Unable to register IRQ handler\n");
---
base-commit: 4c87cdd0328495759f6e9f9f4e1e53ef8032a76f
change-id: 20260204-fc-nxp-nci-remove-interrupt-trigger-type-d778323b3b81
Best regards,
--
Carl Lee <carl.lee@amd.com>
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v2] nfc: nxp-nci: remove interrupt trigger type
2026-02-05 11:11 [PATCH v2] nfc: nxp-nci: remove interrupt trigger type Carl Lee via B4 Relay
@ 2026-02-07 5:20 ` patchwork-bot+netdevbpf
2026-03-09 18:13 ` Luca Stefani
1 sibling, 0 replies; 4+ messages in thread
From: patchwork-bot+netdevbpf @ 2026-02-07 5:20 UTC (permalink / raw)
To: Carl Lee; +Cc: krzk, netdev, linux-kernel, peter.shen, colin.huang2
Hello:
This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:
On Thu, 05 Feb 2026 19:11:39 +0800 you wrote:
> From: Carl Lee <carl.lee@amd.com>
>
> For NXP NCI devices (e.g. PN7150), the interrupt is level-triggered and
> active high, not edge-triggered.
>
> Using IRQF_TRIGGER_RISING in the driver can cause interrupts to fail
> to trigger correctly.
>
> [...]
Here is the summary with links:
- [v2] nfc: nxp-nci: remove interrupt trigger type
https://git.kernel.org/netdev/net-next/c/57be33f85e36
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v2] nfc: nxp-nci: remove interrupt trigger type
2026-02-05 11:11 [PATCH v2] nfc: nxp-nci: remove interrupt trigger type Carl Lee via B4 Relay
2026-02-07 5:20 ` patchwork-bot+netdevbpf
@ 2026-03-09 18:13 ` Luca Stefani
2026-03-11 9:50 ` Carl Lee
1 sibling, 1 reply; 4+ messages in thread
From: Luca Stefani @ 2026-03-09 18:13 UTC (permalink / raw)
To: Carl Lee, Krzysztof Kozlowski
Cc: netdev, linux-kernel, peter.shen, colin.huang2
On 05/02/2026 12:11, Carl Lee wrote:
> For NXP NCI devices (e.g. PN7150), the interrupt is level-triggered and
> active high, not edge-triggered.
>
> Using IRQF_TRIGGER_RISING in the driver can cause interrupts to fail
> to trigger correctly.
>
> Remove IRQF_TRIGGER_RISING and rely on the IRQ trigger type configured
> via Device Tree.
>
> Signed-off-by: Carl Lee <carl.lee@amd.com>
> ---
> This v2 of the series includes Krzysztof Kozlowski in the review list
> for NXP-NCI NFC.
>
> This series removes IRQF_TRIGGER_RISING in nxp-nci driver,
> relying on the IRQ trigger type specified via Device Tree.
> ---
> Changes in v2:
> - Include Krzysztof Kozlowski in the review list for NXP-NCI NFC.
> - Link to v1: https://lore.kernel.org/r/20260204-fc-nxp-nci-remove-interrupt-trigger-type-v1-1-3bde91593173@amd.com
> ---
> drivers/nfc/nxp-nci/i2c.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/nfc/nxp-nci/i2c.c b/drivers/nfc/nxp-nci/i2c.c
> index 049662ffdf97..6a5ce8ff91f0 100644
> --- a/drivers/nfc/nxp-nci/i2c.c
> +++ b/drivers/nfc/nxp-nci/i2c.c
> @@ -305,7 +305,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client)
>
> r = request_threaded_irq(client->irq, NULL,
> nxp_nci_i2c_irq_thread_fn,
> - IRQF_TRIGGER_RISING | IRQF_ONESHOT,
> + IRQF_ONESHOT,
This is causing an IRQ storm on my ACPI device that eats away a core of
my cpu...
I'm not sure how this should be fixed but by looking at other drivers
they all use irq_get_trigger_type() and then apply extra bits on top.
If there's no clear path that handles both ACPI+DT I'll upload a revert.
> NXP_NCI_I2C_DRIVER_NAME, phy);
> if (r < 0)
> nfc_err(&client->dev, "Unable to register IRQ handler\n");
>
> ---
> base-commit: 4c87cdd0328495759f6e9f9f4e1e53ef8032a76f
> change-id: 20260204-fc-nxp-nci-remove-interrupt-trigger-type-d778323b3b81
>
> Best regards,
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v2] nfc: nxp-nci: remove interrupt trigger type
2026-03-09 18:13 ` Luca Stefani
@ 2026-03-11 9:50 ` Carl Lee
0 siblings, 0 replies; 4+ messages in thread
From: Carl Lee @ 2026-03-11 9:50 UTC (permalink / raw)
To: Luca Stefani
Cc: netdev, linux-kernel, krzk, peter.shen, colin.huang2, carl.lee
On Mon, Mar 09, 2026 at 07:13:18PM +0100, Luca Stefani wrote:
>
> On 05/02/2026 12:11, Carl Lee wrote:
> > For NXP NCI devices (e.g. PN7150), the interrupt is level-triggered and
> > active high, not edge-triggered.
> >
> > Using IRQF_TRIGGER_RISING in the driver can cause interrupts to fail
> > to trigger correctly.
> >
> > Remove IRQF_TRIGGER_RISING and rely on the IRQ trigger type configured
> > via Device Tree.
> >
> > Signed-off-by: Carl Lee <carl.lee@amd.com>
> > ---
> > This v2 of the series includes Krzysztof Kozlowski in the review list
> > for NXP-NCI NFC.
> >
> > This series removes IRQF_TRIGGER_RISING in nxp-nci driver,
> > relying on the IRQ trigger type specified via Device Tree.
> > ---
> > Changes in v2:
> > - Include Krzysztof Kozlowski in the review list for NXP-NCI NFC.
> > - Link to v1: https://lore.kernel.org/r/20260204-fc-nxp-nci-remove-interrupt-trigger-type-v1-1-3bde91593173@amd.com
> > ---
> > drivers/nfc/nxp-nci/i2c.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/nfc/nxp-nci/i2c.c b/drivers/nfc/nxp-nci/i2c.c
> > index 049662ffdf97..6a5ce8ff91f0 100644
> > --- a/drivers/nfc/nxp-nci/i2c.c
> > +++ b/drivers/nfc/nxp-nci/i2c.c
> > @@ -305,7 +305,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client)
> > r = request_threaded_irq(client->irq, NULL,
> > nxp_nci_i2c_irq_thread_fn,
> > - IRQF_TRIGGER_RISING | IRQF_ONESHOT,
> > + IRQF_ONESHOT,
>
> This is causing an IRQ storm on my ACPI device that eats away a core of my
> cpu...
>
> I'm not sure how this should be fixed but by looking at other drivers they
> all use irq_get_trigger_type() and then apply extra bits on top.
>
> If there's no clear path that handles both ACPI+DT I'll upload a revert.
>
Thanks for the report.
I’ve sent a follow-up patch series that restores a fallback to the
historically used rising-edge trigger when the firmware does not provide
a trigger type. This should prevent the IRQ storm on ACPI platforms
while keeping proper behavior on DT-based systems.
Patch series link: https://lore.kernel.org/all/20260311-nfc-nxp-nci-i2c-restore-irq-trigger-fallback-v1-1-9e20714411d7@amd.com/
> > NXP_NCI_I2C_DRIVER_NAME, phy);
> > if (r < 0)
> > nfc_err(&client->dev, "Unable to register IRQ handler\n");
> >
> > ---
> > base-commit: 4c87cdd0328495759f6e9f9f4e1e53ef8032a76f
> > change-id: 20260204-fc-nxp-nci-remove-interrupt-trigger-type-d778323b3b81
> >
> > Best regards,
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-03-11 9:50 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-05 11:11 [PATCH v2] nfc: nxp-nci: remove interrupt trigger type Carl Lee via B4 Relay
2026-02-07 5:20 ` patchwork-bot+netdevbpf
2026-03-09 18:13 ` Luca Stefani
2026-03-11 9:50 ` Carl Lee
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox