
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@chromium.org
Acked-by: Igor Grinberg grinberg@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);