diff options
author | Ariff Abdullah <ariff@FreeBSD.org> | 2007-04-18 18:26:41 +0000 |
---|---|---|
committer | Ariff Abdullah <ariff@FreeBSD.org> | 2007-04-18 18:26:41 +0000 |
commit | 2e334adf6a1959f29ad75e3c0933d72d892ac5d1 (patch) | |
tree | 2c19e5966943f5431ac99571e8cfe37828a1efe2 /sys/dev/sound/pcm/buffer.c | |
parent | e492b759815186847c7fb7b26193d996d4e6250a (diff) | |
download | src-2e334adf6a1959f29ad75e3c0933d72d892ac5d1.tar.gz src-2e334adf6a1959f29ad75e3c0933d72d892ac5d1.zip |
sndbuf_alloc() now accept dmaflags argument which will be forwarded to
internal bus_dmammem_alloc() for greater flexibility on setting up DMA /
page attributes.
Notes
Notes:
svn path=/head/; revision=168847
Diffstat (limited to 'sys/dev/sound/pcm/buffer.c')
-rw-r--r-- | sys/dev/sound/pcm/buffer.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/sound/pcm/buffer.c b/sys/dev/sound/pcm/buffer.c index 5ce32af10541..1cf26d0cb5dc 100644 --- a/sys/dev/sound/pcm/buffer.c +++ b/sys/dev/sound/pcm/buffer.c @@ -78,16 +78,18 @@ sndbuf_setmap(void *arg, bus_dma_segment_t *segs, int nseg, int error) */ int -sndbuf_alloc(struct snd_dbuf *b, bus_dma_tag_t dmatag, unsigned int size) +sndbuf_alloc(struct snd_dbuf *b, bus_dma_tag_t dmatag, int dmaflags, + unsigned int size) { int ret; b->dmatag = dmatag; + b->dmaflags = dmaflags | BUS_DMA_NOWAIT; b->maxsize = size; b->bufsize = b->maxsize; b->buf_addr = 0; b->flags |= SNDBUF_F_MANAGED; - if (bus_dmamem_alloc(b->dmatag, (void **)&b->buf, BUS_DMA_NOWAIT, + if (bus_dmamem_alloc(b->dmatag, (void **)&b->buf, b->dmaflags, &b->dmamap)) { sndbuf_free(b); return (ENOMEM); |