summaryrefslogtreecommitdiff
path: root/sys/dev/pci
diff options
context:
space:
mode:
authorDeanna Phillips <deanna@cvs.openbsd.org>2007-09-10 05:26:39 +0000
committerDeanna Phillips <deanna@cvs.openbsd.org>2007-09-10 05:26:39 +0000
commitd30ce321dc4bc7744861a22a8c40019d8fbfea18 (patch)
tree765d948b9a68e8cb4f22d0a1b3b96a1ae2f7d519 /sys/dev/pci
parent24fb500a88aba3d8b27347c5c2ef4aec09e6be9b (diff)
Set bidirectional pins to output, ignoring what the codec says is
their purpose, since that's often incorrect. This should solve some no-sound problems for codecs using the generic functions. From kent@netbsd
Diffstat (limited to 'sys/dev/pci')
-rw-r--r--sys/dev/pci/azalia_codec.c19
1 files changed, 3 insertions, 16 deletions
diff --git a/sys/dev/pci/azalia_codec.c b/sys/dev/pci/azalia_codec.c
index 59b13157aab..41d6d2d34b1 100644
--- a/sys/dev/pci/azalia_codec.c
+++ b/sys/dev/pci/azalia_codec.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: azalia_codec.c,v 1.30 2007/09/06 22:52:05 deanna Exp $ */
+/* $OpenBSD: azalia_codec.c,v 1.31 2007/09/10 05:26:38 deanna Exp $ */
/* $NetBSD: azalia_codec.c,v 1.8 2006/05/10 11:17:27 kent Exp $ */
/*-
@@ -825,9 +825,7 @@ azalia_generic_mixer_default(codec_t *this)
}
/*
- * For bidirectional pins,
- * Output: lineout, speaker, headphone, spdifout, digitalout, other
- * Input: others
+ * For bidirectional pins, make the default `output'
*/
DPRINTF(("%s: process bidirectional pins\n", __func__));
for (i = 0; i < this->nmixers; i++) {
@@ -838,18 +836,7 @@ azalia_generic_mixer_default(codec_t *this)
continue;
mc.dev = i;
mc.type = AUDIO_MIXER_ENUM;
- switch (this->w[m->nid].d.pin.device) {
- case CORB_CD_LINEOUT:
- case CORB_CD_SPEAKER:
- case CORB_CD_HEADPHONE:
- case CORB_CD_SPDIFOUT:
- case CORB_CD_DIGITALOUT:
- case CORB_CD_DEVICE_OTHER:
- mc.un.ord = 1;
- break;
- default:
- mc.un.ord = 0;
- }
+ mc.un.ord = 1;
azalia_generic_mixer_set(this, m->nid, m->target, &mc);
}