Input: hid-input - use a larger event buffer for MT devices
authorHenrik Rydberg <rydberg@euromail.se>
Wed, 23 Jun 2010 16:31:37 +0000 (09:31 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Wed, 23 Jun 2010 20:05:26 +0000 (13:05 -0700)
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>
drivers/hid/hid-input.c

index 7a0d2e4..69d152e 100644 (file)
@@ -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 &&