From dbd313280abce8ff365b248f57129758f2909ea7 Mon Sep 17 00:00:00 2001 From: Kyösti Mälkki Date: Wed, 20 Mar 2019 17:55:27 +0200 Subject: sb/intel/{i82801g/i/j,bd82x6x}: Make use of generic set_subsystem() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: Ia7a3eb2e29eb245c0e70abc23c2139aebc07cbfe Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/31987 Tested-by: build bot (Jenkins) Reviewed-by: Subrata Banik --- src/southbridge/intel/bd82x6x/pci.c | 27 +-------------------------- src/southbridge/intel/i82801gx/pci.c | 26 +------------------------- src/southbridge/intel/i82801ix/pci.c | 14 +------------- src/southbridge/intel/i82801jx/pci.c | 14 +------------- 4 files changed, 4 insertions(+), 77 deletions(-) (limited to 'src') 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 = { -- cgit v1.2.3