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
242 mutex_lock(&oxfw->mutex); in pcm_capture_hw_params()
243 oxfw->capture_substreams++; in pcm_capture_hw_params()
244 mutex_unlock(&oxfw->mutex); in pcm_capture_hw_params()
247 amdtp_am824_set_pcm_format(&oxfw->tx_stream, params_format(hw_params)); in pcm_capture_hw_params()
254 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_hw_params() local
263 mutex_lock(&oxfw->mutex); in pcm_playback_hw_params()
264 oxfw->playback_substreams++; in pcm_playback_hw_params()
265 mutex_unlock(&oxfw->mutex); in pcm_playback_hw_params()
268 amdtp_am824_set_pcm_format(&oxfw->rx_stream, params_format(hw_params)); in pcm_playback_hw_params()
275 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_hw_free() local
277 mutex_lock(&oxfw->mutex); in pcm_capture_hw_free()
280 oxfw->capture_substreams--; in pcm_capture_hw_free()
282 snd_oxfw_stream_stop_simplex(oxfw, &oxfw->tx_stream); in pcm_capture_hw_free()
284 mutex_unlock(&oxfw->mutex); in pcm_capture_hw_free()
290 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_hw_free() local
292 mutex_lock(&oxfw->mutex); in pcm_playback_hw_free()
295 oxfw->playback_substreams--; in pcm_playback_hw_free()
297 snd_oxfw_stream_stop_simplex(oxfw, &oxfw->rx_stream); in pcm_playback_hw_free()
299 mutex_unlock(&oxfw->mutex); in pcm_playback_hw_free()
306 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_prepare() local
310 mutex_lock(&oxfw->mutex); in pcm_capture_prepare()
311 err = snd_oxfw_stream_start_simplex(oxfw, &oxfw->tx_stream, in pcm_capture_prepare()
313 mutex_unlock(&oxfw->mutex); in pcm_capture_prepare()
317 amdtp_stream_pcm_prepare(&oxfw->tx_stream); in pcm_capture_prepare()
323 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_prepare() local
327 mutex_lock(&oxfw->mutex); in pcm_playback_prepare()
328 err = snd_oxfw_stream_start_simplex(oxfw, &oxfw->rx_stream, in pcm_playback_prepare()
330 mutex_unlock(&oxfw->mutex); in pcm_playback_prepare()
334 amdtp_stream_pcm_prepare(&oxfw->rx_stream); in pcm_playback_prepare()
341 struct snd_oxfw *oxfw = substream->private_data; in pcm_capture_trigger() local
354 amdtp_stream_pcm_trigger(&oxfw->tx_stream, pcm); in pcm_capture_trigger()
359 struct snd_oxfw *oxfw = substream->private_data; in pcm_playback_trigger() local
372 amdtp_stream_pcm_trigger(&oxfw->rx_stream, pcm); in pcm_playback_trigger()
378 struct snd_oxfw *oxfw = sbstm->private_data; in pcm_capture_pointer() local
380 return amdtp_stream_pcm_pointer(&oxfw->tx_stream); in pcm_capture_pointer()
384 struct snd_oxfw *oxfw = sbstm->private_data; in pcm_playback_pointer() local
386 return amdtp_stream_pcm_pointer(&oxfw->rx_stream); in pcm_playback_pointer()
389 int snd_oxfw_create_pcm(struct snd_oxfw *oxfw) in snd_oxfw_create_pcm() argument
419 if (oxfw->has_output) in snd_oxfw_create_pcm()
422 err = snd_pcm_new(oxfw->card, oxfw->card->driver, 0, 1, cap, &pcm); in snd_oxfw_create_pcm()
426 pcm->private_data = oxfw; in snd_oxfw_create_pcm()
427 strcpy(pcm->name, oxfw->card->shortname); in snd_oxfw_create_pcm()