powerpc/fsl_pci: Fix P2P bridge handling for MPC83xx PCIe controllers
authorAnton Vorontsov <avorontsov@ru.mvista.com>
Mon, 7 Dec 2009 22:54:35 +0000 (01:54 +0300)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 9 Dec 2009 20:50:40 +0000 (14:50 -0600)
commitf93611fac7eed3aa175795fb8e452aa30af33b6a
tree37b3e9e8e9065ee80aefb02800fe1b88c697cf4b
parente090aa80321b64c3b793f3b047e31ecf1af9538d
powerpc/fsl_pci: Fix P2P bridge handling for MPC83xx PCIe controllers

It appears that we wrongly calculate dev_base for type1 config cycles.
The thing is: we shouldn't subtract hose->first_busno because PCI core
sets PCI primary, secondary and subordinate bus numbers, and PCIe
controller actually takes the registers into account. So we should use
just bus->number.

Also, according to MPC8315 reference manual, primary bus number should
always remain 0. We have PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS quirk
in indirect_pci.c, but since 83xx is somewhat special, it doesn't use
indirect_pci.c routines, so we have to implement the quirk specifically
for 83xx PCIe controllers.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
arch/powerpc/sysdev/fsl_pci.c