From: Roger Quadros <rogerq@ti.com>
To: Stefan Roese <sr@denx.de>
Cc: tony@atomide.com, linux-omap@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, balbi@ti.com,
Alan Stern <stern@rowland.harvard.edu>
Subject: Re: [PATCH] ARM: OMAP3: Beagle: Fix USB Host on beagle xM Ax/Bx
Date: Fri, 19 Jul 2013 16:04:15 +0300 [thread overview]
Message-ID: <51E9394F.8040004@ti.com> (raw)
In-Reply-To: <51E5727B.2010500@denx.de>
On 07/16/2013 07:19 PM, Stefan Roese wrote:
> Hi Roger,
>
> On 07/16/2013 04:37 PM, Roger Quadros wrote:
>> On 07/15/2013 11:24 AM, Stefan Roese wrote:
>>> On 07/15/2013 10:16 AM, Roger Quadros wrote:
>>>>>> I can only test on beagle-xm (which is also rev. C2) with integrated SMSC ethernet chip
>>>>>> as I don't have an external USB-ethernet adapter.
>>>>>
>>>>> Too bad. This difference in boards makes the tests a bit less
>>>>> meaningful. Is there really no USB-ethernet adapter somewhere in your
>>>>> department (perhaps a non-SMSC95xx might serve as well?)? I might
>>>>> send/order you one if necessary. ;)
>>>>
>>>> Thanks for the offer :). I'll just get one for myself by today/tomorrow.
>>>> The one available here uses this driver "drivers/net/usb/asix.c"
>>>
>>> Great.
>>>
>>
>> OK. Finally managed to reproduce the problem.
>
> Ahh, great. Thanks for the effort.
>
>> Don't know the root cause yet. Will need to investigate.
>
> Thanks. Just let me know if I can be of any assistance (testing etc).
>
For the record, not resetting the OMAP USB Host Module (UHH) from u-boot seems to solve
the issue.
Patch for u-boot below.
From: Roger Quadros <rogerq@ti.com>
Date: Fri, 19 Jul 2013 15:26:14 +0300
Subject: [PATCH] usb: ehci-omap: Don't softreset USB High-speed Host (UHH) Module
Fixes NFS root problems with Beagle (3530 ES1.0) when used with
external USB-ethernet adapter and "USB start" command used within
u-boot.
Soft resetting the UHH module causes instability issues on
all OMAPs so we just avoid it.
See OMAP36xx Errata
i571: USB host EHCI may stall when entering smart-standby mode
i660: USBHOST Configured In Smart-Idle Can Lead To a Deadlock
On OMAP4/5, soft-resetting the UHH module can put it into
Smart-Idle mode and lead to a deadlock.
On OMAP3 this doesn't seem to be the case but still instabilities
are observed on beagle (3530 ES1.0) if soft-reset is used.
e.g. NFS root failures with Linux kernel.
Signed-off-by: Roger Quadros <rogerq@ti.com>
---
drivers/usb/host/ehci-omap.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 086c697..628e86c 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -42,6 +42,22 @@ static struct omap_ehci *const ehci = (struct omap_ehci *)OMAP_EHCI_BASE;
static int omap_uhh_reset(void)
{
+/*
+ * Soft resetting the UHH module causes instability issues on
+ * all OMAPs so we just avoid it.
+ *
+ * See OMAP36xx Errata
+ * i571: USB host EHCI may stall when entering smart-standby mode
+ * i660: USBHOST Configured In Smart-Idle Can Lead To a Deadlock
+ *
+ * On OMAP4/5, soft-resetting the UHH module will put it into
+ * Smart-Idle mode and lead to a deadlock.
+ *
+ * On OMAP3 this doesn't seem to be the case but still instabilities
+ * are observed on beagle (3530 ES1.0) if soft-reset is used.
+ * e.g. NFS root failures with Linux kernel.
+ */
+#if 0
unsigned long init = get_timer(0);
/* perform UHH soft reset, and wait until reset is complete */
@@ -53,6 +69,7 @@ static int omap_uhh_reset(void)
debug("OMAP UHH error: timeout resetting ehci\n");
return -EL3RST;
}
+#endif
return 0;
}
--
1.7.4.1
WARNING: multiple messages have this Message-ID (diff)
From: rogerq@ti.com (Roger Quadros)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: OMAP3: Beagle: Fix USB Host on beagle xM Ax/Bx
Date: Fri, 19 Jul 2013 16:04:15 +0300 [thread overview]
Message-ID: <51E9394F.8040004@ti.com> (raw)
In-Reply-To: <51E5727B.2010500@denx.de>
On 07/16/2013 07:19 PM, Stefan Roese wrote:
> Hi Roger,
>
> On 07/16/2013 04:37 PM, Roger Quadros wrote:
>> On 07/15/2013 11:24 AM, Stefan Roese wrote:
>>> On 07/15/2013 10:16 AM, Roger Quadros wrote:
>>>>>> I can only test on beagle-xm (which is also rev. C2) with integrated SMSC ethernet chip
>>>>>> as I don't have an external USB-ethernet adapter.
>>>>>
>>>>> Too bad. This difference in boards makes the tests a bit less
>>>>> meaningful. Is there really no USB-ethernet adapter somewhere in your
>>>>> department (perhaps a non-SMSC95xx might serve as well?)? I might
>>>>> send/order you one if necessary. ;)
>>>>
>>>> Thanks for the offer :). I'll just get one for myself by today/tomorrow.
>>>> The one available here uses this driver "drivers/net/usb/asix.c"
>>>
>>> Great.
>>>
>>
>> OK. Finally managed to reproduce the problem.
>
> Ahh, great. Thanks for the effort.
>
>> Don't know the root cause yet. Will need to investigate.
>
> Thanks. Just let me know if I can be of any assistance (testing etc).
>
For the record, not resetting the OMAP USB Host Module (UHH) from u-boot seems to solve
the issue.
Patch for u-boot below.
From: Roger Quadros <rogerq@ti.com>
Date: Fri, 19 Jul 2013 15:26:14 +0300
Subject: [PATCH] usb: ehci-omap: Don't softreset USB High-speed Host (UHH) Module
Fixes NFS root problems with Beagle (3530 ES1.0) when used with
external USB-ethernet adapter and "USB start" command used within
u-boot.
Soft resetting the UHH module causes instability issues on
all OMAPs so we just avoid it.
See OMAP36xx Errata
i571: USB host EHCI may stall when entering smart-standby mode
i660: USBHOST Configured In Smart-Idle Can Lead To a Deadlock
On OMAP4/5, soft-resetting the UHH module can put it into
Smart-Idle mode and lead to a deadlock.
On OMAP3 this doesn't seem to be the case but still instabilities
are observed on beagle (3530 ES1.0) if soft-reset is used.
e.g. NFS root failures with Linux kernel.
Signed-off-by: Roger Quadros <rogerq@ti.com>
---
drivers/usb/host/ehci-omap.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c
index 086c697..628e86c 100644
--- a/drivers/usb/host/ehci-omap.c
+++ b/drivers/usb/host/ehci-omap.c
@@ -42,6 +42,22 @@ static struct omap_ehci *const ehci = (struct omap_ehci *)OMAP_EHCI_BASE;
static int omap_uhh_reset(void)
{
+/*
+ * Soft resetting the UHH module causes instability issues on
+ * all OMAPs so we just avoid it.
+ *
+ * See OMAP36xx Errata
+ * i571: USB host EHCI may stall when entering smart-standby mode
+ * i660: USBHOST Configured In Smart-Idle Can Lead To a Deadlock
+ *
+ * On OMAP4/5, soft-resetting the UHH module will put it into
+ * Smart-Idle mode and lead to a deadlock.
+ *
+ * On OMAP3 this doesn't seem to be the case but still instabilities
+ * are observed on beagle (3530 ES1.0) if soft-reset is used.
+ * e.g. NFS root failures with Linux kernel.
+ */
+#if 0
unsigned long init = get_timer(0);
/* perform UHH soft reset, and wait until reset is complete */
@@ -53,6 +69,7 @@ static int omap_uhh_reset(void)
debug("OMAP UHH error: timeout resetting ehci\n");
return -EL3RST;
}
+#endif
return 0;
}
--
1.7.4.1
next prev parent reply other threads:[~2013-07-19 13:04 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-15 11:20 [PATCH] ARM: OMAP3: Beagle: Fix USB Host on beagle xM Ax/Bx Roger Quadros
2013-04-15 11:20 ` Roger Quadros
2013-04-15 11:20 ` Roger Quadros
2013-05-08 22:12 ` Tony Lindgren
2013-05-08 22:12 ` Tony Lindgren
2013-07-09 13:02 ` Stefan Roese
2013-07-09 13:02 ` Stefan Roese
2013-07-09 13:55 ` Roger Quadros
2013-07-09 13:55 ` Roger Quadros
[not found] ` <51DC1B47.7070504@denx.de>
2013-07-09 17:20 ` Roger Quadros
2013-07-09 17:20 ` Roger Quadros
2013-07-11 10:24 ` Roger Quadros
2013-07-11 10:24 ` Roger Quadros
2013-07-11 10:45 ` Stefan Roese
2013-07-11 10:45 ` Stefan Roese
2013-07-11 12:00 ` Roger Quadros
2013-07-11 12:00 ` Roger Quadros
2013-07-11 12:33 ` Stefan Roese
2013-07-11 12:33 ` Stefan Roese
2013-07-11 12:41 ` Stefan Roese
2013-07-11 12:41 ` Stefan Roese
2013-07-11 14:35 ` Roger Quadros
2013-07-11 14:35 ` Roger Quadros
2013-07-11 15:34 ` Stefan Roese
2013-07-11 15:34 ` Stefan Roese
[not found] ` <51DEF0DE.4050607@denx.de>
2013-07-12 9:15 ` Roger Quadros
2013-07-12 9:15 ` Roger Quadros
2013-07-12 10:52 ` Stefan Roese
2013-07-12 10:52 ` Stefan Roese
2013-07-15 8:16 ` Roger Quadros
2013-07-15 8:16 ` Roger Quadros
2013-07-15 8:24 ` Stefan Roese
2013-07-15 8:24 ` Stefan Roese
2013-07-16 14:37 ` Roger Quadros
2013-07-16 14:37 ` Roger Quadros
2013-07-16 16:19 ` Stefan Roese
2013-07-16 16:19 ` Stefan Roese
2013-07-19 13:04 ` Roger Quadros [this message]
2013-07-19 13:04 ` Roger Quadros
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=51E9394F.8040004@ti.com \
--to=rogerq@ti.com \
--cc=balbi@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-omap@vger.kernel.org \
--cc=sr@denx.de \
--cc=stern@rowland.harvard.edu \
--cc=tony@atomide.com \
/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.