* [U-Boot] [PATCH] net: Add tftp speed indication
@ 2012-10-11 0:03 Simon Glass
2012-10-11 7:29 ` Wolfgang Denk
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Simon Glass @ 2012-10-11 0:03 UTC (permalink / raw)
To: u-boot
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 <sjg@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
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] net: Add tftp speed indication
2012-10-11 0:03 [U-Boot] [PATCH] net: Add tftp speed indication Simon Glass
@ 2012-10-11 7:29 ` Wolfgang Denk
2012-10-11 11:00 ` Igor Grinberg
2012-10-11 23:57 ` [U-Boot] [PATCH v2] " Simon Glass
2 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Denk @ 2012-10-11 7:29 UTC (permalink / raw)
To: u-boot
Dear Simon Glass,
In message <1349913791-10564-1-git-send-email-sjg@chromium.org> you wrote:
> 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
Would it not make sense to print this (with a leading "\t ") on a new
line?
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
All these theories, diverse as they are, have two things in common:
they explain the observed facts, and they are completeley and utterly
wrong. - Terry Pratchett, _The Light Fantastic_
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH] net: Add tftp speed indication
2012-10-11 0:03 [U-Boot] [PATCH] net: Add tftp speed indication Simon Glass
2012-10-11 7:29 ` Wolfgang Denk
@ 2012-10-11 11:00 ` Igor Grinberg
2012-10-11 23:57 ` [U-Boot] [PATCH v2] " Simon Glass
2 siblings, 0 replies; 5+ messages in thread
From: Igor Grinberg @ 2012-10-11 11:00 UTC (permalink / raw)
To: u-boot
On 10/11/12 02:03, Simon Glass wrote:
> 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.
This is relatively small (and nice) addition to the tftpboot command.
Do we really need to introduce yet another config option for this?
Can this be just added with no need to specify the config option?
>
> 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>
> ---
> 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);
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v2] net: Add tftp speed indication
2012-10-11 0:03 [U-Boot] [PATCH] net: Add tftp speed indication Simon Glass
2012-10-11 7:29 ` Wolfgang Denk
2012-10-11 11:00 ` Igor Grinberg
@ 2012-10-11 23:57 ` Simon Glass
2012-10-16 11:22 ` Igor Grinberg
2 siblings, 1 reply; 5+ messages in thread
From: Simon Glass @ 2012-10-11 23:57 UTC (permalink / raw)
To: u-boot
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(-)
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);
--
1.7.7.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [U-Boot] [PATCH v2] net: Add tftp speed indication
2012-10-11 23:57 ` [U-Boot] [PATCH v2] " Simon Glass
@ 2012-10-16 11:22 ` Igor Grinberg
0 siblings, 0 replies; 5+ messages in thread
From: Igor Grinberg @ 2012-10-16 11:22 UTC (permalink / raw)
To: u-boot
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);
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2012-10-16 11:22 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-11 0:03 [U-Boot] [PATCH] net: Add tftp speed indication Simon Glass
2012-10-11 7:29 ` Wolfgang Denk
2012-10-11 11:00 ` Igor Grinberg
2012-10-11 23:57 ` [U-Boot] [PATCH v2] " Simon Glass
2012-10-16 11:22 ` Igor Grinberg
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox