Patrick Georgi submitted this change.
device: Rework bus master option
As an intermediate step for CB:45150, add an additional Kconfig option
which is used to configure bus mastering for any devices and use
PCI_ALLOW_BUS_MASTER to allow coreboot setting the bus mastering bit in
general.
Change-Id: I33b37a79022007a16e97350db61575b63fa8256b
Signed-off-by: Felix Singer <felix.singer@secunet.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45149
Reviewed-by: Nico Huber <nico.h@gmx.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
---
M src/device/Kconfig
M src/include/device/pci.h
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/src/device/Kconfig b/src/device/Kconfig
index cbe970f..777f3f5 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -532,6 +532,17 @@
instance, for libpayload based payloads as the drivers don't enable
bus mastering for PCI bridges.
+if PCI_ALLOW_BUS_MASTER
+
+config PCI_ALLOW_BUS_MASTER_ANY_DEVICE
+ bool "Any devices"
+ default y
+ help
+ Allow coreboot to enable PCI bus mastering for any device. The actual
+ selection of devices depends on the various PCI drivers in coreboot.
+
+endif # PCI_ALLOW_BUS_MASTER
+
endif # PCI
if PCIEXP_PLUGIN_SUPPORT
diff --git a/src/include/device/pci.h b/src/include/device/pci.h
index 58f5904..777f030 100644
--- a/src/include/device/pci.h
+++ b/src/include/device/pci.h
@@ -144,7 +144,7 @@
void pci_dev_request_bus_master(struct device *dev)
#endif /* ENV_PCI_SIMPLE_DEVICE */
{
- if (CONFIG(PCI_ALLOW_BUS_MASTER))
+ if (CONFIG(PCI_ALLOW_BUS_MASTER_ANY_DEVICE))
pci_or_config16(dev, PCI_COMMAND, PCI_COMMAND_MASTER);
}
To view, visit change 45149. To unsubscribe, or for help writing mail filters, visit settings.