linux_dsm_epyc7002/drivers/input/touchscreen
Christian Engelmayer 4ef38351d7 Input: usbtouchscreen - separate report and transmit buffer size handling
This patch supports the separate handling of the USB transfer buffer length
and the length of the buffer used for multi packet support. For devices
supporting multiple report or diagnostic packets, the USB transfer size is now
limited to the USB endpoints wMaxPacketSize - otherwise it defaults to the
configured report packet size as before.

This fixes an issue where event reporting can be delayed for an arbitrary
time for multi packet devices. For instance the report size for eGalax devices
is defined to the 16 byte maximum diagnostic packet size as opposed to the 5
byte report packet size. In case the driver requests 16 byte from the USB
interrupt endpoint, the USB host controller driver needs to split up the
request into 2 accesses according to the endpoints wMaxPacketSize of 8 byte.
When the first transfer is answered by the eGalax device with not less than
the full 8 byte requested, the host controller has got no way of knowing
whether the touch controller has got additional data queued and will issue
the second transfer. If per example a liftoff event finishes at such a
wMaxPacketSize boundary, the data will not be available to the usbtouch driver
until a further event is triggered and transfered to the host. From user
perspective the BTN_TOUCH release event in this case is stuck until the next
touch down event.

Signed-off-by: Christian Engelmayer <christian.engelmayer@frequentis.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2013-12-01 22:18:04 -08:00
..
88pm860x-ts.c Input: touchscreen - use platform_{get,set}_drvdata() 2013-05-23 09:34:17 -07:00
ad7877.c Input: ad7877 - remove redundant spi_set_drvdata 2013-09-20 09:58:27 -07:00
ad7879-i2c.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
ad7879-spi.c Input: ad7879-spi - remove redundant spi_set_drvdata 2013-09-20 09:58:29 -07: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 - add device tree bindings 2013-07-02 20:40:50 -07:00
atmel_mxt_ts.c Atmel MXT touchscreen: increase reset timeouts 2013-03-09 10:31:01 -08:00
atmel_tsadcc.c Input: atmel_tsadcc - fix error handing with missing platform data 2013-06-05 22:48:52 -07:00
atmel-wm97xx.c Input: atmel-wm97xx - fix compile error 2013-11-20 21:15:52 -08: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: cy8ctmg110_ts - add CONFIG_PM_SLEEP to suspend/resume 2013-08-12 22:32:18 -07:00
cyttsp4_core.c Input: cyttsp4 - remove unnecessary work pending test 2013-11-20 21:15:26 -08:00
cyttsp4_core.h Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07:00
cyttsp4_i2c.c Input: cyttsp4 - I2C driver for Cypress TMA4XX touchscreen devices 2013-06-30 21:24:24 -07:00
cyttsp4_spi.c Input: cyttsp4 - replace IS_ERR and PTR_ERR with PTR_ERR_OR_ZERO 2013-11-11 00:01:45 -08:00
cyttsp_core.c Merge branch 'next' into for-linus 2013-07-02 09:01:31 -07:00
cyttsp_core.h Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07:00
cyttsp_i2c_common.c Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07:00
cyttsp_i2c.c Input: cyttsp - I2C driver split into two modules 2013-06-30 21:24:16 -07:00
cyttsp_spi.c Input: cyttsp4 - use 16bit address for I2C/SPI communication 2013-07-06 21:57:06 -07:00
da9034-ts.c Input: remove use of __devexit 2012-11-24 00:05:38 -08:00
da9052_tsi.c Input: da9052_tsi - remove redundant platform_set_drvdata() 2013-05-05 20:14:41 -07: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 - add CONFIG_PM_SLEEP to suspend/resume 2013-08-12 22:32:23 -07:00
egalax_ts.c Input: egalax_ts - remove redundant of_match_ptr 2013-10-06 01:22:26 -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: htcpen - remove redundant dev_set_drvdata 2013-09-18 07:53:30 -07: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: intel-mid-touch - remove redundant platform_set_drvdata() 2013-05-05 20:14:45 -07:00
jornada720_ts.c Input: jornada720_ts - remove redundant platform_set_drvdata() 2013-05-05 20:14:48 -07:00
Kconfig Input: add sur40 driver for Samsung SUR40 (aka MS Surface 2.0/Pixelsense) 2013-11-20 06:38:44 -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 Input: add sur40 driver for Samsung SUR40 (aka MS Surface 2.0/Pixelsense) 2013-11-20 06:38:44 -08:00
max11801_ts.c Input: max11801_ts - convert to devm 2013-08-29 09:34:48 -07:00
mc13783_ts.c Input: mc13783_ts - remove redundant platform_set_drvdata() 2013-05-05 20:14:52 -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 - include linux/of.h header 2013-10-06 01:22:29 -07:00
stmpe-ts.c Input: stmpe-ts - report BTN_TOUCH event 2012-12-16 23:16:03 -08:00
sur40.c Input: sur40 - suppress false uninitialized variable warning 2013-12-01 22:17:35 -08:00
ti_am335x_tsc.c Input: ti_am335x_tsc - fix spelling mistake in TSC/ADC DT binding 2013-11-11 00:01:45 -08:00
tnetv107x-ts.c Input: tnetv107x-ts - remove redundant platform_set_drvdata() 2013-05-05 20:14:59 -07: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: tps6507x-ts - convert to polled input device infrastructure 2013-07-01 11:38:41 -07:00
tsc40.c Input: tsc40 - remove wrong announcement of pressure support 2012-10-30 23:40:07 -07:00
tsc2005.c Input: tsc2005 - remove redundant spi_set_drvdata 2013-09-20 09:58:31 -07: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 - separate report and transmit buffer size handling 2013-12-01 22:18:04 -08:00
w90p910_ts.c Input: w90p910_ts - remove redundant platform_set_drvdata() 2013-05-08 09:04:16 -07:00
wacom_i2c.c Input: wacom_i2c - implement hovering capability 2013-06-18 23:19:00 -07: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
zforce_ts.c Input: add driver for Neonode zForce based touchscreens 2013-10-31 08:46:08 -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