summaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorHenrik Rydberg <rydberg@euromail.se>2010-06-23 18:31:37 +0200
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2010-06-23 22:05:26 +0200
commit6967b4d9de4a7cf3b00cd9a93981d3206d75a1d8 (patch)
treec0e37929681382b2dca9a8be92442bffba8dea6e /drivers/hid
parentInput: bcm5974 - set the average number of events per MT event packet (diff)
downloadlinux-6967b4d9de4a7cf3b00cd9a93981d3206d75a1d8.tar.xz
linux-6967b4d9de4a7cf3b00cd9a93981d3206d75a1d8.zip
Input: hid-input - use a larger event buffer for MT devices
The MT devices produce a lot of data. Tell the underlying input device approximately how many events will be sent per synchronization, to allow for better buffering. The number is a template based on continuously reporting details for each finger on a single hand. Signed-off-by: Henrik Rydberg <rydberg@euromail.se> Acked-by: Jiri Kosina <jkosina@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-input.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 7a0d2e4661a1..69d152e16a6a 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -534,6 +534,9 @@ mapped:
input_set_abs_params(input, usage->code, a, b, (b - a) >> 8, (b - a) >> 4);
else input_set_abs_params(input, usage->code, a, b, 0, 0);
+ /* use a larger default input buffer for MT devices */
+ if (usage->code == ABS_MT_POSITION_X && input->hint_events_per_packet == 0)
+ input_set_events_per_packet(input, 60);
}
if (usage->type == EV_ABS &&