linux_dsm_epyc7002/drivers/input
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
..
gameport Input: gameport: convert bus code to use drv_groups 2013-08-25 14:56:34 -07:00
joystick Linux 3.11 2013-09-18 07:58:33 -07:00
keyboard Input: keyboard - "keycode & KEY_MAX" changes some keycode values 2013-11-25 18:26:17 -08:00
misc Input: keyboard - "keycode & KEY_MAX" changes some keycode values 2013-11-25 18:26:17 -08:00
mouse Revert "Input: ALPS - add support for model found on Dell XT2" 2013-11-14 17:36:42 -08:00
serio Merge branch 'next' into for-linus 2013-11-14 17:38:05 -08:00
tablet Merge branch 'next' into for-linus 2013-11-14 17:38:05 -08:00
touchscreen Input: usbtouchscreen - separate report and transmit buffer size handling 2013-12-01 22:18:04 -08:00
apm-power.c
evbug.c
evdev.c Input: evdev - fall back to vmalloc for client event buffer 2013-10-31 08:45:42 -07:00
ff-core.c
ff-memless.c
input-compat.c
input-compat.h
input-mt.c
input-polldev.c
input.c Merge branch 'next' into for-linus 2013-11-14 17:38:05 -08:00
joydev.c
Kconfig Input: mousedev - allow disabling even without CONFIG_EXPERT 2013-10-31 08:46:07 -07:00
Makefile
matrix-keymap.c
mousedev.c
sparse-keymap.c