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:
parent
c337dbb2f2
commit
fb0ac5433b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=129093
@ -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));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user