* [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports"
@ 2013-07-08 17:02 Marek Vasut
2013-07-08 17:02 ` [U-Boot] [PATCH 2/2] Revert "usb: hub: Power-cycle on " Marek Vasut
2013-07-09 13:15 ` [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of " Marek Vasut
0 siblings, 2 replies; 3+ messages in thread
From: Marek Vasut @ 2013-07-08 17:02 UTC (permalink / raw)
To: u-boot
This reverts commit 0bf796f7ae22086f0504f3297e9fb4e96aa04161.
This commit causes breakage of the EHCI, where on Tegra it is not
possible to run "usb reset" twice as it results in the board hang.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Vivek Gautam <gautamvivek1987@gmail.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
---
common/usb_hub.c | 19 +++++++------------
1 file changed, 7 insertions(+), 12 deletions(-)
diff --git a/common/usb_hub.c b/common/usb_hub.c
index 774ba63..dd2056a 100644
--- a/common/usb_hub.c
+++ b/common/usb_hub.c
@@ -109,22 +109,19 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
int ret;
dev = hub->pusb_dev;
-
- /*
- * Enable power to the ports:
- * Here we Power-cycle the ports: aka,
- * turning them off and turning on again.
- */
+ /* Enable power to the ports */
debug("enabling power on all ports\n");
for (i = 0; i < dev->maxchild; i++) {
+ /*
+ * Power-cycle the ports here: aka,
+ * turning them off and turning on again.
+ */
usb_clear_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
debug("port %d returns %lX\n", i + 1, dev->status);
- }
- /* Wait at least 2*bPwrOn2PwrGood for PP to change */
- mdelay(pgood_delay);
+ /* Wait at least 2*bPwrOn2PwrGood for PP to change */
+ mdelay(pgood_delay);
- for (i = 0; i < dev->maxchild; i++) {
ret = usb_get_port_status(dev, i + 1, portsts);
if (ret < 0) {
debug("port %d: get_port_status failed\n", i + 1);
@@ -145,9 +142,7 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
debug("port %d: Port power change failed\n", i + 1);
return;
}
- }
- for (i = 0; i < dev->maxchild; i++) {
usb_set_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
debug("port %d returns %lX\n", i + 1, dev->status);
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 2/2] Revert "usb: hub: Power-cycle on root-hub ports"
2013-07-08 17:02 [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports" Marek Vasut
@ 2013-07-08 17:02 ` Marek Vasut
2013-07-09 13:15 ` [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of " Marek Vasut
1 sibling, 0 replies; 3+ messages in thread
From: Marek Vasut @ 2013-07-08 17:02 UTC (permalink / raw)
To: u-boot
This reverts commit 020bbcb76b5be0d5406d2ae7c26dbdb013ead812.
This commit causes breakage of the EHCI, where on Tegra it is not
possible to run "usb reset" twice as it results in the board hang.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Vivek Gautam <gautamvivek1987@gmail.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>
---
common/usb_hub.c | 34 ----------------------------------
1 file changed, 34 deletions(-)
diff --git a/common/usb_hub.c b/common/usb_hub.c
index dd2056a..c40ea2f 100644
--- a/common/usb_hub.c
+++ b/common/usb_hub.c
@@ -104,45 +104,11 @@ static void usb_hub_power_on(struct usb_hub_device *hub)
int i;
struct usb_device *dev;
unsigned pgood_delay = hub->desc.bPwrOn2PwrGood * 2;
- ALLOC_CACHE_ALIGN_BUFFER(struct usb_port_status, portsts, 1);
- unsigned short portstatus;
- int ret;
dev = hub->pusb_dev;
/* Enable power to the ports */
debug("enabling power on all ports\n");
for (i = 0; i < dev->maxchild; i++) {
- /*
- * Power-cycle the ports here: aka,
- * turning them off and turning on again.
- */
- usb_clear_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
- debug("port %d returns %lX\n", i + 1, dev->status);
-
- /* Wait at least 2*bPwrOn2PwrGood for PP to change */
- mdelay(pgood_delay);
-
- ret = usb_get_port_status(dev, i + 1, portsts);
- if (ret < 0) {
- debug("port %d: get_port_status failed\n", i + 1);
- return;
- }
-
- /*
- * Check to confirm the state of Port Power:
- * xHCI says "After modifying PP, s/w shall read
- * PP and confirm that it has reached the desired state
- * before modifying it again, undefined behavior may occur
- * if this procedure is not followed".
- * EHCI doesn't say anything like this, but no harm in keeping
- * this.
- */
- portstatus = le16_to_cpu(portsts->wPortStatus);
- if (portstatus & (USB_PORT_STAT_POWER << 1)) {
- debug("port %d: Port power change failed\n", i + 1);
- return;
- }
-
usb_set_port_feature(dev, i + 1, USB_PORT_FEAT_POWER);
debug("port %d returns %lX\n", i + 1, dev->status);
}
--
1.7.10.4
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports"
2013-07-08 17:02 [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports" Marek Vasut
2013-07-08 17:02 ` [U-Boot] [PATCH 2/2] Revert "usb: hub: Power-cycle on " Marek Vasut
@ 2013-07-09 13:15 ` Marek Vasut
1 sibling, 0 replies; 3+ messages in thread
From: Marek Vasut @ 2013-07-09 13:15 UTC (permalink / raw)
To: u-boot
Hi,
> This reverts commit 0bf796f7ae22086f0504f3297e9fb4e96aa04161.
>
> This commit causes breakage of the EHCI, where on Tegra it is not
> possible to run "usb reset" twice as it results in the board hang.
>
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Vivek Gautam <gautamvivek1987@gmail.com>
> Cc: Stephen Warren <swarren@wwwdotorg.org>
> ---
> common/usb_hub.c | 19 +++++++------------
> 1 file changed, 7 insertions(+), 12 deletions(-)
Please ignore both patches, the problem was resolved by:
http://www.mail-archive.com/u-boot at lists.denx.de/msg112944.html
Best regards,
Marek Vasut
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2013-07-09 13:15 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-08 17:02 [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of root-hub ports" Marek Vasut
2013-07-08 17:02 ` [U-Boot] [PATCH 2/2] Revert "usb: hub: Power-cycle on " Marek Vasut
2013-07-09 13:15 ` [U-Boot] [PATCH 1/2] Revert "usb: hub: Parallelize power-cycling of " Marek Vasut
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox