Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

HID: intel-thc-hid: Intel-quickspi: switch first interrupt from level to edge detection

The original implementation used level detection for the first interrupt
after device reset to avoid potential interrupt line noise and missed
interrupts during the initialization phase. However, this approach
introduced unintended side effects when tested with certain touch panels,
including:
- Delayed hardware interrupt response
- Multiple spurious interrupt triggers

Switching back to edge detection for the first interrupt resolves these
issues while maintaining reliable interrupt handling.

Extensive testing across multiple platforms with touch panels from
various vendors confirms this change introduces no regressions.

[jkosina@suse.com: properly capitalize shortlog]
Fixes: 9d8d51735a3a ("HID: intel-thc-hid: intel-quickspi: Add HIDSPI protocol implementation")
Tested-by: Rui Zhang <rui1.zhang@intel.com>
Signed-off-by: Even Xu <even.xu@intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>

authored by

Even Xu and committed by
Jiri Kosina
8fe2cd8e 6c26c055

+1 -2
+1 -2
drivers/hid/intel-thc-hid/intel-quickspi/quickspi-protocol.c
··· 280 280 281 281 qsdev->reset_ack = false; 282 282 283 - /* First interrupt uses level trigger to avoid missing interrupt */ 284 - thc_int_trigger_type_select(qsdev->thc_hw, false); 283 + thc_int_trigger_type_select(qsdev->thc_hw, true); 285 284 286 285 ret = acpi_tic_reset(qsdev); 287 286 if (ret)