Re: PROBLEM: Devices behind PCI Express-to-PCI bridge not mapped

Andreas Koch
2005-06-08T17:34:44Z

> I think the correct behaviour of pcibios_allocate_bus_resources()
> (arch/i386/pci/i386.c) should be as follows:
> if some bridge resource cannot be allocated for whatever reason,
> don't allow any child resource assignments in that range. Just
> clear the resource flags - this prevents building an inconsistent
> resource tree.
>
> pci_assign_unassigned_resources() should correctly configure bridge 1
> and all subordinate stuff then.

I just found the time to test your latest patch (sorry for the delay).
However, it doesn't seem to help.

First of all, I verified that your code is indeed being called. That
does occur. Specifically, resources cannot be allocated for the
following bridges and regions:

0000:00:01.0, region #10
0000:00:1c.0, regions #7,8,9,10
0000:00:1c.1, regions #7,8,9,10
0000:00:1c.2, regions #7,8,9,10
0000:02:00.0, regions #7,8,9,10
0000:03:05.0, regions #7,8,9,10
0000:00:1e.0, regions #7,8,9,10
0000:06:09.0, regions #7,8,9,10
0000:06:09.1, regions #7,8,9,10
0000:06:09.3, regions #7,8,9,10

However, after pci_assign_unassigned_resources() has been called, the
MEM and PREFETCH regions of the bridge 0000:00:1e.0 (bridge 1) _remain_
invalid at 0x00000000.

The boot hangs (as before) when attempting to start the CardBus
controller in the dock.

If you need further info, please let me know.

Andreas