> 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!

Multiple companies actually :-) But the situation is more complicated
than that... The Cell's IOIF itself is just a point-to-point interface
to a southbridge. What's in that bridge (and what type of backbone bus
is in there) is a different matter... But yes, the IBM blades generally
represent all the devices into the "spider" southbridge (or toshiba scc)
as pseudo-PCI device. The illusion is maintained by the firmware (which
has calls for config space accesses on those machines) so it's pretty
much transparent to the OS. In addition, I think the spider chip was
actually designed with that in mind as it does have some pseudo-PCI
config space registers for internal devices iirc.  

The Toshiba Celleb and PS3 platforms and does things differently though.
Celleb has a pseudo-PCI thingy but the illusion is maintained by the
kernel and it might be changed into a simple of_platform (device-tree
probed platform bus) and the PS3 has other differences related to Sony
Hypervisor which means it needs to use a special bus type to get things
like DMA mapping etc... right.

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

We try to use of_platform instead (which is similar but linked to the
Open Firmware device-tree). In the case of PS3 though, due to various
hypervisor funkyness (that, among others, result into tricks in the way
DMA mapping is handled), it should really be a special bus type.

> 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...

Actually the same OCHI inside of the southbridge, IOIF itself has little
to do with that. The problem is essentially 3 completely different
environments (2 different hypervisors for Sony & Toshiba and a firmware
that exposes everything as a pseudo-PCI bus for IBM).

Ben.



-------------------------------------------------------------------------
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