linux_dsm_epyc7002/drivers/input/touchscreen
Sebastian Andrzej Siewior 8c896308fe input: ti_am335x_adc: use only FIFO0 and clean up a little
The driver programs a threshold of "coordinate_readouts" say 5. The
REG_FIFO0THR registers says it should it be programmed to "threshold
minus one". The driver does not expect just 5 coordinates but 5 * 2 + 2.
Multiplied by two because 5 for X and 5 for Y and plus 2 because we have
two Z.
The whole thing kind of works because It reads the 5 coordinates for X
and Y from FIFO0 and FIFO1 and the last element in each FIFO is ignored
within the loop and read later.
Nothing guaranties that FIFO1 is ready by the time it is read. In fact I
could see that that FIFO1 reaturns for Y channels 8,9, 10, 12, 6 and for
Y channel 7 for Z. The problem is that channel 7 and channel 12 got
somehow mixed up.
The other Problem is that FIFO1 is also used by the IIO part leading to
wrong results if both (tsc & adc) are used.

The patch tries to clean up the whole thing a little:
- Remove the +1 and -1 in REG_STEPCONFIG, REG_STEPDELAY and its counter
  part in the for loop. This is just confusing.

- Use only FIFO0 in TSC. The fifo has space for 64 entries so should be
  fine.

- Read the whole FIFO in one function and check the channel.

- in case we dawdle around, make sure we only read a multiple of our
  coordinate set. On the second interrupt we will cleanup the remaining
  enties.

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
2013-06-12 18:50:22 +02:00
..
88pm860x-ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
ad7877.c Input: ad7877 - use spi_get_drvdata() and spi_set_drvdata() 2013-04-07 21:02:25 -07:00
ad7879-i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
ad7879-spi.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
ad7879.c Merge branch 'for-linus' to bring in change ensuring that drivers that 2012-07-07 16:07:48 -07:00
ad7879.h Input: ad7879 - consolidate PM methods 2011-11-15 22:24:22 -08:00
ads7846.c Input: ads7846 - use spi_get_drvdata() and spi_set_drvdata() 2013-04-07 21:02:21 -07:00
atmel_mxt_ts.c Atmel MXT touchscreen: increase reset timeouts 2013-03-09 10:31:01 -08:00
atmel_tsadcc.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-12-18 12:46:37 -08:00
atmel-wm97xx.c Input: atmel-wm97xx - use module_platform_driver_probe macro 2013-03-17 21:37:35 -07:00
auo-pixcir-ts.c Input: auo-pixcir-ts - switch to using managed resources 2013-02-25 23:02:57 -08:00
bu21013_ts.c Input: bu21013_ts - add support for Device Tree booting 2012-11-27 23:05:19 -08:00
cy8ctmg110_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
cyttsp_core.c Input: MT - Add flags to input_mt_init_slots() 2012-09-19 19:50:18 +02:00
cyttsp_core.h Input: add Cypress TTSP capacitive multi-touch screen support 2012-01-31 00:18:36 -08:00
cyttsp_i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
cyttsp_spi.c Input: cyttsp-spi - remove duplicate MODULE_ALIAS() 2013-02-16 22:12:45 -08:00
da9034-ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
da9052_tsi.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-12-18 12:46:37 -08:00
dynapro.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
edt-ft5x06.c Input: edt-ft5x06 - remove redundant null check before kfree 2013-03-31 00:21:34 -07:00
eeti_ts.c Input: eeti_ts - remove redundant null check 2013-03-31 00:22:27 -07:00
egalax_ts.c Input: egalax_ts - ABS_MT_POSITION_Y not reported well 2013-05-05 20:13:10 -07:00
elo.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
fujitsu_ts.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
gunze.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
hampshire.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
hp680_ts_input.c Input: hp680_ts_input - ensure arguments to request_irq and free_irq are compatible 2012-03-12 22:17:56 -07:00
htcpen.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
ili210x.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
inexio.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
intel-mid-touch.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
jornada720_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2013-02-20 11:00:43 -08:00
lpc32xx_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
mainstone-wm97xx.c Input: touchscreen - use macro module_platform_driver() 2011-11-30 23:41:43 -08:00
Makefile Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-12-18 12:46:37 -08:00
max11801_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
mc13783_ts.c Input: mc13783_ts - use module_platform_driver_probe() 2013-03-17 21:37:39 -07:00
mcs5000_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
migor_ts.c Input: convert I2C drivers to use module_i2c_driver() 2012-03-16 23:06:19 -07:00
mk712.c Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
mms114.c Input: mms114 - Fix regulator enable and disable paths 2013-03-10 18:34:07 -07:00
mtouch.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
pcap_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
penmount.c Input: MT - Add flags to input_mt_init_slots() 2012-09-19 19:50:18 +02:00
pixcir_i2c_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
s3c2410_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
st1232.c Input: st1232 - add reset pin handling 2013-04-15 10:00:44 -07:00
stmpe-ts.c Input: stmpe-ts - report BTN_TOUCH event 2012-12-16 23:16:03 -08:00
ti_am335x_tsc.c input: ti_am335x_adc: use only FIFO0 and clean up a little 2013-06-12 18:50:22 +02:00
tnetv107x-ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
touchit213.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
touchright.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
touchwin.c Input: serio - use module_serio_driver 2012-04-04 09:25:43 -07:00
tps6507x-ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
tsc40.c Input: tsc40 - remove wrong announcement of pressure support 2012-10-30 23:40:07 -07:00
tsc2005.c Input: tsc2005 - add MODULE_ALIAS 2013-02-16 22:12:40 -08:00
tsc2007.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
ucb1400_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
usbtouchscreen.c Input: usbtouchscreen - initialize eGalax devices 2012-09-04 22:17:56 -07:00
w90p910_ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
wacom_i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
wacom_w8001.c Input: MT - Add flags to input_mt_init_slots() 2012-09-19 19:50:18 +02:00
wm97xx-core.c Input: wm97xx - drop out of range inputs 2013-03-12 08:50:18 -07:00
wm831x-ts.c Input: wm831x-ts - convert to devm_input_allocate_device() 2012-12-24 09:52:25 -08:00
wm9705.c Input: wm97xx - mark channels which need pen_down 2011-07-04 19:31:47 -07:00
wm9712.c Input: wm9712 - fix dev_dbg newlines 2013-03-12 08:50:20 -07:00
wm9713.c Input: wm97xx - mark channels which need pen_down 2011-07-04 19:31:47 -07:00
zylonite-wm97xx.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2012-01-10 10:55:52 -08:00