summaryrefslogtreecommitdiff
path: root/sys/dev/pci/azalia.c
diff options
context:
space:
mode:
authorDeanna Phillips <deanna@cvs.openbsd.org>2007-10-14 18:21:55 +0000
committerDeanna Phillips <deanna@cvs.openbsd.org>2007-10-14 18:21:55 +0000
commit62af0f2f024e0510ca335b33bc6529136b88a414 (patch)
tree07c5c5137fd06690601a414f04dfecb647c5f04f /sys/dev/pci/azalia.c
parentfa4049f167ba35a4d6ebf5b87aa9dd1a311f272e (diff)
The spec says to wait 40 microseconds for the run bit to clear before
performing a stream reset. Fixes stream reset errors on ALC883, reported by jmc. Tested jmc, jakemsr, ok ratchov
Diffstat (limited to 'sys/dev/pci/azalia.c')
-rw-r--r--sys/dev/pci/azalia.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/pci/azalia.c b/sys/dev/pci/azalia.c
index 50a85e88530..028bfb67e1e 100644
--- a/sys/dev/pci/azalia.c
+++ b/sys/dev/pci/azalia.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: azalia.c,v 1.35 2007/10/10 03:39:21 deanna Exp $ */
+/* $OpenBSD: azalia.c,v 1.36 2007/10/14 18:21:54 deanna Exp $ */
/* $NetBSD: azalia.c,v 1.20 2006/05/07 08:31:44 kent Exp $ */
/*-
@@ -1847,6 +1847,7 @@ azalia_stream_reset(stream_t *this)
ctl = STR_READ_2(this, CTL);
ctl &= ~HDA_SD_CTL_RUN;
STR_WRITE_2(this, CTL, ctl);
+ DELAY(40);
/* Start reset and wait for chip to enter. */
ctl = STR_READ_2(this, CTL);