On Thursday 07 December 2006 10:24 am, Geoff Levand wrote:
> > I don't see anything to _set_ this flag on any system.  Is this
> > a PCI device?  Feel free to send me a PS3 to test with.  ;)
> 
> 
> There are currently three platforms that use this chip, the IBM
> Cell Blade, the Toshiba Cell Reference Set (Celleb), and the
> Sony PS3.  The chip itself is on a system bus (IOIF), but each
> platform represents it somewhat differently.
> 
> For the Blade, Linux runs on the raw hardware, and the Blade's
> Open Firmware layer provides a fake PCI interface, so that

A "fake PCI"?  Strange.  It'd make more sense to stick things
onto some bus that's a more direct match.  And to make all
those platforms represent IOIF the same way ... reading between
the lines, I suspect you had multiple Linux teams at work, who
didn't cooperate as closely as might have been desirable!


> platform uses the standard ohci_pci driver.  The maintainer is
> currently not maintaining USB, in part I guess, because of this
> bug.  Both Celleb and the PS3 have hypervisors which present the
> controller through an HV abstraction.  The Celleb USB support
> is churning, so I can't say about it, but I guess it will be
> similar to the PS3.
> 
> With the PS3, USB is presented as a device on a virtual system bus.

In most cases, the advice is to use "platform_bus", but there can
be cases where a new bus abstraction is appropriate.

It'd be advantageous to (re)use the same driver glue.  If it
weren't for the fact that each chip/system vendor ends up with
minor differences related to system integration, we could make
do with a lot fewer "ohci-XXX.c" bus glue components.  But
having two (or three) for Cell seems  excessive, especially
if they're all going to the same IOIF ohci controller...


> I setup a platform specific driver ohci-ps3.  I am still working on
> it, but hope to get it ready for submission soon.  You can view it
> here:
> 
>   
> http://67.117.136.164/pub/cell/ps3-linux-extra-LATEST/ps3-extra/ps3-usb-ohci.patch

At a quick glance it seemed clean enough.  I'd avoid static data
structures internal to functions, but that's minor.
 
 
> > If it's a PCI device, I'd rather see it merge with a patch that
> > I will be resending, which will help make PCI quirks easier to
> > manage than just augmenting a big if/else tree.
> 
> 
> Yes, that is agreeable by me.  As I said, Cell Blade represents it
> as a PCI device, but the PS3 does not, so my concern is that your
> new method won't work for me (PS3).  Please let me know what you
> would like to do.

Since your workaround is just to write some registers, I'd try
to do that in the PS3/CELLEB bus glue.

- Dave


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to