Voodoo card and PCI I/O ports?

From: Richard Drummond <hidden>
Date: 2003-03-22 08:15:59

Hi

I'm trying to use a Voodoo3 card under Linux on a Mac 9500. The problem that I
have with this card is that when I boot from Open Firmware with Quik, the PCI
I/O space of the card is not enabled (and hence X and the tdfxfb driver won't
work). If, however, I boot via miBoot the I/O space is enabled and all is
fine. My guess is that the MacOS driver in the Voodoo's ROM is enabling the
I/O ports, but that the OF driver doesn't.

When booting from OF, I can enable the card's I/O ports with the command:

setpci -s 0:0e.0 COMMAND=3

However, this is not enough to get the card working. The card claims the range
0x0400-0x04ff (PCI addressing) for its I/O space, but this conflicts with my
ATA controller which also wants this space and is enabled by OF. If I then
manually set the Voodoo's I/O port address with, for example,

setpci -s 0.0e.0 BASE_ADDRESS_2=0500

then the conflict disappears and X will now start up fine.

What I want to know is is this behaviour what one would expect? I am just
beginning to get grips with how PCI configuration works with OF and the Mac.
But I doesn't see why the kernel can't enable the I/O ports on the Voodoo
card and sort out the address conflict itself.

Can anybody here comment on this and enlighten me?

BTW, this behaviour is the same on all the kernels I've tried on this machine
- 2.4.18 to 2.4.20 from kernel.org.

I've attached the outputs of lspci -v and lspci -vb after booting from OF and
before my twiddling of the PCI config.

Cheers,
Rich


Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help