From nobody Thu Apr 9 03:31:37 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 59F733E3D8D; Wed, 11 Mar 2026 09:26:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773221203; cv=none; b=VAXvRaXn9DH3GzlK7+rLQ8LRYFPVrFVq8/YgT0Nl+mE4mjY4jto0NX1mMSeeKriagYD3xo/fa5lyYWJHNX9nlIRsLzrnDq78UmpGH9lPcnAWttM8q7we4+KU0WVe/I5r6S4MEwS4PvlcEEEgSRuboj7MhWZbEjY8GKMEQwT+7Vs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773221203; c=relaxed/simple; bh=2YgEmPb/8Z5ies75f85PikO3mop/46dFbxulERPGDEo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To; b=RjMjfh4rG1/WiZ8Hxt9DvjB3TurYlaMqUAE1HqQUYYvVZzEFQhrhnVVM3jYvbVbLwiKHafu64/9zUsKXXoBOWs42xrb5qeQL00w+sNtVshrf3Mn+fDroUkSf+w8JlUJYbM2tv4/Dw8jNWlbOPOkwntpfeORHPBIrNz9meZouaoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=lo1m1vQx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="lo1m1vQx" Received: by smtp.kernel.org (Postfix) with ESMTPS id A16C7C2BC86; Wed, 11 Mar 2026 09:26:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773221202; bh=2YgEmPb/8Z5ies75f85PikO3mop/46dFbxulERPGDEo=; h=From:Date:Subject:To:Reply-To:From; b=lo1m1vQxMJPYPxVRLEfwSsXUa6HyH2HnFjpGRvXHm7w6feEnERo2JNaJ1O+N09oqF rrU6AfWVqs27omlQgl2K5vDOendlFXjqV/kDZw5Oi+L/zQab440vQFNX8QOXXLFlqB KRr+atf8zQn/lQZGMrtdUXaz7w5xiTOKLMRKuRzXhcv9c0glKfVgliwCBwcqTwLB/m ZegedTK+f6OJPzppOP/ra5zRPqFP2oRZ33CUgsJ2Ih06CLCBHudPr7UDKSdib1js4Z p0SqUlZmnSoHUtixcDbvalQGvejpVX77aa2R0T7DzsKp/0H6I2Uh6b+X9FM7eJ4MQ1 fRsoBxrVcVwuQ== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8CB7F104950E; Wed, 11 Mar 2026 09:26:42 +0000 (UTC) From: Carl Lee via B4 Relay Date: Wed, 11 Mar 2026 17:26:39 +0800 Subject: [PATCH] nfc: nxp-nci: i2c: restore IRQ trigger fallback Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260311-nfc-nxp-nci-i2c-restore-irq-trigger-fallback-v1-1-9e20714411d7@amd.com> X-B4-Tracking: v=1; b=H4sIAE81sWkC/x2N0QqDMAwAf0XyvEBbp7D9iuyhi2kXJlFTGYL47 ys+Hhx3BxQ24QLP5gDjnxSZtYK/NUCfqJlRxsoQXOhd6z1qItR9QSVBCYTGZZutarbiZpIzG6Y 4Te9IX6QxPu6hax31DmpyMU6yX7vhdZ5/0iMdoX4AAAA= X-Change-ID: 20260311-nfc-nxp-nci-i2c-restore-irq-trigger-fallback-cda942530c60 To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, krzk@kernel.org, carl.lee@amd.com, peter.shen@amd.com, colin.huang2@amd.com X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1773221201; l=1872; i=carl.lee@amd.com; s=20260203; h=from:subject:message-id; bh=d9zEHKYZOWYj9HwgrSBRqAmlYHUoxnu970Vb9ocM+pQ=; b=PnTogQDYUwT2GIVK/ooEsD/zYmZXSC3pbnlbEbs1ziFsBf74kT27qLCG4pIgr8wN+zjSny8JF VwK4kMt5viMD7VLb1IGsh0A4SNk2pe7yvn1DGgAV4KToY8R3Xo4lLGs X-Developer-Key: i=carl.lee@amd.com; a=ed25519; pk=pyq7QaQvoxMg806KVkRwpCbiah+7ncWr4MBpK1AEyjA= X-Endpoint-Received: by B4 Relay for carl.lee@amd.com/20260203 with auth_id=623 X-Original-From: Carl Lee Reply-To: carl.lee@amd.com From: Carl Lee The driver previously relied on IRQF_TRIGGER_RISING when requesting the interrupt. This was removed to rely on the trigger type provided by firmware. However, some platforms do not propagate the interrupt trigger type to the IRQ descriptor, resulting in interrupts not being triggered. Use the trigger type provided by firmware when available and fall back to the historically used rising-edge trigger otherwise. Signed-off-by: Carl Lee --- drivers/nfc/nxp-nci/i2c.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/nfc/nxp-nci/i2c.c b/drivers/nfc/nxp-nci/i2c.c index 6a5ce8ff91f0..6339586a6a1b 100644 --- a/drivers/nfc/nxp-nci/i2c.c +++ b/drivers/nfc/nxp-nci/i2c.c @@ -268,6 +268,7 @@ static int nxp_nci_i2c_probe(struct i2c_client *client) struct device *dev =3D &client->dev; struct nxp_nci_i2c_phy *phy; int r; + unsigned long irqflags; =20 if (!i2c_check_functionality(client->adapter, I2C_FUNC_I2C)) { nfc_err(&client->dev, "Need I2C_FUNC_I2C\n"); @@ -303,9 +304,17 @@ static int nxp_nci_i2c_probe(struct i2c_client *client) if (r < 0) return r; =20 + /* Prefer the trigger type configured by firmware. + * Some platforms do not provide it, so fall back to the + * historically used rising-edge trigger. + */ + irqflags =3D irq_get_trigger_type(client->irq); + if (!irqflags) + irqflags =3D IRQF_TRIGGER_RISING; + r =3D request_threaded_irq(client->irq, NULL, nxp_nci_i2c_irq_thread_fn, - IRQF_ONESHOT, + irqflags | IRQF_ONESHOT, NXP_NCI_I2C_DRIVER_NAME, phy); if (r < 0) nfc_err(&client->dev, "Unable to register IRQ handler\n"); --- base-commit: 7109a2155340cc7b21f27e832ece6df03592f2e8 change-id: 20260311-nfc-nxp-nci-i2c-restore-irq-trigger-fallback-cda942530c= 60 Best regards, --=20 Carl Lee