diff options
author | Kyösti Mälkki <kyosti.malkki@gmail.com> | 2019-03-20 17:55:27 +0200 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2019-03-25 10:59:11 +0000 |
commit | dbd313280abce8ff365b248f57129758f2909ea7 (patch) | |
tree | 695a3ceff3df81e51451d83b268362ae6138e096 /src | |
parent | 4074ce0cc716d4fc5447868ce0981c92e84f31b5 (diff) |
sb/intel/{i82801g/i/j,bd82x6x}: Make use of generic set_subsystem()
Change-Id: Ia7a3eb2e29eb245c0e70abc23c2139aebc07cbfe
Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/31987
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/southbridge/intel/bd82x6x/pci.c | 27 | ||||
-rw-r--r-- | src/southbridge/intel/i82801gx/pci.c | 26 | ||||
-rw-r--r-- | src/southbridge/intel/i82801ix/pci.c | 14 | ||||
-rw-r--r-- | src/southbridge/intel/i82801jx/pci.c | 14 |
4 files changed, 4 insertions, 77 deletions
diff --git a/src/southbridge/intel/bd82x6x/pci.c b/src/southbridge/intel/bd82x6x/pci.c index 4a62eb84a0..c3b82577e1 100644 --- a/src/southbridge/intel/bd82x6x/pci.c +++ b/src/southbridge/intel/bd82x6x/pci.c @@ -62,21 +62,8 @@ static void pci_init(struct device *dev) static void ich_pci_dev_enable_resources(struct device *dev) { - const struct pci_operations *ops; uint16_t command; - /* Set the subsystem vendor and device id for mainboard devices */ - ops = ops_pci(dev); - if (dev->on_mainboard && ops && ops->set_subsystem) { - printk(BIOS_DEBUG, "%s subsystem <- %02x/%02x\n", - dev_path(dev), - CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID, - CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID); - ops->set_subsystem(dev, - CONFIG_MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID, - CONFIG_MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID); - } - command = pci_read_config16(dev, PCI_COMMAND); command |= dev->command; printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command); @@ -101,20 +88,8 @@ static void ich_pci_bus_enable_resources(struct device *dev) ich_pci_dev_enable_resources(dev); } -static void set_subsystem(struct device *dev, unsigned vendor, unsigned device) -{ - /* NOTE: This is not the default position! */ - if (!vendor || !device) { - pci_write_config32(dev, 0x54, - pci_read_config32(dev, PCI_VENDOR_ID)); - } else { - pci_write_config32(dev, 0x54, - ((device & 0xffff) << 16) | (vendor & 0xffff)); - } -} - static struct pci_operations pci_ops = { - .set_subsystem = set_subsystem, + .set_subsystem = pci_dev_set_subsystem, }; static struct device_operations device_ops = { diff --git a/src/southbridge/intel/i82801gx/pci.c b/src/southbridge/intel/i82801gx/pci.c index 514db3cd64..c54769fff3 100644 --- a/src/southbridge/intel/i82801gx/pci.c +++ b/src/southbridge/intel/i82801gx/pci.c @@ -61,19 +61,8 @@ static void pci_init(struct device *dev) static void ich_pci_dev_enable_resources(struct device *dev) { - const struct pci_operations *ops; uint16_t command; - /* Set the subsystem vendor and device id for mainboard devices */ - ops = ops_pci(dev); - if (dev->on_mainboard && ops && ops->set_subsystem) { - printk(BIOS_DEBUG, "%s subsystem <- %04x/%04x\n", - dev_path(dev), dev->subsystem_vendor, - dev->subsystem_device); - ops->set_subsystem(dev, dev->subsystem_vendor, - dev->subsystem_device); - } - command = pci_read_config16(dev, PCI_COMMAND); command |= dev->command; printk(BIOS_DEBUG, "%s cmd <- %02x\n", dev_path(dev), command); @@ -98,21 +87,8 @@ static void ich_pci_bus_enable_resources(struct device *dev) ich_pci_dev_enable_resources(dev); } -static void set_subsystem(struct device *dev, unsigned int vendor, - unsigned int device) -{ - /* NOTE: This is not the default position! */ - if (!vendor || !device) { - pci_write_config32(dev, 0x54, - pci_read_config32(dev, PCI_VENDOR_ID)); - } else { - pci_write_config32(dev, 0x54, - ((device & 0xffff) << 16) | (vendor & 0xffff)); - } -} - static struct pci_operations pci_ops = { - .set_subsystem = set_subsystem, + .set_subsystem = pci_dev_set_subsystem, }; static struct device_operations device_ops = { diff --git a/src/southbridge/intel/i82801ix/pci.c b/src/southbridge/intel/i82801ix/pci.c index 4003e740c4..889e042514 100644 --- a/src/southbridge/intel/i82801ix/pci.c +++ b/src/southbridge/intel/i82801ix/pci.c @@ -44,20 +44,8 @@ static void pci_init(struct device *dev) pci_write_config16(dev, PCI_SEC_STATUS, reg16); } -static void set_subsystem(struct device *dev, unsigned vendor, unsigned device) -{ - /* NOTE: 0x54 is not the default position! */ - if (!vendor || !device) { - pci_write_config32(dev, 0x54, - pci_read_config32(dev, PCI_VENDOR_ID)); - } else { - pci_write_config32(dev, 0x54, - ((device & 0xffff) << 16) | (vendor & 0xffff)); - } -} - static struct pci_operations pci_ops = { - .set_subsystem = set_subsystem, + .set_subsystem = pci_dev_set_subsystem, }; static struct device_operations device_ops = { diff --git a/src/southbridge/intel/i82801jx/pci.c b/src/southbridge/intel/i82801jx/pci.c index a32d4a94b0..69189229c2 100644 --- a/src/southbridge/intel/i82801jx/pci.c +++ b/src/southbridge/intel/i82801jx/pci.c @@ -44,20 +44,8 @@ static void pci_init(struct device *dev) pci_write_config16(dev, PCI_SEC_STATUS, reg16); } -static void set_subsystem(struct device *dev, unsigned vendor, unsigned device) -{ - /* NOTE: 0x54 is not the default position! */ - if (!vendor || !device) { - pci_write_config32(dev, 0x54, - pci_read_config32(dev, PCI_VENDOR_ID)); - } else { - pci_write_config32(dev, 0x54, - ((device & 0xffff) << 16) | (vendor & 0xffff)); - } -} - static struct pci_operations pci_ops = { - .set_subsystem = set_subsystem, + .set_subsystem = pci_dev_set_subsystem, }; static struct device_operations device_ops = { |