summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorJacob Meuser <jakemsr@cvs.openbsd.org>2008-03-30 08:48:54 +0000
committerJacob Meuser <jakemsr@cvs.openbsd.org>2008-03-30 08:48:54 +0000
commitf26f63bce294bf1232407c4a823b5023208a308c (patch)
tree78d053c4f39e678bfb95e671d37f146b447bc4c9 /sys/dev
parent4191154d5e30ccdb7388c369ae62954effdbf078 (diff)
todd@ has 82c686 based auvia(4) devices that do full-duplex
properly. restore full-duplex capabilities for 82c686 based devices.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/auvia.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/dev/pci/auvia.c b/sys/dev/pci/auvia.c
index a42729021bf..57f192602dc 100644
--- a/sys/dev/pci/auvia.c
+++ b/sys/dev/pci/auvia.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: auvia.c,v 1.35 2008/03/24 07:05:22 jakemsr Exp $ */
+/* $OpenBSD: auvia.c,v 1.36 2008/03/30 08:48:53 jakemsr Exp $ */
/* $NetBSD: auvia.c,v 1.28 2002/11/04 16:38:49 kent Exp $ */
/*-
@@ -877,7 +877,16 @@ auvia_mappage(void *addr, void *mem, off_t off, int prot)
int
auvia_get_props(void *addr)
{
- return (AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT);
+ struct auvia_softc *sc = addr;
+ int props;
+
+ props = AUDIO_PROP_MMAP | AUDIO_PROP_INDEPENDENT;
+
+ /* recording doesn't work correctly on 8233 based devices */
+ if (!(sc->sc_flags & AUVIA_FLAGS_VT8233))
+ props |= AUDIO_PROP_FULLDUPLEX;
+
+ return props;
}