diff options
author | jhb <jhb@FreeBSD.org> | 2004-05-04 21:04:24 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2004-05-04 21:04:24 +0000 |
commit | a11e3152f3bc324212fd54cab137aa464b64951d (patch) | |
tree | 5c179cb695598710222f80599ad84d3ebe2ef029 /sys/i386/acpica | |
parent | 415131cd6db5461be3f495e59f9e00d283adb995 (diff) | |
download | FreeBSD-src-a11e3152f3bc324212fd54cab137aa464b64951d.zip FreeBSD-src-a11e3152f3bc324212fd54cab137aa464b64951d.tar.gz |
Have ACPI use BUS_CONFIG_INTR() to force the SCI to level trigger and
active low polarity when using the PIC interrupt model. This should fix
broken SCI interrupts on machines when not using the APIC where the BIOS
doesn't program the ELCR to level trigger for the ACPI SCI.
Requested by: njl
Diffstat (limited to 'sys/i386/acpica')
-rw-r--r-- | sys/i386/acpica/acpi_machdep.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/i386/acpica/acpi_machdep.c b/sys/i386/acpica/acpi_machdep.c index b6517ba..9c59b3a 100644 --- a/sys/i386/acpica/acpi_machdep.c +++ b/sys/i386/acpica/acpi_machdep.c @@ -328,7 +328,10 @@ acpi_machdep_init(device_t dev) acpi_install_wakeup_handler(sc); - if (intr_model != ACPI_INTR_PIC) + if (intr_model == ACPI_INTR_PIC) + BUS_CONFIG_INTR(dev, AcpiGbl_FADT->SciInt, INTR_TRIGGER_LEVEL, + INTR_POLARITY_LOW); + else acpi_SetIntrModel(intr_model); SYSCTL_ADD_UINT(&sc->acpi_sysctl_ctx, |