From 513d359dad3a99c13846f4e97b372ec98d245695 Mon Sep 17 00:00:00 2001 From: Bill XIE Date: Tue, 2 Aug 2022 22:55:51 +0800 Subject: pci_device: Add a function to find PCI capability ID recursively Some PCI capabilities should only be enabled if it is available not only on a device, but also all bridge upstream of it. Checking only the device and the bridge just above it may not be enough. Signed-off-by: Bill XIE Change-Id: I1237d3b4b86dd0ae5eb586e3c3c407362e6ca291 Reviewed-on: https://review.coreboot.org/c/coreboot/+/66383 Reviewed-by: Arthur Heymans Reviewed-by: Lean Sheng Tan Tested-by: build bot (Jenkins) --- src/include/device/pci.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/include/device') diff --git a/src/include/device/pci.h b/src/include/device/pci.h index f2e250631e..f28f319d8c 100644 --- a/src/include/device/pci.h +++ b/src/include/device/pci.h @@ -97,6 +97,7 @@ void pci_dev_set_subsystem(struct device *dev, unsigned int vendor, unsigned int device); void pci_dev_init(struct device *dev); unsigned int pci_match_simple_dev(struct device *dev, pci_devfn_t sdev); +uint16_t pci_find_cap_recursive(const struct device *dev, uint16_t cap); const char *pin_to_str(int pin); int get_pci_irq_pins(struct device *dev, struct device **parent_bdg); -- cgit v1.2.3