linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
@ 2012-02-16 10:02 Shengzhou Liu
  2012-02-16 10:39 ` Benjamin Herrenschmidt
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: Shengzhou Liu @ 2012-02-16 10:02 UTC (permalink / raw)
  To: linux-usb; +Cc: linuxppc-dev, Shengzhou Liu

If USB UTMI PHY is not enable, writing to portsc register will lead to
kernel hang during boot up.

Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
---
Apply for master branch of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 
Tested on P5020DS, the issue was reported by Benjamin Herrenschmidt. 

 drivers/usb/host/ehci-fsl.c |    4 ++++
 drivers/usb/host/ehci-fsl.h |    1 +
 2 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index c26a82e..0090ed2 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -216,6 +216,8 @@ static void ehci_fsl_setup_phy(struct ehci_hcd *ehci,
 			       unsigned int port_offset)
 {
 	u32 portsc;
+	struct usb_hcd *hcd = ehci_to_hcd(ehci);
+	void __iomem *non_ehci = hcd->regs;
 
 	portsc = ehci_readl(ehci, &ehci->regs->port_status[port_offset]);
 	portsc &= ~(PORT_PTS_MSK | PORT_PTS_PTW);
@@ -231,6 +233,8 @@ static void ehci_fsl_setup_phy(struct ehci_hcd *ehci,
 		portsc |= PORT_PTS_PTW;
 		/* fall through */
 	case FSL_USB2_PHY_UTMI:
+		/* enable UTMI PHY */
+		setbits32(non_ehci + FSL_SOC_USB_CTRL, CTRL_UTMI_PHY_EN);
 		portsc |= PORT_PTS_UTMI;
 		break;
 	case FSL_USB2_PHY_NONE:
diff --git a/drivers/usb/host/ehci-fsl.h b/drivers/usb/host/ehci-fsl.h
index bdf43e2..0e400c2 100644
--- a/drivers/usb/host/ehci-fsl.h
+++ b/drivers/usb/host/ehci-fsl.h
@@ -45,6 +45,7 @@
 #define FSL_SOC_USB_PRICTRL	0x40c	/* NOTE: big-endian */
 #define FSL_SOC_USB_SICTRL	0x410	/* NOTE: big-endian */
 #define FSL_SOC_USB_CTRL	0x500	/* NOTE: big-endian */
+#define CTRL_UTMI_PHY_EN	(1<<9)
 #define CTRL_PHY_CLK_VALID	(1 << 17)
 #define SNOOP_SIZE_2GB		0x1e
 #endif				/* _EHCI_FSL_H */
-- 
1.6.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-16 10:02 [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb Shengzhou Liu
@ 2012-02-16 10:39 ` Benjamin Herrenschmidt
  2012-02-16 16:19   ` Greg KH
  2012-02-16 22:58 ` Benjamin Herrenschmidt
  2012-02-18 15:39 ` Sergei Shtylyov
  2 siblings, 1 reply; 11+ messages in thread
From: Benjamin Herrenschmidt @ 2012-02-16 10:39 UTC (permalink / raw)
  To: Shengzhou Liu; +Cc: linux-usb, linuxppc-dev

On Thu, 2012-02-16 at 18:02 +0800, Shengzhou Liu wrote:
> If USB UTMI PHY is not enable, writing to portsc register will lead to
> kernel hang during boot up.

Thanks, I'll try that tomorrow.

Greg, you're picking that up or should I ?

Cheers,
Ben.

> Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
> ---
> Apply for master branch of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 
> Tested on P5020DS, the issue was reported by Benjamin Herrenschmidt. 
> 
>  drivers/usb/host/ehci-fsl.c |    4 ++++
>  drivers/usb/host/ehci-fsl.h |    1 +
>  2 files changed, 5 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> index c26a82e..0090ed2 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/drivers/usb/host/ehci-fsl.c
> @@ -216,6 +216,8 @@ static void ehci_fsl_setup_phy(struct ehci_hcd *ehci,
>  			       unsigned int port_offset)
>  {
>  	u32 portsc;
> +	struct usb_hcd *hcd = ehci_to_hcd(ehci);
> +	void __iomem *non_ehci = hcd->regs;
>  
>  	portsc = ehci_readl(ehci, &ehci->regs->port_status[port_offset]);
>  	portsc &= ~(PORT_PTS_MSK | PORT_PTS_PTW);
> @@ -231,6 +233,8 @@ static void ehci_fsl_setup_phy(struct ehci_hcd *ehci,
>  		portsc |= PORT_PTS_PTW;
>  		/* fall through */
>  	case FSL_USB2_PHY_UTMI:
> +		/* enable UTMI PHY */
> +		setbits32(non_ehci + FSL_SOC_USB_CTRL, CTRL_UTMI_PHY_EN);
>  		portsc |= PORT_PTS_UTMI;
>  		break;
>  	case FSL_USB2_PHY_NONE:
> diff --git a/drivers/usb/host/ehci-fsl.h b/drivers/usb/host/ehci-fsl.h
> index bdf43e2..0e400c2 100644
> --- a/drivers/usb/host/ehci-fsl.h
> +++ b/drivers/usb/host/ehci-fsl.h
> @@ -45,6 +45,7 @@
>  #define FSL_SOC_USB_PRICTRL	0x40c	/* NOTE: big-endian */
>  #define FSL_SOC_USB_SICTRL	0x410	/* NOTE: big-endian */
>  #define FSL_SOC_USB_CTRL	0x500	/* NOTE: big-endian */
> +#define CTRL_UTMI_PHY_EN	(1<<9)
>  #define CTRL_PHY_CLK_VALID	(1 << 17)
>  #define SNOOP_SIZE_2GB		0x1e
>  #endif				/* _EHCI_FSL_H */

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-16 10:39 ` Benjamin Herrenschmidt
@ 2012-02-16 16:19   ` Greg KH
  0 siblings, 0 replies; 11+ messages in thread
From: Greg KH @ 2012-02-16 16:19 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linux-usb, linuxppc-dev, Shengzhou Liu

On Thu, Feb 16, 2012 at 09:39:15PM +1100, Benjamin Herrenschmidt wrote:
> On Thu, 2012-02-16 at 18:02 +0800, Shengzhou Liu wrote:
> > If USB UTMI PHY is not enable, writing to portsc register will lead to
> > kernel hang during boot up.
> 
> Thanks, I'll try that tomorrow.
> 
> Greg, you're picking that up or should I ?

I can, if you let me know that this fixes your problem :)

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-16 10:02 [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb Shengzhou Liu
  2012-02-16 10:39 ` Benjamin Herrenschmidt
