Module Name: src Committed By: nat Date: Tue Nov 7 09:26:55 UTC 2017
Modified Files: src/sys/dev: audio.c Log Message: Use mixring blocksizes in the right places when mixer is enabled. This means that x68k's vs audio works once again with sysctl usemixer=1. Tested with xm6i. To generate a diff of this commit: cvs rdiff -u -r1.430 -r1.431 src/sys/dev/audio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/audio.c diff -u src/sys/dev/audio.c:1.430 src/sys/dev/audio.c:1.431 --- src/sys/dev/audio.c:1.430 Tue Nov 7 01:13:19 2017 +++ src/sys/dev/audio.c Tue Nov 7 09:26:55 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: audio.c,v 1.430 2017/11/07 01:13:19 nat Exp $ */ +/* $NetBSD: audio.c,v 1.431 2017/11/07 09:26:55 nat Exp $ */ /*- * Copyright (c) 2016 Nathanial Sloss <nathanialsl...@yahoo.com.au> @@ -148,7 +148,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.430 2017/11/07 01:13:19 nat Exp $"); +__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.431 2017/11/07 09:26:55 nat Exp $"); #ifdef _KERNEL_OPT #include "audio.h" @@ -3789,7 +3789,7 @@ audio_mix(void *v) if (sc->sc_dying == true) return; - blksize = sc->sc_hwvc->sc_mpr.blksize; + blksize = sc->sc_mixring.sc_mpr.blksize; SIMPLEQ_FOREACH(chan, &sc->sc_audiochan, entries) { vc = chan->vc; @@ -5552,10 +5552,10 @@ mix_write(void *arg) if (sc->sc_usemixer && audio_stream_get_used(vc->sc_pustream) <= - vc->sc_mpr.blksize) { + sc->sc_mixring.sc_mpr.blksize) { tocopy = vc->sc_pustream->inp; orig = sc->sc_mixring.sc_mpr.s.outp; - used = vc->sc_mpr.blksize; + used = sc->sc_mixring.sc_mpr.blksize; while (used > 0) { cc = used; @@ -5578,12 +5578,12 @@ mix_write(void *arg) } vc->sc_pustream->inp = audio_stream_add_inp(vc->sc_pustream, - vc->sc_pustream->inp, vc->sc_mpr.blksize); + vc->sc_pustream->inp, sc->sc_mixring.sc_mpr.blksize); sc->sc_mixring.sc_mpr.s.outp = audio_stream_add_outp(&sc->sc_mixring.sc_mpr.s, sc->sc_mixring.sc_mpr.s.outp, - vc->sc_mpr.blksize); + sc->sc_mixring.sc_mpr.blksize); } if (vc->sc_npfilters > 0) { @@ -5901,7 +5901,7 @@ audio_play_thread(void *v) kthread_exit(0); } - while (sc->sc_trigger_started && sc->sc_usemixer && + while (sc->sc_usemixer && audio_stream_get_used(&sc->sc_mixring.sc_mpr.s) < sc->sc_mixring.sc_mpr.blksize) { mutex_exit(sc->sc_intr_lock);