multiple separate pci bridges ...
Sven Luther
sven.luther at wanadoo.fr
Tue Jan 13 20:56:38 EST 2004
On Wed, Jan 07, 2004 at 08:37:36AM +1100, Benjamin Herrenschmidt wrote:
>
> > Here's the code from our pcibios_fixup:
> >
> > dev = NULL;
> > while ((dev = pci_find_device(PCI_VENDOR_ID_GALILEO,
> > PCI_DEVICE_ID_GALILEO_GT64260, dev))) {
> > for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) {
> > dev->resource[i].flags = 0;
> > dev->resource[i].start = 0;
> > dev->resource[i].end = 0;
> > }
> > }
>
> pcibios_fixup isn't the right place to do that ;) You should do this
> from a pci quirk imho.
Mmm, what do you mean by a pci quirk ?
Anyway, i did that from pcibios_fixup, as well as blocking all pci
writes to device 0 on both buses and reads to all functions of device 0
on both bus, except function 0, for which i allow reads of the first 15
bytes, and return 0 for the others, as i am told i should do by the
hardware guys.
This works fine for the fbdev, but X is not at all happy with it, well,
it seems to work, but there is nothing outputed on the screen :(, but
that is something i probably have to solve with XFree86.
> note that there's still a problem with XFree which will "see" those
> BARs and, according to the log posted by Sven, shoke. Sven, can you
> try "hiding" the host bridge completely from the config ops and see
> if that helps with XFree ? That's not a very good solution though,
> we'll have to do something different about it. Now if only XFree
> stopped mucking with the PCI bus...
So, yes, that does help with XFree86, altough i get a strange message i
have to search the origin for :
(WW) ****INVALID IO ALLOCATION**** b: 0x1000 e:0x10ff correcting
Also, with voodoo 3 cards, the tdfx driver dies with :
(EE) TDFX(0): No valid PIO address in PCI config space
But Radeon works.
Friendly,
Sven Luther
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list