Lines Matching defs:efw

132 pcm_init_hw_params(struct snd_efw *efw,
142 s = &efw->tx_stream;
143 pcm_channels = efw->pcm_capture_channels;
146 s = &efw->rx_stream;
147 pcm_channels = efw->pcm_playback_channels;
151 runtime->hw.rates = efw->supported_sampling_rate;
175 struct snd_efw *efw = substream->private_data;
176 struct amdtp_domain *d = &efw->domain;
180 err = snd_efw_stream_lock_try(efw);
184 err = pcm_init_hw_params(efw, substream);
188 err = snd_efw_command_get_clock_source(efw, &clock_source);
192 scoped_guard(mutex, &efw->mutex) {
197 (efw->substreams_counter > 0 && d->events_per_period > 0)) {
202 err = snd_efw_command_get_sampling_rate(efw, &sampling_rate);
228 snd_efw_stream_lock_release(efw);
234 struct snd_efw *efw = substream->private_data;
235 snd_efw_stream_lock_release(efw);
242 struct snd_efw *efw = substream->private_data;
250 guard(mutex)(&efw->mutex);
251 err = snd_efw_stream_reserve_duplex(efw, rate,
254 ++efw->substreams_counter;
262 struct snd_efw *efw = substream->private_data;
264 guard(mutex)(&efw->mutex);
267 --efw->substreams_counter;
269 snd_efw_stream_stop_duplex(efw);
276 struct snd_efw *efw = substream->private_data;
279 err = snd_efw_stream_start_duplex(efw);
281 amdtp_stream_pcm_prepare(&efw->tx_stream);
287 struct snd_efw *efw = substream->private_data;
290 err = snd_efw_stream_start_duplex(efw);
292 amdtp_stream_pcm_prepare(&efw->rx_stream);
299 struct snd_efw *efw = substream->private_data;
303 amdtp_stream_pcm_trigger(&efw->tx_stream, substream);
306 amdtp_stream_pcm_trigger(&efw->tx_stream, NULL);
316 struct snd_efw *efw = substream->private_data;
320 amdtp_stream_pcm_trigger(&efw->rx_stream, substream);
323 amdtp_stream_pcm_trigger(&efw->rx_stream, NULL);
334 struct snd_efw *efw = sbstrm->private_data;
336 return amdtp_domain_stream_pcm_pointer(&efw->domain, &efw->tx_stream);
340 struct snd_efw *efw = sbstrm->private_data;
342 return amdtp_domain_stream_pcm_pointer(&efw->domain, &efw->rx_stream);
347 struct snd_efw *efw = substream->private_data;
349 return amdtp_domain_stream_pcm_ack(&efw->domain, &efw->tx_stream);
354 struct snd_efw *efw = substream->private_data;
356 return amdtp_domain_stream_pcm_ack(&efw->domain, &efw->rx_stream);
359 int snd_efw_create_pcm_devices(struct snd_efw *efw)
384 err = snd_pcm_new(efw->card, efw->card->driver, 0, 1, 1, &pcm);
388 pcm->private_data = efw;
390 snprintf(pcm->name, sizeof(pcm->name), "%s PCM", efw->card->shortname);