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
255 atomic_inc(&efw->capture_substreams); in pcm_capture_hw_params()
257 amdtp_am824_set_pcm_format(&efw->tx_stream, params_format(hw_params)); in pcm_capture_hw_params()
264 struct snd_efw *efw = substream->private_data; in pcm_playback_hw_params() local
273 atomic_inc(&efw->playback_substreams); in pcm_playback_hw_params()
275 amdtp_am824_set_pcm_format(&efw->rx_stream, params_format(hw_params)); in pcm_playback_hw_params()
282 struct snd_efw *efw = substream->private_data; in pcm_capture_hw_free() local
285 atomic_dec(&efw->capture_substreams); in pcm_capture_hw_free()
287 snd_efw_stream_stop_duplex(efw); in pcm_capture_hw_free()
293 struct snd_efw *efw = substream->private_data; in pcm_playback_hw_free() local
296 atomic_dec(&efw->playback_substreams); in pcm_playback_hw_free()
298 snd_efw_stream_stop_duplex(efw); in pcm_playback_hw_free()
305 struct snd_efw *efw = substream->private_data; in pcm_capture_prepare() local
309 err = snd_efw_stream_start_duplex(efw, runtime->rate); in pcm_capture_prepare()
311 amdtp_stream_pcm_prepare(&efw->tx_stream); in pcm_capture_prepare()
317 struct snd_efw *efw = substream->private_data; in pcm_playback_prepare() local
321 err = snd_efw_stream_start_duplex(efw, runtime->rate); in pcm_playback_prepare()
323 amdtp_stream_pcm_prepare(&efw->rx_stream); in pcm_playback_prepare()
330 struct snd_efw *efw = substream->private_data; in pcm_capture_trigger() local
334 amdtp_stream_pcm_trigger(&efw->tx_stream, substream); in pcm_capture_trigger()
337 amdtp_stream_pcm_trigger(&efw->tx_stream, NULL); in pcm_capture_trigger()
347 struct snd_efw *efw = substream->private_data; in pcm_playback_trigger() local
351 amdtp_stream_pcm_trigger(&efw->rx_stream, substream); in pcm_playback_trigger()
354 amdtp_stream_pcm_trigger(&efw->rx_stream, NULL); in pcm_playback_trigger()
365 struct snd_efw *efw = sbstrm->private_data; in pcm_capture_pointer() local
366 return amdtp_stream_pcm_pointer(&efw->tx_stream); in pcm_capture_pointer()
370 struct snd_efw *efw = sbstrm->private_data; in pcm_playback_pointer() local
371 return amdtp_stream_pcm_pointer(&efw->rx_stream); in pcm_playback_pointer()
399 int snd_efw_create_pcm_devices(struct snd_efw *efw) in snd_efw_create_pcm_devices() argument
404 err = snd_pcm_new(efw->card, efw->card->driver, 0, 1, 1, &pcm); in snd_efw_create_pcm_devices()
408 pcm->private_data = efw; in snd_efw_create_pcm_devices()
409 snprintf(pcm->name, sizeof(pcm->name), "%s PCM", efw->card->shortname); in snd_efw_create_pcm_devices()