Patchwork [U-Boot,1/1] console: usb: kbd: To fix slow TFTP booting

login
register
mail settings
Submitter Jim Lin
Date Aug. 26, 2013, 12:21 p.m.
Message ID <1377519669-4723-1-git-send-email-jilin@nvidia.com>
Download mbox | patch
Permalink /patch/269876/
State Accepted
Delegated to: Marek Vasut
Headers show

Comments

Jim Lin - Aug. 26, 2013, 12:21 p.m.
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 |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)
Marek Vasut - Aug. 26, 2013, 7:51 p.m.
Dear Jim Lin,

> 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.

Applied, thanks!

Best regards,
Marek Vasut
Stephen Warren - Aug. 27, 2013, 4:07 p.m.
On 08/26/2013 01:51 PM, Marek Vasut wrote:
> Dear Jim Lin,
> 
>> 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.
> 
> Applied, thanks!

For the record, I tested u-boot-usb/master commit c95e2b9 "console: usb:
kbd: To fix slow TFTP booting", and it works for me, and solve the issue
that this patch was trying to solve. Thanks.

Patch

diff --git a/common/usb_kbd.c b/common/usb_kbd.c
index 89e30e8..1ad67ca 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;