]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ACPI: pci_link: Clear the dependencies after probe
authorSunil V L <sunilvl@ventanamicro.com>
Mon, 12 Aug 2024 00:59:20 +0000 (06:29 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 27 Aug 2024 13:48:35 +0000 (15:48 +0200)
RISC-V platforms need to use dependencies between PCI host bridge, Link
devices and the interrupt controllers to ensure probe order. The
dependency is like below.

Interrupt controller <-- Link Device <-- PCI Host bridge.

If there is no dependency between Link device and PCI Host Bridge,
then PCI devices may be probed prior to Link devices.  If a PCI
device is probed before its Link device, we won't be able to find
its INTx mapping.

So, add the link device's HID to dependency honor list and clear the
dependency after probe is done so that the dependent devices are
unblocked to probe.

Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
Tested-by: Björn Töpel <bjorn@rivosinc.com>
Link: https://patch.msgid.link/20240812005929.113499-9-sunilvl@ventanamicro.com
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/pci_link.c
drivers/acpi/scan.c

index aa1038b8aec4ac74bc0eb6239452f4f2c3268581..b727db968f33492ac7da93764776ad61457e7dfc 100644 (file)
@@ -748,6 +748,8 @@ static int acpi_pci_link_add(struct acpi_device *device,
        if (result)
                kfree(link);
 
+       acpi_dev_clear_dependencies(device);
+
        return result < 0 ? result : 1;
 }
 
index 98e55f287bdbf50baf5ac3e2ba5fd37e79548992..eba282c86edd4e9b9c08ddb7af34af6ee16770e0 100644 (file)
@@ -863,6 +863,7 @@ static const char * const acpi_honor_dep_ids[] = {
        "INTC10CF", /* IVSC (MTL) driver must be loaded to allow i2c access to camera sensors */
        "RSCV0001", /* RISC-V PLIC */
        "RSCV0002", /* RISC-V APLIC */
+       "PNP0C0F",  /* PCI Link Device */
        NULL
 };