> -----Original Message----- > From: Benjamin Herrenschmidt [mailto:benh@xxxxxxxxxxxxxxxxxxx] > Sent: Friday, February 17, 2012 11:43 AM > To: Pan Jiafei-B37022 > Cc: Liu Shengzhou-B36685; linux-usb@xxxxxxxxxxxxxxx; linuxppc- > dev@xxxxxxxxxxxxxxxx > Subject: RE: [PATCH] powerpc/usb: fix bug of kernel hang when > initializing usb > > 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. > [Pan Jiafei-B37022] Ok, thanks, I will resend the patch formally! Best Regards. Jiafei. > > From: linuxbj-internal-bounces@xxxxxxxxxxxxxxxxxxx > > [mailto:linuxbj-internal-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of Pan > > Jiafei-B37022 > > Sent: Friday, December 16, 2011 12:49 PM > > To: linuxbj-internal@xxxxxxxxxxxxxxxxxxx > > 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@xxxxxxxxxxxxx> > > --- > > 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)) > > ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