Re: mpc8568e-mds: pci-e is broken
From: Anton Vorontsov <hidden>
Date: 2008-01-23 19:50:35
On Wed, Jan 23, 2008 at 01:42:56PM -0600, Kumar Gala wrote: [...]
quoted
PCI: Probing PCI hardware PCI: 0001:01:00.0: class b20 doesn't match header type 01. Ignoring class. PCI: Closing bogus Apple Firmware region 1 on bus 0x02 PCI: Closing bogus Apple Firmware region 2 on bus 0x02odd, you shouldn't see these anymore w/my git tree.
Yup, I noticed few commits that are trying to fix this. And these fixes do work for PCI, but not for PCI-E... [...]
quoted
static void __devinit __pcibios_fixup_bus(struct pci_bus *bus) { ... if (i >= 3 && bus->self->transparent) continue; ... } That new check doesn't work, here bus->self->transparent == 0. Could it be that the message below is the root cause? PCI: 0001:01:00.0: class b20 doesn't match header type 01. Ignoring class.this is expected but of how FSL hw reports itself.
Well. I see only two places were transparent flag is applied: drivers/pci/quirks.c:quirk_transparent_bridge() and drivers/pci/probe.c:pci_setup_device() in the PCI_HEADER_TYPE_BRIDGE. So, obviously probe.c is skipping our PCI-E, thus not setting transparent flag, no?
quoted
I.e. drivers/pci/probe.c just don't setting transparent flag. I wonder if we need use quirk_transparent_bridge() here or we can fix it other way? Just in case, I'm observing that message for a long long time, and it didn't tell upon any functionality till now.Is this with the 8568 MDS in standalone or plugged into the back pane?
This is standalone setup. Thanks, -- Anton Vorontsov email: cbou@mail.ru backup email: ya-cbou@yandex.ru irc://irc.freenode.net/bd2