summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2012-10-11 13:57:36 +0000
committerJoe Hershberger <joe.hershberger@ni.com>2012-12-15 12:28:22 -0600
commit85b1980273084c844c911c14f70cc11f27fd25ab (patch)
tree6b3bcec0008b2eebee29f0857399da98bedfe6c1 /net
parentd8fb710fdd0d85e0129385d683c6ae42db411ea1 (diff)
downloadu-boot-85b1980273084c844c911c14f70cc11f27fd25ab.tar.gz
net: Add tftp speed indication
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>
Diffstat (limited to 'net')
-rw-r--r--net/tftp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/tftp.c b/net/tftp.c
index 59a8ebb3cf..09790eb7cf 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);