From: Hans de Goede <hdegoede@redhat.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/6] usb: Remove 200 ms delay in usb_hub_port_connect_change()
Date: Thu, 10 Mar 2016 19:55:34 +0100 [thread overview]
Message-ID: <56E1C326.90708@redhat.com> (raw)
In-Reply-To: <1457625012-1268-3-git-send-email-sr@denx.de>
Hi,
On 10-03-16 16:50, Stefan Roese wrote:
> This patch removes 2 mdelay(200) calls from usb_hub_port_connect_change().
> These delays don't seem to be necessary. At least not in my tests. Here
> the number for a custom x86 Bay Trail board (not in mainline yet) with
> a quite large and complex USB hub infrastructure.
>
> Without this patch:
> starting USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 9 USB Device(s) found
>
> time: 28.415 seconds
>
> With this patch:
> starting USB...
> USB0: USB EHCI 1.00
> scanning bus 0 for devices... 9 USB Device(s) found
>
> time: 24.811 seconds
>
> So ~3.5 seconds of USB scanning time reduction.
>
> These mdelay calls are removed if CONFIG_USB_FAST_SCAN is defined. They
> are not removed per default yet. It would be good to test with this
> option enabled on many other boards. And once we have a good testing
> base we can decide to remove these delays completely, including this
> macro.
There indeed is no reason at all to delay before the reset and the kernel
does not wait with checking the USB_PORT_STAT_SPEED_MASK once the
reset completes, so I see no reason why we should:
Acked-by: Hans de Goede <hdegoede@redhat.com>
Regards,
Hans
>
> Signed-off-by: Stefan Roese <sr@denx.de>
> Cc: Simon Glass <sjg@chromium.org>
> Cc: Hans de Goede <hdegoede@redhat.com>
> Cc: Stephen Warren <swarren@nvidia.com>
> Cc: Marek Vasut <marex@denx.de>
> ---
>
> common/usb_hub.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/common/usb_hub.c b/common/usb_hub.c
> index 10fdd3c..660f4f4 100644
> --- a/common/usb_hub.c
> +++ b/common/usb_hub.c
> @@ -275,7 +275,9 @@ int usb_hub_port_connect_change(struct usb_device *dev, int port)
> if (!(portstatus & USB_PORT_STAT_CONNECTION))
> return -ENOTCONN;
> }
> +#if !defined(CONFIG_USB_FAST_SCAN)
> mdelay(200);
> +#endif
>
> /* Reset the port */
> ret = legacy_hub_port_reset(dev, port, &portstatus);
> @@ -285,7 +287,9 @@ int usb_hub_port_connect_change(struct usb_device *dev, int port)
> return ret;
> }
>
> +#if !defined(CONFIG_USB_FAST_SCAN)
> mdelay(200);
> +#endif
>
> switch (portstatus & USB_PORT_STAT_SPEED_MASK) {
> case USB_PORT_STAT_SUPER_SPEED:
>
next prev parent reply other threads:[~2016-03-10 18:55 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-10 15:50 [U-Boot] [PATCH 0/6] usb: Reduce USB scanning time Stefan Roese
2016-03-10 15:50 ` [U-Boot] [PATCH 1/6] usb: legacy_hub_port_reset(): Speedup hub reset handling Stefan Roese
2016-03-10 18:51 ` Hans de Goede
2016-03-11 6:37 ` Stefan Roese
2016-03-11 0:06 ` Stephen Warren
2016-03-10 15:50 ` [U-Boot] [PATCH 2/6] usb: Remove 200 ms delay in usb_hub_port_connect_change() Stefan Roese
2016-03-10 18:55 ` Hans de Goede [this message]
2016-03-11 6:34 ` Stefan Roese
2016-03-11 6:35 ` Stefan Roese
2016-03-11 0:06 ` Stephen Warren
2016-03-10 15:50 ` [U-Boot] [PATCH 3/6] usb: Remove 1 second per port timeout in usb_hub_configure() Stefan Roese
2016-03-10 18:59 ` Hans de Goede
2016-03-10 15:50 ` [U-Boot] [PATCH 4/6] usb: usb_hub_power_on(): Use 100ms power-on delay instead of 1 sec (optionally) Stefan Roese
2016-03-10 19:12 ` Hans de Goede
2016-03-11 9:05 ` Stefan Roese
2016-03-11 10:13 ` Stefan Roese
2016-03-11 10:32 ` Hans de Goede
2016-03-11 10:42 ` Stefan Roese
2016-03-10 15:50 ` [U-Boot] [PATCH 5/6] usb: Don't reset the USB hub a 2nd time Stefan Roese
2016-03-10 19:13 ` Hans de Goede
2016-03-11 6:43 ` Stefan Roese
2016-03-11 0:07 ` Stephen Warren
2016-03-10 15:50 ` [U-Boot] [PATCH 6/6] usb: Implement static USB port configuration to speed up USB scanning Stefan Roese
2016-03-10 19:18 ` Hans de Goede
2016-03-11 15:08 ` Stefan Roese
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56E1C326.90708@redhat.com \
--to=hdegoede@redhat.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.