dm: pci: Use complete bdf in all pci config read/write routines
authorBin Meng <bmeng.cn@gmail.com>
Sat, 18 Jul 2015 16:20:04 +0000 (00:20 +0800)
committerSimon Glass <sjg@chromium.org>
Tue, 28 Jul 2015 16:36:23 +0000 (10:36 -0600)
commit4d8615cbf552843c6033daabf3495a1b7fc9dce7
treed87e80729fd852cdaa54930edc4284200686a872
parent95f3aa209acde88f4273403733a0fb29ca28260d
dm: pci: Use complete bdf in all pci config read/write routines

Currently pci_bus_read_config() and pci_bus_write_config() are
called with bus number masked off in the parameter bdf, and bus
number is supposed to be added back in the bridge driver's pci
config read/write ops if the device is behind a pci bridge.
However this logic only works for a pci topology where there is
only one bridge off the root controller. If there is addtional
bridge in the system, the logic will create a non-existent bdf
where its bus number gets accumulated across bridges.

To correct this, we change all pci config read/write routines
to use complete bdf all the way up to the root controller.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
drivers/pci/pci-uclass.c