]> git.sur5r.net Git - u-boot/commitdiff
console: usb: kbd: To fix slow TFTP booting
authorJim Lin <jilin@nvidia.com>
Mon, 26 Aug 2013 12:21:09 +0000 (20:21 +0800)
committerMarek Vasut <marex@denx.de>
Mon, 26 Aug 2013 19:56:35 +0000 (21:56 +0200)
TFTP booting is slow when a USB keyboard is installed and
stdin has usbkbd added.
This fix is to change Ctrl-C polling for USB keyboard to every second
when NET transfer is running.
My previous patch is expected to be put into usb_kbd_testc(). But it went
into usb_kbd_getc() after applied.
This patch is to put change in correct place.

Signed-off-by: Jim Lin <jilin@nvidia.com>
common/usb_kbd.c

index 89e30e88fbee37d9167f0ad0afb5a77a5580c92c..1ad67caf13c554c6fd0eb34945f41b3a20f736bc 100644 (file)
@@ -354,6 +354,16 @@ static int usb_kbd_testc(void)
        struct usb_device *usb_kbd_dev;
        struct usb_kbd_pdata *data;
 
+#ifdef CONFIG_CMD_NET
+       /*
+        * If net_busy_flag is 1, NET transfer is running,
+        * then we check key-pressed every second (first check may be
+        * less than 1 second) to improve TFTP booting performance.
+        */
+       if (net_busy_flag && (get_timer(kbd_testc_tms) < CONFIG_SYS_HZ))
+               return 0;
+       kbd_testc_tms = get_timer(0);
+#endif
        dev = stdio_get_by_name(DEVNAME);
        usb_kbd_dev = (struct usb_device *)dev->priv;
        data = usb_kbd_dev->privptr;
@@ -370,16 +380,6 @@ static int usb_kbd_getc(void)
        struct usb_device *usb_kbd_dev;
        struct usb_kbd_pdata *data;
 
-#ifdef CONFIG_CMD_NET
-       /*
-        * If net_busy_flag is 1, NET transfer is running,
-        * then we check key-pressed every second (first check may be
-        * less than 1 second) to improve TFTP booting performance.
-        */
-       if (net_busy_flag && (get_timer(kbd_testc_tms) < CONFIG_SYS_HZ))
-               return 0;
-       kbd_testc_tms = get_timer(0);
-#endif
        dev = stdio_get_by_name(DEVNAME);
        usb_kbd_dev = (struct usb_device *)dev->priv;
        data = usb_kbd_dev->privptr;