pci: Configure expansion ROM during auto config process
authorBin Meng <bmeng.cn@gmail.com>
Wed, 8 Jul 2015 05:06:40 +0000 (13:06 +0800)
committerSimon Glass <sjg@chromium.org>
Wed, 15 Jul 2015 00:03:20 +0000 (18:03 -0600)
commit6c89663cb152bb49f7618f283d999c417fd85746
tree6486961d773dd8cbd849a890b19f1117d0154c65
parente1783b5ba3d32c0471a2b963ebec54e7e7cde264
pci: Configure expansion ROM during auto config process

Currently PCI expansion ROM address is assigned by a call to
pciauto_setup_rom() outside of the pci auto config process.
This does not work when expansion ROM is on a device behind
PCI bridge where bridge's memory limit register was already
programmed to a value that does not cover the newly assigned
expansion ROM address. To fix this, we should configure the
ROM address during the auto config process.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
Acked-by: Simon Glass <sjg@chromium.org>
drivers/pci/pci_auto.c
drivers/pci/pci_rom.c
include/pci.h