1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-29 12:03:03 +00:00

Force any hardwire-routed interrupts to level trigger and active low

polarity.  Some machines route PCI IRQs to an ISA IRQ but fail to include
an interrupt override entry to set the polarity and trigger of the given
ISA IRQ in their MADT table.

PR:		usb/74989
Reported by:	Julien Gabel jpeg at thilelli dot net
MFC after:	1 week
This commit is contained in:
John Baldwin 2005-12-03 21:17:17 +00:00
parent a845c77d2e
commit d37d99c4aa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=153066

View File

@ -252,9 +252,11 @@ acpi_pcib_route_interrupt(device_t pcib, device_t dev, int pin,
if (bootverbose)
device_printf(pcib, "slot %d INT%c hardwired to IRQ %d\n",
pci_get_slot(dev), 'A' + pin, prt->SourceIndex);
if (prt->SourceIndex)
if (prt->SourceIndex) {
interrupt = prt->SourceIndex;
else
BUS_CONFIG_INTR(dev, interrupt, INTR_TRIGGER_LEVEL,
INTR_POLARITY_LOW);
} else
device_printf(pcib, "error: invalid hard-wired IRQ of 0\n");
goto out;
}