[U-Boot] [PATCH v2] net: Add tftp speed indication
Igor Grinberg
grinberg at compulab.co.il
Tue Oct 16 13:22:14 CEST 2012
On 10/12/12 01:57, Simon Glass wrote:
> This prints a tftp speed indication after the download completes. This
> is the 3.6 MiB/s indicator below.
>
> Tegra2 (SeaBoard) # tftp ...
> Using asx0 device
> TFTP from server 172.22.72.144; our IP address is 172.22.73.81
> Filename '/tftpboot/uImage-user-seaboard-1'.
> Load address: 0x408000
> Loading: #################################################
> 3.6 MiB/s
> done
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
Acked-by: Igor Grinberg <grinberg at compulab.co.il>
Thanks!
> ---
> Changes in v2:
> - Make this feature unconditional (remove need for CONFIG_TFTP_SPEED)
> - Display speed on the next line instead of same line
>
> net/tftp.c | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/net/tftp.c b/net/tftp.c
> index 59a8ebb..09790eb 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -40,6 +40,7 @@
>
> static ulong TftpTimeoutMSecs = TIMEOUT;
> static int TftpTimeoutCountMax = TIMEOUT_COUNT;
> +static ulong time_start; /* Record time we started tftp */
>
> /*
> * These globals govern the timeout behavior when attempting a connection to a
> @@ -299,6 +300,12 @@ static void tftp_complete(void)
> TftpNumchars++;
> }
> #endif
> + time_start = get_timer(time_start);
> + if (time_start > 0) {
> + puts("\n\t "); /* Line up with "Loading: " */
> + print_size(NetBootFileXferSize /
> + time_start * 1000, "/s");
> + }
> puts("\ndone\n");
> net_set_state(NETLOOP_SUCCESS);
> }
> @@ -775,6 +782,7 @@ void TftpStart(enum proto_t protocol)
> TftpState = STATE_SEND_RRQ;
> }
>
> + time_start = get_timer(0);
> TftpTimeoutCountMax = TftpRRQTimeoutCountMax;
>
> NetSetTimeout(TftpTimeoutMSecs, TftpTimeout);
--
Regards,
Igor.
More information about the U-Boot
mailing list