diff options
| author | Tom Rini <trini@ti.com> | 2013-08-27 09:49:43 -0400 |
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2013-08-27 09:49:43 -0400 |
| commit | 529c0d9b8cdfae232e4ed082fd8cde5416b266b7 (patch) | |
| tree | ea7b948c6faafb4ad9d754eca568a2ae2a0100fc /common/usb_kbd.c | |
| parent | 880a41273265233004516351189aad126f964c86 (diff) | |
| parent | c95e2b9eaeadc0f985030ffa0638278acc2d8727 (diff) | |
| download | olio-uboot-2014.01-529c0d9b8cdfae232e4ed082fd8cde5416b266b7.tar.xz olio-uboot-2014.01-529c0d9b8cdfae232e4ed082fd8cde5416b266b7.zip | |
Merge branch 'master' of git://git.denx.de/u-boot-usb
Diffstat (limited to 'common/usb_kbd.c')
| -rw-r--r-- | common/usb_kbd.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/common/usb_kbd.c b/common/usb_kbd.c index 2ca3767ec..1ad67caf1 100644 --- a/common/usb_kbd.c +++ b/common/usb_kbd.c @@ -104,6 +104,11 @@ struct usb_kbd_pdata { uint8_t flags; }; +extern int __maybe_unused net_busy_flag; + +/* The period of time between two calls of usb_kbd_testc(). */ +static unsigned long __maybe_unused kbd_testc_tms; + /* Generic keyboard event polling. */ void usb_kbd_generic_poll(void) { @@ -349,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; |