PCI-PCI bridge scanning broken on 460EX
Benjamin Herrenschmidt
benh at kernel.crashing.org
Tue Jan 12 07:53:19 EST 2010
> It seems I was wrong. I've manually applied the patch at the wrong
> place. After patching the correct function
> I'm not getting hard resets any more, which is a great improvement !
> Thanks a lot, I really appreciate your help !
This is somewhat funny... I wonder how it would have managed to find
anything behind the root complex P2P bridge with broken type 1 cycles...
very very strange.
> Unfortunately not all problems are gone. PLX is now identified
> correctly, but device behind it is not detected,
> although u-boot detects it correctly. See below.
You have removed all your changes to that code right ?
Also the log still looks weird:
> pci 0000:01:02.0: scanning behind bridge, config 010100, pass 0
> pci 0000:01:02.0: bus configuration invalid, reconfiguring
> pci 0000:01:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:01: bus scan returning with max=01
> pci 0000:00:02.0: scanning behind bridge, config 010100, pass 1
> pci_bus 0000:00: bus scan returning with max=01
Unless you left some experimental changes in, the above isn't right, the
"config" value should have changed due to the write of ~ffffff to it
If the code running is indeed unmodified from upsteam, can you try with
just that change:
/* Check if setup is sensible at all */
- if (!pass &&
- ((buses & 0xff) != bus->number || ((buses >> 8) & 0xff) <= bus->number)) {
+ if (((buses & 0xff) != bus->number || ((buses >> 8) & 0xff) <= bus->number)) {
dev_dbg(&dev->dev, "bus configuration invalid, reconfiguring\n");
broken = 1;
}
(IE remove the check for !pass)
Cheers,
Ben.
> pci 0000:00:02.0: disabling bridge window [mem 0xd80000000-0xd8c0fffff]
> to [bus 01-01] (unused)
> pci 0000:00:02.0: PCI bridge to [bus 01-01]
> pci 0000:00:02.0: bridge window [io disabled]
> pci 0000:00:02.0: bridge window [mem disabled]
> pci 0000:00:02.0: bridge window [mem pref disabled]
> pci_bus 0000:00: resource 0 [io 0x0000-0xffff]
> pci_bus 0000:00: resource 1 [mem 0xd80000000-0xdffffffff]
> pci_bus 0000:01: resource 1 [??? 57982058496-58184433663 flags 0x0]
>
> Any ideas what could be wrong now ?
>
> Thanks a lot.
>
> Felix.
>
More information about the Linuxppc-dev
mailing list