FreeBSD kernel sound device code
|
Go to the source code of this file.
Macros | |
#define | SND_USE_FXDIV |
#define | SND_DECLARE_FXDIV |
#define | SNDBUF_CACHE_SHIFT 5 |
Functions | |
SND_DECLARE_FILE ("$FreeBSD$") | |
struct snd_dbuf * | sndbuf_create (device_t dev, char *drv, char *desc, struct pcm_channel *channel) |
void | sndbuf_destroy (struct snd_dbuf *b) |
bus_addr_t | sndbuf_getbufaddr (struct snd_dbuf *buf) |
static void | 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, int dmaflags, unsigned int size) |
int | sndbuf_setup (struct snd_dbuf *b, void *buf, unsigned int size) |
void | sndbuf_free (struct snd_dbuf *b) |
int | sndbuf_resize (struct snd_dbuf *b, unsigned int blkcnt, unsigned int blksz) |
int | sndbuf_remalloc (struct snd_dbuf *b, unsigned int blkcnt, unsigned int blksz) |
void | sndbuf_clear (struct snd_dbuf *b, unsigned int length) |
Zero out space in buffer free area. More... | |
void | sndbuf_fillsilence (struct snd_dbuf *b) |
Zap buffer contents, resetting "ready area" fields. More... | |
void | sndbuf_fillsilence_rl (struct snd_dbuf *b, u_int rl) |
void | sndbuf_softreset (struct snd_dbuf *b) |
Reset buffer w/o flushing statistics. More... | |
void | sndbuf_reset (struct snd_dbuf *b) |
u_int32_t | sndbuf_getfmt (struct snd_dbuf *b) |
int | sndbuf_setfmt (struct snd_dbuf *b, u_int32_t fmt) |
unsigned int | sndbuf_getspd (struct snd_dbuf *b) |
void | sndbuf_setspd (struct snd_dbuf *b, unsigned int spd) |
unsigned int | sndbuf_getalign (struct snd_dbuf *b) |
unsigned int | sndbuf_getblkcnt (struct snd_dbuf *b) |
void | sndbuf_setblkcnt (struct snd_dbuf *b, unsigned int blkcnt) |
unsigned int | sndbuf_getblksz (struct snd_dbuf *b) |
void | sndbuf_setblksz (struct snd_dbuf *b, unsigned int blksz) |
unsigned int | sndbuf_getbps (struct snd_dbuf *b) |
void * | sndbuf_getbuf (struct snd_dbuf *b) |
void * | sndbuf_getbufofs (struct snd_dbuf *b, unsigned int ofs) |
unsigned int | sndbuf_getsize (struct snd_dbuf *b) |
unsigned int | sndbuf_getmaxsize (struct snd_dbuf *b) |
unsigned int | sndbuf_getallocsize (struct snd_dbuf *b) |
unsigned int | sndbuf_runsz (struct snd_dbuf *b) |
void | sndbuf_setrun (struct snd_dbuf *b, int go) |
struct selinfo * | sndbuf_getsel (struct snd_dbuf *b) |
unsigned int | sndbuf_getxrun (struct snd_dbuf *b) |
void | sndbuf_setxrun (struct snd_dbuf *b, unsigned int xrun) |
unsigned int | sndbuf_gethwptr (struct snd_dbuf *b) |
void | sndbuf_sethwptr (struct snd_dbuf *b, unsigned int ptr) |
unsigned int | sndbuf_getready (struct snd_dbuf *b) |
unsigned int | sndbuf_getreadyptr (struct snd_dbuf *b) |
unsigned int | sndbuf_getfree (struct snd_dbuf *b) |
unsigned int | sndbuf_getfreeptr (struct snd_dbuf *b) |
u_int64_t | sndbuf_getblocks (struct snd_dbuf *b) |
u_int64_t | sndbuf_getprevblocks (struct snd_dbuf *b) |
u_int64_t | sndbuf_gettotal (struct snd_dbuf *b) |
u_int64_t | sndbuf_getprevtotal (struct snd_dbuf *b) |
void | sndbuf_updateprevtotal (struct snd_dbuf *b) |
unsigned int | sndbuf_xbytes (unsigned int v, struct snd_dbuf *from, struct snd_dbuf *to) |
u_int8_t | sndbuf_zerodata (u_int32_t fmt) |
int | sndbuf_acquire (struct snd_dbuf *b, u_int8_t *from, unsigned int count) |
Acquire buffer space to extend ready area. More... | |
int | sndbuf_dispose (struct snd_dbuf *b, u_int8_t *to, unsigned int count) |
Dispose samples from channel buffer, increasing size of ready area. More... | |
int | sndbuf_feed (struct snd_dbuf *from, struct snd_dbuf *to, struct pcm_channel *channel, struct pcm_feeder *feeder, unsigned int count) |
void | sndbuf_dump (struct snd_dbuf *b, char *s, u_int32_t what) |
u_int32_t | sndbuf_getflags (struct snd_dbuf *b) |
void | sndbuf_setflags (struct snd_dbuf *b, u_int32_t flags, int on) |
void | sndbuf_clearshadow (struct snd_dbuf *b) |
Clear the shadow buffer by filling with samples equal to zero. More... | |
SND_DECLARE_FILE | ( | "$FreeBSD$" | ) |
int sndbuf_acquire | ( | struct snd_dbuf * | b, |
u_int8_t * | from, | ||
unsigned int | count | ||
) |
Acquire buffer space to extend ready area.
This function extends the ready area length by count
bytes, and may optionally copy samples from another location stored in from
. The counter snd_dbuf::total
is also incremented by count
bytes.
b | audio buffer |
from | sample source (optional) |
count | number of bytes to acquire |
0 | Unconditional |
Definition at line 618 of file buffer.c.
References b, snd_dbuf::bufsize, count, snd_dbuf::rl, sndbuf_getbufofs(), sndbuf_getfree(), sndbuf_getfreeptr(), sndbuf_getsize(), and snd_dbuf::total.
Referenced by chn_dmaupdate(), chn_sync(), chn_wrfeed(), chn_write(), dsp_ioctl(), feed_mixer_feed(), feed_mixer_rec(), and sndbuf_feed().
int sndbuf_alloc | ( | struct snd_dbuf * | b, |
bus_dma_tag_t | dmatag, | ||
int | dmaflags, | ||
unsigned int | size | ||
) |
Definition at line 93 of file buffer.c.
References b, snd_dbuf::buf, snd_dbuf::buf_addr, snd_dbuf::bufsize, snd_dbuf::dmaflags, snd_dbuf::dmamap, snd_dbuf::dmatag, snd_dbuf::flags, snd_dbuf::maxsize, size, SNDBUF_F_MANAGED, sndbuf_free(), sndbuf_resize(), and sndbuf_setmap().
Referenced by ad1816chan_init(), alschan_init(), aoa_chan_init(), atiixp_chan_init(), cmichan_init(), cs4281chan_init(), csachan_init(), emufxrchan_init(), emurchan_init(), eschan_init(), esschan_init(), fm801ch_init(), hdaa_channel_init(), ichchan_init(), m3_pchan_init(), m3_rchan_init(), msschan_init(), sb16chan_init(), sbchan_init(), svchan_init(), trpchan_init(), trrchan_init(), via8233dxs_init(), via8233msgd_init(), via8233wr_init(), and viachan_init().
void sndbuf_clear | ( | struct snd_dbuf * | b, |
unsigned int | length | ||
) |
Zero out space in buffer free area.
This function clears a chunk of length
bytes in the buffer free area (i.e., where the next write will be placed).
b | buffer context |
length | number of bytes to blank |
Definition at line 270 of file buffer.c.
References b, snd_dbuf::bufsize, data, snd_dbuf::fmt, sndbuf_getbuf(), sndbuf_getfreeptr(), and sndbuf_zerodata().
Referenced by chn_sync(), sndbuf_reset(), and sndbuf_softreset().
void sndbuf_clearshadow | ( | struct snd_dbuf * | b | ) |
Clear the shadow buffer by filling with samples equal to zero.
b | buffer to clear |
Definition at line 770 of file buffer.c.
References b, snd_dbuf::fmt, snd_dbuf::shadbuf, snd_dbuf::sl, and sndbuf_zerodata().
Referenced by sndbuf_reset().
struct snd_dbuf * sndbuf_create | ( | device_t | dev, |
char * | drv, | ||
char * | desc, | ||
struct pcm_channel * | channel | ||
) |
Definition at line 46 of file buffer.c.
References b, snd_dbuf::channel, channel, desc, snd_dbuf::dev, dev, snd_dbuf::name, and SNDBUF_NAMELEN.
Referenced by chn_init().
void sndbuf_destroy | ( | struct snd_dbuf * | b | ) |
Definition at line 59 of file buffer.c.
References b, free, and sndbuf_free().
Referenced by chn_init(), and chn_kill().
int sndbuf_dispose | ( | struct snd_dbuf * | b, |
u_int8_t * | to, | ||
unsigned int | count | ||
) |
Dispose samples from channel buffer, increasing size of ready area.
This function discards samples from the supplied buffer by advancing the ready area start pointer and decrementing the ready area length. If to
is not NULL, then the discard samples will be copied to the location it points to.
b | PCM channel sound buffer |
to | destination buffer (optional) |
count | number of bytes to discard |
Definition at line 655 of file buffer.c.
References b, snd_dbuf::bufsize, count, snd_dbuf::rl, snd_dbuf::rp, sndbuf_getbufofs(), sndbuf_getready(), sndbuf_getreadyptr(), and sndbuf_getsize().
Referenced by chn_dmaupdate(), chn_rdfeed(), chn_read(), dsp_ioctl(), feed_mixer_rec(), and feed_root().
void sndbuf_dump | ( | struct snd_dbuf * | b, |
char * | s, | ||
u_int32_t | what | ||
) |
Definition at line 733 of file buffer.c.
References b, snd_dbuf::blkcnt, snd_dbuf::blksz, snd_dbuf::bufsize, snd_dbuf::dl, snd_dbuf::flags, snd_dbuf::fmt, snd_dbuf::hp, snd_dbuf::maxsize, snd_dbuf::prev_total, snd_dbuf::rl, snd_dbuf::rp, snd_dbuf::spd, snd_dbuf::total, what, and snd_dbuf::xrun.
int sndbuf_feed | ( | struct snd_dbuf * | from, |
struct snd_dbuf * | to, | ||
struct pcm_channel * | channel, | ||
struct pcm_feeder * | feeder, | ||
unsigned int | count | ||
) |
Definition at line 691 of file buffer.c.
References channel, count, feeder, sndbuf_acquire(), sndbuf_getalign(), sndbuf_getfree(), and snd_dbuf::tmpbuf.
Referenced by chn_rdfeed(), and chn_wrfeed().
void sndbuf_fillsilence | ( | struct snd_dbuf * | b | ) |
Zap buffer contents, resetting "ready area" fields.
b | buffer context |
Definition at line 299 of file buffer.c.
References b, snd_dbuf::bufsize, snd_dbuf::fmt, snd_dbuf::rl, snd_dbuf::rp, sndbuf_getbuf(), and sndbuf_zerodata().
Referenced by dsp_ioctl().
void sndbuf_fillsilence_rl | ( | struct snd_dbuf * | b, |
u_int | rl | ||
) |
Definition at line 308 of file buffer.c.
References b, snd_dbuf::bufsize, snd_dbuf::fmt, snd_dbuf::rl, snd_dbuf::rp, sndbuf_getbuf(), and sndbuf_zerodata().
Referenced by chn_start().
void sndbuf_free | ( | struct snd_dbuf * | b | ) |
Definition at line 135 of file buffer.c.
References b, snd_dbuf::buf, snd_dbuf::buf_addr, snd_dbuf::dmamap, snd_dbuf::dmatag, snd_dbuf::flags, free, snd_dbuf::shadbuf, snd_dbuf::sl, SNDBUF_F_MANAGED, and snd_dbuf::tmpbuf.
Referenced by aoa_chan_free(), chn_init(), chn_kill(), sndbuf_alloc(), and sndbuf_destroy().
unsigned int sndbuf_getalign | ( | struct snd_dbuf * | b | ) |
Definition at line 385 of file buffer.c.
References snd_dbuf::align, and b.
Referenced by atiixp_chan_trigger(), chn_dmaupdate(), chn_getptr(), chn_resizebuf(), chn_start(), chn_sync(), dsp_ioctl(), emu_settimer(), emupchan_setblocksize(), emupchan_trigger(), emurchan_setblocksize(), eschan_trigger(), feed_mixer_rec(), hdaa_channel_setfragments(), sndbuf_feed(), sndbuf_xbytes(), trpchan_getptr(), trpchan_trigger(), via8233chan_trigger(), and via_poll_ticks().
unsigned int sndbuf_getallocsize | ( | struct snd_dbuf * | b | ) |
Definition at line 447 of file buffer.c.
References snd_dbuf::allocsize, and b.
unsigned int sndbuf_getblkcnt | ( | struct snd_dbuf * | b | ) |
Definition at line 391 of file buffer.c.
References b, and snd_dbuf::blkcnt.
Referenced by atiixp_chan_setfragments(), chn_resizebuf(), chn_sync(), dsp_ioctl(), eschan_setfragments(), hdaa_channel_setfragments(), ich_filldtbl(), and via8233chan_setfragments().
unsigned int sndbuf_getblksz | ( | struct snd_dbuf * | b | ) |
Definition at line 403 of file buffer.c.
References b, and snd_dbuf::blksz.
Referenced by atiixp_chan_setfragments(), chn_resizebuf(), chn_sync(), dsp_ioctl(), eschan_setfragments(), hdaa_channel_setfragments(), hdspechan_setblocksize(), ich_filldtbl(), m3_intr(), m3_pchan_setblocksize(), m3_rchan_setblocksize(), and via8233chan_setfragments().
u_int64_t sndbuf_getblocks | ( | struct snd_dbuf * | b | ) |
Definition at line 541 of file buffer.c.
References b, snd_dbuf::blksz, SNDBUF_LOCKASSERT, and snd_dbuf::total.
Referenced by dsp_ioctl().
unsigned int sndbuf_getbps | ( | struct snd_dbuf * | b | ) |
Definition at line 415 of file buffer.c.
References b, and snd_dbuf::bps.
void * sndbuf_getbuf | ( | struct snd_dbuf * | b | ) |
Definition at line 421 of file buffer.c.
References b, and snd_dbuf::buf.
Referenced by audio_soc_chan_free(), emupchan_free(), feed_mixer_feed(), nmchan_init(), sndbuf_clear(), sndbuf_fillsilence(), and sndbuf_fillsilence_rl().
bus_addr_t sndbuf_getbufaddr | ( | struct snd_dbuf * | buf | ) |
Definition at line 66 of file buffer.c.
References buf.
Referenced by adcdac_prog(), als_capture_start(), als_playback_start(), aoa_dma_set_program(), atiixp_buildsgdt(), atiixp_dmapos(), cmi_dma_prog(), csa_setupchan(), csachan_getptr(), emufxrchan_init(), emurchan_init(), eschan_init(), esschan_trigger(), fm801ch_trigger(), hdaa_channel_start(), ich_filldtbl(), m3_pchan_getptr_internal(), m3_pchan_init(), m3_rchan_getptr_internal(), m3_rchan_init(), svpchan_trigger(), svrchan_trigger(), trpchan_trigger(), trrchan_getptr(), trrchan_trigger(), and via_buildsgdt().
void * sndbuf_getbufofs | ( | struct snd_dbuf * | b, |
unsigned int | ofs | ||
) |
Definition at line 427 of file buffer.c.
References b, snd_dbuf::buf, and snd_dbuf::bufsize.
Referenced by chn_read(), chn_write(), dsp_mmap_single(), sndbuf_acquire(), and sndbuf_dispose().
u_int32_t sndbuf_getflags | ( | struct snd_dbuf * | b | ) |
Definition at line 751 of file buffer.c.
References b, and snd_dbuf::flags.
Referenced by sndbuf_dma(), sndbuf_dmabounce(), sndbuf_dmaptr(), and sndbuf_dmasetdir().
u_int32_t sndbuf_getfmt | ( | struct snd_dbuf * | b | ) |
Definition at line 349 of file buffer.c.
References b, and snd_dbuf::fmt.
Referenced by chn_setparam(), and feed_root().
unsigned int sndbuf_getfree | ( | struct snd_dbuf * | b | ) |
Definition at line 522 of file buffer.c.
References b, snd_dbuf::bufsize, snd_dbuf::rl, and SNDBUF_LOCKASSERT.
Referenced by chn_dmaupdate(), chn_polltrigger(), chn_rdfeed(), chn_start(), chn_sync(), chn_wrfeed(), chn_write(), dsp_ioctl(), envy24_r16sl(), envy24_r32sl(), envy24ht_r16sl(), envy24ht_r32sl(), feed_mixer_feed(), feed_mixer_rec(), sndbuf_acquire(), and sndbuf_feed().
unsigned int sndbuf_getfreeptr | ( | struct snd_dbuf * | b | ) |
Definition at line 531 of file buffer.c.
References b, snd_dbuf::bufsize, snd_dbuf::rl, snd_dbuf::rp, and SNDBUF_LOCKASSERT.
Referenced by buffer_copy(), chn_write(), dsp_ioctl(), envy24_r16sl(), envy24_r32sl(), envy24ht_r16sl(), envy24ht_r32sl(), sndbuf_acquire(), and sndbuf_clear().
unsigned int sndbuf_gethwptr | ( | struct snd_dbuf * | b | ) |
Definition at line 488 of file buffer.c.
References b, snd_dbuf::hp, and SNDBUF_LOCKASSERT.
Referenced by chn_dmaupdate(), and dsp_ioctl().
unsigned int sndbuf_getmaxsize | ( | struct snd_dbuf * | b | ) |
Definition at line 441 of file buffer.c.
References b, and snd_dbuf::maxsize.
Referenced by atiixp_chan_setfragments(), chn_init(), chn_resizebuf(), chn_sync(), eschan_setfragments(), hdaa_channel_setfragments(), ich_calibrate(), ich_filldtbl(), ichchan_setblocksize(), and via8233chan_setfragments().
u_int64_t sndbuf_getprevblocks | ( | struct snd_dbuf * | b | ) |
Definition at line 549 of file buffer.c.
References b, snd_dbuf::blksz, snd_dbuf::prev_total, and SNDBUF_LOCKASSERT.
u_int64_t sndbuf_getprevtotal | ( | struct snd_dbuf * | b | ) |
Definition at line 565 of file buffer.c.
References b, snd_dbuf::prev_total, and SNDBUF_LOCKASSERT.
Referenced by chn_polltrigger().
unsigned int sndbuf_getready | ( | struct snd_dbuf * | b | ) |
Definition at line 504 of file buffer.c.
References b, snd_dbuf::bufsize, snd_dbuf::rl, and SNDBUF_LOCKASSERT.
Referenced by buffer_copy(), chn_abort(), chn_dmaupdate(), chn_polltrigger(), chn_rdfeed(), chn_read(), chn_start(), chn_sync(), chn_wrfeed(), dsp_ioctl(), envy24_p16sl(), envy24_p32sl(), envy24_p8u(), envy24ht_p16sl(), envy24ht_p32sl(), envy24ht_p8u(), feed_mixer_rec(), feed_root(), and sndbuf_dispose().
unsigned int sndbuf_getreadyptr | ( | struct snd_dbuf * | b | ) |
Definition at line 513 of file buffer.c.
References b, snd_dbuf::bufsize, snd_dbuf::rp, and SNDBUF_LOCKASSERT.
Referenced by buffer_copy(), chn_read(), dsp_ioctl(), envy24_p16sl(), envy24_p32sl(), envy24_p8u(), envy24ht_p16sl(), envy24ht_p32sl(), envy24ht_p8u(), and sndbuf_dispose().
struct selinfo * sndbuf_getsel | ( | struct snd_dbuf * | b | ) |
Definition at line 465 of file buffer.c.
References b, and snd_dbuf::sel.
Referenced by chn_poll(), and chn_wakeup().
unsigned int sndbuf_getsize | ( | struct snd_dbuf * | b | ) |
Definition at line 435 of file buffer.c.
References b, and snd_dbuf::bufsize.
Referenced by adcdac_prog(), als_capture_start(), als_playback_start(), alschan_getptr(), aoa_dma_set_program(), chn_dmaupdate(), chn_init(), chn_read(), chn_resizebuf(), chn_start(), chn_sync(), chn_wrfeed(), chn_write(), cmi_dma_prog(), cmichan_getptr(), cs4281chan_getptr(), cs4281chan_init(), dsp_ioctl(), dsp_mmap_single(), eschan_setfragments(), esschan_trigger(), feed_mixer_feed(), feed_mixer_rec(), m3_pchan_init(), m3_rchan_init(), sndbuf_acquire(), sndbuf_dispose(), svpchan_getptr(), svpchan_trigger(), svrchan_getptr(), svrchan_trigger(), trpchan_trigger(), via_buildsgdt(), and viachan_getptr().
unsigned int sndbuf_getspd | ( | struct snd_dbuf * | b | ) |
Definition at line 373 of file buffer.c.
References b, and snd_dbuf::spd.
Referenced by atiixp_chan_trigger(), chn_resizebuf(), chn_setparam(), chn_start(), chn_sync(), feeder_chain(), sndbuf_xbytes(), via8233chan_trigger(), and via_poll_ticks().
u_int64_t sndbuf_gettotal | ( | struct snd_dbuf * | b | ) |
Definition at line 557 of file buffer.c.
References b, SNDBUF_LOCKASSERT, and snd_dbuf::total.
Referenced by chn_polltrigger(), and dsp_ioctl().
unsigned int sndbuf_getxrun | ( | struct snd_dbuf * | b | ) |
Definition at line 472 of file buffer.c.
References b, SNDBUF_LOCKASSERT, and snd_dbuf::xrun.
int sndbuf_remalloc | ( | struct snd_dbuf * | b, |
unsigned int | blkcnt, | ||
unsigned int | blksz | ||
) |
Definition at line 214 of file buffer.c.
References snd_dbuf::allocsize, b, blkcnt, snd_dbuf::blkcnt, blksz, snd_dbuf::blksz, buf, snd_dbuf::buf, snd_dbuf::bufsize, snd_dbuf::channel, CHN_LOCK, CHN_UNLOCK, free, snd_dbuf::maxsize, snd_dbuf::shadbuf, snd_dbuf::sl, snd_verbose, SNDBUF_CACHE_SHIFT, sndbuf_reset(), and snd_dbuf::tmpbuf.
Referenced by chn_resizebuf().
void sndbuf_reset | ( | struct snd_dbuf * | b | ) |
Definition at line 334 of file buffer.c.
References b, snd_dbuf::buf, snd_dbuf::bufsize, snd_dbuf::dl, snd_dbuf::hp, snd_dbuf::prev_total, snd_dbuf::rl, snd_dbuf::rp, sndbuf_clear(), sndbuf_clearshadow(), snd_dbuf::total, and snd_dbuf::xrun.
Referenced by chn_resetbuf(), sndbuf_remalloc(), and sndbuf_resize().
int sndbuf_resize | ( | struct snd_dbuf * | b, |
unsigned int | blkcnt, | ||
unsigned int | blksz | ||
) |
Definition at line 164 of file buffer.c.
References snd_dbuf::allocsize, b, blkcnt, snd_dbuf::blkcnt, blksz, snd_dbuf::blksz, snd_dbuf::bufsize, snd_dbuf::channel, CHN_LOCK, CHN_UNLOCK, free, snd_dbuf::maxsize, snd_verbose, SNDBUF_CACHE_SHIFT, sndbuf_reset(), and snd_dbuf::tmpbuf.
Referenced by alschan_setblocksize(), aoa_chan_setblocksize(), atiixp_chan_setfragments(), cmichan_setblocksize(), cs4281chan_setblocksize(), envy24chan_setblocksize(), envy24chan_setformat(), envy24htchan_setblocksize(), envy24htchan_setformat(), eschan_setfragments(), hdaa_channel_setfragments(), hdspechan_setblocksize(), ich_filldtbl(), msschan_setblocksize(), sndbuf_alloc(), sndbuf_setup(), svchan_setblocksize(), trpchan_setblocksize(), trrchan_setblocksize(), via8233chan_setfragments(), and viachan_setblocksize().
unsigned int sndbuf_runsz | ( | struct snd_dbuf * | b | ) |
Definition at line 453 of file buffer.c.
References b, and snd_dbuf::dl.
Referenced by ad1816_intr(), mss_intr(), opti931_intr(), sb_intr(), sndbuf_dmaptr(), trrchan_setformat(), and trrchan_trigger().
void sndbuf_setblkcnt | ( | struct snd_dbuf * | b, |
unsigned int | blkcnt | ||
) |
Definition at line 397 of file buffer.c.
References b, blkcnt, and snd_dbuf::blkcnt.
void sndbuf_setblksz | ( | struct snd_dbuf * | b, |
unsigned int | blksz | ||
) |
Definition at line 409 of file buffer.c.
References b, blksz, and snd_dbuf::blksz.
Referenced by chn_resizebuf().
void sndbuf_setflags | ( | struct snd_dbuf * | b, |
u_int32_t | flags, | ||
int | on | ||
) |
Definition at line 757 of file buffer.c.
References b, and snd_dbuf::flags.
Referenced by sndbuf_dmasetup().
int sndbuf_setfmt | ( | struct snd_dbuf * | b, |
u_int32_t | fmt | ||
) |
Definition at line 355 of file buffer.c.
References AFMT_16BIT, AFMT_24BIT, AFMT_32BIT, AFMT_ALIGN, AFMT_BPS, AFMT_CHANNEL, snd_dbuf::align, b, snd_dbuf::bps, fmt, and snd_dbuf::fmt.
Referenced by chn_init(), and feeder_chain().
void sndbuf_sethwptr | ( | struct snd_dbuf * | b, |
unsigned int | ptr | ||
) |
Definition at line 496 of file buffer.c.
References b, snd_dbuf::hp, and SNDBUF_LOCKASSERT.
Referenced by chn_dmaupdate().
|
static |
Definition at line 72 of file buffer.c.
References b, snd_dbuf::buf, snd_dbuf::buf_addr, snd_dbuf::dev, error, and snd_verbose.
Referenced by sndbuf_alloc().
void sndbuf_setrun | ( | struct snd_dbuf * | b, |
int | go | ||
) |
Definition at line 459 of file buffer.c.
References b, snd_dbuf::blksz, snd_dbuf::dl, and go.
Referenced by chn_abort(), chn_flush(), and chn_start().
void sndbuf_setspd | ( | struct snd_dbuf * | b, |
unsigned int | spd | ||
) |
Definition at line 379 of file buffer.c.
References b, snd_dbuf::spd, and spd.
Referenced by chn_init(), chn_setparam(), feeder_chain(), and vchan_sync().
int sndbuf_setup | ( | struct snd_dbuf * | b, |
void * | buf, | ||
unsigned int | size | ||
) |
Definition at line 123 of file buffer.c.
References b, buf, snd_dbuf::buf, snd_dbuf::bufsize, snd_dbuf::flags, snd_dbuf::maxsize, size, SNDBUF_F_MANAGED, and sndbuf_resize().
Referenced by audio_soc_chan_init(), chn_init(), emu_vinit(), envy24chan_init(), envy24htchan_init(), hdspechan_init(), nmchan_init(), uaudio_chan_init(), and uaudio_chan_set_param_blocksize().
void sndbuf_setxrun | ( | struct snd_dbuf * | b, |
unsigned int | xrun | ||
) |
Definition at line 480 of file buffer.c.
References b, SNDBUF_LOCKASSERT, and snd_dbuf::xrun.
void sndbuf_softreset | ( | struct snd_dbuf * | b | ) |
Reset buffer w/o flushing statistics.
This function just zeroes out buffer contents and sets the "ready length" to zero. This was originally to facilitate minimal playback interruption (i.e., dropped samples) in SNDCTL_DSP_SILENCE/SKIP ioctls.
b | buffer context |
Definition at line 326 of file buffer.c.
References b, snd_dbuf::buf, snd_dbuf::bufsize, snd_dbuf::rl, and sndbuf_clear().
Referenced by dsp_ioctl().
void sndbuf_updateprevtotal | ( | struct snd_dbuf * | b | ) |
Definition at line 573 of file buffer.c.
References b, snd_dbuf::prev_total, SNDBUF_LOCKASSERT, and snd_dbuf::total.
Referenced by chn_pollreset().
Definition at line 581 of file buffer.c.
References snd_xbytes(), sndbuf_getalign(), and sndbuf_getspd().
Referenced by chn_resizebuf(), chn_start(), chn_sync(), and chn_wrfeed().
u_int8_t sndbuf_zerodata | ( | u_int32_t | fmt | ) |
Definition at line 591 of file buffer.c.
References AFMT_PASSTHROUGH, AFMT_SIGNED, and fmt.
Referenced by feed_mixer_feed(), feed_root(), sndbuf_clear(), sndbuf_clearshadow(), sndbuf_fillsilence(), sndbuf_fillsilence_rl(), and z_resampler_setup().