@ 2012-02-16 22:58 ` Benjamin Herrenschmidt
  2012-02-17  0:02   ` Benjamin Herrenschmidt
  2012-02-18 15:39 ` Sergei Shtylyov
  2 siblings, 1 reply; 11+ messages in thread
From: Benjamin Herrenschmidt @ 2012-02-16 22:58 UTC (permalink / raw)
  To: Shengzhou Liu; +Cc: linux-usb, linuxppc-dev

On Thu, 2012-02-16 at 18:02 +0800, Shengzhou Liu wrote:
> If USB UTMI PHY is not enable, writing to portsc register will lead to
> kernel hang during boot up.
> 
> Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
> ---
> Apply for master branch of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 
> Tested on P5020DS, the issue was reported by Benjamin Herrenschmidt. 

This fixes the hang, but sadly doesn't make USB work. I now get:

ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
/soc@ffe000000/usb@210000: Invalid 'dr_mode' property, fallback to host mode
fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
fsl-ehci fsl-ehci.0: irq 44, io mem 0xffe210000
fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
fsl-ehci fsl-ehci.1: irq 45, io mem 0xffe211000
fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00

 .../...

usb 1-1: device descriptor read/64, error -110
usb 1-1: device descriptor read/64, error -110

<remove device, re-plug it>

usb 1-1: new full-speed USB device number 3 using fsl-ehci
hub 1-0:1.0: unable to enumerate USB device on port 1

<remove again, re-plug it>

usb 1-1: new full-speed USB device number 4 using fsl-ehci
usb 1-1: device descriptor read/64, error -110

The blurb about "invalid dr_mode property" makes me think there's some
kind of disagreement between the device-tree coming with the machine and
what upstream expects. Basically the DT doesn't contain a dr_mode
property at all (which should be fine, host mode is what I want, but I
suspect some stuff aren't being configured properly by u-boot either...)

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-16 22:58 ` Benjamin Herrenschmidt
@ 2012-02-17  0:02   ` Benjamin Herrenschmidt
  2012-02-17  2:32     ` Liu Shengzhou-B36685
  0 siblings, 1 reply; 11+ messages in thread
From: Benjamin Herrenschmidt @ 2012-02-17  0:02 UTC (permalink / raw)
  To: Shengzhou Liu; +Cc: linux-usb, linuxppc-dev

On Fri, 2012-02-17 at 09:58 +1100, Benjamin Herrenschmidt wrote:
> On Thu, 2012-02-16 at 18:02 +0800, Shengzhou Liu wrote:
> > If USB UTMI PHY is not enable, writing to portsc register will lead to
> > kernel hang during boot up.
> > 
> > Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
> > ---
> > Apply for master branch of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git 
> > Tested on P5020DS, the issue was reported by Benjamin Herrenschmidt. 
> 
> This fixes the hang, but sadly doesn't make USB work. I now get:

 .../...

Ok, found the problem.

First, the SDK kernel had a delay after setting that bit, I added that
back in. This is not what fixed it but it looks like the right thing to
do, though please, use msleep rather than udelay here if possible (not
in atomic context).

Then, the real culprit is (CC'ing Kumar and Scott to figure out why)
this statement:

#if defined(CONFIG_PPC32) && !defined(CONFIG_NOT_COHERENT_CACHE)
	/*
	 * Turn on cache snooping hardware, since some PowerPC platforms
	 * wholly rely on hardware to deal with cache coherent
	 */

	/* Setup Snooping for all the 4GB space */
	/* SNOOP1 starts from 0x0, size 2G */
	out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0 | SNOOP_SIZE_2GB);
	/* SNOOP2 starts from 0x80000000, size 2G */
	out_be32(non_ehci + FSL_SOC_USB_SNOOP2, 0x80000000 | SNOOP_SIZE_2GB);
#endif

I'm building a 64-bit kernel so this isn't compiled and it looks like
the EHCI is thus not snooping.

By removing the defined(CONFIG_PPC32) part of the statement, my problem
goes away.

