On Tue, Jul 28, 2020 at 12:16:37AM +0900, Jiada Wang wrote: > From: Nick Dyer <nick.dyer@xxxxxxxxxxx> > > The workaround of reading all messages until an invalid is received is a > way of forcing the CHG line high, which means that when using > edge-triggered interrupts the interrupt can be acquired. > > With level-triggered interrupts the workaround is unnecessary. > > Also, most recent maXTouch chips have a feature called RETRIGEN which, when > enabled, reasserts the interrupt line every cycle if there are messages > waiting. This also makes the workaround unnecessary. > > Note: the RETRIGEN feature is only in some firmware versions/chips, it's > not valid simply to enable the bit. > > Signed-off-by: Nick Dyer <nick.dyer@xxxxxxxxxxx> > Acked-by: Benson Leung <bleung@xxxxxxxxxxxx> > Acked-by: Yufeng Shen <miletus@xxxxxxxxxxxx> > (cherry picked from ndyer/linux/for-upstream commit 1ae4e8281e491b22442cd5acdfca1862555f8ecb) > [gdavis: Fix conflicts due to v4.6-rc7 commit eb43335c4095 ("Input: > atmel_mxt_ts - use mxt_acquire_irq in mxt_soft_reset").] > Signed-off-by: George G. Davis <george_davis@xxxxxxxxxx> > [jiada: reset use_retrigen_workaround at beginning of mxt_check_retrigen() > call mxt_check_retrigen() after mxt_acquire_irq() in mxt_initialize() > replace white-spaces with tab for MXT_COMMS_RETRIGEN > Changed to check if IRQ is level type] > Signed-off-by: Jiada Wang <jiada_wang@xxxxxxxxxx> Applied, thank you. -- Dmitry