Takashi Iwai b329c1
From e023cc4abde3c01b895660b0e5a8488deb36b8c1 Mon Sep 17 00:00:00 2001
Takashi Iwai b329c1
From: Jeff LaBundy <jeff@labundy.com>
Takashi Iwai b329c1
Date: Tue, 3 Jan 2023 11:58:59 -0600
Takashi Iwai b329c1
Subject: [PATCH] Input: iqs269a - increase interrupt handler return delay
Takashi Iwai b329c1
Git-commit: e023cc4abde3c01b895660b0e5a8488deb36b8c1
Takashi Iwai b329c1
Patch-mainline: v6.3-rc1
Takashi Iwai b329c1
References: git-fixes
Takashi Iwai b329c1
Takashi Iwai b329c1
The time the device takes to deassert its RDY output following an
Takashi Iwai b329c1
I2C stop condition scales with the core clock frequency.
Takashi Iwai b329c1
Takashi Iwai b329c1
To prevent level-triggered interrupts from being reasserted after
Takashi Iwai b329c1
the interrupt handler returns, increase the time before returning
Takashi Iwai b329c1
to account for the worst-case delay (~140 us) plus margin.
Takashi Iwai b329c1
Takashi Iwai b329c1
Fixes: 04e49867fad1 ("Input: add support for Azoteq IQS269A")
Takashi Iwai b329c1
Signed-off-by: Jeff LaBundy <jeff@labundy.com>
Takashi Iwai b329c1
Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
Takashi Iwai b329c1
Link: https://lore.kernel.org/r/Y7Rs484ypy4dab5G@nixie71
Takashi Iwai b329c1
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Takashi Iwai b329c1
Acked-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai b329c1
Takashi Iwai b329c1
---
Takashi Iwai b329c1
 drivers/input/misc/iqs269a.c | 2 +-
Takashi Iwai b329c1
 1 file changed, 1 insertion(+), 1 deletion(-)
Takashi Iwai b329c1
Takashi Iwai b329c1
diff --git a/drivers/input/misc/iqs269a.c b/drivers/input/misc/iqs269a.c
Takashi Iwai b329c1
index 7cda4a9a8560..e299b22b6fdb 100644
Takashi Iwai b329c1
--- a/drivers/input/misc/iqs269a.c
Takashi Iwai b329c1
+++ b/drivers/input/misc/iqs269a.c
Takashi Iwai b329c1
@@ -153,7 +153,7 @@
Takashi Iwai b329c1
 #define IQS269_PWR_MODE_POLL_SLEEP_US		IQS269_ATI_POLL_SLEEP_US
Takashi Iwai b329c1
 #define IQS269_PWR_MODE_POLL_TIMEOUT_US		IQS269_ATI_POLL_TIMEOUT_US
Takashi Iwai b329c1
 
Takashi Iwai b329c1
-#define iqs269_irq_wait()			usleep_range(100, 150)
Takashi Iwai b329c1
+#define iqs269_irq_wait()			usleep_range(200, 250)
Takashi Iwai b329c1
 
Takashi Iwai b329c1
 enum iqs269_local_cap_size {
Takashi Iwai b329c1
 	IQS269_LOCAL_CAP_SIZE_0,
Takashi Iwai b329c1
-- 
Takashi Iwai b329c1
2.35.3
Takashi Iwai b329c1