Patrick Georgi has submitted this change and it was merged. ( https://review.coreboot.org/c/coreboot/+/31989 )
Change subject: sb/broadcom/bcm5785: Consolidate PCI set_subsystem() ......................................................................
sb/broadcom/bcm5785: Consolidate PCI set_subsystem()
This one uses vendor-specific register for the write.
Change-Id: Ie36a87314054d00daed6a63b495bd5f5eabef66e Signed-off-by: Kyösti Mälkki kyosti.malkki@gmail.com Reviewed-on: https://review.coreboot.org/c/coreboot/+/31989 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Subrata Banik subrata.banik@intel.com --- M src/southbridge/broadcom/bcm5785/bcm5785.c M src/southbridge/broadcom/bcm5785/bcm5785.h M src/southbridge/broadcom/bcm5785/ide.c M src/southbridge/broadcom/bcm5785/lpc.c M src/southbridge/broadcom/bcm5785/sata.c M src/southbridge/broadcom/bcm5785/usb.c 6 files changed, 15 insertions(+), 32 deletions(-)
Approvals: build bot (Jenkins): Verified Subrata Banik: Looks good to me, approved
diff --git a/src/southbridge/broadcom/bcm5785/bcm5785.c b/src/southbridge/broadcom/bcm5785/bcm5785.c index beaa94a..50d13b0 100644 --- a/src/southbridge/broadcom/bcm5785/bcm5785.c +++ b/src/southbridge/broadcom/bcm5785/bcm5785.c @@ -86,6 +86,13 @@ #endif }
+void bcm5785_set_subsystem(struct device *dev, unsigned int vendor, + unsigned int device) +{ + pci_write_config32(dev, 0x40, + ((device & 0xffff) << 16) | (vendor & 0xffff)); +} + struct chip_operations southbridge_broadcom_bcm5785_ops = { CHIP_NAME("Serverworks BCM5785 Southbridge") .enable_dev = bcm5785_enable, diff --git a/src/southbridge/broadcom/bcm5785/bcm5785.h b/src/southbridge/broadcom/bcm5785/bcm5785.h index f1af153..4517dda 100644 --- a/src/southbridge/broadcom/bcm5785/bcm5785.h +++ b/src/southbridge/broadcom/bcm5785/bcm5785.h @@ -17,6 +17,7 @@ #ifndef BCM5785_H #define BCM5785_H
+#include <device/device.h> #include "chip.h"
#ifndef __PRE_RAM__ @@ -25,6 +26,9 @@ void enable_fid_change_on_sb(unsigned sbbusn, unsigned sbdn); #endif
+void bcm5785_set_subsystem(struct device *dev, unsigned int vendor, + unsigned int device); + void ldtstop_sb(void);
#endif /* BCM5785_H */ diff --git a/src/southbridge/broadcom/bcm5785/ide.c b/src/southbridge/broadcom/bcm5785/ide.c index c96fc61..2932a23 100644 --- a/src/southbridge/broadcom/bcm5785/ide.c +++ b/src/southbridge/broadcom/bcm5785/ide.c @@ -35,15 +35,8 @@ { }
-static void lpci_set_subsystem(struct device *dev, unsigned vendor, - unsigned device) -{ - pci_write_config32(dev, 0x40, - ((device & 0xffff) << 16) | (vendor & 0xffff)); -} - static struct pci_operations lops_pci = { - .set_subsystem = lpci_set_subsystem, + .set_subsystem = bcm5785_set_subsystem, };
static struct device_operations ide_ops = { diff --git a/src/southbridge/broadcom/bcm5785/lpc.c b/src/southbridge/broadcom/bcm5785/lpc.c index a091e9f..17bc8bc 100644 --- a/src/southbridge/broadcom/bcm5785/lpc.c +++ b/src/southbridge/broadcom/bcm5785/lpc.c @@ -115,15 +115,8 @@ bcm5785_lpc_enable_childrens_resources(dev); }
-static void lpci_set_subsystem(struct device *dev, unsigned vendor, - unsigned device) -{ - pci_write_config32(dev, 0x40, - ((device & 0xffff) << 16) | (vendor & 0xffff)); -} - static struct pci_operations lops_pci = { - .set_subsystem = lpci_set_subsystem, + .set_subsystem = bcm5785_set_subsystem, };
static struct device_operations lpc_ops = { diff --git a/src/southbridge/broadcom/bcm5785/sata.c b/src/southbridge/broadcom/bcm5785/sata.c index 4a9425d..cdd4295 100644 --- a/src/southbridge/broadcom/bcm5785/sata.c +++ b/src/southbridge/broadcom/bcm5785/sata.c @@ -68,15 +68,8 @@ } }
-static void lpci_set_subsystem(struct device *dev, unsigned vendor, - unsigned device) -{ - pci_write_config32(dev, 0x40, - ((device & 0xffff) << 16) | (vendor & 0xffff)); -} - static struct pci_operations lops_pci = { - .set_subsystem = lpci_set_subsystem, + .set_subsystem = bcm5785_set_subsystem, };
static struct device_operations sata_ops = { diff --git a/src/southbridge/broadcom/bcm5785/usb.c b/src/southbridge/broadcom/bcm5785/usb.c index 4929250..ef374ad 100644 --- a/src/southbridge/broadcom/bcm5785/usb.c +++ b/src/southbridge/broadcom/bcm5785/usb.c @@ -32,15 +32,8 @@
}
-static void lpci_set_subsystem(struct device *dev, unsigned vendor, - unsigned device) -{ - pci_write_config32(dev, 0x40, - ((device & 0xffff) << 16) | (vendor & 0xffff)); -} - static struct pci_operations lops_pci = { - .set_subsystem = lpci_set_subsystem, + .set_subsystem = bcm5785_set_subsystem, };
static struct device_operations usb_ops = {