On Wednesday, May 13, 2015 at 02:46:34 PM, Hans de Goede wrote: > Hi, > > On 12-05-15 21:30, Marek Vasut wrote: > > On Tuesday, May 12, 2015 at 06:58:23 PM, Hans de Goede wrote: > >> The usb-kbd key repeat code assumes that reports get repeated every 40 > >> ms, this is never true when using > >> CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP, and does not always works for > >> CONFIG_SYS_USB_EVENT_POLL and > >> CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE since not all usb keyboards > >> honor the usb_set_idle() command. > >> > >> For CONFIG_SYS_USB_EVENT_POLL we must use usb_set_idle() since we do a > >> blocking wait for the hid report, so if we do not tell the keyboard to > >> send a hid report every 40ms even if nothing changes then we will block > >> u-boot for 1s (the default u-boot usb interrupt packet timeout). Note > >> that in this case on keyboards which do not support usb_set_idle() we > >> loose and we actually get 1s latencies on other u-boot activities. > >> > >> For the other poll-methods this commit stops using usb_set_idle() and > >> instead repeats the last received hid-report every 40 ms as long as no > >> new hid-report is received. This fixes key-repeat not working at all > >> with CONFIG_SYS_USB_EVENT_POLL_VIA_CONTROL_EP and fixes it not working > >> with keyboards which do not implement usb_set_idle() when using > >> CONFIG_SYS_USB_EVENT_POLL_VIA_INT_QUEUE. > >> > >> Signed-off-by: Hans de Goede <hdego...@redhat.com> > > > > Looks reasonable, I don't really care about the ifdef indent, but the > > data type for get_timer() should be fixed. Otherwise, > > OK v2 with last_report changed to unsigned_long is coming up. > > > Reviewed-by: Marek Vasut <ma...@denx.de> > > > > Would this finally be a patch to pick through the USB tree ? :b > > Yes! :)
It's been getting quite boring in u-boot-usb, thanks ;-) Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot