Messages in this thread | | | Date | Tue, 13 Jul 2004 14:11:23 -0700 | From | David Brownell <> | Subject | Re: [linux-usb-devel] [PATCH] proper bios handoff in ehci-hcd |
| |
Will Beers wrote: > > though maybe 500 msec is too short a period to wait. > > See if 5000 msec helps. > > I went all the way up to 20000 msec and it still didn't help. I'm sure > it's a bad idea, but removing that whole if-block below it makes it work > (which is effectively what switching the and/or did). I don't know > enough about it to judge whether it's correct, but what exactly is it > checking for there?
There are two flags in adjacent bytes of pci config space. State transitions are shown in the spec [1] (simple state diagrams), but basically your hardware started out in a "BIOS owned" mode, and we want Linux to run it instead. So we change (0,1) to (1,1), then BIOS should get an IRQ before changing it to (1,0) and ignoring EHCI ... it's not.
Sounds to me like your BIOS may be broken. But if you're up for it, you could try using byte access to write that one flag byte; I could also believe some hardware won't issue the SMI interrupt without that. There are also a lot of bits in the next word, which might let you stomp on on the BIOS in constructive useful ways.
- Dave
[1] http://www.usb.org/developers/docs/ at the very bottom of the page, for that part you won't need to know anything else about USB.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |