diff options
author | Bin Meng <bmeng.cn@gmail.com> | 2015-07-08 13:06:40 +0800 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2015-07-14 18:03:20 -0600 |
commit | 6c89663cb152bb49f7618f283d999c417fd85746 (patch) | |
tree | 6486961d773dd8cbd849a890b19f1117d0154c65 /drivers/pci/pci_rom.c | |
parent | e1783b5ba3d32c0471a2b963ebec54e7e7cde264 (diff) | |
download | u-boot-6c89663cb152bb49f7618f283d999c417fd85746.tar.gz |
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>
Diffstat (limited to 'drivers/pci/pci_rom.c')
-rw-r--r-- | drivers/pci/pci_rom.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/drivers/pci/pci_rom.c b/drivers/pci/pci_rom.c index e7f995971c..aa06767d2a 100644 --- a/drivers/pci/pci_rom.c +++ b/drivers/pci/pci_rom.c @@ -84,11 +84,6 @@ static int pci_rom_probe(pci_dev_t dev, uint class, rom_address = CONFIG_VGA_BIOS_ADDR; #else - if (pciauto_setup_rom(pci_bus_to_hose(PCI_BUS(dev)), dev)) { - debug("Cannot find option ROM\n"); - return -ENOENT; - } - pci_read_config_dword(dev, PCI_ROM_ADDRESS, &rom_address); if (rom_address == 0x00000000 || rom_address == 0xffffffff) { debug("%s: rom_address=%x\n", __func__, rom_address); |