Lines Matching refs:stream

393 static int mixart_set_stream_state(struct mixart_stream *stream, int start)  in mixart_set_stream_state()  argument
399 if(!stream->substream) in mixart_set_stream_state()
404 stream_state_req.stream_info.stream_desc.uid_pipe = stream->pipe->group_uid; in mixart_set_stream_state()
405 stream_state_req.stream_info.stream_desc.stream_idx = stream->substream->number; in mixart_set_stream_state()
407 if (stream->substream->stream == SNDRV_PCM_STREAM_PLAYBACK) in mixart_set_stream_state()
416 stream->abs_period_elapsed = 0; /* reset stream pos */ in mixart_set_stream_state()
417 stream->buf_periods = 0; in mixart_set_stream_state()
418 stream->buf_period_frag = 0; in mixart_set_stream_state()
420 chip = snd_pcm_substream_chip(stream->substream); in mixart_set_stream_state()
431 struct mixart_stream *stream = subs->runtime->private_data; in snd_mixart_trigger() local
439 if( mixart_set_stream_state(stream, 1) ) in snd_mixart_trigger()
442 stream->status = MIXART_STREAM_STATUS_RUNNING; in snd_mixart_trigger()
448 if( mixart_set_stream_state(stream, 0) ) in snd_mixart_trigger()
451 stream->status = MIXART_STREAM_STATUS_OPEN; in snd_mixart_trigger()
459 stream->status = MIXART_STREAM_STATUS_PAUSE; in snd_mixart_trigger()
464 stream->status = MIXART_STREAM_STATUS_RUNNING; in snd_mixart_trigger()
493 struct mixart_stream *stream = subs->runtime->private_data; in snd_mixart_prepare() local
507 if(stream->pipe->references == 1) { in snd_mixart_prepare()
508 if( mixart_set_clock(chip->mgr, stream->pipe, subs->runtime->rate) ) in snd_mixart_prepare()
516 static int mixart_set_format(struct mixart_stream *stream, snd_pcm_format_t format) in mixart_set_format() argument
524 chip = snd_pcm_substream_chip(stream->substream); in mixart_set_format()
529 stream_param.number_of_channel = stream->channels; in mixart_set_format()
572 … stream_param.sample_type, stream_param.sample_size, stream_param.sampling_freq, stream->channels); in mixart_set_format()
581 stream_param.stream_desc[0].uid_pipe = stream->pipe->group_uid; in mixart_set_format()
582 stream_param.stream_desc[0].stream_idx = stream->substream->number; in mixart_set_format()
608 struct mixart_stream *stream = subs->runtime->private_data; in snd_mixart_hw_params() local
622 if( stream->pcm_number <= MIXART_PCM_DIGITAL ) { in snd_mixart_hw_params()
623 int is_aes = stream->pcm_number > MIXART_PCM_ANALOG; in snd_mixart_hw_params()
624 if( subs->stream == SNDRV_PCM_STREAM_PLAYBACK ) in snd_mixart_hw_params()
630 stream->channels = channels; in snd_mixart_hw_params()
633 err = mixart_set_format(stream, format); in snd_mixart_hw_params()
644 …int i = (chip->chip_idx * MIXART_MAX_STREAM_PER_CARD) + (stream->pcm_number * (MIXART_PLAYBACK_STR… in snd_mixart_hw_params()
645 if( subs->stream == SNDRV_PCM_STREAM_CAPTURE ) { in snd_mixart_hw_params()
727 struct mixart_stream *stream; in snd_mixart_playback_open() local
747 stream = &(chip->playback_stream[pcm_number][subs->number]); in snd_mixart_playback_open()
749 if (stream->status != MIXART_STREAM_STATUS_FREE){ in snd_mixart_playback_open()
775 stream->pipe = pipe; in snd_mixart_playback_open()
776 stream->pcm_number = pcm_number; in snd_mixart_playback_open()
777 stream->status = MIXART_STREAM_STATUS_OPEN; in snd_mixart_playback_open()
778 stream->substream = subs; in snd_mixart_playback_open()
779 stream->channels = 0; /* not configured yet */ in snd_mixart_playback_open()
781 runtime->private_data = stream; in snd_mixart_playback_open()
806 struct mixart_stream *stream; in snd_mixart_capture_open() local
828 stream = &(chip->capture_stream[pcm_number]); in snd_mixart_capture_open()
830 if (stream->status != MIXART_STREAM_STATUS_FREE){ in snd_mixart_capture_open()
856 stream->pipe = pipe; in snd_mixart_capture_open()
857 stream->pcm_number = pcm_number; in snd_mixart_capture_open()
858 stream->status = MIXART_STREAM_STATUS_OPEN; in snd_mixart_capture_open()
859 stream->substream = subs; in snd_mixart_capture_open()
860 stream->channels = 0; /* not configured yet */ in snd_mixart_capture_open()
862 runtime->private_data = stream; in snd_mixart_capture_open()
886 struct mixart_stream *stream = subs->runtime->private_data; in snd_mixart_close() local
891 chip->chip_idx, stream->pcm_number, subs->number); in snd_mixart_close()
899 if (snd_mixart_kill_ref_pipe(mgr, stream->pipe, 0 ) < 0) { in snd_mixart_close()
903 chip->chip_idx, stream->pcm_number); in snd_mixart_close()
906 stream->pipe = NULL; in snd_mixart_close()
907 stream->status = MIXART_STREAM_STATUS_FREE; in snd_mixart_close()
908 stream->substream = NULL; in snd_mixart_close()
918 struct mixart_stream *stream = runtime->private_data; in snd_mixart_stream_pointer() local
920 return (snd_pcm_uframes_t)((stream->buf_periods * runtime->period_size) + stream->buf_period_frag); in snd_mixart_stream_pointer()
951 int stream; in preallocate_buffers()
953 for (stream = 0; stream < 2; stream++) { in preallocate_buffers()
955 for (subs = pcm->streams[stream].substream; subs; subs = subs->next, idx++) in preallocate_buffers()
958 subs->stream << 8 | (subs->number + 1) | in preallocate_buffers()