diff options
| author | scw <scw@NetBSD.org> | 2003-06-11 14:22:27 +0000 |
|---|---|---|
| committer | scw <scw@NetBSD.org> | 2003-06-11 14:22:27 +0000 |
| commit | 146abc03d1eeca2411dc31b60d714c5a4e08eeb3 (patch) | |
| tree | 7f5711107ab50cc1ac7d6f16aef6c72c6b484da4 /sys/dev | |
| parent | a3d7c5fa32b2c907dcaaa11bba4f95012a753e52 (diff) | |
In ac97_restore_shadow(), make sure to restore the codec's extended
control register if we configured it during ac97_attach().
Diffstat (limited to 'sys/dev')
| -rw-r--r-- | sys/dev/ic/ac97.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/dev/ic/ac97.c b/sys/dev/ic/ac97.c index 847da9275de..2f49fb686c4 100644 --- a/sys/dev/ic/ac97.c +++ b/sys/dev/ic/ac97.c @@ -1,4 +1,4 @@ -/* $NetBSD: ac97.c,v 1.41 2003/03/03 02:14:12 bsh Exp $ */ +/* $NetBSD: ac97.c,v 1.42 2003/06/11 14:22:27 scw Exp $ */ /* $OpenBSD: ac97.c,v 1.8 2000/07/19 09:01:35 csapuntz Exp $ */ /* @@ -63,7 +63,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: ac97.c,v 1.41 2003/03/03 02:14:12 bsh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ac97.c,v 1.42 2003/06/11 14:22:27 scw Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -716,6 +716,14 @@ ac97_restore_shadow(self) si = &source_info[idx]; ac97_write(as, si->reg, as->shadow_reg[si->reg >> 1]); } + + if (as->ext_id & (AC97_EXT_AUDIO_VRA | AC97_EXT_AUDIO_DRA + | AC97_EXT_AUDIO_SPDIF | AC97_EXT_AUDIO_VRM + | AC97_EXT_AUDIO_CDAC | AC97_EXT_AUDIO_SDAC + | AC97_EXT_AUDIO_LDAC)) { + ac97_write(as, AC97_REG_EXT_AUDIO_CTRL, + as->shadow_reg[AC97_REG_EXT_AUDIO_CTRL >> 1]); + } } int |