Cheers,
Ben.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-17  0:02   ` Benjamin Herrenschmidt
@ 2012-02-17  2:32     ` Liu Shengzhou-B36685
  2012-02-17  3:20       ` Pan Jiafei-B37022
  0 siblings, 1 reply; 11+ messages in thread
From: Liu Shengzhou-B36685 @ 2012-02-17  2:32 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: linux-usb, linuxppc-dev

DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEJlbmphbWluIEhlcnJlbnNj
aG1pZHQgW21haWx0bzpiZW5oQGtlcm5lbC5jcmFzaGluZy5vcmddDQo+IFNlbnQ6IEZyaWRheSwg
RmVicnVhcnkgMTcsIDIwMTIgODowMyBBTQ0KPiBUbzogTGl1IFNoZW5nemhvdS1CMzY2ODUNCj4g
Q2M6IGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMu
b3JnDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0hdIHBvd2VycGMvdXNiOiBmaXggYnVnIG9mIGtlcm5l
bCBoYW5nIHdoZW4NCj4gaW5pdGlhbGl6aW5nIHVzYg0KPiANCj4gT24gRnJpLCAyMDEyLTAyLTE3
IGF0IDA5OjU4ICsxMTAwLCBCZW5qYW1pbiBIZXJyZW5zY2htaWR0IHdyb3RlOg0KPiA+IE9uIFRo
dSwgMjAxMi0wMi0xNiBhdCAxODowMiArMDgwMCwgU2hlbmd6aG91IExpdSB3cm90ZToNCj4gPiA+
IElmIFVTQiBVVE1JIFBIWSBpcyBub3QgZW5hYmxlLCB3cml0aW5nIHRvIHBvcnRzYyByZWdpc3Rl
ciB3aWxsIGxlYWQNCj4gPiA+IHRvIGtlcm5lbCBoYW5nIGR1cmluZyBib290IHVwLg0KPiA+ID4N
Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IFNoZW5nemhvdSBMaXUgPFNoZW5nemhvdS5MaXVAZnJlZXNj
YWxlLmNvbT4NCj4gPiA+IC0tLQ0KPiA+ID4gQXBwbHkgZm9yIG1hc3RlciBicmFuY2ggb2YNCj4g
PiA+IGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2VybmVsL2dpdC90b3J2YWxk
cy9saW51eC0NCj4gMi42LmdpdA0KPiA+ID4gVGVzdGVkIG9uIFA1MDIwRFMsIHRoZSBpc3N1ZSB3
YXMgcmVwb3J0ZWQgYnkgQmVuamFtaW4gSGVycmVuc2NobWlkdC4NCj4gPg0KPiA+IFRoaXMgZml4
ZXMgdGhlIGhhbmcsIGJ1dCBzYWRseSBkb2Vzbid0IG1ha2UgVVNCIHdvcmsuIEkgbm93IGdldDoN
Cj4gDQo+ICAuLi4vLi4uDQo+IA0KPiBPaywgZm91bmQgdGhlIHByb2JsZW0uDQo+IA0KPiBGaXJz
dCwgdGhlIFNESyBrZXJuZWwgaGFkIGEgZGVsYXkgYWZ0ZXIgc2V0dGluZyB0aGF0IGJpdCwgSSBh
ZGRlZCB0aGF0DQo+IGJhY2sgaW4uIFRoaXMgaXMgbm90IHdoYXQgZml4ZWQgaXQgYnV0IGl0IGxv
b2tzIGxpa2UgdGhlIHJpZ2h0IHRoaW5nIHRvDQo+IGRvLCB0aG91Z2ggcGxlYXNlLCB1c2UgbXNs
ZWVwIHJhdGhlciB0aGFuIHVkZWxheSBoZXJlIGlmIHBvc3NpYmxlIChub3QNCj4gaW4gYXRvbWlj
IGNvbnRleHQpLg0KPiANCj4gVGhlbiwgdGhlIHJlYWwgY3VscHJpdCBpcyAoQ0MnaW5nIEt1bWFy
IGFuZCBTY290dCB0byBmaWd1cmUgb3V0IHdoeSkNCj4gdGhpcyBzdGF0ZW1lbnQ6DQo+IA0KPiAj
aWYgZGVmaW5lZChDT05GSUdfUFBDMzIpICYmICFkZWZpbmVkKENPTkZJR19OT1RfQ09IRVJFTlRf
Q0FDSEUpDQo+IAkvKg0KPiAJICogVHVybiBvbiBjYWNoZSBzbm9vcGluZyBoYXJkd2FyZSwgc2lu
Y2Ugc29tZSBQb3dlclBDIHBsYXRmb3Jtcw0KPiAJICogd2hvbGx5IHJlbHkgb24gaGFyZHdhcmUg
dG8gZGVhbCB3aXRoIGNhY2hlIGNvaGVyZW50DQo+IAkgKi8NCj4gDQo+IAkvKiBTZXR1cCBTbm9v
cGluZyBmb3IgYWxsIHRoZSA0R0Igc3BhY2UgKi8NCj4gCS8qIFNOT09QMSBzdGFydHMgZnJvbSAw
eDAsIHNpemUgMkcgKi8NCj4gCW91dF9iZTMyKG5vbl9laGNpICsgRlNMX1NPQ19VU0JfU05PT1Ax
LCAweDAgfCBTTk9PUF9TSVpFXzJHQik7DQo+IAkvKiBTTk9PUDIgc3RhcnRzIGZyb20gMHg4MDAw
MDAwMCwgc2l6ZSAyRyAqLw0KPiAJb3V0X2JlMzIobm9uX2VoY2kgKyBGU0xfU09DX1VTQl9TTk9P
UDIsIDB4ODAwMDAwMDAgfA0KPiBTTk9PUF9TSVpFXzJHQik7ICNlbmRpZg0KPiANCj4gSSdtIGJ1
aWxkaW5nIGEgNjQtYml0IGtlcm5lbCBzbyB0aGlzIGlzbid0IGNvbXBpbGVkIGFuZCBpdCBsb29r
cyBsaWtlDQo+IHRoZSBFSENJIGlzIHRodXMgbm90IHNub29waW5nLg0KPiANCj4gQnkgcmVtb3Zp
bmcgdGhlIGRlZmluZWQoQ09ORklHX1BQQzMyKSBwYXJ0IG9mIHRoZSBzdGF0ZW1lbnQsIG15IHBy
b2JsZW0NCj4gZ29lcyBhd2F5Lg0KPiANCj4gQ2hlZXJzLA0KPiBCZW4uDQo+IA0KPiANCg0KW1No
ZW5nemhvdV0gSSB0ZXN0ZWQgdGhlIHBhdGNoIHdpdGggMzJiaXQgUDUwMjBEUywgVVNCIHdvcmtl
ZCB3ZWxsLiBOb3QgdGVzdGVkIHdpdGggNjQtYml0IGtlcm5lbC4NCkdsYWQgdG8geW91IGhhZCBm
b3VuZCB0aGUgcHJvYmxlbSBpbiBjYXNlIG9mIDY0LWJpdCwgdGhhbmtzIQ0K

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-17  2:32     ` Liu Shengzhou-B36685
@ 2012-02-17  3:20       ` Pan Jiafei-B37022
  2012-02-17  3:42         ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 11+ messages in thread
From: Pan Jiafei-B37022 @ 2012-02-17  3:20 UTC (permalink / raw)
  To: Liu Shengzhou-B36685, Benjamin Herrenschmidt; +Cc: linux-usb, linuxppc-dev

FYI, I once fixed this issue when backport P5020 BSP for WR Linux, The foll=
owing is the patch which I have submitted to linuxbj-internal.


From: linuxbj-internal-bounces@linux.freescale.net [mailto:linuxbj-internal=
-bounces@linux.freescale.net] On Behalf Of Pan Jiafei-B37022
Sent: Friday, December 16, 2011 12:49 PM
To: linuxbj-internal@linux.freescale.net
Cc: Pan Jiafei-B37022
Subject: [Linuxbj-internal] [PATCH] USB: ehci-fsl: Turn on cache snooping o=
n MPC8xxx

If a MPC8xxx was being used, 'have_sysif_regs' should be set and
it should setup cache snooping for all the 4GB space on both PPC32
and PPC64.

Signed-off-by: Pan Jiafei <Jiafei.Pan@freescale.com>
---
drivers/usb/host/ehci-fsl.c |   23 ++++++++++-------------
1 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
index 90534cc..ee14fa7 100644
--- a/drivers/usb/host/ehci-fsl.c
+++ b/drivers/usb/host/ehci-fsl.c
@@ -260,21 +260,18 @@ static void ehci_fsl_usb_setup(struct ehci_hcd *ehci)
    if (pdata->have_sysif_regs) {
          temp =3D in_be32(non_ehci + FSL_SOC_USB_CTRL);
          out_be32(non_ehci + FSL_SOC_USB_CTRL, temp | 0x00000004);
-          out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0000001b);
-    }

-#if defined(CONFIG_PPC32) && !defined(CONFIG_NOT_COHERENT_CACHE)
-    /*
-    * Turn on cache snooping hardware, since some PowerPC platforms
-    * wholly rely on hardware to deal with cache coherent
-    */
+          /*
+          * Turn on cache snooping hardware, since some PowerPC platforms
+          * wholly rely on hardware to deal with cache coherent
+          */

-    /* Setup Snooping for all the 4GB space */
-    /* SNOOP1 starts from 0x0, size 2G */
-    out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0 | SNOOP_SIZE_2GB);
-    /* SNOOP2 starts from 0x80000000, size 2G */
-    out_be32(non_ehci + FSL_SOC_USB_SNOOP2, 0x80000000 | SNOOP_SIZE_2GB);
-#endif
+          /* Setup Snooping for all the 4GB space */
+          /* SNOOP1 starts from 0x0, size 2G */
+          out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0 | SNOOP_SIZE_2GB);
+          /* SNOOP2 starts from 0x80000000, size 2G */
+          out_be32(non_ehci + FSL_SOC_USB_SNOOP2, 0x80000000 | SNOOP_SIZE_=
2GB);
+    }

     if ((pdata->operating_mode =3D=3D FSL_USB2_DR_HOST) ||
               (pdata->operating_mode =3D=3D FSL_USB2_DR_OTG))
--=20
1.7.5.1

> -----Original Message-----
> From: linuxppc-dev-bounces+jiafei.pan=3Dfreescale.com@lists.ozlabs.org
> [mailto:linuxppc-dev-bounces+jiafei.pan=3Dfreescale.com@lists.ozlabs.org]
> On Behalf Of Liu Shengzhou-B36685
> Sent: Friday, February 17, 2012 10:33 AM
> To: Benjamin Herrenschmidt
> Cc: linux-usb@vger.kernel.org; linuxppc-dev@lists.ozlabs.org
> Subject: RE: [PATCH] powerpc/usb: fix bug of kernel hang when
> initializing usb
>=20
>=20
> > -----Original Message-----
> > From: Benjamin Herrenschmidt [mailto:benh@kernel.crashing.org]
> > Sent: Friday, February 17, 2012 8:03 AM
> > To: Liu Shengzhou-B36685
> > Cc: linux-usb@vger.kernel.org; linuxppc-dev@lists.ozlabs.org
> > Subject: Re: [PATCH] powerpc/usb: fix bug of kernel hang when
> > initializing usb
> >
> > On Fri, 2012-02-17 at 09:58 +1100, Benjamin Herrenschmidt wrote:
> > > On Thu, 2012-02-16 at 18:02 +0800, Shengzhou Liu wrote:
> > > > If USB UTMI PHY is not enable, writing to portsc register will
> > > > lead to kernel hang during boot up.
> > > >
> > > > Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com>
> > > > ---
> > > > Apply for master branch of
> > > > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-
> > 2.6.git
> > > > Tested on P5020DS, the issue was reported by Benjamin Herrenschmidt=
.
> > >
> > > This fixes the hang, but sadly doesn't make USB work. I now get:
> >
> >  .../...
> >
> > Ok, found the problem.
> >
> > First, the SDK kernel had a delay after setting that bit, I added that
> > back in. This is not what fixed it but it looks like the right thing
> > to do, though please, use msleep rather than udelay here if possible
> > (not in atomic context).
> >
> > Then, the real culprit is (CC'ing Kumar and Scott to figure out why)
> > this statement:
> >
> > #if defined(CONFIG_PPC32) && !defined(CONFIG_NOT_COHERENT_CACHE)
> > 	/*
> > 	 * Turn on cache snooping hardware, since some PowerPC platforms
> > 	 * wholly rely on hardware to deal with cache coherent
> > 	 */
> >
> > 	/* Setup Snooping for all the 4GB space */
> > 	/* SNOOP1 starts from 0x0, size 2G */
> > 	out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0 | SNOOP_SIZE_2GB);
> > 	/* SNOOP2 starts from 0x80000000, size 2G */
> > 	out_be32(non_ehci + FSL_SOC_USB_SNOOP2, 0x80000000 |
> SNOOP_SIZE_2GB);
> > #endif
> >
> > I'm building a 64-bit kernel so this isn't compiled and it looks like
> > the EHCI is thus not snooping.
> >
> > By removing the defined(CONFIG_PPC32) part of the statement, my
> > problem goes away.
> >
> > Cheers,
> > Ben.
> >
> >
>=20
> [Shengzhou] I tested the patch with 32bit P5020DS, USB worked well. Not
> tested with 64-bit kernel.
> Glad to you had found the problem in case of 64-bit, thanks!
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* RE: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-17  3:20       ` Pan Jiafei-B37022
@ 2012-02-17  3:42         ` Benjamin Herrenschmidt
  2012-02-17  3:46           ` Pan Jiafei-B37022
  2012-02-17  3:54           ` Pan Jiafei-B37022
  0 siblings, 2 replies; 11+ messages in thread
From: Benjamin Herrenschmidt @ 2012-02-17  3:42 UTC (permalink / raw)
  To: Pan Jiafei-B37022; +Cc: Liu Shengzhou-B36685, linux-usb, linuxppc-dev

On Fri, 2012-02-17 at 03:20 +0000, Pan Jiafei-B37022 wrote:
> FYI, I once fixed this issue when backport P5020 BSP for WR Linux, The
> following is the patch which I have submitted to linuxbj-internal.

Should I just apply this to upstream ?

Cheers,
Ben.

> From: linuxbj-internal-bounces@linux.freescale.net [mailto:linuxbj-internal-bounces@linux.freescale.net] On Behalf Of Pan Jiafei-B37022
> Sent: Friday, December 16, 2011 12:49 PM
> To: linuxbj-internal@linux.freescale.net
> Cc: Pan Jiafei-B37022
> Subject: [Linuxbj-internal] [PATCH] USB: ehci-fsl: Turn on cache snooping on MPC8xxx
> 
> If a MPC8xxx was being used, 'have_sysif_regs' should be set and
> it should setup cache snooping for all the 4GB space on both PPC32
> and PPC64.
> 
> Signed-off-by: Pan Jiafei <Jiafei.Pan@freescale.com>
> ---
> drivers/usb/host/ehci-fsl.c |   23 ++++++++++-------------
> 1 files changed, 10 insertions(+), 13 deletions(-)
> 
> diff --git a/drivers/usb/host/ehci-fsl.c b/drivers/usb/host/ehci-fsl.c
> index 90534cc..ee14fa7 100644
> --- a/drivers/usb/host/ehci-fsl.c
> +++ b/drivers/usb/host/ehci-fsl.c
> @@ -260,21 +260,18 @@ static void ehci_fsl_usb_setup(struct ehci_hcd *ehci)
>     if (pdata->have_sysif_regs) {
>           temp = in_be32(non_ehci + FSL_SOC_USB_CTRL);
>           out_be32(non_ehci + FSL_SOC_USB_CTRL, temp | 0x00000004);
> -          out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0000001b);
> -    }
> 
> -#if defined(CONFIG_PPC32) && !defined(CONFIG_NOT_COHERENT_CACHE)
> -    /*
> -    * Turn on cache snooping hardware, since some PowerPC platforms
> -    * wholly rely on hardware to deal with cache coherent
> -    */
> +          /*
> +          * Turn on cache snooping hardware, since some PowerPC platforms
> +          * wholly rely on hardware to deal with cache coherent
> +          */
> 
> -    /* Setup Snooping for all the 4GB space */
> -    /* SNOOP1 starts from 0x0, size 2G */
> -    out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0 | SNOOP_SIZE_2GB);
> -    /* SNOOP2 starts from 0x80000000, size 2G */
> -    out_be32(non_ehci + FSL_SOC_USB_SNOOP2, 0x80000000 | SNOOP_SIZE_2GB);
> -#endif
> +          /* Setup Snooping for all the 4GB space */
> +          /* SNOOP1 starts from 0x0, size 2G */
> +          out_be32(non_ehci + FSL_SOC_USB_SNOOP1, 0x0 | SNOOP_SIZE_2GB);
> +          /* SNOOP2 starts from 0x80000000, size 2G */
> +          out_be32(non_ehci + FSL_SOC_USB_SNOOP2, 0x80000000 | SNOOP_SIZE_2GB);
> +    }
> 
>      if ((pdata->operating_mode == FSL_USB2_DR_HOST) ||
>                (pdata->operating_mode == FSL_USB2_DR_OTG))

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-17  3:42         ` Benjamin Herrenschmidt
@ 2012-02-17  3:46           ` Pan Jiafei-B37022
  2012-02-17  3:54           ` Pan Jiafei-B37022
  1 sibling, 0 replies; 11+ messages in thread
