| Submitter | Simon Glass |
|---|---|
| Date | Oct. 11, 2012, 11:57 p.m. |
| Message ID | <1349999856-15821-1-git-send-email-sjg@chromium.org> |
| Download | mbox | patch |
| Permalink | /patch/191025/ |
| State | Accepted, archived |
| Delegated to: | Joe Hershberger |
| Headers | show |
Comments
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);
Patch
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);
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> --- 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(-)