summaryrefslogtreecommitdiffstats
path: root/sys/dev/sound/pcm/dsp.c
diff options
context:
space:
mode:
authorcg <cg@FreeBSD.org>1999-12-12 02:18:58 +0000
committercg <cg@FreeBSD.org>1999-12-12 02:18:58 +0000
commit1698a08e9a67d82f9a1b778dda598e34ff59c19b (patch)
treef9bc21c7a120c7f74f2d80e234a56840e7644662 /sys/dev/sound/pcm/dsp.c
parentf1be6706cf778d9ab56e7bc0f0c7d2ba5fc27b84 (diff)
downloadFreeBSD-src-1698a08e9a67d82f9a1b778dda598e34ff59c19b.zip
FreeBSD-src-1698a08e9a67d82f9a1b778dda598e34ff59c19b.tar.gz
move channel-swapping support to the hardware driver since it knows the card
state best
Diffstat (limited to 'sys/dev/sound/pcm/dsp.c')
-rw-r--r--sys/dev/sound/pcm/dsp.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/sys/dev/sound/pcm/dsp.c b/sys/dev/sound/pcm/dsp.c
index 3955155..eceab19 100644
--- a/sys/dev/sound/pcm/dsp.c
+++ b/sys/dev/sound/pcm/dsp.c
@@ -70,16 +70,7 @@ setchns(snddev_info *d, int chan)
KASSERT((d->flags & SD_F_PRIO_SET) != SD_F_PRIO_SET, \
("getchns: read and write both prioritised"));
d->flags |= SD_F_DIR_SET;
- if (d->flags & SD_F_EVILSB16) {
- if ((d->flags & SD_F_PRIO_RD) && (d->aplay[chan])) {
- pcm_channel *tmp;
- tmp = d->arec[chan];
- d->arec[chan] = d->aplay[chan];
- d->aplay[chan] = tmp;
- }
- if (d->aplay[chan]) chn_setdir(d->aplay[chan], PCMDIR_PLAY);
- if (d->arec[chan]) chn_setdir(d->arec[chan], PCMDIR_REC);
- }
+ if (d->swap) d->swap(d->devinfo, (d->flags & SD_F_PRIO_WR)? PCMDIR_PLAY : PCMDIR_REC);
}
int
OpenPOWER on IntegriCloud