Lines Matching refs:dice

16 	struct snd_dice *dice = substream->private_data;  in dice_rate_constraint()  local
28 pcm_channels = dice->tx_channels; in dice_rate_constraint()
30 pcm_channels = dice->rx_channels; in dice_rate_constraint()
34 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_rate_constraint()
51 struct snd_dice *dice = substream->private_data; in dice_channels_constraint() local
63 pcm_channels = dice->tx_channels; in dice_channels_constraint()
65 pcm_channels = dice->rx_channels; in dice_channels_constraint()
69 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_channels_constraint()
82 static void limit_channels_and_rates(struct snd_dice *dice, in limit_channels_and_rates() argument
94 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in limit_channels_and_rates()
119 static int init_hw_info(struct snd_dice *dice, in init_hw_info() argument
137 stream = &dice->tx_stream; in init_hw_info()
138 pcm_channels = dice->tx_channels; in init_hw_info()
141 stream = &dice->rx_stream; in init_hw_info()
142 pcm_channels = dice->rx_channels; in init_hw_info()
145 limit_channels_and_rates(dice, runtime, pcm_channels); in init_hw_info()
166 struct snd_dice *dice = substream->private_data; in pcm_open() local
171 err = snd_dice_stream_lock_try(dice); in pcm_open()
175 err = init_hw_info(dice, substream); in pcm_open()
179 err = snd_dice_transaction_get_clock_source(dice, &source); in pcm_open()
203 amdtp_stream_pcm_running(&dice->tx_stream) || in pcm_open()
204 amdtp_stream_pcm_running(&dice->rx_stream)) { in pcm_open()
205 err = snd_dice_transaction_get_rate(dice, &rate); in pcm_open()
216 snd_dice_stream_lock_release(dice); in pcm_open()
222 struct snd_dice *dice = substream->private_data; in pcm_close() local
224 snd_dice_stream_lock_release(dice); in pcm_close()
232 struct snd_dice *dice = substream->private_data; in capture_hw_params() local
235 mutex_lock(&dice->mutex); in capture_hw_params()
236 dice->substreams_counter++; in capture_hw_params()
237 mutex_unlock(&dice->mutex); in capture_hw_params()
240 amdtp_stream_set_pcm_format(&dice->tx_stream, in capture_hw_params()
249 struct snd_dice *dice = substream->private_data; in playback_hw_params() local
252 mutex_lock(&dice->mutex); in playback_hw_params()
253 dice->substreams_counter++; in playback_hw_params()
254 mutex_unlock(&dice->mutex); in playback_hw_params()
257 amdtp_stream_set_pcm_format(&dice->rx_stream, in playback_hw_params()
266 struct snd_dice *dice = substream->private_data; in capture_hw_free() local
268 mutex_lock(&dice->mutex); in capture_hw_free()
271 dice->substreams_counter--; in capture_hw_free()
273 snd_dice_stream_stop_duplex(dice); in capture_hw_free()
275 mutex_unlock(&dice->mutex); in capture_hw_free()
282 struct snd_dice *dice = substream->private_data; in playback_hw_free() local
284 mutex_lock(&dice->mutex); in playback_hw_free()
287 dice->substreams_counter--; in playback_hw_free()
289 snd_dice_stream_stop_duplex(dice); in playback_hw_free()
291 mutex_unlock(&dice->mutex); in playback_hw_free()
298 struct snd_dice *dice = substream->private_data; in capture_prepare() local
301 mutex_lock(&dice->mutex); in capture_prepare()
302 err = snd_dice_stream_start_duplex(dice, substream->runtime->rate); in capture_prepare()
303 mutex_unlock(&dice->mutex); in capture_prepare()
305 amdtp_stream_pcm_prepare(&dice->tx_stream); in capture_prepare()
311 struct snd_dice *dice = substream->private_data; in playback_prepare() local
314 mutex_lock(&dice->mutex); in playback_prepare()
315 err = snd_dice_stream_start_duplex(dice, substream->runtime->rate); in playback_prepare()
316 mutex_unlock(&dice->mutex); in playback_prepare()
318 amdtp_stream_pcm_prepare(&dice->rx_stream); in playback_prepare()
325 struct snd_dice *dice = substream->private_data; in capture_trigger() local
329 amdtp_stream_pcm_trigger(&dice->tx_stream, substream); in capture_trigger()
332 amdtp_stream_pcm_trigger(&dice->tx_stream, NULL); in capture_trigger()
342 struct snd_dice *dice = substream->private_data; in playback_trigger() local
346 amdtp_stream_pcm_trigger(&dice->rx_stream, substream); in playback_trigger()
349 amdtp_stream_pcm_trigger(&dice->rx_stream, NULL); in playback_trigger()
360 struct snd_dice *dice = substream->private_data; in capture_pointer() local
362 return amdtp_stream_pcm_pointer(&dice->tx_stream); in capture_pointer()
366 struct snd_dice *dice = substream->private_data; in playback_pointer() local
368 return amdtp_stream_pcm_pointer(&dice->rx_stream); in playback_pointer()
371 int snd_dice_create_pcm(struct snd_dice *dice) in snd_dice_create_pcm() argument
403 if (dice->tx_channels[i] > 0) in snd_dice_create_pcm()
405 if (dice->rx_channels[i] > 0) in snd_dice_create_pcm()
409 err = snd_pcm_new(dice->card, "DICE", 0, playback, capture, &pcm); in snd_dice_create_pcm()
412 pcm->private_data = dice; in snd_dice_create_pcm()
413 strcpy(pcm->name, dice->card->shortname); in snd_dice_create_pcm()