[coreboot-gerrit] Change in coreboot[master]: sb/intel/bd82x6x: Disable unused bridges

Patrick Rudolph (Code Review) gerrit at coreboot.org
Mon May 22 19:32:54 CEST 2017


Patrick Rudolph has uploaded a new change for review. ( https://review.coreboot.org/19818 )

Change subject: sb/intel/bd82x6x: Disable unused bridges
......................................................................

sb/intel/bd82x6x: Disable unused bridges

Disable unused bridges that are not marked as hot-plugable.
Should reduce power consumption.

Tested on Lenovo T430.

Change-Id: I6ee5e5f33824acdbca0f6ed28e90beab7fe10002
Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
M src/southbridge/intel/bd82x6x/pcie.c
1 file changed, 14 insertions(+), 0 deletions(-)


  git pull ssh://review.coreboot.org:29418/coreboot refs/changes/18/19818/1

diff --git a/src/southbridge/intel/bd82x6x/pcie.c b/src/southbridge/intel/bd82x6x/pcie.c
index 91add02..627b6f7 100644
--- a/src/southbridge/intel/bd82x6x/pcie.c
+++ b/src/southbridge/intel/bd82x6x/pcie.c
@@ -269,6 +269,14 @@
 	pch_pcie_pm_early(dev);
 }
 
+static void pch_pcie_disable(device_t dev)
+{
+	dev->enabled = 0;
+
+	/* Let PCH hide the device */
+	pch_enable(dev);
+}
+
 static void pch_pciexp_scan_bridge(device_t dev)
 {
 	struct southbridge_intel_bd82x6x_config *config = dev->chip_info;
@@ -278,6 +286,11 @@
 
 	if (config->pcie_hotplug_map[PCI_FUNC(dev->path.pci.devfn)]) {
 		intel_acpi_pcie_hotplug_scan_slot(dev->link_list);
+	} else {
+		if (!dev_is_active_bridge(dev)) {
+			dev->ops->disable(dev);
+			return;
+		}
 	}
 
 	/* Late Power Management init after bridge device enumeration */
@@ -305,6 +318,7 @@
 	.set_resources		= pci_dev_set_resources,
 	.enable_resources	= pci_bus_enable_resources,
 	.init			= pci_init,
+	.disable		= pch_pcie_disable,
 	.enable			= pch_pcie_enable,
 	.scan_bus		= pch_pciexp_scan_bridge,
 	.ops_pci		= &pci_ops,

-- 
To view, visit https://review.coreboot.org/19818
To unsubscribe, visit https://review.coreboot.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I6ee5e5f33824acdbca0f6ed28e90beab7fe10002
Gerrit-PatchSet: 1
Gerrit-Project: coreboot
Gerrit-Branch: master
Gerrit-Owner: Patrick Rudolph <siro at das-labor.org>



More information about the coreboot-gerrit mailing list