This prints a tftp speed indication after the download completes. This is the 3.6 MiB/s indicator below.
To enable this, define CONFIG_TFTP_SPEED in your board config. 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 <s...@chromium.org> --- README | 9 +++++++++ net/tftp.c | 15 +++++++++++++++ 2 files changed, 24 insertions(+), 0 deletions(-) diff --git a/README b/README index 0d17e7d..f754bd5 100644 --- a/README +++ b/README @@ -2349,6 +2349,15 @@ The following options need to be configured: A better solution is to properly configure the firewall, but sometimes that is not allowed. +- TFTP Speed: + CONFIG_TFTP_SPEED + + If this is defined, the approximate download speed of the + tftp operation will be displayed after the # progress + markers, like this: + + Loading: ########### (more #) ############ 3.6 MiB/s + - Show boot progress: CONFIG_SHOW_BOOT_PROGRESS diff --git a/net/tftp.c b/net/tftp.c index 59a8ebb..59161db 100644 --- a/net/tftp.c +++ b/net/tftp.c @@ -41,6 +41,10 @@ static ulong TftpTimeoutMSecs = TIMEOUT; static int TftpTimeoutCountMax = TIMEOUT_COUNT; +#ifdef CONFIG_TFTP_SPEED +static ulong time_start; /* Record time we started tftp */ +#endif + /* * These globals govern the timeout behavior when attempting a connection to a * TFTP server. TftpRRQTimeoutMSecs specifies the number of milliseconds to @@ -299,6 +303,14 @@ static void tftp_complete(void) TftpNumchars++; } #endif +#ifdef CONFIG_TFTP_SPEED + time_start = get_timer(time_start); + if (time_start > 0) { + puts(" "); + print_size(NetBootFileXferSize / + time_start * 1000, "/s"); + } +#endif puts("\ndone\n"); net_set_state(NETLOOP_SUCCESS); } @@ -775,6 +787,9 @@ void TftpStart(enum proto_t protocol) TftpState = STATE_SEND_RRQ; } +#ifdef CONFIG_TFTP_SPEED + time_start = get_timer(0); +#endif TftpTimeoutCountMax = TftpRRQTimeoutCountMax; NetSetTimeout(TftpTimeoutMSecs, TftpTimeout); -- 1.7.7.3 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot