Re: AMCC PPC460EX Canyonlands does not see PCIe end point with only non-prefetchable memory (both 2.6.27.7 and -next)
From: Leon Woestenberg <hidden>
Date: 2008-11-26 18:34:02
From: Leon Woestenberg <hidden>
Date: 2008-11-26 18:34:02
On Wed, Nov 26, 2008 at 4:25 PM, Leon Woestenberg [off-list ref] wrote:
The non-detected end point boot: pci 0001:80:00.0: scanning behind bridge, config bf8180, pass 0 PCI: Scanning bus 0001:81 PCI: Fixups for bus 0001:81
Further debugging.
drivers/pci/probe.c:
static struct pci_dev *pci_scan_device(struct pci_bus *bus, int devfn)
{
...
if (pci_bus_read_config_dword(bus, devfn, PCI_VENDOR_ID, &l))
return NULL;
...
/* some broken boards return 0 or ~0 if a slot is empty: */
if (l == 0xffffffff || l == 0x00000000 ||
l == 0x0000ffff || l == 0xffff0000) {
printk(KERN_WARNING "--- slot empty?! l == 0x%lx\n", (u32)l);
return NULL;
}
It ends up here with l == 0xffffffff.
Note that u-boot finds the end point vendor ID, and Linux on x86 and
Linux on mpc8316e powerpc also.
Regards,
--
Leon