AMCC PPC460EX Canyonlands does not see PCIe end point with only non-prefetchable memory (both 2.6.27.7 and -next)
Leon Woestenberg
leon.woestenberg at gmail.com
Thu Nov 27 05:26:47 EST 2008
On Wed, Nov 26, 2008 at 4:25 PM, Leon Woestenberg
<leon.woestenberg at gmail.com> 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
More information about the Linuxppc-dev
mailing list