Lines Matching full:pcm
31 * RME HDSPe driver for FreeBSD (pcm-part).
35 #include <dev/sound/pcm/sound.h>
445 buffer_mux_write(uint32_t *dma, uint32_t *pcm, unsigned int pos,
453 pcm[pos * channels + slot];
460 buffer_mux_port(uint32_t *dma, uint32_t *pcm, uint32_t subset, uint32_t ports,
473 pcm += chan_pos;
476 /* Only copy as much as supported by both hardware and pcm channel. */
481 buffer_mux_write(dma, pcm, pos, samples, 2, channels);
483 buffer_mux_write(dma, pcm, pos, samples, 4, channels);
485 buffer_mux_write(dma, pcm, pos, samples, 8, channels);
487 buffer_mux_write(dma, pcm, pos, samples, slots, channels);
491 buffer_demux_read(uint32_t *dma, uint32_t *pcm, unsigned int pos,
498 pcm[pos * channels + slot] =
506 buffer_demux_port(uint32_t *dma, uint32_t *pcm, uint32_t subset, uint32_t ports,
519 pcm += chan_pos;
522 /* Only copy as much as supported by both hardware and pcm channel. */
527 buffer_demux_read(dma, pcm, pos, samples, 2, channels);
529 buffer_demux_read(dma, pcm, pos, samples, 4, channels);
531 buffer_demux_read(dma, pcm, pos, samples, 8, channels);
533 buffer_demux_read(dma, pcm, pos, samples, slots, channels);
537 /* Copy data between DMA and PCM buffers. */
554 /* Let pcm formats differ from current hardware ADAT width. */
565 /* Position per channel is n times smaller than PCM. */
579 /* Position per channel is n times smaller than PCM. */
1059 * in pcm device. Mark pcm device as MPSAFE manually.
1089 device_printf(dev, "Can't register pcm.\n");
1120 "pcm",