Skip to content
Snippets Groups Projects
Commit c95e2b9e authored by Jim Lin's avatar Jim Lin Committed by Marek Vasut
Browse files

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: default avatarJim Lin <jilin@nvidia.com>
parent 07551f23
No related branches found
No related tags found
No related merge requests found
...@@ -354,6 +354,16 @@ static int usb_kbd_testc(void) ...@@ -354,6 +354,16 @@ static int usb_kbd_testc(void)
struct usb_device *usb_kbd_dev; struct usb_device *usb_kbd_dev;
struct usb_kbd_pdata *data; 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); dev = stdio_get_by_name(DEVNAME);
usb_kbd_dev = (struct usb_device *)dev->priv; usb_kbd_dev = (struct usb_device *)dev->priv;
data = usb_kbd_dev->privptr; data = usb_kbd_dev->privptr;
...@@ -370,16 +380,6 @@ static int usb_kbd_getc(void) ...@@ -370,16 +380,6 @@ static int usb_kbd_getc(void)
struct usb_device *usb_kbd_dev; struct usb_device *usb_kbd_dev;
struct usb_kbd_pdata *data; 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); dev = stdio_get_by_name(DEVNAME);
usb_kbd_dev = (struct usb_device *)dev->priv; usb_kbd_dev = (struct usb_device *)dev->priv;
data = usb_kbd_dev->privptr; data = usb_kbd_dev->privptr;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment