oxfw 21 sound/firewire/oxfw/oxfw-hwdep.c struct snd_oxfw *oxfw = hwdep->private_data; oxfw 25 sound/firewire/oxfw/oxfw-hwdep.c spin_lock_irq(&oxfw->lock); oxfw 27 sound/firewire/oxfw/oxfw-hwdep.c while (!oxfw->dev_lock_changed) { oxfw 28 sound/firewire/oxfw/oxfw-hwdep.c prepare_to_wait(&oxfw->hwdep_wait, &wait, TASK_INTERRUPTIBLE); oxfw 29 sound/firewire/oxfw/oxfw-hwdep.c spin_unlock_irq(&oxfw->lock); oxfw 31 sound/firewire/oxfw/oxfw-hwdep.c finish_wait(&oxfw->hwdep_wait, &wait); oxfw 34 sound/firewire/oxfw/oxfw-hwdep.c spin_lock_irq(&oxfw->lock); oxfw 38 sound/firewire/oxfw/oxfw-hwdep.c if (oxfw->dev_lock_changed) { oxfw 40 sound/firewire/oxfw/oxfw-hwdep.c event.lock_status.status = (oxfw->dev_lock_count > 0); oxfw 41 sound/firewire/oxfw/oxfw-hwdep.c oxfw->dev_lock_changed = false; oxfw 46 sound/firewire/oxfw/oxfw-hwdep.c spin_unlock_irq(&oxfw->lock); oxfw 57 sound/firewire/oxfw/oxfw-hwdep.c struct snd_oxfw *oxfw = hwdep->private_data; oxfw 60 sound/firewire/oxfw/oxfw-hwdep.c poll_wait(file, &oxfw->hwdep_wait, wait); oxfw 62 sound/firewire/oxfw/oxfw-hwdep.c spin_lock_irq(&oxfw->lock); oxfw 63 sound/firewire/oxfw/oxfw-hwdep.c if (oxfw->dev_lock_changed) oxfw 67 sound/firewire/oxfw/oxfw-hwdep.c spin_unlock_irq(&oxfw->lock); oxfw 72 sound/firewire/oxfw/oxfw-hwdep.c static int hwdep_get_info(struct snd_oxfw *oxfw, void __user *arg) oxfw 74 sound/firewire/oxfw/oxfw-hwdep.c struct fw_device *dev = fw_parent_device(oxfw->unit); oxfw 91 sound/firewire/oxfw/oxfw-hwdep.c static int hwdep_lock(struct snd_oxfw *oxfw) oxfw 95 sound/firewire/oxfw/oxfw-hwdep.c spin_lock_irq(&oxfw->lock); oxfw 97 sound/firewire/oxfw/oxfw-hwdep.c if (oxfw->dev_lock_count == 0) { oxfw 98 sound/firewire/oxfw/oxfw-hwdep.c oxfw->dev_lock_count = -1; oxfw 104 sound/firewire/oxfw/oxfw-hwdep.c spin_unlock_irq(&oxfw->lock); oxfw 109 sound/firewire/oxfw/oxfw-hwdep.c static int hwdep_unlock(struct snd_oxfw *oxfw) oxfw 113 sound/firewire/oxfw/oxfw-hwdep.c spin_lock_irq(&oxfw->lock); oxfw 115 sound/firewire/oxfw/oxfw-hwdep.c if (oxfw->dev_lock_count == -1) { oxfw 116 sound/firewire/oxfw/oxfw-hwdep.c oxfw->dev_lock_count = 0; oxfw 122 sound/firewire/oxfw/oxfw-hwdep.c spin_unlock_irq(&oxfw->lock); oxfw 129 sound/firewire/oxfw/oxfw-hwdep.c struct snd_oxfw *oxfw = hwdep->private_data; oxfw 131 sound/firewire/oxfw/oxfw-hwdep.c spin_lock_irq(&oxfw->lock); oxfw 132 sound/firewire/oxfw/oxfw-hwdep.c if (oxfw->dev_lock_count == -1) oxfw 133 sound/firewire/oxfw/oxfw-hwdep.c oxfw->dev_lock_count = 0; oxfw 134 sound/firewire/oxfw/oxfw-hwdep.c spin_unlock_irq(&oxfw->lock); oxfw 142 sound/firewire/oxfw/oxfw-hwdep.c struct snd_oxfw *oxfw = hwdep->private_data; oxfw 146 sound/firewire/oxfw/oxfw-hwdep.c return hwdep_get_info(oxfw, (void __user *)arg); oxfw 148 sound/firewire/oxfw/oxfw-hwdep.c return hwdep_lock(oxfw); oxfw 150 sound/firewire/oxfw/oxfw-hwdep.c return hwdep_unlock(oxfw); oxfw 167 sound/firewire/oxfw/oxfw-hwdep.c int snd_oxfw_create_hwdep(struct snd_oxfw *oxfw) oxfw 179 sound/firewire/oxfw/oxfw-hwdep.c err = snd_hwdep_new(oxfw->card, oxfw->card->driver, 0, &hwdep); oxfw 182 sound/firewire/oxfw/oxfw-hwdep.c strcpy(hwdep->name, oxfw->card->driver); oxfw 185 sound/firewire/oxfw/oxfw-hwdep.c hwdep->private_data = oxfw; oxfw 12 sound/firewire/oxfw/oxfw-midi.c struct snd_oxfw *oxfw = substream->rmidi->private_data; oxfw 15 sound/firewire/oxfw/oxfw-midi.c err = snd_oxfw_stream_lock_try(oxfw); oxfw 19 sound/firewire/oxfw/oxfw-midi.c mutex_lock(&oxfw->mutex); oxfw 21 sound/firewire/oxfw/oxfw-midi.c err = snd_oxfw_stream_reserve_duplex(oxfw, &oxfw->tx_stream, 0, 0); oxfw 23 sound/firewire/oxfw/oxfw-midi.c ++oxfw->substreams_count; oxfw 24 sound/firewire/oxfw/oxfw-midi.c err = snd_oxfw_stream_start_duplex(oxfw); oxfw 26 sound/firewire/oxfw/oxfw-midi.c --oxfw->substreams_count; oxfw 29 sound/firewire/oxfw/oxfw-midi.c mutex_unlock(&oxfw->mutex); oxfw 32 sound/firewire/oxfw/oxfw-midi.c snd_oxfw_stream_lock_release(oxfw); oxfw 39 sound/firewire/oxfw/oxfw-midi.c struct snd_oxfw *oxfw = substream->rmidi->private_data; oxfw 42 sound/firewire/oxfw/oxfw-midi.c err = snd_oxfw_stream_lock_try(oxfw); oxfw 46 sound/firewire/oxfw/oxfw-midi.c mutex_lock(&oxfw->mutex); oxfw 48 sound/firewire/oxfw/oxfw-midi.c err = snd_oxfw_stream_reserve_duplex(oxfw, &oxfw->rx_stream, 0, 0); oxfw 50 sound/firewire/oxfw/oxfw-midi.c ++oxfw->substreams_count; oxfw 51 sound/firewire/oxfw/oxfw-midi.c err = snd_oxfw_stream_start_duplex(oxfw); oxfw 54 sound/firewire/oxfw/oxfw-midi.c mutex_unlock(&oxfw->mutex); oxfw 57 sound/firewire/oxfw/oxfw-midi.c snd_oxfw_stream_lock_release(oxfw); oxfw 64 sound/firewire/oxfw/oxfw-midi.c struct snd_oxfw *oxfw = substream->rmidi->private_data; oxfw 66 sound/firewire/oxfw/oxfw-midi.c mutex_lock(&oxfw->mutex); oxfw 68 sound/firewire/oxfw/oxfw-midi.c --oxfw->substreams_count; oxfw 69 sound/firewire/oxfw/oxfw-midi.c snd_oxfw_stream_stop_duplex(oxfw); oxfw 71 sound/firewire/oxfw/oxfw-midi.c mutex_unlock(&oxfw->mutex); oxfw 73 sound/firewire/oxfw/oxfw-midi.c snd_oxfw_stream_lock_release(oxfw); oxfw 79 sound/firewire/oxfw/oxfw-midi.c struct snd_oxfw *oxfw = substream->rmidi->private_data; oxfw 81 sound/firewire/oxfw/oxfw-midi.c mutex_lock(&oxfw->mutex); oxfw 83 sound/firewire/oxfw/oxfw-midi.c --oxfw->substreams_count; oxfw 84 sound/firewire/oxfw/oxfw-midi.c snd_oxfw_stream_stop_duplex(oxfw); oxfw 86 sound/firewire/oxfw/oxfw-midi.c mutex_unlock(&oxfw->mutex); oxfw 88 sound/firewire/oxfw/oxfw-midi.c snd_oxfw_stream_lock_release(oxfw); oxfw 94 sound/firewire/oxfw/oxfw-midi.c struct snd_oxfw *oxfw = substrm->rmidi->private_data; oxfw 97 sound/firewire/oxfw/oxfw-midi.c spin_lock_irqsave(&oxfw->lock, flags); oxfw 100 sound/firewire/oxfw/oxfw-midi.c amdtp_am824_midi_trigger(&oxfw->tx_stream, oxfw 103 sound/firewire/oxfw/oxfw-midi.c amdtp_am824_midi_trigger(&oxfw->tx_stream, oxfw 106 sound/firewire/oxfw/oxfw-midi.c spin_unlock_irqrestore(&oxfw->lock, flags); oxfw 111 sound/firewire/oxfw/oxfw-midi.c struct snd_oxfw *oxfw = substrm->rmidi->private_data; oxfw 114 sound/firewire/oxfw/oxfw-midi.c spin_lock_irqsave(&oxfw->lock, flags); oxfw 117 sound/firewire/oxfw/oxfw-midi.c amdtp_am824_midi_trigger(&oxfw->rx_stream, oxfw 120 sound/firewire/oxfw/oxfw-midi.c amdtp_am824_midi_trigger(&oxfw->rx_stream, oxfw 123 sound/firewire/oxfw/oxfw-midi.c spin_unlock_irqrestore(&oxfw->lock, flags); oxfw 126 sound/firewire/oxfw/oxfw-midi.c static void set_midi_substream_names(struct snd_oxfw *oxfw, oxfw 134 sound/firewire/oxfw/oxfw-midi.c oxfw->card->shortname, subs->number + 1); oxfw 138 sound/firewire/oxfw/oxfw-midi.c int snd_oxfw_create_midi(struct snd_oxfw *oxfw) oxfw 154 sound/firewire/oxfw/oxfw-midi.c if (oxfw->midi_input_ports == 0 && oxfw->midi_output_ports == 0) oxfw 158 sound/firewire/oxfw/oxfw-midi.c err = snd_rawmidi_new(oxfw->card, oxfw->card->driver, 0, oxfw 159 sound/firewire/oxfw/oxfw-midi.c oxfw->midi_output_ports, oxfw->midi_input_ports, oxfw 165 sound/firewire/oxfw/oxfw-midi.c "%s MIDI", oxfw->card->shortname); oxfw 166 sound/firewire/oxfw/oxfw-midi.c rmidi->private_data = oxfw; oxfw 168 sound/firewire/oxfw/oxfw-midi.c if (oxfw->midi_input_ports > 0) { oxfw 176 sound/firewire/oxfw/oxfw-midi.c set_midi_substream_names(oxfw, str); oxfw 179 sound/firewire/oxfw/oxfw-midi.c if (oxfw->midi_output_ports > 0) { oxfw 187 sound/firewire/oxfw/oxfw-midi.c set_midi_substream_names(oxfw, str); oxfw 190 sound/firewire/oxfw/oxfw-midi.c if ((oxfw->midi_output_ports > 0) && (oxfw->midi_input_ports > 0)) oxfw 109 sound/firewire/oxfw/oxfw-pcm.c static int init_hw_params(struct snd_oxfw *oxfw, oxfw 119 sound/firewire/oxfw/oxfw-pcm.c stream = &oxfw->tx_stream; oxfw 120 sound/firewire/oxfw/oxfw-pcm.c formats = oxfw->tx_stream_formats; oxfw 123 sound/firewire/oxfw/oxfw-pcm.c stream = &oxfw->rx_stream; oxfw 124 sound/firewire/oxfw/oxfw-pcm.c formats = oxfw->rx_stream_formats; oxfw 148 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 158 sound/firewire/oxfw/oxfw-pcm.c err = snd_oxfw_stream_get_current_formation(oxfw, dir, &formation); oxfw 172 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 175 sound/firewire/oxfw/oxfw-pcm.c err = snd_oxfw_stream_lock_try(oxfw); oxfw 179 sound/firewire/oxfw/oxfw-pcm.c err = init_hw_params(oxfw, substream); oxfw 187 sound/firewire/oxfw/oxfw-pcm.c if (amdtp_stream_pcm_running(&oxfw->tx_stream) || oxfw 188 sound/firewire/oxfw/oxfw-pcm.c amdtp_stream_pcm_running(&oxfw->rx_stream)) { oxfw 198 sound/firewire/oxfw/oxfw-pcm.c snd_oxfw_stream_lock_release(oxfw); oxfw 204 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 206 sound/firewire/oxfw/oxfw-pcm.c snd_oxfw_stream_lock_release(oxfw); oxfw 213 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 225 sound/firewire/oxfw/oxfw-pcm.c mutex_lock(&oxfw->mutex); oxfw 226 sound/firewire/oxfw/oxfw-pcm.c err = snd_oxfw_stream_reserve_duplex(oxfw, &oxfw->tx_stream, oxfw 229 sound/firewire/oxfw/oxfw-pcm.c ++oxfw->substreams_count; oxfw 230 sound/firewire/oxfw/oxfw-pcm.c mutex_unlock(&oxfw->mutex); oxfw 238 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 250 sound/firewire/oxfw/oxfw-pcm.c mutex_lock(&oxfw->mutex); oxfw 251 sound/firewire/oxfw/oxfw-pcm.c err = snd_oxfw_stream_reserve_duplex(oxfw, &oxfw->rx_stream, oxfw 254 sound/firewire/oxfw/oxfw-pcm.c ++oxfw->substreams_count; oxfw 255 sound/firewire/oxfw/oxfw-pcm.c mutex_unlock(&oxfw->mutex); oxfw 263 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 265 sound/firewire/oxfw/oxfw-pcm.c mutex_lock(&oxfw->mutex); oxfw 268 sound/firewire/oxfw/oxfw-pcm.c --oxfw->substreams_count; oxfw 270 sound/firewire/oxfw/oxfw-pcm.c snd_oxfw_stream_stop_duplex(oxfw); oxfw 272 sound/firewire/oxfw/oxfw-pcm.c mutex_unlock(&oxfw->mutex); oxfw 278 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 280 sound/firewire/oxfw/oxfw-pcm.c mutex_lock(&oxfw->mutex); oxfw 283 sound/firewire/oxfw/oxfw-pcm.c --oxfw->substreams_count; oxfw 285 sound/firewire/oxfw/oxfw-pcm.c snd_oxfw_stream_stop_duplex(oxfw); oxfw 287 sound/firewire/oxfw/oxfw-pcm.c mutex_unlock(&oxfw->mutex); oxfw 294 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 297 sound/firewire/oxfw/oxfw-pcm.c mutex_lock(&oxfw->mutex); oxfw 298 sound/firewire/oxfw/oxfw-pcm.c err = snd_oxfw_stream_start_duplex(oxfw); oxfw 299 sound/firewire/oxfw/oxfw-pcm.c mutex_unlock(&oxfw->mutex); oxfw 303 sound/firewire/oxfw/oxfw-pcm.c amdtp_stream_pcm_prepare(&oxfw->tx_stream); oxfw 309 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 312 sound/firewire/oxfw/oxfw-pcm.c mutex_lock(&oxfw->mutex); oxfw 313 sound/firewire/oxfw/oxfw-pcm.c err = snd_oxfw_stream_start_duplex(oxfw); oxfw 314 sound/firewire/oxfw/oxfw-pcm.c mutex_unlock(&oxfw->mutex); oxfw 318 sound/firewire/oxfw/oxfw-pcm.c amdtp_stream_pcm_prepare(&oxfw->rx_stream); oxfw 325 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 338 sound/firewire/oxfw/oxfw-pcm.c amdtp_stream_pcm_trigger(&oxfw->tx_stream, pcm); oxfw 343 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 356 sound/firewire/oxfw/oxfw-pcm.c amdtp_stream_pcm_trigger(&oxfw->rx_stream, pcm); oxfw 362 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = sbstm->private_data; oxfw 364 sound/firewire/oxfw/oxfw-pcm.c return amdtp_stream_pcm_pointer(&oxfw->tx_stream); oxfw 368 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = sbstm->private_data; oxfw 370 sound/firewire/oxfw/oxfw-pcm.c return amdtp_stream_pcm_pointer(&oxfw->rx_stream); oxfw 375 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 377 sound/firewire/oxfw/oxfw-pcm.c return amdtp_stream_pcm_ack(&oxfw->tx_stream); oxfw 382 sound/firewire/oxfw/oxfw-pcm.c struct snd_oxfw *oxfw = substream->private_data; oxfw 384 sound/firewire/oxfw/oxfw-pcm.c return amdtp_stream_pcm_ack(&oxfw->rx_stream); oxfw 387 sound/firewire/oxfw/oxfw-pcm.c int snd_oxfw_create_pcm(struct snd_oxfw *oxfw) oxfw 417 sound/firewire/oxfw/oxfw-pcm.c if (oxfw->has_output) oxfw 420 sound/firewire/oxfw/oxfw-pcm.c err = snd_pcm_new(oxfw->card, oxfw->card->driver, 0, 1, cap, &pcm); oxfw 424 sound/firewire/oxfw/oxfw-pcm.c pcm->private_data = oxfw; oxfw 425 sound/firewire/oxfw/oxfw-pcm.c strcpy(pcm->name, oxfw->card->shortname); oxfw 13 sound/firewire/oxfw/oxfw-proc.c struct snd_oxfw *oxfw = entry->private_data; oxfw 20 sound/firewire/oxfw/oxfw-proc.c err = snd_oxfw_stream_get_current_formation(oxfw, oxfw 29 sound/firewire/oxfw/oxfw-proc.c format = oxfw->rx_stream_formats[i]; oxfw 46 sound/firewire/oxfw/oxfw-proc.c if (!oxfw->has_output) oxfw 50 sound/firewire/oxfw/oxfw-proc.c err = snd_oxfw_stream_get_current_formation(oxfw, oxfw 59 sound/firewire/oxfw/oxfw-proc.c format = oxfw->tx_stream_formats[i]; oxfw 77 sound/firewire/oxfw/oxfw-proc.c static void add_node(struct snd_oxfw *oxfw, struct snd_info_entry *root, oxfw 84 sound/firewire/oxfw/oxfw-proc.c entry = snd_info_create_card_entry(oxfw->card, name, root); oxfw 86 sound/firewire/oxfw/oxfw-proc.c snd_info_set_text_ops(entry, oxfw, op); oxfw 89 sound/firewire/oxfw/oxfw-proc.c void snd_oxfw_proc_init(struct snd_oxfw *oxfw) oxfw 97 sound/firewire/oxfw/oxfw-proc.c root = snd_info_create_card_entry(oxfw->card, "firewire", oxfw 98 sound/firewire/oxfw/oxfw-proc.c oxfw->card->proc_root); oxfw 103 sound/firewire/oxfw/oxfw-proc.c add_node(oxfw, root, "formation", proc_read_formation); oxfw 334 sound/firewire/oxfw/oxfw-scs1x.c static int register_address(struct snd_oxfw *oxfw) oxfw 336 sound/firewire/oxfw/oxfw-scs1x.c struct fw_scs1x *scs = oxfw->spec; oxfw 341 sound/firewire/oxfw/oxfw-scs1x.c return snd_fw_transaction(oxfw->unit, TCODE_WRITE_BLOCK_REQUEST, oxfw 352 sound/firewire/oxfw/oxfw-scs1x.c void snd_oxfw_scs1x_update(struct snd_oxfw *oxfw) oxfw 354 sound/firewire/oxfw/oxfw-scs1x.c register_address(oxfw); oxfw 357 sound/firewire/oxfw/oxfw-scs1x.c int snd_oxfw_scs1x_add(struct snd_oxfw *oxfw) oxfw 374 sound/firewire/oxfw/oxfw-scs1x.c scs = devm_kzalloc(&oxfw->card->card_dev, sizeof(struct fw_scs1x), oxfw 378 sound/firewire/oxfw/oxfw-scs1x.c scs->fw_dev = fw_parent_device(oxfw->unit); oxfw 379 sound/firewire/oxfw/oxfw-scs1x.c oxfw->spec = scs; oxfw 390 sound/firewire/oxfw/oxfw-scs1x.c err = register_address(oxfw); oxfw 395 sound/firewire/oxfw/oxfw-scs1x.c err = snd_rawmidi_new(oxfw->card, "SCS.1x", 0, 1, 1, &rmidi); oxfw 402 sound/firewire/oxfw/oxfw-scs1x.c "%s MIDI", oxfw->card->shortname); oxfw 148 sound/firewire/oxfw/oxfw-spkr.c struct snd_oxfw *oxfw = control->private_data; oxfw 149 sound/firewire/oxfw/oxfw-spkr.c struct fw_spkr *spkr = oxfw->spec; oxfw 159 sound/firewire/oxfw/oxfw-spkr.c struct snd_oxfw *oxfw = control->private_data; oxfw 160 sound/firewire/oxfw/oxfw-spkr.c struct fw_spkr *spkr = oxfw->spec; oxfw 169 sound/firewire/oxfw/oxfw-spkr.c err = avc_audio_feature_mute(oxfw->unit, spkr->mute_fb_id, &mute, oxfw 181 sound/firewire/oxfw/oxfw-spkr.c struct snd_oxfw *oxfw = control->private_data; oxfw 182 sound/firewire/oxfw/oxfw-spkr.c struct fw_spkr *spkr = oxfw->spec; oxfw 197 sound/firewire/oxfw/oxfw-spkr.c struct snd_oxfw *oxfw = control->private_data; oxfw 198 sound/firewire/oxfw/oxfw-spkr.c struct fw_spkr *spkr = oxfw->spec; oxfw 210 sound/firewire/oxfw/oxfw-spkr.c struct snd_oxfw *oxfw = control->private_data; oxfw 211 sound/firewire/oxfw/oxfw-spkr.c struct fw_spkr *spkr = oxfw->spec; oxfw 238 sound/firewire/oxfw/oxfw-spkr.c err = avc_audio_feature_volume(oxfw->unit, oxfw 251 sound/firewire/oxfw/oxfw-spkr.c int snd_oxfw_add_spkr(struct snd_oxfw *oxfw, bool is_lacie) oxfw 273 sound/firewire/oxfw/oxfw-spkr.c spkr = devm_kzalloc(&oxfw->card->card_dev, sizeof(struct fw_spkr), oxfw 277 sound/firewire/oxfw/oxfw-spkr.c oxfw->spec = spkr; oxfw 289 sound/firewire/oxfw/oxfw-spkr.c err = avc_audio_feature_volume(oxfw->unit, spkr->volume_fb_id, oxfw 293 sound/firewire/oxfw/oxfw-spkr.c err = avc_audio_feature_volume(oxfw->unit, spkr->volume_fb_id, oxfw 298 sound/firewire/oxfw/oxfw-spkr.c err = avc_audio_feature_mute(oxfw->unit, spkr->mute_fb_id, &spkr->mute, oxfw 305 sound/firewire/oxfw/oxfw-spkr.c err = avc_audio_feature_volume(oxfw->unit, spkr->volume_fb_id, oxfw 313 sound/firewire/oxfw/oxfw-spkr.c err = snd_ctl_add(oxfw->card, oxfw 314 sound/firewire/oxfw/oxfw-spkr.c snd_ctl_new1(&controls[i], oxfw)); oxfw 41 sound/firewire/oxfw/oxfw-stream.c static int set_rate(struct snd_oxfw *oxfw, unsigned int rate) oxfw 45 sound/firewire/oxfw/oxfw-stream.c err = avc_general_set_sig_fmt(oxfw->unit, rate, oxfw 50 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) oxfw 51 sound/firewire/oxfw/oxfw-stream.c err = avc_general_set_sig_fmt(oxfw->unit, rate, oxfw 57 sound/firewire/oxfw/oxfw-stream.c static int set_stream_format(struct snd_oxfw *oxfw, struct amdtp_stream *s, oxfw 66 sound/firewire/oxfw/oxfw-stream.c if (s == &oxfw->tx_stream) { oxfw 67 sound/firewire/oxfw/oxfw-stream.c formats = oxfw->tx_stream_formats; oxfw 70 sound/firewire/oxfw/oxfw-stream.c formats = oxfw->rx_stream_formats; oxfw 87 sound/firewire/oxfw/oxfw-stream.c if (oxfw->assumed) oxfw 88 sound/firewire/oxfw/oxfw-stream.c return set_rate(oxfw, rate); oxfw 93 sound/firewire/oxfw/oxfw-stream.c err = avc_stream_set_format(oxfw->unit, dir, 0, formats[i], len); oxfw 103 sound/firewire/oxfw/oxfw-stream.c static int start_stream(struct snd_oxfw *oxfw, struct amdtp_stream *stream) oxfw 108 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->rx_stream) oxfw 109 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; oxfw 111 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; oxfw 117 sound/firewire/oxfw/oxfw-stream.c err = amdtp_domain_add_stream(&oxfw->domain, stream, oxfw 127 sound/firewire/oxfw/oxfw-stream.c static int check_connection_used_by_others(struct snd_oxfw *oxfw, oxfw 134 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->tx_stream) oxfw 135 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; oxfw 137 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; oxfw 141 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 151 sound/firewire/oxfw/oxfw-stream.c static int init_stream(struct snd_oxfw *oxfw, struct amdtp_stream *stream) oxfw 158 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->tx_stream) { oxfw 159 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; oxfw 163 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; oxfw 168 sound/firewire/oxfw/oxfw-stream.c err = cmp_connection_init(conn, oxfw->unit, c_dir, 0); oxfw 172 sound/firewire/oxfw/oxfw-stream.c err = amdtp_am824_init(stream, oxfw->unit, s_dir, CIP_NONBLOCKING); oxfw 184 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->tx_stream) { oxfw 185 sound/firewire/oxfw/oxfw-stream.c oxfw->tx_stream.flags |= CIP_JUMBO_PAYLOAD; oxfw 186 sound/firewire/oxfw/oxfw-stream.c if (oxfw->wrong_dbs) oxfw 187 sound/firewire/oxfw/oxfw-stream.c oxfw->tx_stream.flags |= CIP_WRONG_DBS; oxfw 193 sound/firewire/oxfw/oxfw-stream.c static int keep_resources(struct snd_oxfw *oxfw, struct amdtp_stream *stream) oxfw 202 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->rx_stream) { oxfw 204 sound/firewire/oxfw/oxfw-stream.c formats = oxfw->rx_stream_formats; oxfw 205 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; oxfw 208 sound/firewire/oxfw/oxfw-stream.c formats = oxfw->tx_stream_formats; oxfw 209 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; oxfw 212 sound/firewire/oxfw/oxfw-stream.c err = snd_oxfw_stream_get_current_formation(oxfw, dir, &formation); oxfw 245 sound/firewire/oxfw/oxfw-stream.c int snd_oxfw_stream_reserve_duplex(struct snd_oxfw *oxfw, oxfw 255 sound/firewire/oxfw/oxfw-stream.c err = check_connection_used_by_others(oxfw, &oxfw->rx_stream); oxfw 258 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 259 sound/firewire/oxfw/oxfw-stream.c err = check_connection_used_by_others(oxfw, &oxfw->tx_stream); oxfw 264 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->tx_stream) oxfw 269 sound/firewire/oxfw/oxfw-stream.c err = snd_oxfw_stream_get_current_formation(oxfw, dir, &formation); oxfw 277 sound/firewire/oxfw/oxfw-stream.c amdtp_domain_stop(&oxfw->domain); oxfw 279 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->in_conn); oxfw 280 sound/firewire/oxfw/oxfw-stream.c cmp_connection_release(&oxfw->in_conn); oxfw 282 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 283 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->out_conn); oxfw 284 sound/firewire/oxfw/oxfw-stream.c cmp_connection_release(&oxfw->out_conn); oxfw 288 sound/firewire/oxfw/oxfw-stream.c if (oxfw->substreams_count == 0 || oxfw 290 sound/firewire/oxfw/oxfw-stream.c err = set_stream_format(oxfw, stream, rate, pcm_channels); oxfw 292 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 297 sound/firewire/oxfw/oxfw-stream.c err = keep_resources(oxfw, &oxfw->rx_stream); oxfw 301 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 302 sound/firewire/oxfw/oxfw-stream.c err = keep_resources(oxfw, &oxfw->tx_stream); oxfw 304 sound/firewire/oxfw/oxfw-stream.c cmp_connection_release(&oxfw->in_conn); oxfw 313 sound/firewire/oxfw/oxfw-stream.c int snd_oxfw_stream_start_duplex(struct snd_oxfw *oxfw) oxfw 317 sound/firewire/oxfw/oxfw-stream.c if (oxfw->substreams_count == 0) oxfw 320 sound/firewire/oxfw/oxfw-stream.c if (amdtp_streaming_error(&oxfw->rx_stream) || oxfw 321 sound/firewire/oxfw/oxfw-stream.c amdtp_streaming_error(&oxfw->tx_stream)) { oxfw 322 sound/firewire/oxfw/oxfw-stream.c amdtp_domain_stop(&oxfw->domain); oxfw 324 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->in_conn); oxfw 325 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) oxfw 326 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->out_conn); oxfw 329 sound/firewire/oxfw/oxfw-stream.c if (!amdtp_stream_running(&oxfw->rx_stream)) { oxfw 330 sound/firewire/oxfw/oxfw-stream.c err = start_stream(oxfw, &oxfw->rx_stream); oxfw 332 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 337 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output && oxfw 338 sound/firewire/oxfw/oxfw-stream.c !amdtp_stream_running(&oxfw->tx_stream)) { oxfw 339 sound/firewire/oxfw/oxfw-stream.c err = start_stream(oxfw, &oxfw->tx_stream); oxfw 341 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 347 sound/firewire/oxfw/oxfw-stream.c err = amdtp_domain_start(&oxfw->domain); oxfw 352 sound/firewire/oxfw/oxfw-stream.c if (!amdtp_stream_wait_callback(&oxfw->rx_stream, oxfw 358 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 359 sound/firewire/oxfw/oxfw-stream.c if (!amdtp_stream_wait_callback(&oxfw->tx_stream, oxfw 369 sound/firewire/oxfw/oxfw-stream.c amdtp_domain_stop(&oxfw->domain); oxfw 371 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->in_conn); oxfw 372 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) oxfw 373 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->out_conn); oxfw 378 sound/firewire/oxfw/oxfw-stream.c void snd_oxfw_stream_stop_duplex(struct snd_oxfw *oxfw) oxfw 380 sound/firewire/oxfw/oxfw-stream.c if (oxfw->substreams_count == 0) { oxfw 381 sound/firewire/oxfw/oxfw-stream.c amdtp_domain_stop(&oxfw->domain); oxfw 383 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->in_conn); oxfw 384 sound/firewire/oxfw/oxfw-stream.c cmp_connection_release(&oxfw->in_conn); oxfw 386 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 387 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->out_conn); oxfw 388 sound/firewire/oxfw/oxfw-stream.c cmp_connection_release(&oxfw->out_conn); oxfw 393 sound/firewire/oxfw/oxfw-stream.c static void destroy_stream(struct snd_oxfw *oxfw, struct amdtp_stream *stream) oxfw 397 sound/firewire/oxfw/oxfw-stream.c if (stream == &oxfw->tx_stream) oxfw 398 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->out_conn; oxfw 400 sound/firewire/oxfw/oxfw-stream.c conn = &oxfw->in_conn; oxfw 406 sound/firewire/oxfw/oxfw-stream.c int snd_oxfw_stream_init_duplex(struct snd_oxfw *oxfw) oxfw 410 sound/firewire/oxfw/oxfw-stream.c err = init_stream(oxfw, &oxfw->rx_stream); oxfw 414 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 415 sound/firewire/oxfw/oxfw-stream.c err = init_stream(oxfw, &oxfw->tx_stream); oxfw 417 sound/firewire/oxfw/oxfw-stream.c destroy_stream(oxfw, &oxfw->rx_stream); oxfw 422 sound/firewire/oxfw/oxfw-stream.c err = amdtp_domain_init(&oxfw->domain); oxfw 424 sound/firewire/oxfw/oxfw-stream.c destroy_stream(oxfw, &oxfw->rx_stream); oxfw 425 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) oxfw 426 sound/firewire/oxfw/oxfw-stream.c destroy_stream(oxfw, &oxfw->tx_stream); oxfw 434 sound/firewire/oxfw/oxfw-stream.c void snd_oxfw_stream_destroy_duplex(struct snd_oxfw *oxfw) oxfw 436 sound/firewire/oxfw/oxfw-stream.c amdtp_domain_destroy(&oxfw->domain); oxfw 438 sound/firewire/oxfw/oxfw-stream.c destroy_stream(oxfw, &oxfw->rx_stream); oxfw 440 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) oxfw 441 sound/firewire/oxfw/oxfw-stream.c destroy_stream(oxfw, &oxfw->tx_stream); oxfw 444 sound/firewire/oxfw/oxfw-stream.c void snd_oxfw_stream_update_duplex(struct snd_oxfw *oxfw) oxfw 446 sound/firewire/oxfw/oxfw-stream.c amdtp_domain_stop(&oxfw->domain); oxfw 448 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->in_conn); oxfw 450 sound/firewire/oxfw/oxfw-stream.c amdtp_stream_pcm_abort(&oxfw->rx_stream); oxfw 452 sound/firewire/oxfw/oxfw-stream.c if (oxfw->has_output) { oxfw 453 sound/firewire/oxfw/oxfw-stream.c cmp_connection_break(&oxfw->out_conn); oxfw 455 sound/firewire/oxfw/oxfw-stream.c amdtp_stream_pcm_abort(&oxfw->tx_stream); oxfw 459 sound/firewire/oxfw/oxfw-stream.c int snd_oxfw_stream_get_current_formation(struct snd_oxfw *oxfw, oxfw 472 sound/firewire/oxfw/oxfw-stream.c err = avc_stream_get_format_single(oxfw->unit, dir, 0, format, &len); oxfw 569 sound/firewire/oxfw/oxfw-stream.c assume_stream_formats(struct snd_oxfw *oxfw, enum avc_general_plug_dir dir, oxfw 578 sound/firewire/oxfw/oxfw-stream.c err = avc_stream_get_format_single(oxfw->unit, dir, pid, buf, len); oxfw 580 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 593 sound/firewire/oxfw/oxfw-stream.c formats[eid] = devm_kmemdup(&oxfw->card->card_dev, buf, *len, oxfw 605 sound/firewire/oxfw/oxfw-stream.c err = avc_general_inquiry_sig_fmt(oxfw->unit, oxfw 612 sound/firewire/oxfw/oxfw-stream.c formats[eid] = devm_kmemdup(&oxfw->card->card_dev, buf, *len, oxfw 622 sound/firewire/oxfw/oxfw-stream.c oxfw->assumed = true; oxfw 627 sound/firewire/oxfw/oxfw-stream.c static int fill_stream_formats(struct snd_oxfw *oxfw, oxfw 641 sound/firewire/oxfw/oxfw-stream.c formats = oxfw->tx_stream_formats; oxfw 643 sound/firewire/oxfw/oxfw-stream.c formats = oxfw->rx_stream_formats; oxfw 647 sound/firewire/oxfw/oxfw-stream.c err = avc_stream_get_format_list(oxfw->unit, dir, 0, buf, &len, 0); oxfw 651 sound/firewire/oxfw/oxfw-stream.c err = assume_stream_formats(oxfw, dir, pid, buf, &len, oxfw 655 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 675 sound/firewire/oxfw/oxfw-stream.c formats[eid] = devm_kmemdup(&oxfw->card->card_dev, buf, len, oxfw 684 sound/firewire/oxfw/oxfw-stream.c err = avc_stream_get_format_list(oxfw->unit, dir, 0, oxfw 691 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 704 sound/firewire/oxfw/oxfw-stream.c int snd_oxfw_stream_discover(struct snd_oxfw *oxfw) oxfw 713 sound/firewire/oxfw/oxfw-stream.c err = avc_general_get_plug_info(oxfw->unit, 0x1f, 0x07, 0x00, plugs); oxfw 715 sound/firewire/oxfw/oxfw-stream.c dev_err(&oxfw->unit->device, oxfw 726 sound/firewire/oxfw/oxfw-stream.c err = fill_stream_formats(oxfw, AVC_GENERAL_PLUG_DIR_OUT, 0); oxfw 731 sound/firewire/oxfw/oxfw-stream.c format = oxfw->tx_stream_formats[i]; oxfw 740 sound/firewire/oxfw/oxfw-stream.c oxfw->midi_input_ports = 1; oxfw 743 sound/firewire/oxfw/oxfw-stream.c oxfw->has_output = true; oxfw 748 sound/firewire/oxfw/oxfw-stream.c err = fill_stream_formats(oxfw, AVC_GENERAL_PLUG_DIR_IN, 0); oxfw 753 sound/firewire/oxfw/oxfw-stream.c format = oxfw->rx_stream_formats[i]; oxfw 762 sound/firewire/oxfw/oxfw-stream.c oxfw->midi_output_ports = 1; oxfw 769 sound/firewire/oxfw/oxfw-stream.c void snd_oxfw_stream_lock_changed(struct snd_oxfw *oxfw) oxfw 771 sound/firewire/oxfw/oxfw-stream.c oxfw->dev_lock_changed = true; oxfw 772 sound/firewire/oxfw/oxfw-stream.c wake_up(&oxfw->hwdep_wait); oxfw 775 sound/firewire/oxfw/oxfw-stream.c int snd_oxfw_stream_lock_try(struct snd_oxfw *oxfw) oxfw 779 sound/firewire/oxfw/oxfw-stream.c spin_lock_irq(&oxfw->lock); oxfw 782 sound/firewire/oxfw/oxfw-stream.c if (oxfw->dev_lock_count < 0) { oxfw 788 sound/firewire/oxfw/oxfw-stream.c if (oxfw->dev_lock_count++ == 0) oxfw 789 sound/firewire/oxfw/oxfw-stream.c snd_oxfw_stream_lock_changed(oxfw); oxfw 792 sound/firewire/oxfw/oxfw-stream.c spin_unlock_irq(&oxfw->lock); oxfw 796 sound/firewire/oxfw/oxfw-stream.c void snd_oxfw_stream_lock_release(struct snd_oxfw *oxfw) oxfw 798 sound/firewire/oxfw/oxfw-stream.c spin_lock_irq(&oxfw->lock); oxfw 800 sound/firewire/oxfw/oxfw-stream.c if (WARN_ON(oxfw->dev_lock_count <= 0)) oxfw 802 sound/firewire/oxfw/oxfw-stream.c if (--oxfw->dev_lock_count == 0) oxfw 803 sound/firewire/oxfw/oxfw-stream.c snd_oxfw_stream_lock_changed(oxfw); oxfw 805 sound/firewire/oxfw/oxfw-stream.c spin_unlock_irq(&oxfw->lock); oxfw 63 sound/firewire/oxfw/oxfw.c static int name_card(struct snd_oxfw *oxfw) oxfw 65 sound/firewire/oxfw/oxfw.c struct fw_device *fw_dev = fw_parent_device(oxfw->unit); oxfw 80 sound/firewire/oxfw/oxfw.c err = fw_csr_string(oxfw->unit->directory, CSR_MODEL, oxfw 85 sound/firewire/oxfw/oxfw.c err = snd_fw_transaction(oxfw->unit, TCODE_READ_QUADLET_REQUEST, oxfw 92 sound/firewire/oxfw/oxfw.c if (oxfw->entry->vendor_id == VENDOR_GRIFFIN || oxfw 93 sound/firewire/oxfw/oxfw.c oxfw->entry->vendor_id == VENDOR_LACIE) { oxfw 94 sound/firewire/oxfw/oxfw.c info = (const struct compat_info *)oxfw->entry->driver_data; oxfw 104 sound/firewire/oxfw/oxfw.c strcpy(oxfw->card->driver, d); oxfw 105 sound/firewire/oxfw/oxfw.c strcpy(oxfw->card->mixername, m); oxfw 106 sound/firewire/oxfw/oxfw.c strcpy(oxfw->card->shortname, m); oxfw 108 sound/firewire/oxfw/oxfw.c snprintf(oxfw->card->longname, sizeof(oxfw->card->longname), oxfw 112 sound/firewire/oxfw/oxfw.c dev_name(&oxfw->unit->device), 100 << fw_dev->max_speed); oxfw 119 sound/firewire/oxfw/oxfw.c struct snd_oxfw *oxfw = card->private_data; oxfw 121 sound/firewire/oxfw/oxfw.c snd_oxfw_stream_destroy_duplex(oxfw); oxfw 124 sound/firewire/oxfw/oxfw.c static int detect_quirks(struct snd_oxfw *oxfw) oxfw 126 sound/firewire/oxfw/oxfw.c struct fw_device *fw_dev = fw_parent_device(oxfw->unit); oxfw 135 sound/firewire/oxfw/oxfw.c if (oxfw->entry->vendor_id == VENDOR_GRIFFIN) oxfw 136 sound/firewire/oxfw/oxfw.c return snd_oxfw_add_spkr(oxfw, false); oxfw 137 sound/firewire/oxfw/oxfw.c if (oxfw->entry->vendor_id == VENDOR_LACIE) oxfw 138 sound/firewire/oxfw/oxfw.c return snd_oxfw_add_spkr(oxfw, true); oxfw 144 sound/firewire/oxfw/oxfw.c if (oxfw->entry->vendor_id == OUI_STANTON) { oxfw 146 sound/firewire/oxfw/oxfw.c oxfw->midi_input_ports = 0; oxfw 147 sound/firewire/oxfw/oxfw.c oxfw->midi_output_ports = 0; oxfw 149 sound/firewire/oxfw/oxfw.c return snd_oxfw_scs1x_add(oxfw); oxfw 156 sound/firewire/oxfw/oxfw.c if (oxfw->entry->vendor_id == VENDOR_TASCAM) { oxfw 157 sound/firewire/oxfw/oxfw.c oxfw->midi_input_ports++; oxfw 158 sound/firewire/oxfw/oxfw.c oxfw->midi_output_ports++; oxfw 177 sound/firewire/oxfw/oxfw.c oxfw->wrong_dbs = true; oxfw 184 sound/firewire/oxfw/oxfw.c struct snd_oxfw *oxfw = container_of(work, struct snd_oxfw, dwork.work); oxfw 187 sound/firewire/oxfw/oxfw.c if (oxfw->registered) oxfw 190 sound/firewire/oxfw/oxfw.c err = snd_card_new(&oxfw->unit->device, -1, NULL, THIS_MODULE, 0, oxfw 191 sound/firewire/oxfw/oxfw.c &oxfw->card); oxfw 194 sound/firewire/oxfw/oxfw.c oxfw->card->private_free = oxfw_card_free; oxfw 195 sound/firewire/oxfw/oxfw.c oxfw->card->private_data = oxfw; oxfw 197 sound/firewire/oxfw/oxfw.c err = name_card(oxfw); oxfw 201 sound/firewire/oxfw/oxfw.c err = snd_oxfw_stream_discover(oxfw); oxfw 205 sound/firewire/oxfw/oxfw.c err = detect_quirks(oxfw); oxfw 209 sound/firewire/oxfw/oxfw.c err = snd_oxfw_stream_init_duplex(oxfw); oxfw 213 sound/firewire/oxfw/oxfw.c err = snd_oxfw_create_pcm(oxfw); oxfw 217 sound/firewire/oxfw/oxfw.c snd_oxfw_proc_init(oxfw); oxfw 219 sound/firewire/oxfw/oxfw.c err = snd_oxfw_create_midi(oxfw); oxfw 223 sound/firewire/oxfw/oxfw.c err = snd_oxfw_create_hwdep(oxfw); oxfw 227 sound/firewire/oxfw/oxfw.c err = snd_card_register(oxfw->card); oxfw 231 sound/firewire/oxfw/oxfw.c oxfw->registered = true; oxfw 235 sound/firewire/oxfw/oxfw.c snd_card_free(oxfw->card); oxfw 236 sound/firewire/oxfw/oxfw.c dev_info(&oxfw->unit->device, oxfw 243 sound/firewire/oxfw/oxfw.c struct snd_oxfw *oxfw; oxfw 249 sound/firewire/oxfw/oxfw.c oxfw = devm_kzalloc(&unit->device, sizeof(struct snd_oxfw), GFP_KERNEL); oxfw 250 sound/firewire/oxfw/oxfw.c if (!oxfw) oxfw 252 sound/firewire/oxfw/oxfw.c oxfw->unit = fw_unit_get(unit); oxfw 253 sound/firewire/oxfw/oxfw.c dev_set_drvdata(&unit->device, oxfw); oxfw 255 sound/firewire/oxfw/oxfw.c oxfw->entry = entry; oxfw 256 sound/firewire/oxfw/oxfw.c mutex_init(&oxfw->mutex); oxfw 257 sound/firewire/oxfw/oxfw.c spin_lock_init(&oxfw->lock); oxfw 258 sound/firewire/oxfw/oxfw.c init_waitqueue_head(&oxfw->hwdep_wait); oxfw 261 sound/firewire/oxfw/oxfw.c INIT_DEFERRABLE_WORK(&oxfw->dwork, do_registration); oxfw 262 sound/firewire/oxfw/oxfw.c snd_fw_schedule_registration(unit, &oxfw->dwork); oxfw 269 sound/firewire/oxfw/oxfw.c struct snd_oxfw *oxfw = dev_get_drvdata(&unit->device); oxfw 271 sound/firewire/oxfw/oxfw.c if (!oxfw->registered) oxfw 272 sound/firewire/oxfw/oxfw.c snd_fw_schedule_registration(unit, &oxfw->dwork); oxfw 274 sound/firewire/oxfw/oxfw.c fcp_bus_reset(oxfw->unit); oxfw 276 sound/firewire/oxfw/oxfw.c if (oxfw->registered) { oxfw 277 sound/firewire/oxfw/oxfw.c mutex_lock(&oxfw->mutex); oxfw 278 sound/firewire/oxfw/oxfw.c snd_oxfw_stream_update_duplex(oxfw); oxfw 279 sound/firewire/oxfw/oxfw.c mutex_unlock(&oxfw->mutex); oxfw 281 sound/firewire/oxfw/oxfw.c if (oxfw->entry->vendor_id == OUI_STANTON) oxfw 282 sound/firewire/oxfw/oxfw.c snd_oxfw_scs1x_update(oxfw); oxfw 288 sound/firewire/oxfw/oxfw.c struct snd_oxfw *oxfw = dev_get_drvdata(&unit->device); oxfw 295 sound/firewire/oxfw/oxfw.c cancel_delayed_work_sync(&oxfw->dwork); oxfw 297 sound/firewire/oxfw/oxfw.c if (oxfw->registered) { oxfw 299 sound/firewire/oxfw/oxfw.c snd_card_free(oxfw->card); oxfw 302 sound/firewire/oxfw/oxfw.c mutex_destroy(&oxfw->mutex); oxfw 303 sound/firewire/oxfw/oxfw.c fw_unit_put(oxfw->unit); oxfw 103 sound/firewire/oxfw/oxfw.h int snd_oxfw_stream_init_duplex(struct snd_oxfw *oxfw); oxfw 104 sound/firewire/oxfw/oxfw.h int snd_oxfw_stream_reserve_duplex(struct snd_oxfw *oxfw, oxfw 107 sound/firewire/oxfw/oxfw.h int snd_oxfw_stream_start_duplex(struct snd_oxfw *oxfw); oxfw 108 sound/firewire/oxfw/oxfw.h void snd_oxfw_stream_stop_duplex(struct snd_oxfw *oxfw); oxfw 109 sound/firewire/oxfw/oxfw.h void snd_oxfw_stream_destroy_duplex(struct snd_oxfw *oxfw); oxfw 110 sound/firewire/oxfw/oxfw.h void snd_oxfw_stream_update_duplex(struct snd_oxfw *oxfw); oxfw 119 sound/firewire/oxfw/oxfw.h int snd_oxfw_stream_get_current_formation(struct snd_oxfw *oxfw, oxfw 123 sound/firewire/oxfw/oxfw.h int snd_oxfw_stream_discover(struct snd_oxfw *oxfw); oxfw 125 sound/firewire/oxfw/oxfw.h void snd_oxfw_stream_lock_changed(struct snd_oxfw *oxfw); oxfw 126 sound/firewire/oxfw/oxfw.h int snd_oxfw_stream_lock_try(struct snd_oxfw *oxfw); oxfw 127 sound/firewire/oxfw/oxfw.h void snd_oxfw_stream_lock_release(struct snd_oxfw *oxfw); oxfw 129 sound/firewire/oxfw/oxfw.h int snd_oxfw_create_pcm(struct snd_oxfw *oxfw); oxfw 131 sound/firewire/oxfw/oxfw.h void snd_oxfw_proc_init(struct snd_oxfw *oxfw); oxfw 133 sound/firewire/oxfw/oxfw.h int snd_oxfw_create_midi(struct snd_oxfw *oxfw); oxfw 135 sound/firewire/oxfw/oxfw.h int snd_oxfw_create_hwdep(struct snd_oxfw *oxfw); oxfw 137 sound/firewire/oxfw/oxfw.h int snd_oxfw_add_spkr(struct snd_oxfw *oxfw, bool is_lacie); oxfw 138 sound/firewire/oxfw/oxfw.h int snd_oxfw_scs1x_add(struct snd_oxfw *oxfw); oxfw 139 sound/firewire/oxfw/oxfw.h void snd_oxfw_scs1x_update(struct snd_oxfw *oxfw);