Lines Matching defs:dice
8 #include "dice.h"
73 static int check_clock_caps(struct snd_dice *dice)
79 if (dice->clock_caps > 0) {
80 err = snd_dice_transaction_read_global(dice,
85 dice->clock_caps = be32_to_cpu(value);
88 dice->clock_caps = CLOCK_CAP_RATE_44100 |
97 static void dice_card_strings(struct snd_dice *dice)
99 struct snd_card *card = dice->card;
100 struct fw_device *dev = fw_parent_device(dice->unit);
109 err = snd_dice_transaction_read_global(dice, GLOBAL_NICK_NAME,
123 fw_csr_string(dice->unit->directory, CSR_MODEL, model, sizeof(model));
127 dev_name(&dice->unit->device), 100 << dev->max_speed);
134 struct snd_dice *dice = card->private_data;
136 snd_dice_stream_destroy_duplex(dice);
137 snd_dice_transaction_destroy(dice);
139 mutex_destroy(&dice->mutex);
140 fw_unit_put(dice->unit);
146 struct snd_dice *dice;
156 err = snd_card_new(&unit->device, -1, NULL, THIS_MODULE, sizeof(*dice), &card);
161 dice = card->private_data;
162 dice->unit = fw_unit_get(unit);
163 dev_set_drvdata(&unit->device, dice);
164 dice->card = card;
177 dice->disable_double_pcm_frames = true;
179 spin_lock_init(&dice->lock);
180 mutex_init(&dice->mutex);
181 init_completion(&dice->clock_accepted);
182 init_waitqueue_head(&dice->hwdep_wait);
184 err = snd_dice_transaction_init(dice);
188 err = check_clock_caps(dice);
192 dice_card_strings(dice);
194 err = detect_formats(dice);
198 err = snd_dice_stream_init_duplex(dice);
202 snd_dice_create_proc(dice);
204 err = snd_dice_create_pcm(dice);
208 err = snd_dice_create_midi(dice);
212 err = snd_dice_create_hwdep(dice);
228 struct snd_dice *dice = dev_get_drvdata(&unit->device);
231 snd_card_free(dice->card);
236 struct snd_dice *dice = dev_get_drvdata(&unit->device);
239 snd_dice_transaction_reinit(dice);
241 mutex_lock(&dice->mutex);
242 snd_dice_stream_update_duplex(dice);
243 mutex_unlock(&dice->mutex);