Lines Matching refs:dice
16 struct snd_dice *dice = substream->private_data; in dice_rate_constraint() local
31 pcm_channels = dice->tx_pcm_chs[index]; in dice_rate_constraint()
33 pcm_channels = dice->rx_pcm_chs[index]; in dice_rate_constraint()
37 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_rate_constraint()
54 struct snd_dice *dice = substream->private_data; in dice_channels_constraint() local
69 pcm_channels = dice->tx_pcm_chs[index]; in dice_channels_constraint()
71 pcm_channels = dice->rx_pcm_chs[index]; in dice_channels_constraint()
75 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in dice_channels_constraint()
88 static int limit_channels_and_rates(struct snd_dice *dice, in limit_channels_and_rates() argument
98 pcm_channels = dice->tx_pcm_chs[index]; in limit_channels_and_rates()
100 pcm_channels = dice->rx_pcm_chs[index]; in limit_channels_and_rates()
110 if (snd_dice_stream_get_rate_mode(dice, rate, &mode) < 0) in limit_channels_and_rates()
126 static int init_hw_info(struct snd_dice *dice, in init_hw_info() argument
139 stream = &dice->tx_stream[index]; in init_hw_info()
143 stream = &dice->rx_stream[index]; in init_hw_info()
146 err = limit_channels_and_rates(dice, substream->runtime, dir, in init_hw_info()
167 struct snd_dice *dice = substream->private_data; in pcm_open() local
172 err = snd_dice_stream_lock_try(dice); in pcm_open()
176 err = init_hw_info(dice, substream); in pcm_open()
180 err = snd_dice_transaction_get_clock_source(dice, &source); in pcm_open()
204 amdtp_stream_pcm_running(&dice->tx_stream[0]) || in pcm_open()
205 amdtp_stream_pcm_running(&dice->tx_stream[1]) || in pcm_open()
206 amdtp_stream_pcm_running(&dice->rx_stream[0]) || in pcm_open()
207 amdtp_stream_pcm_running(&dice->rx_stream[1])) { in pcm_open()
210 err = snd_dice_transaction_get_rate(dice, &rate); in pcm_open()
221 snd_dice_stream_lock_release(dice); in pcm_open()
227 struct snd_dice *dice = substream->private_data; in pcm_close() local
229 snd_dice_stream_lock_release(dice); in pcm_close()
237 struct snd_dice *dice = substream->private_data; in capture_hw_params() local
246 mutex_lock(&dice->mutex); in capture_hw_params()
247 dice->substreams_counter++; in capture_hw_params()
248 mutex_unlock(&dice->mutex); in capture_hw_params()
256 struct snd_dice *dice = substream->private_data; in playback_hw_params() local
265 mutex_lock(&dice->mutex); in playback_hw_params()
266 dice->substreams_counter++; in playback_hw_params()
267 mutex_unlock(&dice->mutex); in playback_hw_params()
275 struct snd_dice *dice = substream->private_data; in capture_hw_free() local
277 mutex_lock(&dice->mutex); in capture_hw_free()
280 dice->substreams_counter--; in capture_hw_free()
282 snd_dice_stream_stop_duplex(dice); in capture_hw_free()
284 mutex_unlock(&dice->mutex); in capture_hw_free()
291 struct snd_dice *dice = substream->private_data; in playback_hw_free() local
293 mutex_lock(&dice->mutex); in playback_hw_free()
296 dice->substreams_counter--; in playback_hw_free()
298 snd_dice_stream_stop_duplex(dice); in playback_hw_free()
300 mutex_unlock(&dice->mutex); in playback_hw_free()
307 struct snd_dice *dice = substream->private_data; in capture_prepare() local
308 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_prepare()
311 mutex_lock(&dice->mutex); in capture_prepare()
312 err = snd_dice_stream_start_duplex(dice, substream->runtime->rate); in capture_prepare()
313 mutex_unlock(&dice->mutex); in capture_prepare()
321 struct snd_dice *dice = substream->private_data; in playback_prepare() local
322 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_prepare()
325 mutex_lock(&dice->mutex); in playback_prepare()
326 err = snd_dice_stream_start_duplex(dice, substream->runtime->rate); in playback_prepare()
327 mutex_unlock(&dice->mutex); in playback_prepare()
336 struct snd_dice *dice = substream->private_data; in capture_trigger() local
337 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_trigger()
354 struct snd_dice *dice = substream->private_data; in playback_trigger() local
355 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_trigger()
373 struct snd_dice *dice = substream->private_data; in capture_pointer() local
374 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_pointer()
380 struct snd_dice *dice = substream->private_data; in playback_pointer() local
381 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_pointer()
388 struct snd_dice *dice = substream->private_data; in capture_ack() local
389 struct amdtp_stream *stream = &dice->tx_stream[substream->pcm->device]; in capture_ack()
396 struct snd_dice *dice = substream->private_data; in playback_ack() local
397 struct amdtp_stream *stream = &dice->rx_stream[substream->pcm->device]; in playback_ack()
402 int snd_dice_create_pcm(struct snd_dice *dice) in snd_dice_create_pcm() argument
436 if (dice->tx_pcm_chs[i][j] > 0) in snd_dice_create_pcm()
438 if (dice->rx_pcm_chs[i][j] > 0) in snd_dice_create_pcm()
442 err = snd_pcm_new(dice->card, "DICE", i, playback, capture, in snd_dice_create_pcm()
446 pcm->private_data = dice; in snd_dice_create_pcm()
447 strcpy(pcm->name, dice->card->shortname); in snd_dice_create_pcm()