diff options
author | orion <orion@FreeBSD.org> | 2003-03-26 05:51:13 +0000 |
---|---|---|
committer | orion <orion@FreeBSD.org> | 2003-03-26 05:51:13 +0000 |
commit | 37d7dbbe56ec1ddca7525dce4758b065dca447ac (patch) | |
tree | de3d44ca0727d0bdef86eb3d589f0d7834d053ee /sys/dev/sound/pci | |
parent | c72d68b132f4b5f970cc44223a22c44e4d3a6c19 (diff) | |
download | FreeBSD-src-37d7dbbe56ec1ddca7525dce4758b065dca447ac.zip FreeBSD-src-37d7dbbe56ec1ddca7525dce4758b065dca447ac.tar.gz |
For the VIA8233A use multi-sgd register set for primary playback
channel and disable DXS3. Several users have reported DXS3 as playing
at half speed on the 8233A revision of the chipset. This implicitly
means no SPDIF for VIA8233A users.
Diffstat (limited to 'sys/dev/sound/pci')
-rw-r--r-- | sys/dev/sound/pci/via8233.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/dev/sound/pci/via8233.c b/sys/dev/sound/pci/via8233.c index 022a259..3988445 100644 --- a/sys/dev/sound/pci/via8233.c +++ b/sys/dev/sound/pci/via8233.c @@ -824,8 +824,14 @@ via_attach(device_t dev) /* Register */ if (pci_get_revid(dev) == VIA8233_REV_ID_8233A) { - if (pcm_register(dev, via, NMSGDCHANS + 1, 1)) goto bad; + if (pcm_register(dev, via, NMSGDCHANS, 1)) goto bad; + /* + * DXS channel is disabled. Reports from multiple users + * that it plays at half-speed. Do not see this behaviour + * on available 8233C or when emulating 8233A register set + * on 8233C (either with or without ac97 VRA). pcm_addchan(dev, PCMDIR_PLAY, &via8233dxs_class, via); + */ pcm_addchan(dev, PCMDIR_PLAY, &via8233msgd_class, via); pcm_addchan(dev, PCMDIR_REC, &via8233wr_class, via); } else { @@ -836,10 +842,10 @@ via_attach(device_t dev) pcm_addchan(dev, PCMDIR_PLAY, &via8233msgd_class, via); for (i = 0; i < NWRCHANS; i++) pcm_addchan(dev, PCMDIR_REC, &via8233wr_class, via); + via_init_sysctls(dev); } pcm_setstatus(dev, status); - via_init_sysctls(dev); return 0; bad: |