android_kernel_xiaomi_sm8450/drivers/input
Michael Hennerich b584efc9ea Input: ad7879 - prevent invalid finger data reports
Considering following scenario - the touch is present on the screen
at the beginning of the last conversion sequence, but by the time
the last sequence is finished, the finger is lift off. The AD7879 data
available interrupt signals (DAV) completion, however some X,Y values
are not valid because the screen inputs were floating during the
acquisition.

The AD7877 acts differently here, since it only asserts DAV if the
touch is still present when the conversion sequence finished.

Based on the fact that this can only happen in the last sample of the
repeated conversion sequence, we simply skip the last (short glitches
are filtered by the AD7879 internal median and average filters).
This doesn't cause noticeable side effects, since the minimum conversion
interval is 9.44ms. We receive ~100 waypoint samples per second, so we
simply delay the result by 9.44ms.

We also reject samples where pressure is greater than pressure_max.

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-10-28 22:32:50 -07:00
..
gameport Input: emu10k1 - do not leave device enabled when probe fails 2010-10-13 07:49:23 -07:00
joystick Input: fix faulty XXinput_* calls 2010-08-13 12:03:24 -07:00
keyboard Input: adp5588-keys - use more obvious i2c_device_id name string 2010-10-18 17:48:11 -07:00
misc Input: ab8500-ponkey - fix IRQ freeing in error path 2010-10-24 21:56:17 -07:00
mouse Merge branch 'for-linus' into next 2010-10-17 21:20:19 -07:00
serio Input: serio - add support for PS2Mult multiplexer protocol 2010-10-18 09:33:31 -07:00
tablet Input: wacom - specify Cinitq supported tools 2010-10-24 21:56:32 -07:00
touchscreen Input: ad7879 - prevent invalid finger data reports 2010-10-28 22:32:50 -07:00
apm-power.c Input: apm-power - fix crash when unloading modules 2008-03-24 11:02:06 -04:00
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c Merge branch 'next' into for-linus 2010-10-24 22:11:17 -07:00
ff-core.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
ff-memless.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
fixp-arith.h changed email 2007-10-20 00:47:32 +02:00
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h [IA64] Remove COMPAT_IA32 support 2010-02-08 10:42:17 -08:00
input-polldev.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
input.c Input: add support for large scancodes 2010-09-09 22:00:50 -07:00
joydev.c Input: joydev - fix JSIOCSAXMAP ioctl 2010-09-21 00:59:43 -07:00
Kconfig Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2009-12-10 09:34:40 -08:00
Makefile Input: add generic support for sparse keymaps 2009-12-07 09:26:35 -08:00
mousedev.c Input: mousedev - correct lockdep annotation 2010-10-17 21:11:36 -07:00
sparse-keymap.c Input: sparse-keymap - switch to using new keycode interface 2010-09-09 22:01:07 -07:00
xen-kbdfront.c x86: early PV on HVM features initialization. 2010-07-22 16:45:35 -07:00