/linux-4.4.14/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-midi.c | 13 struct snd_dg00x *dg00x = substream->rmidi->private_data; in midi_phys_open() local 16 err = snd_dg00x_stream_lock_try(dg00x); in midi_phys_open() 20 mutex_lock(&dg00x->mutex); in midi_phys_open() 21 dg00x->substreams_counter++; in midi_phys_open() 22 err = snd_dg00x_stream_start_duplex(dg00x, 0); in midi_phys_open() 23 mutex_unlock(&dg00x->mutex); in midi_phys_open() 25 snd_dg00x_stream_lock_release(dg00x); in midi_phys_open() 32 struct snd_dg00x *dg00x = substream->rmidi->private_data; in midi_phys_close() local 34 mutex_lock(&dg00x->mutex); in midi_phys_close() 35 dg00x->substreams_counter--; in midi_phys_close() [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-transaction.c | 24 static void handle_midi_control(struct snd_dg00x *dg00x, __be32 *buf, in handle_midi_control() argument 32 substream = ACCESS_ONCE(dg00x->in_control); in handle_midi_control() 42 snd_rawmidi_receive(dg00x->in_control, b + 1, len); in handle_midi_control() 46 static void handle_unknown_message(struct snd_dg00x *dg00x, in handle_unknown_message() argument 51 spin_lock_irqsave(&dg00x->lock, flags); in handle_unknown_message() 52 dg00x->msg = be32_to_cpu(*buf); in handle_unknown_message() 53 spin_unlock_irqrestore(&dg00x->lock, flags); in handle_unknown_message() 55 wake_up(&dg00x->hwdep_wait); in handle_unknown_message() 63 struct snd_dg00x *dg00x = callback_data; in handle_message() local 66 if (offset == dg00x->async_handler.offset) in handle_message() [all …]
|
D | digi00x.c | 18 static int name_card(struct snd_dg00x *dg00x) in name_card() argument 20 struct fw_device *fw_dev = fw_parent_device(dg00x->unit); in name_card() 25 err = fw_csr_string(dg00x->unit->directory, CSR_MODEL, name, in name_card() 32 strcpy(dg00x->card->driver, "Digi00x"); in name_card() 33 strcpy(dg00x->card->shortname, model); in name_card() 34 strcpy(dg00x->card->mixername, model); in name_card() 35 snprintf(dg00x->card->longname, sizeof(dg00x->card->longname), in name_card() 38 dev_name(&dg00x->unit->device), 100 << fw_dev->max_speed); in name_card() 45 struct snd_dg00x *dg00x = card->private_data; in dg00x_card_free() local 47 snd_dg00x_stream_destroy_duplex(dg00x); in dg00x_card_free() [all …]
|
D | digi00x-pcm.c | 58 static int pcm_init_hw_params(struct snd_dg00x *dg00x, in pcm_init_hw_params() argument 89 s = &dg00x->tx_stream; in pcm_init_hw_params() 93 s = &dg00x->rx_stream; in pcm_init_hw_params() 115 struct snd_dg00x *dg00x = substream->private_data; in pcm_open() local 121 err = snd_dg00x_stream_lock_try(dg00x); in pcm_open() 125 err = pcm_init_hw_params(dg00x, substream); in pcm_open() 130 err = snd_dg00x_stream_get_clock(dg00x, &clock); in pcm_open() 134 err = snd_dg00x_stream_check_external_clock(dg00x, &detect); in pcm_open() 144 amdtp_stream_pcm_running(&dg00x->rx_stream) || in pcm_open() 145 amdtp_stream_pcm_running(&dg00x->tx_stream)) { in pcm_open() [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_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 …]
|