pcie/layerscape: fix bug in bus number computation when setting msi-map
authorBogdan Purcareata <bogdan.purcareata@nxp.com>
Tue, 17 May 2016 07:18:40 +0000 (07:18 +0000)
committerYork Sun <york.sun@nxp.com>
Fri, 3 Jun 2016 21:12:10 +0000 (14:12 -0700)
commit3378727d13dac410d8ef2d8426d4c9bfc4974405
tree0423022e7b6bae5061adad889261b9190ba23fc3
parent5605dc6135f6f26560ef3b0c6ebc5141c531179a
pcie/layerscape: fix bug in bus number computation when setting msi-map

When multiple PCI cards are present in an ls2080a board, the second
card does not get its msi-map set up properly due to a bug in
computing the bus number.

The bus number returned by PCI_BDF() is not the actual PCI bus
number, but instead represents a global u-boot PCI bus number. A
given bus number is relative to hose->first_busno, so that has to be
subtracted from the PCI device id.

Signed-off-by: Bogdan Purcareata <bogdan.purcareata@nxp.com>
Acked-by: Stuart Yoder <stuart.yoder@nxp.com>
Reviewed-by: York Sun <york.sun@nxp.com>
drivers/pci/pcie_layerscape.c