lynxpoint bd82x6x: Enable PCI-to-PCI bridge
Once the PCI command register is written the bridge forwards future IO and memory regions, as programmed in the respective base and limit registers, to the secondary PCI bus. It was previously argumented this is copy-paste and never known to be required for these more recent platforms: https://review.coreboot.org/#/c/2706/ Change-Id: Ic8911500a30bc83587af8d4b393b66783fa52e18 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/18330 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
parent
a5c029f235
commit
57d4c30e22
|
@ -59,7 +59,6 @@ static void pci_init(struct device *dev)
|
||||||
pci_write_config16(dev, SECSTS, reg16);
|
pci_write_config16(dev, SECSTS, reg16);
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef PCI_BRIDGE_UPDATE_COMMAND
|
|
||||||
static void ich_pci_dev_enable_resources(struct device *dev)
|
static void ich_pci_dev_enable_resources(struct device *dev)
|
||||||
{
|
{
|
||||||
const struct pci_operations *ops;
|
const struct pci_operations *ops;
|
||||||
|
@ -79,16 +78,8 @@ static void ich_pci_dev_enable_resources(struct device *dev)
|
||||||
|
|
||||||
command = pci_read_config16(dev, PCI_COMMAND);
|
command = pci_read_config16(dev, PCI_COMMAND);
|
||||||
command |= dev->command;
|
command |= dev->command;
|
||||||
#ifdef PCI_BRIDGE_UPDATE_COMMAND
|
|
||||||
/* If we write to PCI_COMMAND, on some systems
|
|
||||||
* this will cause the ROM and APICs not being visible
|
|
||||||
* anymore.
|
|
||||||
*/
|
|
||||||
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
||||||
pci_write_config16(dev, PCI_COMMAND, command);
|
pci_write_config16(dev, PCI_COMMAND, command);
|
||||||
#else
|
|
||||||
printk(BIOS_DEBUG, "%s cmd <- %02x (NOT WRITTEN!)\n", dev_path(dev), command);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ich_pci_bus_enable_resources(struct device *dev)
|
static void ich_pci_bus_enable_resources(struct device *dev)
|
||||||
|
|
|
@ -59,7 +59,6 @@ static void pci_init(struct device *dev)
|
||||||
pci_write_config16(dev, SECSTS, reg16);
|
pci_write_config16(dev, SECSTS, reg16);
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef PCI_BRIDGE_UPDATE_COMMAND
|
|
||||||
static void ich_pci_dev_enable_resources(struct device *dev)
|
static void ich_pci_dev_enable_resources(struct device *dev)
|
||||||
{
|
{
|
||||||
const struct pci_operations *ops;
|
const struct pci_operations *ops;
|
||||||
|
@ -79,16 +78,12 @@ static void ich_pci_dev_enable_resources(struct device *dev)
|
||||||
|
|
||||||
command = pci_read_config16(dev, PCI_COMMAND);
|
command = pci_read_config16(dev, PCI_COMMAND);
|
||||||
command |= dev->command;
|
command |= dev->command;
|
||||||
#ifdef PCI_BRIDGE_UPDATE_COMMAND
|
|
||||||
/* If we write to PCI_COMMAND, on some systems
|
/* If we write to PCI_COMMAND, on some systems
|
||||||
* this will cause the ROM and APICs not being visible
|
* this will cause the ROM and APICs not being visible
|
||||||
* anymore.
|
* anymore.
|
||||||
*/
|
*/
|
||||||
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command);
|
||||||
pci_write_config16(dev, PCI_COMMAND, command);
|
pci_write_config16(dev, PCI_COMMAND, command);
|
||||||
#else
|
|
||||||
printk(BIOS_DEBUG, "%s cmd <- %02x (NOT WRITTEN!)\n", dev_path(dev), command);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ich_pci_bus_enable_resources(struct device *dev)
|
static void ich_pci_bus_enable_resources(struct device *dev)
|
||||||
|
|
Loading…
Reference in New Issue