[PATCH] PPC: PCI: Fix pcibios_io_space_offset() so it works for 32-bit ptr/64-bit rsrcs
Benjamin Herrenschmidt
benh at kernel.crashing.org
Sat Jun 9 08:48:51 EST 2012
On Fri, 2012-06-08 at 14:38 -0400, Ben Collins wrote:
> >> pci_bus 0000:00: root bus resource [io 0xffbeb000-0xffbfafff] (bus
> >> address [0x100000000-0x10000ffff])
> >>
> >> I only have one PCIe RAID card on the bare metal system. Not
> >> surprising I never noticed the problem on it directly.
> >
> > Can you show me the device-tree node for that PCI host bridge ?
>
>
> It's a p4080ds, so it's in arch/powerpc/boot/
>
> And that means that this bug affects a real hardware platform, so I
> think it makes it more valid to include it. The only reason it didn't
> affect me directly is because my only PCIe card doesn't have io, just
> mem BARs.
Something doesn't make sense. The bus address printed above are clearly
not right, the .dts contains for the "ranges" entries for IO space of
all 3 bridges:
0x01000000 0 0x00000000 0xf 0xf8000000 0x0 0x00010000
0x01000000 0 0x00000000 0xf 0xf8010000 0x0 0x00010000
0x01000000 0 0x00000000 0xf 0xf8020000 0x0 0x00010000
So something is wrong with the printing of the bus address, there's a
stale top bit (overflow from the 64-bit substraction somewhere ?)
Cheers,
Ben.
More information about the Linuxppc-dev
mailing list