| /Linux-v4.19/sound/firewire/digi00x/ |
| D | digi00x-stream.c | 31 int snd_dg00x_stream_get_local_rate(struct snd_dg00x *dg00x, unsigned int *rate) in snd_dg00x_stream_get_local_rate() argument 37 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_get_local_rate() 52 int snd_dg00x_stream_set_local_rate(struct snd_dg00x *dg00x, unsigned int rate) in snd_dg00x_stream_set_local_rate() argument 65 return snd_fw_transaction(dg00x->unit, TCODE_WRITE_QUADLET_REQUEST, in snd_dg00x_stream_set_local_rate() 70 int snd_dg00x_stream_get_clock(struct snd_dg00x *dg00x, in snd_dg00x_stream_get_clock() argument 76 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_get_clock() 89 int snd_dg00x_stream_check_external_clock(struct snd_dg00x *dg00x, bool *detect) in snd_dg00x_stream_check_external_clock() argument 94 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_check_external_clock() 103 int snd_dg00x_stream_get_external_rate(struct snd_dg00x *dg00x, in snd_dg00x_stream_get_external_rate() argument 110 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in snd_dg00x_stream_get_external_rate() [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() 44 static void dg00x_free(struct snd_dg00x *dg00x) in dg00x_free() argument 46 snd_dg00x_stream_destroy_duplex(dg00x); in dg00x_free() [all …]
|
| D | digi00x-hwdep.c | 23 struct snd_dg00x *dg00x = hwdep->private_data; in hwdep_read() local 27 spin_lock_irq(&dg00x->lock); in hwdep_read() 29 while (!dg00x->dev_lock_changed && dg00x->msg == 0) { in hwdep_read() 30 prepare_to_wait(&dg00x->hwdep_wait, &wait, TASK_INTERRUPTIBLE); in hwdep_read() 31 spin_unlock_irq(&dg00x->lock); in hwdep_read() 33 finish_wait(&dg00x->hwdep_wait, &wait); in hwdep_read() 36 spin_lock_irq(&dg00x->lock); in hwdep_read() 40 if (dg00x->dev_lock_changed) { in hwdep_read() 42 event.lock_status.status = (dg00x->dev_lock_count > 0); in hwdep_read() 43 dg00x->dev_lock_changed = false; in hwdep_read() [all …]
|
| D | digi00x-pcm.c | 58 static int pcm_init_hw_params(struct snd_dg00x *dg00x, in pcm_init_hw_params() argument 69 s = &dg00x->tx_stream; in pcm_init_hw_params() 72 s = &dg00x->rx_stream; in pcm_init_hw_params() 103 struct snd_dg00x *dg00x = substream->private_data; in pcm_open() local 109 err = snd_dg00x_stream_lock_try(dg00x); in pcm_open() 113 err = pcm_init_hw_params(dg00x, substream); in pcm_open() 118 err = snd_dg00x_stream_get_clock(dg00x, &clock); in pcm_open() 122 err = snd_dg00x_stream_check_external_clock(dg00x, &detect); in pcm_open() 132 amdtp_stream_pcm_running(&dg00x->rx_stream) || in pcm_open() 133 amdtp_stream_pcm_running(&dg00x->tx_stream)) { in pcm_open() [all …]
|
| D | digi00x-midi.c | 13 struct snd_dg00x *dg00x = substream->rmidi->private_data; in midi_open() local 16 err = snd_dg00x_stream_lock_try(dg00x); in midi_open() 20 mutex_lock(&dg00x->mutex); in midi_open() 21 dg00x->substreams_counter++; in midi_open() 22 err = snd_dg00x_stream_start_duplex(dg00x, 0); in midi_open() 23 mutex_unlock(&dg00x->mutex); in midi_open() 25 snd_dg00x_stream_lock_release(dg00x); in midi_open() 32 struct snd_dg00x *dg00x = substream->rmidi->private_data; in midi_close() local 34 mutex_lock(&dg00x->mutex); in midi_close() 35 dg00x->substreams_counter--; in midi_close() [all …]
|
| D | digi00x-transaction.c | 12 static void handle_unknown_message(struct snd_dg00x *dg00x, in handle_unknown_message() argument 17 spin_lock_irqsave(&dg00x->lock, flags); in handle_unknown_message() 18 dg00x->msg = be32_to_cpu(*buf); in handle_unknown_message() 19 spin_unlock_irqrestore(&dg00x->lock, flags); in handle_unknown_message() 21 wake_up(&dg00x->hwdep_wait); in handle_unknown_message() 29 struct snd_dg00x *dg00x = callback_data; in handle_message() local 34 if (offset == dg00x->async_handler.offset) in handle_message() 35 handle_unknown_message(dg00x, offset, buf); in handle_message() 38 int snd_dg00x_transaction_reregister(struct snd_dg00x *dg00x) in snd_dg00x_transaction_reregister() argument 40 struct fw_device *device = fw_parent_device(dg00x->unit); in snd_dg00x_transaction_reregister() [all …]
|
| D | digi00x.h | 127 int snd_dg00x_transaction_register(struct snd_dg00x *dg00x); 128 int snd_dg00x_transaction_reregister(struct snd_dg00x *dg00x); 129 void snd_dg00x_transaction_unregister(struct snd_dg00x *dg00x); 133 int snd_dg00x_stream_get_external_rate(struct snd_dg00x *dg00x, 135 int snd_dg00x_stream_get_local_rate(struct snd_dg00x *dg00x, 137 int snd_dg00x_stream_set_local_rate(struct snd_dg00x *dg00x, unsigned int rate); 138 int snd_dg00x_stream_get_clock(struct snd_dg00x *dg00x, 140 int snd_dg00x_stream_check_external_clock(struct snd_dg00x *dg00x, 142 int snd_dg00x_stream_init_duplex(struct snd_dg00x *dg00x); 143 int snd_dg00x_stream_start_duplex(struct snd_dg00x *dg00x, unsigned int rate); [all …]
|
| D | digi00x-proc.c | 11 static int get_optical_iface_mode(struct snd_dg00x *dg00x, in get_optical_iface_mode() argument 17 err = snd_fw_transaction(dg00x->unit, TCODE_READ_QUADLET_REQUEST, in get_optical_iface_mode() 39 struct snd_dg00x *dg00x = entry->private_data; in proc_read_clock() local 45 if (get_optical_iface_mode(dg00x, &mode) < 0) in proc_read_clock() 47 if (snd_dg00x_stream_get_local_rate(dg00x, &rate) < 0) in proc_read_clock() 49 if (snd_dg00x_stream_get_clock(dg00x, &clock) < 0) in proc_read_clock() 59 if (snd_dg00x_stream_check_external_clock(dg00x, &detect) < 0) in proc_read_clock() 65 if (snd_dg00x_stream_get_external_rate(dg00x, &rate) >= 0) in proc_read_clock() 69 void snd_dg00x_proc_init(struct snd_dg00x *dg00x) in snd_dg00x_proc_init() argument 77 root = snd_info_create_card_entry(dg00x->card, "firewire", in snd_dg00x_proc_init() [all …]
|