Re: [PATCH] HID: usbhid: extend polling interval configuration to joysticks

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Feb 25 2017 or thereabouts, Tobias Jakobi wrote:
> For mouse devices we can currently change the polling interval
> via usbhid.mousepoll. Implement the same thing for joysticks, so
> users can reduce input latency this way.
> 
> This has been tested with a Logitech RumblePad 2 with jspoll=2,
> resulting in a polling rate of 500Hz (verified with evhz).
> 
> Signed-off-by: Tobias Jakobi <tjakobi@xxxxxxxxxxxxxxxxxxxxx>
> ---

Looks good to me.

Acked-by: Benjamin Tissoires <benjamin.tissoires@xxxxxxxxxx>

>  Documentation/kernel-parameters.txt |  3 +++
>  drivers/hid/usbhid/hid-core.c       | 18 +++++++++++++++---
>  2 files changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
> index 922dec8..928ce2c 100644
> --- a/Documentation/kernel-parameters.txt
> +++ b/Documentation/kernel-parameters.txt
> @@ -4260,6 +4260,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
>  	usbhid.mousepoll=
>  			[USBHID] The interval which mice are to be polled at.
>  
> +	usbhid.jspoll=
> +			[USBHID] The interval which joysticks are to be polled at.
> +
>  	usb-storage.delay_use=
>  			[UMS] The delay in seconds before a new device is
>  			scanned for Logical Units (default 1).
> diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
> index ae83af6..f7a692f 100644
> --- a/drivers/hid/usbhid/hid-core.c
> +++ b/drivers/hid/usbhid/hid-core.c
> @@ -53,6 +53,10 @@ static unsigned int hid_mousepoll_interval;
>  module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644);
>  MODULE_PARM_DESC(mousepoll, "Polling interval of mice");
>  
> +static unsigned int hid_jspoll_interval;
> +module_param_named(jspoll, hid_jspoll_interval, uint, 0644);
> +MODULE_PARM_DESC(jspoll, "Polling interval of joysticks");
> +
>  static unsigned int ignoreled;
>  module_param_named(ignoreled, ignoreled, uint, 0644);
>  MODULE_PARM_DESC(ignoreled, "Autosuspend with active leds");
> @@ -1082,9 +1086,17 @@ static int usbhid_start(struct hid_device *hid)
>  			       hid->name, endpoint->bInterval, interval);
>  		}
>  
> -		/* Change the polling interval of mice. */
> -		if (hid->collection->usage == HID_GD_MOUSE && hid_mousepoll_interval > 0)
> -			interval = hid_mousepoll_interval;
> +		/* Change the polling interval of mice and joysticks. */
> +		switch (hid->collection->usage) {
> +		case HID_GD_MOUSE:
> +			if (hid_mousepoll_interval > 0)
> +				interval = hid_mousepoll_interval;
> +			break;
> +		case HID_GD_JOYSTICK:
> +			if (hid_jspoll_interval > 0)
> +				interval = hid_jspoll_interval;
> +			break;
> +		}
>  
>  		ret = -ENOMEM;
>  		if (usb_endpoint_dir_in(endpoint)) {
> -- 
> 2.7.3
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux