summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/sound/pcm/channel.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/sound/pcm/channel.c b/sys/dev/sound/pcm/channel.c
index 2948e41..b43680c 100644
--- a/sys/dev/sound/pcm/channel.c
+++ b/sys/dev/sound/pcm/channel.c
@@ -25,6 +25,8 @@
* SUCH DAMAGE.
*/
+#include "opt_isa.h"
+
#include <dev/sound/pcm/sound.h>
#include "feeder_if.h"
@@ -864,14 +866,18 @@ chn_kill(struct pcm_channel *c)
int
chn_setdir(struct pcm_channel *c, int dir)
{
+#ifdef DEV_ISA
struct snd_dbuf *b = c->bufhard;
+#endif
int r;
CHN_LOCKASSERT(c);
c->direction = dir;
r = CHANNEL_SETDIR(c->methods, c->devinfo, c->direction);
+#ifdef DEV_ISA
if (!r && SND_DMA(b))
sndbuf_dmasetdir(b, c->direction);
+#endif
return r;
}
@@ -1119,12 +1125,16 @@ out:
int
chn_trigger(struct pcm_channel *c, int go)
{
+#ifdef DEV_ISA
struct snd_dbuf *b = c->bufhard;
+#endif
int ret;
CHN_LOCKASSERT(c);
+#ifdef DEV_ISA
if (SND_DMA(b) && (go == PCMTRIG_EMLDMAWR || go == PCMTRIG_EMLDMARD))
sndbuf_dmabounce(b);
+#endif
ret = CHANNEL_TRIGGER(c->methods, c->devinfo, go);
return ret;
OpenPOWER on IntegriCloud