From: Pan Jiafei-B37022 @ 2012-02-17  3:46 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Liu Shengzhou-B36685, linux-usb, linuxppc-dev

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogQmVuamFtaW4gSGVycmVu
c2NobWlkdCBbbWFpbHRvOmJlbmhAa2VybmVsLmNyYXNoaW5nLm9yZ10NCj4gU2VudDogRnJpZGF5
LCBGZWJydWFyeSAxNywgMjAxMiAxMTo0MyBBTQ0KPiBUbzogUGFuIEppYWZlaS1CMzcwMjINCj4g
Q2M6IExpdSBTaGVuZ3pob3UtQjM2Njg1OyBsaW51eC11c2JAdmdlci5rZXJuZWwub3JnOyBsaW51
eHBwYy0NCj4gZGV2QGxpc3RzLm96bGFicy5vcmcNCj4gU3ViamVjdDogUkU6IFtQQVRDSF0gcG93
ZXJwYy91c2I6IGZpeCBidWcgb2Yga2VybmVsIGhhbmcgd2hlbg0KPiBpbml0aWFsaXppbmcgdXNi
DQo+IA0KPiBPbiBGcmksIDIwMTItMDItMTcgYXQgMDM6MjAgKzAwMDAsIFBhbiBKaWFmZWktQjM3
MDIyIHdyb3RlOg0KPiA+IEZZSSwgSSBvbmNlIGZpeGVkIHRoaXMgaXNzdWUgd2hlbiBiYWNrcG9y
dCBQNTAyMCBCU1AgZm9yIFdSIExpbnV4LCBUaGUNCj4gPiBmb2xsb3dpbmcgaXMgdGhlIHBhdGNo
IHdoaWNoIEkgaGF2ZSBzdWJtaXR0ZWQgdG8gbGludXhiai1pbnRlcm5hbC4NCj4gDQo+IFNob3Vs
ZCBJIGp1c3QgYXBwbHkgdGhpcyB0byB1cHN0cmVhbSA/DQo+IA0KPiBDaGVlcnMsDQo+IEJlbi4N
Cj4gDQpbUGFuIEppYWZlaS1CMzcwMjJdIA0KRmVlbCBmcmVlIHRvIGFwcGx5IHRoaXMgdG8gdXBz
dHJlYW0sIHRoYW5rcw0KDQpCZXN0IFJlZ2FyZHMuDQpKaWFmZWkNCg0KPiA+IEZyb206IGxpbnV4
YmotaW50ZXJuYWwtYm91bmNlc0BsaW51eC5mcmVlc2NhbGUubmV0DQo+ID4gW21haWx0bzpsaW51
eGJqLWludGVybmFsLWJvdW5jZXNAbGludXguZnJlZXNjYWxlLm5ldF0gT24gQmVoYWxmIE9mIFBh
bg0KPiA+IEppYWZlaS1CMzcwMjINCj4gPiBTZW50OiBGcmlkYXksIERlY2VtYmVyIDE2LCAyMDEx
IDEyOjQ5IFBNDQo+ID4gVG86IGxpbnV4YmotaW50ZXJuYWxAbGludXguZnJlZXNjYWxlLm5ldA0K
PiA+IENjOiBQYW4gSmlhZmVpLUIzNzAyMg0KPiA+IFN1YmplY3Q6IFtMaW51eGJqLWludGVybmFs
XSBbUEFUQ0hdIFVTQjogZWhjaS1mc2w6IFR1cm4gb24gY2FjaGUNCj4gPiBzbm9vcGluZyBvbiBN
UEM4eHh4DQo+ID4NCj4gPiBJZiBhIE1QQzh4eHggd2FzIGJlaW5nIHVzZWQsICdoYXZlX3N5c2lm
X3JlZ3MnIHNob3VsZCBiZSBzZXQgYW5kIGl0DQo+ID4gc2hvdWxkIHNldHVwIGNhY2hlIHNub29w
aW5nIGZvciBhbGwgdGhlIDRHQiBzcGFjZSBvbiBib3RoIFBQQzMyIGFuZA0KPiA+IFBQQzY0Lg0K
PiA+DQo+ID4gU2lnbmVkLW9mZi1ieTogUGFuIEppYWZlaSA8SmlhZmVpLlBhbkBmcmVlc2NhbGUu
Y29tPg0KPiA+IC0tLQ0KPiA+IGRyaXZlcnMvdXNiL2hvc3QvZWhjaS1mc2wuYyB8ICAgMjMgKysr
KysrKysrKy0tLS0tLS0tLS0tLS0NCj4gPiAxIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo
KyksIDEzIGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL2hv
c3QvZWhjaS1mc2wuYyBiL2RyaXZlcnMvdXNiL2hvc3QvZWhjaS1mc2wuYw0KPiA+IGluZGV4IDkw
NTM0Y2MuLmVlMTRmYTcgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy91c2IvaG9zdC9laGNpLWZz
bC5jDQo+ID4gKysrIGIvZHJpdmVycy91c2IvaG9zdC9laGNpLWZzbC5jDQo+ID4gQEAgLTI2MCwy
MSArMjYwLDE4IEBAIHN0YXRpYyB2b2lkIGVoY2lfZnNsX3VzYl9zZXR1cChzdHJ1Y3QgZWhjaV9o
Y2QNCj4gKmVoY2kpDQo+ID4gICAgIGlmIChwZGF0YS0+aGF2ZV9zeXNpZl9yZWdzKSB7DQo+ID4g
ICAgICAgICAgIHRlbXAgPSBpbl9iZTMyKG5vbl9laGNpICsgRlNMX1NPQ19VU0JfQ1RSTCk7DQo+
ID4gICAgICAgICAgIG91dF9iZTMyKG5vbl9laGNpICsgRlNMX1NPQ19VU0JfQ1RSTCwgdGVtcCB8
IDB4MDAwMDAwMDQpOw0KPiA+IC0gICAgICAgICAgb3V0X2JlMzIobm9uX2VoY2kgKyBGU0xfU09D
X1VTQl9TTk9PUDEsIDB4MDAwMDAwMWIpOw0KPiA+IC0gICAgfQ0KPiA+DQo+ID4gLSNpZiBkZWZp
bmVkKENPTkZJR19QUEMzMikgJiYgIWRlZmluZWQoQ09ORklHX05PVF9DT0hFUkVOVF9DQUNIRSkN
Cj4gPiAtICAgIC8qDQo+ID4gLSAgICAqIFR1cm4gb24gY2FjaGUgc25vb3BpbmcgaGFyZHdhcmUs
IHNpbmNlIHNvbWUgUG93ZXJQQyBwbGF0Zm9ybXMNCj4gPiAtICAgICogd2hvbGx5IHJlbHkgb24g
aGFyZHdhcmUgdG8gZGVhbCB3aXRoIGNhY2hlIGNvaGVyZW50DQo+ID4gLSAgICAqLw0KPiA+ICsg
ICAgICAgICAgLyoNCj4gPiArICAgICAgICAgICogVHVybiBvbiBjYWNoZSBzbm9vcGluZyBoYXJk
d2FyZSwgc2luY2Ugc29tZSBQb3dlclBDDQo+IHBsYXRmb3Jtcw0KPiA+ICsgICAgICAgICAgKiB3
aG9sbHkgcmVseSBvbiBoYXJkd2FyZSB0byBkZWFsIHdpdGggY2FjaGUgY29oZXJlbnQNCj4gPiAr
ICAgICAgICAgICovDQo+ID4NCj4gPiAtICAgIC8qIFNldHVwIFNub29waW5nIGZvciBhbGwgdGhl
IDRHQiBzcGFjZSAqLw0KPiA+IC0gICAgLyogU05PT1AxIHN0YXJ0cyBmcm9tIDB4MCwgc2l6ZSAy
RyAqLw0KPiA+IC0gICAgb3V0X2JlMzIobm9uX2VoY2kgKyBGU0xfU09DX1VTQl9TTk9PUDEsIDB4
MCB8IFNOT09QX1NJWkVfMkdCKTsNCj4gPiAtICAgIC8qIFNOT09QMiBzdGFydHMgZnJvbSAweDgw
MDAwMDAwLCBzaXplIDJHICovDQo+ID4gLSAgICBvdXRfYmUzMihub25fZWhjaSArIEZTTF9TT0Nf
VVNCX1NOT09QMiwgMHg4MDAwMDAwMCB8DQo+IFNOT09QX1NJWkVfMkdCKTsNCj4gPiAtI2VuZGlm
DQo+ID4gKyAgICAgICAgICAvKiBTZXR1cCBTbm9vcGluZyBmb3IgYWxsIHRoZSA0R0Igc3BhY2Ug
Ki8NCj4gPiArICAgICAgICAgIC8qIFNOT09QMSBzdGFydHMgZnJvbSAweDAsIHNpemUgMkcgKi8N
Cj4gPiArICAgICAgICAgIG91dF9iZTMyKG5vbl9laGNpICsgRlNMX1NPQ19VU0JfU05PT1AxLCAw
eDAgfA0KPiBTTk9PUF9TSVpFXzJHQik7DQo+ID4gKyAgICAgICAgICAvKiBTTk9PUDIgc3RhcnRz
IGZyb20gMHg4MDAwMDAwMCwgc2l6ZSAyRyAqLw0KPiA+ICsgICAgICAgICAgb3V0X2JlMzIobm9u
X2VoY2kgKyBGU0xfU09DX1VTQl9TTk9PUDIsIDB4ODAwMDAwMDAgfA0KPiBTTk9PUF9TSVpFXzJH
Qik7DQo+ID4gKyAgICB9DQo+ID4NCj4gPiAgICAgIGlmICgocGRhdGEtPm9wZXJhdGluZ19tb2Rl
ID09IEZTTF9VU0IyX0RSX0hPU1QpIHx8DQo+ID4gICAgICAgICAgICAgICAgKHBkYXRhLT5vcGVy
YXRpbmdfbW9kZSA9PSBGU0xfVVNCMl9EUl9PVEcpKQ0KPiANCj4gDQoNCg==

