Re: [PATCH 2.6.21] Work around for PPC440EPX USBH_23 errrata

David Brownell <[email protected]>
Newsgroups gmane.linux.usb.devel
Message-ID <[email protected]>
On Sunday 20 May 2007, Pete Zaitcev wrote:
> On Fri, 18 May 2007 14:23:43 -0700, "Mark Miesfeld" <[email protected]> wrote:
> 
> And this is the part which implements poking:
> 
> > +++ b/drivers/usb/host/ohci-ppc-soc.c
> > @@ -20,6 +20,37 @@ #include <linux/signal.h>
> >  /* always called with process context; sleeping is OK */
> > 
> > +#ifdef CONFIG_USB_PPC440EPX_USBH_23_ERRATA
> > +struct ohci_hcd	*cached_ohci = NULL;
> > +#define HCFS_SUSPEND      0
> > +#define HCFS_OPERATIONAL  1
> 
> > +void ohci_ppc_set_hcfs(int state) {
> > +	u32 hc_control;
> > +
> > +	hc_control = (ohci_readl(cached_ohci, &cached_ohci->regs->control)
> > +		      & ~OHCI_CTRL_HCFS);
> > +
> > +	switch ( state )  {
> > +	case HCFS_SUSPEND:
> > +		hc_control |= OHCI_USB_SUSPEND;
> > +		break;
> > +	case HCFS_OPERATIONAL :
> > +		hc_control |= OHCI_USB_OPER;

So, basically you'll turn on OHCI hardware without having the
driver know that it's on ... ?

This looks almost certain to break something -- deeply.

If you're going to turn on the OHCI hardware, do it the
normal way; don't bypass its driver.

- Dave


> > +		break;
> > +	default:
> > +		/* this is unexpected, shoud never happen */
> > +		hc_control |= OHCI_USB_SUSPEND;
> > +		break;
> > +	}
> > +
> > +	/* write the new state and flush the write. */
> > +	ohci_writel(cached_ohci, hc_control, &cached_ohci->regs->control);
> > +	(void) ohci_readl(cached_ohci, &cached_ohci->regs->control);
> > +}
> > +EXPORT_SYMBOL (ohci_ppc_set_hcfs);
> 

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.