Lines Matching refs:oxfw
121 static int init_hw_params(struct snd_oxfw *oxfw, in init_hw_params() argument
138 stream = &oxfw->tx_stream; in init_hw_params()
139 formats = oxfw->tx_stream_formats; in init_hw_params()
142 stream = &oxfw->rx_stream; in init_hw_params()
143 formats = oxfw->rx_stream_formats; in init_hw_params()
168 struct snd_oxfw *oxfw = substream->private_data; in limit_to_current_params() local
178 err = snd_oxfw_stream_get_current_formation(oxfw, dir, &formation); in limit_to_current_params()
192 struct snd_oxfw *oxfw = substream->private_data; in pcm_open() local
195 err = snd_oxfw_stream_lock_try(oxfw); in pcm_open()
199 err = init_hw_params(oxfw, substream); in pcm_open()
207 if (amdtp_stream_pcm_running(&oxfw->tx_stream) || in pcm_open()
208 amdtp_stream_pcm_running(&oxfw->rx_stream)) { in pcm_open()
218 snd_oxfw_stream_lock_release(oxfw); in pcm_open()
224 struct snd_oxfw *oxfw = substream->private_data; in pcm_close() local
226 snd_oxfw_stream_lock_release(oxfw); in pcm_close()
233 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_hw_params() local
237 mutex_lock(&oxfw->mutex); in pcm_capture_hw_params()
238 oxfw->capture_substreams++; in pcm_capture_hw_params()
239 mutex_unlock(&oxfw->mutex); in pcm_capture_hw_params()
242 amdtp_stream_set_pcm_format(&oxfw->tx_stream, params_format(hw_params)); in pcm_capture_hw_params()
250 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_hw_params() local
253 mutex_lock(&oxfw->mutex); in pcm_playback_hw_params()
254 oxfw->playback_substreams++; in pcm_playback_hw_params()
255 mutex_unlock(&oxfw->mutex); in pcm_playback_hw_params()
258 amdtp_stream_set_pcm_format(&oxfw->rx_stream, params_format(hw_params)); in pcm_playback_hw_params()
266 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_hw_free() local
268 mutex_lock(&oxfw->mutex); in pcm_capture_hw_free()
271 oxfw->capture_substreams--; in pcm_capture_hw_free()
273 snd_oxfw_stream_stop_simplex(oxfw, &oxfw->tx_stream); in pcm_capture_hw_free()
275 mutex_unlock(&oxfw->mutex); in pcm_capture_hw_free()
281 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_hw_free() local
283 mutex_lock(&oxfw->mutex); in pcm_playback_hw_free()
286 oxfw->playback_substreams--; in pcm_playback_hw_free()
288 snd_oxfw_stream_stop_simplex(oxfw, &oxfw->rx_stream); in pcm_playback_hw_free()
290 mutex_unlock(&oxfw->mutex); in pcm_playback_hw_free()
297 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_prepare() local
301 mutex_lock(&oxfw->mutex); in pcm_capture_prepare()
302 err = snd_oxfw_stream_start_simplex(oxfw, &oxfw->tx_stream, in pcm_capture_prepare()
304 mutex_unlock(&oxfw->mutex); in pcm_capture_prepare()
308 amdtp_stream_pcm_prepare(&oxfw->tx_stream); in pcm_capture_prepare()
314 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_prepare() local
318 mutex_lock(&oxfw->mutex); in pcm_playback_prepare()
319 err = snd_oxfw_stream_start_simplex(oxfw, &oxfw->rx_stream, in pcm_playback_prepare()
321 mutex_unlock(&oxfw->mutex); in pcm_playback_prepare()
325 amdtp_stream_pcm_prepare(&oxfw->rx_stream); in pcm_playback_prepare()
332 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_trigger() local
345 amdtp_stream_pcm_trigger(&oxfw->tx_stream, pcm); in pcm_capture_trigger()
350 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_trigger() local
363 amdtp_stream_pcm_trigger(&oxfw->rx_stream, pcm); in pcm_playback_trigger()
369 struct snd_oxfw *oxfw = sbstm->private_data; in pcm_capture_pointer() local
371 return amdtp_stream_pcm_pointer(&oxfw->tx_stream); in pcm_capture_pointer()
375 struct snd_oxfw *oxfw = sbstm->private_data; in pcm_playback_pointer() local
377 return amdtp_stream_pcm_pointer(&oxfw->rx_stream); in pcm_playback_pointer()
380 int snd_oxfw_create_pcm(struct snd_oxfw *oxfw) in snd_oxfw_create_pcm() argument
410 if (oxfw->has_output) in snd_oxfw_create_pcm()
413 err = snd_pcm_new(oxfw->card, oxfw->card->driver, 0, 1, cap, &pcm); in snd_oxfw_create_pcm()
417 pcm->private_data = oxfw; in snd_oxfw_create_pcm()
418 strcpy(pcm->name, oxfw->card->shortname); in snd_oxfw_create_pcm()