HID: questions about polling rates

From: Stefan Achatz
Date: Fri Nov 12 2010 - 14:16:02 EST


Hello,

while working on my roccat device drivers I thought about the possiblity
of on the fly polling rate changes and tested some things.

First I tried different polling rates by writing values from 1 to 10
into /sys/bus/usb/drivers/usbhid/module/parameters/mousepoll. I observed
that the polling rates seem to be capped on both sides. With value 1 I
measure 2ms instead of 1ms with my hardware protocol analyzer. With 10 I
get 8ms instead of 10ms.
I only use cheap onboard usb controllers, but under windows they work
with 1ms.
A internet and code search revealed nothing regarding this to me. Is
someone of you aware of this behaviour and could tell me more about it?

Changing the polling rate of a device on the fly would requires to use
usb_kill_urb() and usb_submit_urb() with new interval. To get the
int_urb I would need additional informations for incomplete struct
usbhid_device that lie in drivers/hid/usbhid/usbhid.h.
My driver code is at home in drivers/hid/. Is it okay to include a
header further down in the structure? Or does anyone have concerns about
moving the mentioned header to include/linux? Is this a matter to follow
at all?

Thanks in advance
Stefan

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/