[U-Boot] [PATCH v7 2/2] console: usb: kbd: To improve TFTP booting performance

Wolfgang Denk wd at denx.de
Fri Jul 19 13:17:27 CEST 2013


Dear Jim Lin,

In message <1374226576-13401-2-git-send-email-jilin at nvidia.com> you wrote:
> 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.
...
> +#ifdef CONFIG_CMD_NET
> +/* The period of time between two calls of usb_kbd_testc(). */
> +static unsigned long kbd_testc_tms;
> +#endif
>  
>  /* Generic keyboard event polling. */
>  void usb_kbd_generic_poll(void)
> @@ -366,6 +370,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 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

You did not comment on my remark about  kbd_testc_tms  being used
basically with a random start value for each invocation of a network
command.  The "every second" above is wrong.  The actual interval may
be much shorter (even nearly zero, at least once), or longer.


BTW: Please fix the list of mail addresses you're sending to, and
remove non-existing ones.

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
A weak mind is like a microscope, which magnifies trifling things,
but cannot receive great ones.      -- Philip Earl of Chesterfield


More information about the U-Boot mailing list