Lines Matching refs:efw
146 pcm_init_hw_params(struct snd_efw *efw, in pcm_init_hw_params() argument
163 s = &efw->tx_stream; in pcm_init_hw_params()
164 pcm_channels = efw->pcm_capture_channels; in pcm_init_hw_params()
167 s = &efw->rx_stream; in pcm_init_hw_params()
168 pcm_channels = efw->pcm_playback_channels; in pcm_init_hw_params()
172 runtime->hw.rates = efw->supported_sampling_rate, in pcm_init_hw_params()
197 struct snd_efw *efw = substream->private_data; in pcm_open() local
202 err = snd_efw_stream_lock_try(efw); in pcm_open()
206 err = pcm_init_hw_params(efw, substream); in pcm_open()
210 err = snd_efw_command_get_clock_source(efw, &clock_source); in pcm_open()
219 amdtp_stream_pcm_running(&efw->tx_stream) || in pcm_open()
220 amdtp_stream_pcm_running(&efw->rx_stream)) { in pcm_open()
221 err = snd_efw_command_get_sampling_rate(efw, &sampling_rate); in pcm_open()
232 snd_efw_stream_lock_release(efw); in pcm_open()
238 struct snd_efw *efw = substream->private_data; in pcm_close() local
239 snd_efw_stream_lock_release(efw); in pcm_close()
246 struct snd_efw *efw = substream->private_data; in pcm_capture_hw_params() local
249 atomic_inc(&efw->capture_substreams); in pcm_capture_hw_params()
250 amdtp_stream_set_pcm_format(&efw->tx_stream, params_format(hw_params)); in pcm_capture_hw_params()
258 struct snd_efw *efw = substream->private_data; in pcm_playback_hw_params() local
261 atomic_inc(&efw->playback_substreams); in pcm_playback_hw_params()
262 amdtp_stream_set_pcm_format(&efw->rx_stream, params_format(hw_params)); in pcm_playback_hw_params()
270 struct snd_efw *efw = substream->private_data; in pcm_capture_hw_free() local
273 atomic_dec(&efw->capture_substreams); in pcm_capture_hw_free()
275 snd_efw_stream_stop_duplex(efw); in pcm_capture_hw_free()
281 struct snd_efw *efw = substream->private_data; in pcm_playback_hw_free() local
284 atomic_dec(&efw->playback_substreams); in pcm_playback_hw_free()
286 snd_efw_stream_stop_duplex(efw); in pcm_playback_hw_free()
293 struct snd_efw *efw = substream->private_data; in pcm_capture_prepare() local
297 err = snd_efw_stream_start_duplex(efw, runtime->rate); in pcm_capture_prepare()
299 amdtp_stream_pcm_prepare(&efw->tx_stream); in pcm_capture_prepare()
305 struct snd_efw *efw = substream->private_data; in pcm_playback_prepare() local
309 err = snd_efw_stream_start_duplex(efw, runtime->rate); in pcm_playback_prepare()
311 amdtp_stream_pcm_prepare(&efw->rx_stream); in pcm_playback_prepare()
318 struct snd_efw *efw = substream->private_data; in pcm_capture_trigger() local
322 amdtp_stream_pcm_trigger(&efw->tx_stream, substream); in pcm_capture_trigger()
325 amdtp_stream_pcm_trigger(&efw->tx_stream, NULL); in pcm_capture_trigger()
335 struct snd_efw *efw = substream->private_data; in pcm_playback_trigger() local
339 amdtp_stream_pcm_trigger(&efw->rx_stream, substream); in pcm_playback_trigger()
342 amdtp_stream_pcm_trigger(&efw->rx_stream, NULL); in pcm_playback_trigger()
353 struct snd_efw *efw = sbstrm->private_data; in pcm_capture_pointer() local
354 return amdtp_stream_pcm_pointer(&efw->tx_stream); in pcm_capture_pointer()
358 struct snd_efw *efw = sbstrm->private_data; in pcm_playback_pointer() local
359 return amdtp_stream_pcm_pointer(&efw->rx_stream); in pcm_playback_pointer()
387 int snd_efw_create_pcm_devices(struct snd_efw *efw) in snd_efw_create_pcm_devices() argument
392 err = snd_pcm_new(efw->card, efw->card->driver, 0, 1, 1, &pcm); in snd_efw_create_pcm_devices()
396 pcm->private_data = efw; in snd_efw_create_pcm_devices()
397 snprintf(pcm->name, sizeof(pcm->name), "%s PCM", efw->card->shortname); in snd_efw_create_pcm_devices()