Lines Matching defs:substream

232 	struct snd_pcm_substream *substream;	/* assigned PCM substream */
342 struct snd_pcm_substream *substream,
373 addr = (u32)substream->runtime->dma_addr;
402 struct snd_pcm_substream *substream)
646 static snd_pcm_uframes_t snd_atiixp_pcm_pointer(struct snd_pcm_substream *substream)
648 struct atiixp *chip = snd_pcm_substream_chip(substream);
649 struct snd_pcm_runtime *runtime = substream->runtime;
669 * XRUN detected, and stop the PCM substream
673 if (! dma->substream || ! dma->running)
676 snd_pcm_stop_xrun(dma->substream);
680 * the period ack. update the substream.
684 if (! dma->substream || ! dma->running)
686 snd_pcm_period_elapsed(dma->substream);
706 static int snd_atiixp_pcm_trigger(struct snd_pcm_substream *substream, int cmd)
708 struct atiixp *chip = snd_pcm_substream_chip(substream);
709 struct atiixp_dma *dma = substream->runtime->private_data;
860 static int snd_atiixp_spdif_prepare(struct snd_pcm_substream *substream)
862 struct atiixp *chip = snd_pcm_substream_chip(substream);
876 substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE ?
887 static int snd_atiixp_playback_prepare(struct snd_pcm_substream *substream)
889 struct atiixp *chip = snd_pcm_substream_chip(substream);
894 switch (substream->runtime->channels) {
918 substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE ?
925 substream->runtime->channels >= 6 ? ATI_REG_6CH_REORDER_EN: 0);
932 static int snd_atiixp_capture_prepare(struct snd_pcm_substream *substream)
934 struct atiixp *chip = snd_pcm_substream_chip(substream);
938 substream->runtime->format == SNDRV_PCM_FORMAT_S16_LE ?
947 static int snd_atiixp_pcm_hw_params(struct snd_pcm_substream *substream,
950 struct atiixp *chip = snd_pcm_substream_chip(substream);
951 struct atiixp_dma *dma = substream->runtime->private_data;
954 dma->buf_addr = substream->runtime->dma_addr;
957 err = atiixp_build_dma_packets(chip, dma, substream,
982 static int snd_atiixp_pcm_hw_free(struct snd_pcm_substream *substream)
984 struct atiixp *chip = snd_pcm_substream_chip(substream);
985 struct atiixp_dma *dma = substream->runtime->private_data;
992 atiixp_clear_dma_packets(chip, dma, substream);
1020 static int snd_atiixp_pcm_open(struct snd_pcm_substream *substream,
1023 struct atiixp *chip = snd_pcm_substream_chip(substream);
1024 struct snd_pcm_runtime *runtime = substream->runtime;
1032 dma->substream = substream;
1056 static int snd_atiixp_pcm_close(struct snd_pcm_substream *substream,
1059 struct atiixp *chip = snd_pcm_substream_chip(substream);
1066 dma->substream = NULL;
1073 static int snd_atiixp_playback_open(struct snd_pcm_substream *substream)
1075 struct atiixp *chip = snd_pcm_substream_chip(substream);
1079 err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 0);
1083 substream->runtime->hw.channels_max = chip->max_channels;
1086 snd_pcm_hw_constraint_step(substream->runtime, 0,
1091 static int snd_atiixp_playback_close(struct snd_pcm_substream *substream)
1093 struct atiixp *chip = snd_pcm_substream_chip(substream);
1096 err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
1101 static int snd_atiixp_capture_open(struct snd_pcm_substream *substream)
1103 struct atiixp *chip = snd_pcm_substream_chip(substream);
1104 return snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_CAPTURE], 1);
1107 static int snd_atiixp_capture_close(struct snd_pcm_substream *substream)
1109 struct atiixp *chip = snd_pcm_substream_chip(substream);
1110 return snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_CAPTURE]);
1113 static int snd_atiixp_spdif_open(struct snd_pcm_substream *substream)
1115 struct atiixp *chip = snd_pcm_substream_chip(substream);
1119 err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_PLAYBACK], 2);
1121 err = snd_atiixp_pcm_open(substream, &chip->dmas[ATI_DMA_SPDIF], -1);
1126 static int snd_atiixp_spdif_close(struct snd_pcm_substream *substream)
1128 struct atiixp *chip = snd_pcm_substream_chip(substream);
1132 err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_PLAYBACK]);
1134 err = snd_atiixp_pcm_close(substream, &chip->dmas[ATI_DMA_SPDIF]);
1490 if (dma->substream && dma->suspended) {
1492 dma->substream->ops->prepare(dma->substream);