17d60390e55a00fe30d3b202268b9dd2c053d509
[15.05/openwrt.git] / target / linux / brcm2708 / patches-3.18 / 0054-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch
1 From 4c2238bfb5f0345f889d2f22d52601eb76f62eaf Mon Sep 17 00:00:00 2001
2 From: popcornmix <popcornmix@gmail.com>
3 Date: Mon, 14 Jul 2014 22:02:09 +0100
4 Subject: [PATCH 054/114] hid: Reduce default mouse polling interval to 60Hz
5
6 Reduces overhead when using X
7 ---
8  drivers/hid/usbhid/hid-core.c | 10 +++++++---
9  1 file changed, 7 insertions(+), 3 deletions(-)
10
11 diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
12 index ca6849a..4671921 100644
13 --- a/drivers/hid/usbhid/hid-core.c
14 +++ b/drivers/hid/usbhid/hid-core.c
15 @@ -49,7 +49,7 @@
16   * Module parameters.
17   */
18  
19 -static unsigned int hid_mousepoll_interval;
20 +static unsigned int hid_mousepoll_interval = ~0;
21  module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
22  MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
23  
24 @@ -1079,8 +1079,12 @@ static int usbhid_start(struct hid_device *hid)
25                 }
26  
27                 /* Change the polling interval of mice. */
28 -               if (hid->collection->usage == HID_GD_MOUSE && hid_mousepoll_interval > 0)
29 -                       interval = hid_mousepoll_interval;
30 +               if (hid->collection->usage == HID_GD_MOUSE) {
31 +                               if (hid_mousepoll_interval == ~0 && interval < 16)
32 +                                               interval = 16;
33 +                               else if (hid_mousepoll_interval != ~0 && hid_mousepoll_interval != 0)
34 +                                               interval = hid_mousepoll_interval;
35 +               }
36  
37                 ret = -ENOMEM;
38                 if (usb_endpoint_dir_in(endpoint)) {
39 -- 
40 1.8.3.2
41