On Wednesday, May 13, 2015 at 02:47:51 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>
Hi, this broke a couple of machines, quoting Tom. I'm dropping it for now. NAK. This introduces various breakage: 12: Merge branch 'master' of git://git.denx.de/u-boot-usb arm: + VCMA9 beagle_x15 at91rm9200ek_ram peach-pi snow smdk5250 am43xx_evm dr a7xx_evm_uart3 k2l_evm am43xx_evm_qspiboot smdk5420 dra7xx_evm smdk2410 at91rm9200ek dr a7xx_evm_qspiboot k2hk_evm k2e_evm peach-pit powerpc: + PIP405 MIP405 The powerpc board breakage is the same as some of the ARM ones so fix it once and they'll come along. Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot