1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-14 10:09:48 +00:00

If an ACPI PCI-PCI bridge doesn't have a _PRT object, fall back to using

the swizzle method for routing PCI interrupts across the bridge.  This
fixes problems with motherboards (typically laptops) whose BIOS doesn't
provide a PRT for the AGP bridge even though there is a device entry for
the bridge in the ACPI namespace.

Tested by:	Kenneth Culver culverk at sweetdreamsracing dot biz
This commit is contained in:
John Baldwin 2004-05-10 18:26:22 +00:00
parent c337dbb2f2
commit fb0ac5433b
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=129093

View File

@ -165,5 +165,13 @@ acpi_pcib_pci_route_interrupt(device_t pcib, device_t dev, int pin)
struct acpi_pcib_softc *sc;
sc = device_get_softc(pcib);
return (acpi_pcib_route_interrupt(pcib, dev, pin, &sc->ap_prt));
/*
* If we don't have a _PRT, fall back to the swizzle method
* for routing interrupts.
*/
if (sc->ap_prt.Pointer == NULL)
return (pcib_route_interrupt(pcib, dev, pin));
else
return (acpi_pcib_route_interrupt(pcib, dev, pin, &sc->ap_prt));
}