summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjakemsr <jakemsr@openbsd.org>2008-03-30 08:48:53 +0000
committerjakemsr <jakemsr@openbsd.org>2008-03-30 08:48:53 +0000
commitacc2c35ec7b76d8d5f471271b8ccb9e6aa07786a (patch)
tree20caeb20b7b8171445e855308b8d11e63dd3ea73
parentDon't double count clock and prof interrupts. (diff)
downloadwireguard-openbsd-acc2c35ec7b76d8d5f471271b8ccb9e6aa07786a.tar.xz
wireguard-openbsd-acc2c35ec7b76d8d5f471271b8ccb9e6aa07786a.zip
todd@ has 82c686 based auvia(4) devices that do full-duplex
properly. restore full-duplex capabilities for 82c686 based devices.
-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;
}