Lines Matching defs:pcm

14 #include <sound/pcm.h>
24 return &chip->pcm[substream->stream];
29 struct lola_pcm *pcm = lola_get_pcm(substream);
31 return &pcm->streams[idx];
128 if (s->pcm->card != substream->pcm->card)
159 if (s->pcm->card != substream->pcm->card)
213 struct lola_pcm *pcm = lola_get_pcm(substream);
224 runtime->hw.channels_max = pcm->num_streams - str->index;
243 static void lola_cleanup_slave_streams(struct lola_pcm *pcm,
247 for (i = str->index + 1; i < pcm->num_streams; i++) {
248 struct lola_stream *s = &pcm->streams[i];
287 struct lola_pcm *pcm = lola_get_pcm(substream);
292 lola_cleanup_slave_streams(pcm, str);
335 static int lola_setup_periods(struct lola *chip, struct lola_pcm *pcm,
346 bdl = (__le32 *)(pcm->bdl->area + LOLA_BDL_ENTRY_SIZE * str->index);
422 static int lola_setup_controller(struct lola *chip, struct lola_pcm *pcm,
431 bdl = pcm->bdl->addr + LOLA_BDL_ENTRY_SIZE * str->index;
449 struct lola_pcm *pcm = lola_get_pcm(substream);
457 lola_cleanup_slave_streams(pcm, str);
458 if (str->index + runtime->channels > pcm->num_streams)
474 err = lola_setup_periods(chip, pcm, substream, str);
487 err = lola_setup_controller(chip, pcm, str);
528 if (s->pcm->card != substream->pcm->card)
553 void lola_pcm_update(struct lola *chip, struct lola_pcm *pcm, unsigned int bits)
556 u8 num_streams = min_t(u8, pcm->num_streams, ARRAY_SIZE(pcm->streams));
560 struct lola_stream *str = &pcm->streams[i];
580 struct snd_pcm *pcm;
584 chip->pcm[i].bdl =
587 if (!chip->pcm[i].bdl)
592 chip->pcm[SNDRV_PCM_STREAM_PLAYBACK].num_streams,
593 chip->pcm[SNDRV_PCM_STREAM_CAPTURE].num_streams,
594 &pcm);
597 strscpy(pcm->name, "Digigram Lola", sizeof(pcm->name));
598 pcm->private_data = chip;
600 if (chip->pcm[i].num_streams)
601 snd_pcm_set_ops(pcm, i, &lola_pcm_ops);
604 snd_pcm_set_managed_buffer_all(pcm, SNDRV_DMA_TYPE_DEV_SG,
670 struct lola_pcm *pcm = &chip->pcm[dir];
674 for (i = 0; i < pcm->num_streams; i++, nid++) {
675 err = lola_init_stream(chip, &pcm->streams[i], i, nid, dir);