^ permalink raw reply	[flat|nested] 11+ messages in thread

* RE: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-17  3:42         ` Benjamin Herrenschmidt
  2012-02-17  3:46           ` Pan Jiafei-B37022
@ 2012-02-17  3:54           ` Pan Jiafei-B37022
  1 sibling, 0 replies; 11+ messages in thread
From: Pan Jiafei-B37022 @ 2012-02-17  3:54 UTC (permalink / raw)
  To: Benjamin Herrenschmidt; +Cc: Liu Shengzhou-B36685, linux-usb, linuxppc-dev

PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBCZW5qYW1pbiBIZXJyZW5zY2ht
aWR0IFttYWlsdG86YmVuaEBrZXJuZWwuY3Jhc2hpbmcub3JnXQ0KPiBTZW50OiBGcmlkYXksIEZl
YnJ1YXJ5IDE3LCAyMDEyIDExOjQzIEFNDQo+IFRvOiBQYW4gSmlhZmVpLUIzNzAyMg0KPiBDYzog
TGl1IFNoZW5nemhvdS1CMzY2ODU7IGxpbnV4LXVzYkB2Z2VyLmtlcm5lbC5vcmc7IGxpbnV4cHBj
LQ0KPiBkZXZAbGlzdHMub3psYWJzLm9yZw0KPiBTdWJqZWN0OiBSRTogW1BBVENIXSBwb3dlcnBj
L3VzYjogZml4IGJ1ZyBvZiBrZXJuZWwgaGFuZyB3aGVuDQo+IGluaXRpYWxpemluZyB1c2INCj4g
DQo+IE9uIEZyaSwgMjAxMi0wMi0xNyBhdCAwMzoyMCArMDAwMCwgUGFuIEppYWZlaS1CMzcwMjIg
d3JvdGU6DQo+ID4gRllJLCBJIG9uY2UgZml4ZWQgdGhpcyBpc3N1ZSB3aGVuIGJhY2twb3J0IFA1
MDIwIEJTUCBmb3IgV1IgTGludXgsIFRoZQ0KPiA+IGZvbGxvd2luZyBpcyB0aGUgcGF0Y2ggd2hp
Y2ggSSBoYXZlIHN1Ym1pdHRlZCB0byBsaW51eGJqLWludGVybmFsLg0KPiANCj4gU2hvdWxkIEkg
anVzdCBhcHBseSB0aGlzIHRvIHVwc3RyZWFtID8NCj4gDQo+IENoZWVycywNCj4gQmVuLg0KPiAN
CltQYW4gSmlhZmVpLUIzNzAyMl0gDQpPaywgdGhhbmtzLCBJIHdpbGwgcmVzZW5kIHRoZSBwYXRj
aCBmb3JtYWxseSENCg0KQmVzdCBSZWdhcmRzLg0KSmlhZmVpLg0KDQo+ID4gRnJvbTogbGludXhi
ai1pbnRlcm5hbC1ib3VuY2VzQGxpbnV4LmZyZWVzY2FsZS5uZXQNCj4gPiBbbWFpbHRvOmxpbnV4
YmotaW50ZXJuYWwtYm91bmNlc0BsaW51eC5mcmVlc2NhbGUubmV0XSBPbiBCZWhhbGYgT2YgUGFu
DQo+ID4gSmlhZmVpLUIzNzAyMg0KPiA+IFNlbnQ6IEZyaWRheSwgRGVjZW1iZXIgMTYsIDIwMTEg
MTI6NDkgUE0NCj4gPiBUbzogbGludXhiai1pbnRlcm5hbEBsaW51eC5mcmVlc2NhbGUubmV0DQo+
ID4gQ2M6IFBhbiBKaWFmZWktQjM3MDIyDQo+ID4gU3ViamVjdDogW0xpbnV4YmotaW50ZXJuYWxd
IFtQQVRDSF0gVVNCOiBlaGNpLWZzbDogVHVybiBvbiBjYWNoZQ0KPiA+IHNub29waW5nIG9uIE1Q
Qzh4eHgNCj4gPg0KPiA+IElmIGEgTVBDOHh4eCB3YXMgYmVpbmcgdXNlZCwgJ2hhdmVfc3lzaWZf
cmVncycgc2hvdWxkIGJlIHNldCBhbmQgaXQNCj4gPiBzaG91bGQgc2V0dXAgY2FjaGUgc25vb3Bp
bmcgZm9yIGFsbCB0aGUgNEdCIHNwYWNlIG9uIGJvdGggUFBDMzIgYW5kDQo+ID4gUFBDNjQuDQo+
ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBQYW4gSmlhZmVpIDxKaWFmZWkuUGFuQGZyZWVzY2FsZS5j
b20+DQo+ID4gLS0tDQo+ID4gZHJpdmVycy91c2IvaG9zdC9laGNpLWZzbC5jIHwgICAyMyArKysr
KysrKysrLS0tLS0tLS0tLS0tLQ0KPiA+IDEgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygr
KSwgMTMgZGVsZXRpb25zKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy91c2IvaG9z
dC9laGNpLWZzbC5jIGIvZHJpdmVycy91c2IvaG9zdC9laGNpLWZzbC5jDQo+ID4gaW5kZXggOTA1
MzRjYy4uZWUxNGZhNyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL3VzYi9ob3N0L2VoY2ktZnNs
LmMNCj4gPiArKysgYi9kcml2ZXJzL3VzYi9ob3N0L2VoY2ktZnNsLmMNCj4gPiBAQCAtMjYwLDIx
ICsyNjAsMTggQEAgc3RhdGljIHZvaWQgZWhjaV9mc2xfdXNiX3NldHVwKHN0cnVjdCBlaGNpX2hj
ZA0KPiAqZWhjaSkNCj4gPiAgICAgaWYgKHBkYXRhLT5oYXZlX3N5c2lmX3JlZ3MpIHsNCj4gPiAg
ICAgICAgICAgdGVtcCA9IGluX2JlMzIobm9uX2VoY2kgKyBGU0xfU09DX1VTQl9DVFJMKTsNCj4g
PiAgICAgICAgICAgb3V0X2JlMzIobm9uX2VoY2kgKyBGU0xfU09DX1VTQl9DVFJMLCB0ZW1wIHwg
MHgwMDAwMDAwNCk7DQo+ID4gLSAgICAgICAgICBvdXRfYmUzMihub25fZWhjaSArIEZTTF9TT0Nf
VVNCX1NOT09QMSwgMHgwMDAwMDAxYik7DQo+ID4gLSAgICB9DQo+ID4NCj4gPiAtI2lmIGRlZmlu
ZWQoQ09ORklHX1BQQzMyKSAmJiAhZGVmaW5lZChDT05GSUdfTk9UX0NPSEVSRU5UX0NBQ0hFKQ0K
PiA+IC0gICAgLyoNCj4gPiAtICAgICogVHVybiBvbiBjYWNoZSBzbm9vcGluZyBoYXJkd2FyZSwg
c2luY2Ugc29tZSBQb3dlclBDIHBsYXRmb3Jtcw0KPiA+IC0gICAgKiB3aG9sbHkgcmVseSBvbiBo
YXJkd2FyZSB0byBkZWFsIHdpdGggY2FjaGUgY29oZXJlbnQNCj4gPiAtICAgICovDQo+ID4gKyAg
ICAgICAgICAvKg0KPiA+ICsgICAgICAgICAgKiBUdXJuIG9uIGNhY2hlIHNub29waW5nIGhhcmR3
YXJlLCBzaW5jZSBzb21lIFBvd2VyUEMNCj4gcGxhdGZvcm1zDQo+ID4gKyAgICAgICAgICAqIHdo
b2xseSByZWx5IG9uIGhhcmR3YXJlIHRvIGRlYWwgd2l0aCBjYWNoZSBjb2hlcmVudA0KPiA+ICsg
ICAgICAgICAgKi8NCj4gPg0KPiA+IC0gICAgLyogU2V0dXAgU25vb3BpbmcgZm9yIGFsbCB0aGUg
NEdCIHNwYWNlICovDQo+ID4gLSAgICAvKiBTTk9PUDEgc3RhcnRzIGZyb20gMHgwLCBzaXplIDJH
ICovDQo+ID4gLSAgICBvdXRfYmUzMihub25fZWhjaSArIEZTTF9TT0NfVVNCX1NOT09QMSwgMHgw
IHwgU05PT1BfU0laRV8yR0IpOw0KPiA+IC0gICAgLyogU05PT1AyIHN0YXJ0cyBmcm9tIDB4ODAw
MDAwMDAsIHNpemUgMkcgKi8NCj4gPiAtICAgIG91dF9iZTMyKG5vbl9laGNpICsgRlNMX1NPQ19V
U0JfU05PT1AyLCAweDgwMDAwMDAwIHwNCj4gU05PT1BfU0laRV8yR0IpOw0KPiA+IC0jZW5kaWYN
Cj4gPiArICAgICAgICAgIC8qIFNldHVwIFNub29waW5nIGZvciBhbGwgdGhlIDRHQiBzcGFjZSAq
Lw0KPiA+ICsgICAgICAgICAgLyogU05PT1AxIHN0YXJ0cyBmcm9tIDB4MCwgc2l6ZSAyRyAqLw0K
PiA+ICsgICAgICAgICAgb3V0X2JlMzIobm9uX2VoY2kgKyBGU0xfU09DX1VTQl9TTk9PUDEsIDB4
MCB8DQo+IFNOT09QX1NJWkVfMkdCKTsNCj4gPiArICAgICAgICAgIC8qIFNOT09QMiBzdGFydHMg
ZnJvbSAweDgwMDAwMDAwLCBzaXplIDJHICovDQo+ID4gKyAgICAgICAgICBvdXRfYmUzMihub25f
ZWhjaSArIEZTTF9TT0NfVVNCX1NOT09QMiwgMHg4MDAwMDAwMCB8DQo+IFNOT09QX1NJWkVfMkdC
KTsNCj4gPiArICAgIH0NCj4gPg0KPiA+ICAgICAgaWYgKChwZGF0YS0+b3BlcmF0aW5nX21vZGUg
PT0gRlNMX1VTQjJfRFJfSE9TVCkgfHwNCj4gPiAgICAgICAgICAgICAgICAocGRhdGEtPm9wZXJh
dGluZ19tb2RlID09IEZTTF9VU0IyX0RSX09URykpDQo+IA0KPiANCg0K

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb
  2012-02-16 10:02 [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb Shengzhou Liu
  2012-02-16 10:39 ` Benjamin Herrenschmidt
  2012-02-16 22:58 ` Benjamin Herrenschmidt
@ 2012-02-18 15:39 ` Sergei Shtylyov
  2 siblings, 0 replies; 11+ messages in thread
