/sound/firewire/digi00x/ |
D | digi00x-stream.c | 30 int snd_dg00x_stream_get_local_rate(struct snd_dg00x *dg00x, unsigned int *rate) in snd_dg00x_stream_get_local_rate() argument 36 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_get_local_rate() 51 int snd_dg00x_stream_set_local_rate(struct snd_dg00x *dg00x, unsigned int rate) in snd_dg00x_stream_set_local_rate() argument 64 return snd_fw_transaction(dg00x->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_dg00x_stream_set_local_rate() 69 int snd_dg00x_stream_get_clock(struct snd_dg00x *dg00x, in snd_dg00x_stream_get_clock() argument 75 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_get_clock() 88 int snd_dg00x_stream_check_external_clock(struct snd_dg00x *dg00x, bool *detect) in snd_dg00x_stream_check_external_clock() argument 93 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_check_external_clock() 102 int snd_dg00x_stream_get_external_rate(struct snd_dg00x *dg00x, in snd_dg00x_stream_get_external_rate() argument 109 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_get_external_rate() [all …]
|
D | digi00x-hwdep.c | 22 struct snd_dg00x *dg00x = hwdep->private_data; in hwdep_read() local 26 spin_lock_irq(&dg00x->lock); in hwdep_read() 28 while (!dg00x->dev_lock_changed && dg00x->msg == 0) { in hwdep_read() 29 prepare_to_wait(&dg00x->hwdep_wait, &wait, TASK_INTERRUPTIBLE); in hwdep_read() 30 spin_unlock_irq(&dg00x->lock); in hwdep_read() 32 finish_wait(&dg00x->hwdep_wait, &wait); in hwdep_read() 35 spin_lock_irq(&dg00x->lock); in hwdep_read() 39 if (dg00x->dev_lock_changed) { in hwdep_read() 41 event.lock_status.status = (dg00x->dev_lock_count > 0); in hwdep_read() 42 dg00x->dev_lock_changed = false; in hwdep_read() [all …]
|
D | digi00x-pcm.c | 57 static int pcm_init_hw_params(struct snd_dg00x *dg00x, in pcm_init_hw_params() argument 68 s = &dg00x->tx_stream; in pcm_init_hw_params() 71 s = &dg00x->rx_stream; in pcm_init_hw_params() 102 struct snd_dg00x *dg00x = substream->private_data; in pcm_open() local 103 struct amdtp_domain *d = &dg00x->domain; in pcm_open() 108 err = snd_dg00x_stream_lock_try(dg00x); in pcm_open() 112 err = pcm_init_hw_params(dg00x, substream); in pcm_open() 117 err = snd_dg00x_stream_get_clock(dg00x, &clock); in pcm_open() 121 err = snd_dg00x_stream_check_external_clock(dg00x, &detect); in pcm_open() 130 mutex_lock(&dg00x->mutex); in pcm_open() [all …]
|
D | digi00x.c | 19 static int name_card(struct snd_dg00x *dg00x) in name_card() argument 21 struct fw_device *fw_dev = fw_parent_device(dg00x->unit); in name_card() 26 err = fw_csr_string(dg00x->unit->directory, CSR_MODEL, name, in name_card() 33 strcpy(dg00x->card->driver, "Digi00x"); in name_card() 34 strcpy(dg00x->card->shortname, model); in name_card() 35 strcpy(dg00x->card->mixername, model); in name_card() 36 snprintf(dg00x->card->longname, sizeof(dg00x->card->longname), in name_card() 39 dev_name(&dg00x->unit->device), 100 << fw_dev->max_speed); in name_card() 46 struct snd_dg00x *dg00x = card->private_data; in dg00x_card_free() local 48 snd_dg00x_stream_destroy_duplex(dg00x); in dg00x_card_free() [all …]
|
D | digi00x-midi.c | 12 struct snd_dg00x *dg00x = substream->rmidi->private_data; in midi_open() local 15 err = snd_dg00x_stream_lock_try(dg00x); in midi_open() 19 mutex_lock(&dg00x->mutex); in midi_open() 20 err = snd_dg00x_stream_reserve_duplex(dg00x, 0, 0, 0); in midi_open() 22 ++dg00x->substreams_counter; in midi_open() 23 err = snd_dg00x_stream_start_duplex(dg00x); in midi_open() 25 --dg00x->substreams_counter; in midi_open() 27 mutex_unlock(&dg00x->mutex); in midi_open() 29 snd_dg00x_stream_lock_release(dg00x); in midi_open() 36 struct snd_dg00x *dg00x = substream->rmidi->private_data; in midi_close() local [all …]
|
D | digi00x-transaction.c | 11 static void handle_unknown_message(struct snd_dg00x *dg00x, in handle_unknown_message() argument 16 spin_lock_irqsave(&dg00x->lock, flags); in handle_unknown_message() 17 dg00x->msg = be32_to_cpu(*buf); in handle_unknown_message() 18 spin_unlock_irqrestore(&dg00x->lock, flags); in handle_unknown_message() 20 wake_up(&dg00x->hwdep_wait); in handle_unknown_message() 28 struct snd_dg00x *dg00x = callback_data; in handle_message() local 33 if (offset == dg00x->async_handler.offset) in handle_message() 34 handle_unknown_message(dg00x, offset, buf); in handle_message() 37 int snd_dg00x_transaction_reregister(struct snd_dg00x *dg00x) in snd_dg00x_transaction_reregister() argument 39 struct fw_device *device = fw_parent_device(dg00x->unit); in snd_dg00x_transaction_reregister() [all …]
|
D | digi00x.h | 125 int snd_dg00x_transaction_register(struct snd_dg00x *dg00x); 126 int snd_dg00x_transaction_reregister(struct snd_dg00x *dg00x); 127 void snd_dg00x_transaction_unregister(struct snd_dg00x *dg00x); 131 int snd_dg00x_stream_get_external_rate(struct snd_dg00x *dg00x, 133 int snd_dg00x_stream_get_local_rate(struct snd_dg00x *dg00x, 135 int snd_dg00x_stream_set_local_rate(struct snd_dg00x *dg00x, unsigned int rate); 136 int snd_dg00x_stream_get_clock(struct snd_dg00x *dg00x, 138 int snd_dg00x_stream_check_external_clock(struct snd_dg00x *dg00x, 140 int snd_dg00x_stream_init_duplex(struct snd_dg00x *dg00x); 141 int snd_dg00x_stream_reserve_duplex(struct snd_dg00x *dg00x, unsigned int rate, [all …]
|
D | digi00x-proc.c | 10 static int get_optical_iface_mode(struct snd_dg00x *dg00x, in get_optical_iface_mode() argument 16 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in get_optical_iface_mode() 38 struct snd_dg00x *dg00x = entry->private_data; in proc_read_clock() local 44 if (get_optical_iface_mode(dg00x, &mode) < 0) in proc_read_clock() 46 if (snd_dg00x_stream_get_local_rate(dg00x, &rate) < 0) in proc_read_clock() 48 if (snd_dg00x_stream_get_clock(dg00x, &clock) < 0) in proc_read_clock() 58 if (snd_dg00x_stream_check_external_clock(dg00x, &detect) < 0) in proc_read_clock() 64 if (snd_dg00x_stream_get_external_rate(dg00x, &rate) >= 0) in proc_read_clock() 68 void snd_dg00x_proc_init(struct snd_dg00x *dg00x) in snd_dg00x_proc_init() argument 76 root = snd_info_create_card_entry(dg00x->card, "firewire", in snd_dg00x_proc_init() [all …]
|