* [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).