summaryrefslogtreecommitdiffstats
path: root/sys/dev/acpica
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2010-09-30 16:23:01 +0000
committermav <mav@FreeBSD.org>2010-09-30 16:23:01 +0000
commitca2b39bd20c7a36fd09124ca325ba48ee4eef735 (patch)
tree868abbc77553598930c876929ec43d7ec3b01bb3 /sys/dev/acpica
parentfb2ddb523763a270c7b95b4c555a54393e403394 (diff)
downloadFreeBSD-src-ca2b39bd20c7a36fd09124ca325ba48ee4eef735.zip
FreeBSD-src-ca2b39bd20c7a36fd09124ca325ba48ee4eef735.tar.gz
Do not use regular interrupts on NVidia HPETs. NVidia MCP5x chipsets have
number of unexplained interrupt problems. For some reason, using HPET interrupts there breaks HDA sound. Legacy route mode interrupts reported to work fine there.
Diffstat (limited to 'sys/dev/acpica')
-rw-r--r--sys/dev/acpica/acpi_hpet.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/acpica/acpi_hpet.c b/sys/dev/acpica/acpi_hpet.c
index f5cf11a..7ce494e 100644
--- a/sys/dev/acpica/acpi_hpet.c
+++ b/sys/dev/acpica/acpi_hpet.c
@@ -58,6 +58,7 @@ __FBSDID("$FreeBSD$");
#define HPET_VENDID_AMD 0x4353
#define HPET_VENDID_INTEL 0x8086
+#define HPET_VENDID_NVIDIA 0x10de
ACPI_SERIAL_DECL(hpet, "ACPI HPET support");
@@ -492,6 +493,12 @@ hpet_attach(device_t dev)
if (vendor == HPET_VENDID_AMD)
sc->allowed_irqs = 0x00000000;
/*
+ * NVidia MCP5x chipsets have number of unexplained interrupt
+ * problems. For some reason, using HPET interrupts breaks HDA sound.
+ */
+ if (vendor == HPET_VENDID_NVIDIA && rev <= 0x01)
+ sc->allowed_irqs = 0x00000000;
+ /*
* Neither QEMU nor VirtualBox report supported IRQs correctly.
* The only way to use HPET there is to specify IRQs manually
* and/or use legacy_route. Legacy_route mode work on both.
OpenPOWER on IntegriCloud