From: Sergei Shtylyov @ 2012-02-18 15:39 UTC (permalink / raw)
  To: Shengzhou Liu; +Cc: linux-usb, linuxppc-dev

Hello.

On 16-02-2012 14:02, Shengzhou Liu wrote:

> If USB UTMI PHY is not enable, writing to portsc register will lead to
> kernel hang during boot up.

> Signed-off-by: Shengzhou Liu<Shengzhou.Liu@freescale.com>
[...]

> diff --git a/drivers/usb/host/ehci-fsl.h b/drivers/usb/host/ehci-fsl.h
> index bdf43e2..0e400c2 100644
> --- a/drivers/usb/host/ehci-fsl.h
> +++ b/drivers/usb/host/ehci-fsl.h
> @@ -45,6 +45,7 @@
>   #define FSL_SOC_USB_PRICTRL	0x40c	/* NOTE: big-endian */
>   #define FSL_SOC_USB_SICTRL	0x410	/* NOTE: big-endian */
>   #define FSL_SOC_USB_CTRL	0x500	/* NOTE: big-endian */
> +#define CTRL_UTMI_PHY_EN	(1<<9)

    Please put spaces around << like below.

>   #define CTRL_PHY_CLK_VALID	(1<<  17)
>   #define SNOOP_SIZE_2GB		0x1e
>   #endif				/* _EHCI_FSL_H */

WBR, Sergei

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-02-18 15:40 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-02-16 10:02 [PATCH] powerpc/usb: fix bug of kernel hang when initializing usb Shengzhou Liu
2012-02-16 10:39 ` Benjamin Herrenschmidt
2012-02-16 16:19   ` Greg KH
2012-02-16 22:58 ` Benjamin Herrenschmidt
2012-02-17  0:02   ` Benjamin Herrenschmidt
2012-02-17  2:32     ` Liu Shengzhou-B36685
2012-02-17  3:20       ` Pan Jiafei-B37022
2012-02-17  3:42         ` Benjamin Herrenschmidt
2012-02-17  3:46           ` Pan Jiafei-B37022
2012-02-17  3:54           ` Pan Jiafei-B37022
2012-02-18 15:39 ` Sergei Shtylyov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).