diff options
author | Jim Lin <jilin@nvidia.com> | 2013-08-26 16:21:09 +0400 |
---|---|---|
committer | Marek Vasut <marex@denx.de> | 2013-08-26 23:56:35 +0400 |
commit | c95e2b9eaeadc0f985030ffa0638278acc2d8727 (patch) | |
tree | d41f61627d661f20ee45fda54112251e63983f8b /common/usb_kbd.c | |
parent | 07551f23434f35b67aa8e6cf5ccd68ca417c73e6 (diff) | |
download | u-boot-c95e2b9eaeadc0f985030ffa0638278acc2d8727.tar.xz |
console: usb: kbd: To fix slow TFTP booting
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>
Diffstat (limited to 'common/usb_kbd.c')
-rw-r--r-- | common/usb_kbd.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/common/usb_kbd.c b/common/usb_kbd.c index 89e30e88fb..1ad67caf13 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -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; |