Lines Matching full:pcm
31 * RME HDSP driver for FreeBSD (pcm-part).
37 #include <dev/sound/pcm/sound.h>
459 buffer_mux_write(uint32_t *dma, uint32_t *pcm, unsigned int pos,
467 pcm[pos * channels + slot];
473 buffer_mux_port(uint32_t *dma, uint32_t *pcm, uint32_t subset, uint32_t slots,
485 pcm += chan_pos;
487 /* Only copy channels supported by both hardware and pcm format. */
492 buffer_mux_write(dma, pcm, pos, pos + samples, 1, channels);
494 buffer_mux_write(dma, pcm, pos, pos + samples, 2, channels);
496 buffer_mux_write(dma, pcm, pos, pos + samples, 4, channels);
498 buffer_mux_write(dma, pcm, pos, pos + samples, 8, channels);
500 buffer_mux_write(dma, pcm, pos, pos + samples, width, channels);
504 buffer_demux_read(uint32_t *dma, uint32_t *pcm, unsigned int pos,
511 pcm[pos * channels + slot] =
518 buffer_demux_port(uint32_t *dma, uint32_t *pcm, uint32_t subset, uint32_t slots,
530 pcm += chan_pos;
532 /* Only copy channels supported by both hardware and pcm format. */
537 buffer_demux_read(dma, pcm, pos, pos + samples, 1, channels);
539 buffer_demux_read(dma, pcm, pos, pos + samples, 2, channels);
541 buffer_demux_read(dma, pcm, pos, pos + samples, 4, channels);
543 buffer_demux_read(dma, pcm, pos, pos + samples, 8, channels);
545 buffer_demux_read(dma, pcm, pos, pos + samples, width, channels);
549 /* Copy data between DMA and PCM buffers. */
563 channels = AFMT_CHANNEL(ch->format); /* Number of PCM channels. */
1068 * in pcm device. Mark pcm device as MPSAFE manually.
1098 device_printf(dev, "Can't register pcm.\n");
1129 "pcm",