From afaae8aa00d59a1a74e7f7891d8def8cc21d9eb2 Mon Sep 17 00:00:00 2001 From: Furquan Shaikh Date: Mon, 18 May 2020 16:00:53 -0700 Subject: device_util,agesa/family14: Do not consider unassigned resources in find_pci_tolm() This change updates find_pci_tolm() to not consider any unassigned resources. This is achieved by adding the following checks: 1. Call search_bus_resources() with mask set to IORESOURCE_MEM | IORESOURCE_ASSIGNED. 2. In the callback tolm_test, check that the new resource selected has a non-zero size. This change is being made so that the resource allocator does not have to set the IORESOURCE_ASSIGNED flag for marking a resource as invalid. Change-Id: I796784dd93aa165e20a672c985b4875991901c87 Signed-off-by: Furquan Shaikh Reviewed-on: https://review.coreboot.org/c/coreboot/+/41524 Tested-by: build bot (Jenkins) Reviewed-by: Nico Huber --- src/northbridge/amd/agesa/family14/northbridge.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/northbridge/amd') diff --git a/src/northbridge/amd/agesa/family14/northbridge.c b/src/northbridge/amd/agesa/family14/northbridge.c index 5cb99d6ec2..34fc0c08b3 100644 --- a/src/northbridge/amd/agesa/family14/northbridge.c +++ b/src/northbridge/amd/agesa/family14/northbridge.c @@ -284,8 +284,9 @@ static void amdfam14_link_read_bases(struct device *dev, u32 nodeid, u32 link) static u32 my_find_pci_tolm(struct bus *bus, u32 tolm) { struct resource *min; + unsigned long mask_match = IORESOURCE_MEM | IORESOURCE_ASSIGNED; min = 0; - search_bus_resources(bus, IORESOURCE_MEM, IORESOURCE_MEM, tolm_test, + search_bus_resources(bus, mask_match, mask_match, tolm_test, &min); if (min && tolm > min->base) { tolm = min->base; -- cgit v1.2.3