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);