Lines Matching refs:substream

15 	struct snd_pcm_substream *substream = rule->private;  in dice_rate_constraint()  local
16 struct snd_dice *dice = substream->private_data; in dice_rate_constraint()
17 unsigned int index = substream->pcm->device; in dice_rate_constraint()
30 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) in dice_rate_constraint()
53 struct snd_pcm_substream *substream = rule->private; in dice_channels_constraint() local
54 struct snd_dice *dice = substream->private_data; in dice_channels_constraint()
55 unsigned int index = substream->pcm->device; in dice_channels_constraint()
68 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) in dice_channels_constraint()
127 struct snd_pcm_substream *substream) in init_hw_info() argument
129 struct snd_pcm_runtime *runtime = substream->runtime; in init_hw_info()
131 unsigned int index = substream->pcm->device; in init_hw_info()
136 if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) { in init_hw_info()
146 err = limit_channels_and_rates(dice, substream->runtime, dir, in init_hw_info()
152 dice_rate_constraint, substream, in init_hw_info()
157 dice_channels_constraint, substream, in init_hw_info()
165 static int pcm_open(struct snd_pcm_substream *substream) in pcm_open() argument
167 struct snd_dice *dice = substream->private_data; in pcm_open()
176 err = init_hw_info(dice, substream); in pcm_open()
213 substream->runtime->hw.rate_min = rate; in pcm_open()
214 substream->runtime->hw.rate_max = rate; in pcm_open()
217 snd_pcm_set_sync(substream); in pcm_open()
225 static int pcm_close(struct snd_pcm_substream *substream) in pcm_close() argument
227 struct snd_dice *dice = substream->private_data; in pcm_close()
234 static int capture_hw_params(struct snd_pcm_substream *substream, in capture_hw_params() argument
237 struct snd_dice *dice = substream->private_data; in capture_hw_params()
240 err = snd_pcm_lib_alloc_vmalloc_buffer(substream, in capture_hw_params()
245 if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) { in capture_hw_params()
253 static int playback_hw_params(struct snd_pcm_substream *substream, in playback_hw_params() argument
256 struct snd_dice *dice = substream->private_data; in playback_hw_params()
259 err = snd_pcm_lib_alloc_vmalloc_buffer(substream, in playback_hw_params()
264 if (substream->runtime->status->state == SNDRV_PCM_STATE_OPEN) { in playback_hw_params()
273 static int capture_hw_free(struct snd_pcm_substream *substream) in capture_hw_free() argument
275 struct snd_dice *dice = substream->private_data; in capture_hw_free()
279 if (substream->runtime->status->state != SNDRV_PCM_STATE_OPEN) in capture_hw_free()
286 return snd_pcm_lib_free_vmalloc_buffer(substream); in capture_hw_free()
289 static int playback_hw_free(struct snd_pcm_substream *substream) in playback_hw_free() argument
291 struct snd_dice *dice = substream->private_data; in playback_hw_free()
295 if (substream->runtime->status->state != SNDRV_PCM_STATE_OPEN) in playback_hw_free()
302 return snd_pcm_lib_free_vmalloc_buffer(substream); in playback_hw_free()
305 static int capture_prepare(struct snd_pcm_substream *substream) in capture_prepare() argument
307 struct snd_dice *dice = substream->private_data; in capture_prepare()
308 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_prepare()
312 err = snd_dice_stream_start_duplex(dice, substream->runtime->rate); in capture_prepare()
319 static int playback_prepare(struct snd_pcm_substream *substream) in playback_prepare() argument
321 struct snd_dice *dice = substream->private_data; in playback_prepare()
322 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_prepare()
326 err = snd_dice_stream_start_duplex(dice, substream->runtime->rate); in playback_prepare()
334 static int capture_trigger(struct snd_pcm_substream *substream, int cmd) in capture_trigger() argument
336 struct snd_dice *dice = substream->private_data; in capture_trigger()
337 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_trigger()
341 amdtp_stream_pcm_trigger(stream, substream); in capture_trigger()
352 static int playback_trigger(struct snd_pcm_substream *substream, int cmd) in playback_trigger() argument
354 struct snd_dice *dice = substream->private_data; in playback_trigger()
355 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_trigger()
359 amdtp_stream_pcm_trigger(stream, substream); in playback_trigger()
371 static snd_pcm_uframes_t capture_pointer(struct snd_pcm_substream *substream) in capture_pointer() argument
373 struct snd_dice *dice = substream->private_data; in capture_pointer()
374 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_pointer()
378 static snd_pcm_uframes_t playback_pointer(struct snd_pcm_substream *substream) in playback_pointer() argument
380 struct snd_dice *dice = substream->private_data; in playback_pointer()
381 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_pointer()
386 static int capture_ack(struct snd_pcm_substream *substream) in capture_ack() argument
388 struct snd_dice *dice = substream->private_data; in capture_ack()
389 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_ack()
394 static int playback_ack(struct snd_pcm_substream *substream) in playback_ack() argument
396 struct snd_dice *dice = substream->private_data; in playback_ack()
397 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_ack()