mpc8568e-mds: pci-e is broken

Kumar Gala galak at kernel.crashing.org
Thu Jan 24 09:04:05 EST 2008


On Jan 23, 2008, at 1:50 PM, Anton Vorontsov wrote:

> On Wed, Jan 23, 2008 at 01:42:56PM -0600, Kumar Gala wrote:
> [...]
>>> 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 0x02
>>
>> odd, 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...

I see these now.. I think I'm too lazy to think of a way to fix this.

> [...]
>>> 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?
>
>>> 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.

do you have a card plugged in?

- k



More information about the Linuxppc-dev mailing list