Lines Matching refs:bebob
8 #include "./bebob.h"
95 pcm_init_hw_params(struct snd_bebob *bebob,
105 s = &bebob->tx_stream;
106 formations = bebob->tx_stream_formations;
109 s = &bebob->rx_stream;
110 formations = bebob->rx_stream_formations;
134 struct snd_bebob *bebob = substream->private_data;
135 const struct snd_bebob_rate_spec *spec = bebob->spec->rate;
136 struct amdtp_domain *d = &bebob->domain;
140 err = snd_bebob_stream_lock_try(bebob);
144 err = pcm_init_hw_params(bebob, substream);
148 err = snd_bebob_stream_get_clock_src(bebob, &src);
152 mutex_lock(&bebob->mutex);
158 (bebob->substreams_counter > 0 && d->events_per_period > 0)) {
163 err = spec->get(bebob, &sampling_rate);
165 mutex_unlock(&bebob->mutex);
166 dev_err(&bebob->unit->device,
179 mutex_unlock(&bebob->mutex);
187 mutex_unlock(&bebob->mutex);
193 mutex_unlock(&bebob->mutex);
199 snd_bebob_stream_lock_release(bebob);
206 struct snd_bebob *bebob = substream->private_data;
207 snd_bebob_stream_lock_release(bebob);
214 struct snd_bebob *bebob = substream->private_data;
222 mutex_lock(&bebob->mutex);
223 err = snd_bebob_stream_reserve_duplex(bebob, rate,
226 ++bebob->substreams_counter;
227 mutex_unlock(&bebob->mutex);
235 struct snd_bebob *bebob = substream->private_data;
237 mutex_lock(&bebob->mutex);
240 bebob->substreams_counter--;
242 snd_bebob_stream_stop_duplex(bebob);
244 mutex_unlock(&bebob->mutex);
252 struct snd_bebob *bebob = substream->private_data;
255 err = snd_bebob_stream_start_duplex(bebob);
257 amdtp_stream_pcm_prepare(&bebob->tx_stream);
264 struct snd_bebob *bebob = substream->private_data;
267 err = snd_bebob_stream_start_duplex(bebob);
269 amdtp_stream_pcm_prepare(&bebob->rx_stream);
277 struct snd_bebob *bebob = substream->private_data;
281 amdtp_stream_pcm_trigger(&bebob->tx_stream, substream);
284 amdtp_stream_pcm_trigger(&bebob->tx_stream, NULL);
295 struct snd_bebob *bebob = substream->private_data;
299 amdtp_stream_pcm_trigger(&bebob->rx_stream, substream);
302 amdtp_stream_pcm_trigger(&bebob->rx_stream, NULL);
313 struct snd_bebob *bebob = sbstrm->private_data;
315 return amdtp_domain_stream_pcm_pointer(&bebob->domain,
316 &bebob->tx_stream);
320 struct snd_bebob *bebob = sbstrm->private_data;
322 return amdtp_domain_stream_pcm_pointer(&bebob->domain,
323 &bebob->rx_stream);
328 struct snd_bebob *bebob = substream->private_data;
330 return amdtp_domain_stream_pcm_ack(&bebob->domain, &bebob->tx_stream);
335 struct snd_bebob *bebob = substream->private_data;
337 return amdtp_domain_stream_pcm_ack(&bebob->domain, &bebob->rx_stream);
340 int snd_bebob_create_pcm_devices(struct snd_bebob *bebob)
365 err = snd_pcm_new(bebob->card, bebob->card->driver, 0, 1, 1, &pcm);
369 pcm->private_data = bebob;
371 "%s PCM", bebob->card->shortname);