On Thu, Dec 05, 2013 at 09:44:25PM +0000, David Woodhouse wrote:
On Thu, 2013-12-05 at 21:26 +0000, David Woodhouse wrote:
I think this is because the EHCI device has a lower PCI function (0:14.3) than its corresponding OHCI device (0:14.4)?
It is indeed. And reading the EHCI spec, I see that the companion controllers *must* have a lower function number than the EHCI. This appears to be a hardware bug. Will chase internally, but may need a quirk for this.
Right.
It occurred to me that we could actually simplify the code by initializing all the ehci controllers and then init all the ohci/uhci controllers. The current complex interactions between the PCI walking and EHCI setup is really hard to understand. I put together a sample patch - see attached and at:
https://github.com/KevinOConnor/seabios/tree/testing
I've only lightly tested it. I think something like this would have to wait until after v1.7.4.
-Kevin