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