linux/drivers/input
Marek Vasut 77b071e793 Input: smtpe-ts - wait 50mS until polling for pen-up
Wait a little bit longer, 50mS instead of 20mS, until the driver starts
polling for pen-up. The problematic behavior before this patch is applied
is as follows. The behavior was observed on the STMPE610QTR controller.

Upon a physical pen-down event, the touchscreen reports one set of x-y-p
coordinates and a pen-down event. After that, the pen-up polling is
triggered and since the controller is not ready yet, the polling mistakenly
detects a pen-up event while the physical state is still such that the pen
is down on the touch surface.

The pen-up handling flushes the controller FIFO, so after that, all the
samples in the controller are discarded. The controller becomes ready
shortly after this bogus pen-up handling and does generate again a pen-down
interrupt. This time, the controller contains x-y-p samples which all read
as zero. Since pressure value is zero, this set of samples is effectively
ignored by userland.

In the end, the driver just bounces between pen-down and bogus pen-up
handling, generating no useful results. Fix this by giving the controller a
bit more time before polling it for pen-up.

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-05-21 17:06:13 -07:00
..
gameport Input: initialize device counter variables with -1 2014-12-03 15:27:17 -08:00
joystick Input: xpad - add rumble support for Xbox One controller 2015-04-14 17:01:53 -07:00
keyboard Input: lm8333 - fix broken email address 2015-04-20 10:30:10 -07:00
misc Input: mma8450 - convert to using managed resources 2015-03-24 11:35:06 -07:00
mouse Input: vmmouse - do not reference non-existing version of X driver 2015-05-20 14:47:26 -07:00
serio Input: gscps2 - drop pci_ids dependency 2015-04-06 09:38:08 -07:00
tablet Input: gtco - use sign_extend32() for sign extension 2015-01-26 23:07:45 -08:00
touchscreen Input: smtpe-ts - wait 50mS until polling for pen-up 2015-05-21 17:06:13 -07:00
Kconfig Input: mousedev - allow disabling even without CONFIG_EXPERT 2013-10-31 08:46:07 -07:00
Makefile Input: matrix-keymap - uninline and prepare for device tree support 2012-05-10 22:38:47 -07:00
apm-power.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
evbug.c
evdev.c Input: evdev - do not queue SYN_DROPPED if queue is empty 2015-02-05 19:29:02 -08:00
ff-core.c Input: ff-core - use new debug macros 2015-04-14 14:29:49 -07:00
ff-memless.c Input: random formatting fixes 2012-08-21 22:29:49 -07:00
input-compat.c compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-compat.h compat: Use COMPAT_USE_64BIT_TIME in the input subsystem 2012-02-20 12:48:47 -08:00
input-mt.c Input: MT - make slot assignment work for overcovered solutions 2015-04-06 09:37:33 -07:00
input-polldev.c Input: implement managed polled input devices 2014-05-14 16:40:04 -07:00
input.c Input: do not try to filter out events if handler is not a filter 2015-01-08 13:53:34 -08:00
joydev.c Input: joydev - don't classify the vmmouse as a joystick 2015-05-21 15:58:27 -07:00
matrix-keymap.c input: Export matrix_keypad_parse_of_params() 2013-04-19 00:31:13 +02:00
mousedev.c Input: mousedev - fix race when creating mixed device 2014-03-29 14:44:23 -07:00
sparse-keymap.c treewide: Fix typo in Documentation/DocBook 2014-02-19 14:58:17 +01:00