efw                72 sound/firewire/fireworks/fireworks.c get_hardware_info(struct snd_efw *efw)
efw                74 sound/firewire/fireworks/fireworks.c 	struct fw_device *fw_dev = fw_parent_device(efw->unit);
efw                83 sound/firewire/fireworks/fireworks.c 	err = snd_efw_command_get_hwinfo(efw, hwinfo);
efw                91 sound/firewire/fireworks/fireworks.c 	efw->firmware_version = hwinfo->arm_version;
efw                93 sound/firewire/fireworks/fireworks.c 	strcpy(efw->card->driver, "Fireworks");
efw                94 sound/firewire/fireworks/fireworks.c 	strcpy(efw->card->shortname, hwinfo->model_name);
efw                95 sound/firewire/fireworks/fireworks.c 	strcpy(efw->card->mixername, hwinfo->model_name);
efw                96 sound/firewire/fireworks/fireworks.c 	snprintf(efw->card->longname, sizeof(efw->card->longname),
efw               100 sound/firewire/fireworks/fireworks.c 		 dev_name(&efw->unit->device), 100 << fw_dev->max_speed);
efw               103 sound/firewire/fireworks/fireworks.c 		efw->resp_addr_changable = true;
efw               105 sound/firewire/fireworks/fireworks.c 	efw->supported_sampling_rate = 0;
efw               108 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_22050;
efw               111 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_32000;
efw               114 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_44100;
efw               117 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_48000;
efw               120 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_88200;
efw               123 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_96000;
efw               126 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_176400;
efw               129 sound/firewire/fireworks/fireworks.c 		efw->supported_sampling_rate |= SNDRV_PCM_RATE_192000;
efw               137 sound/firewire/fireworks/fireworks.c 	efw->midi_out_ports = hwinfo->midi_out_ports;
efw               138 sound/firewire/fireworks/fireworks.c 	efw->midi_in_ports = hwinfo->midi_in_ports;
efw               149 sound/firewire/fireworks/fireworks.c 	efw->pcm_capture_channels[0] = hwinfo->amdtp_tx_pcm_channels;
efw               150 sound/firewire/fireworks/fireworks.c 	efw->pcm_capture_channels[1] = hwinfo->amdtp_tx_pcm_channels_2x;
efw               151 sound/firewire/fireworks/fireworks.c 	efw->pcm_capture_channels[2] = hwinfo->amdtp_tx_pcm_channels_4x;
efw               152 sound/firewire/fireworks/fireworks.c 	efw->pcm_playback_channels[0] = hwinfo->amdtp_rx_pcm_channels;
efw               153 sound/firewire/fireworks/fireworks.c 	efw->pcm_playback_channels[1] = hwinfo->amdtp_rx_pcm_channels_2x;
efw               154 sound/firewire/fireworks/fireworks.c 	efw->pcm_playback_channels[2] = hwinfo->amdtp_rx_pcm_channels_4x;
efw               162 sound/firewire/fireworks/fireworks.c 	efw->phys_in = hwinfo->phys_in;
efw               163 sound/firewire/fireworks/fireworks.c 	efw->phys_out = hwinfo->phys_out;
efw               164 sound/firewire/fireworks/fireworks.c 	efw->phys_in_grp_count = hwinfo->phys_in_grp_count;
efw               165 sound/firewire/fireworks/fireworks.c 	efw->phys_out_grp_count = hwinfo->phys_out_grp_count;
efw               166 sound/firewire/fireworks/fireworks.c 	memcpy(&efw->phys_in_grps, hwinfo->phys_in_grps,
efw               168 sound/firewire/fireworks/fireworks.c 	memcpy(&efw->phys_out_grps, hwinfo->phys_out_grps,
efw               173 sound/firewire/fireworks/fireworks.c 		efw->is_af9 = true;
efw               180 sound/firewire/fireworks/fireworks.c 		efw->is_fireworks3 = true;
efw               189 sound/firewire/fireworks/fireworks.c 	struct snd_efw *efw = card->private_data;
efw               192 sound/firewire/fireworks/fireworks.c 	clear_bit(efw->card_index, devices_used);
efw               195 sound/firewire/fireworks/fireworks.c 	snd_efw_stream_destroy_duplex(efw);
efw               196 sound/firewire/fireworks/fireworks.c 	snd_efw_transaction_remove_instance(efw);
efw               202 sound/firewire/fireworks/fireworks.c 	struct snd_efw *efw = container_of(work, struct snd_efw, dwork.work);
efw               206 sound/firewire/fireworks/fireworks.c 	if (efw->registered)
efw               220 sound/firewire/fireworks/fireworks.c 	err = snd_card_new(&efw->unit->device, index[card_index],
efw               221 sound/firewire/fireworks/fireworks.c 			   id[card_index], THIS_MODULE, 0, &efw->card);
efw               229 sound/firewire/fireworks/fireworks.c 	efw->card->private_free = efw_card_free;
efw               230 sound/firewire/fireworks/fireworks.c 	efw->card->private_data = efw;
efw               235 sound/firewire/fireworks/fireworks.c 	efw->resp_buf = devm_kzalloc(&efw->card->card_dev,
efw               237 sound/firewire/fireworks/fireworks.c 	if (!efw->resp_buf) {
efw               241 sound/firewire/fireworks/fireworks.c 	efw->pull_ptr = efw->push_ptr = efw->resp_buf;
efw               242 sound/firewire/fireworks/fireworks.c 	snd_efw_transaction_add_instance(efw);
efw               244 sound/firewire/fireworks/fireworks.c 	err = get_hardware_info(efw);
efw               248 sound/firewire/fireworks/fireworks.c 	err = snd_efw_stream_init_duplex(efw);
efw               252 sound/firewire/fireworks/fireworks.c 	snd_efw_proc_init(efw);
efw               254 sound/firewire/fireworks/fireworks.c 	if (efw->midi_out_ports || efw->midi_in_ports) {
efw               255 sound/firewire/fireworks/fireworks.c 		err = snd_efw_create_midi_devices(efw);
efw               260 sound/firewire/fireworks/fireworks.c 	err = snd_efw_create_pcm_devices(efw);
efw               264 sound/firewire/fireworks/fireworks.c 	err = snd_efw_create_hwdep_device(efw);
efw               268 sound/firewire/fireworks/fireworks.c 	err = snd_card_register(efw->card);
efw               272 sound/firewire/fireworks/fireworks.c 	efw->registered = true;
efw               276 sound/firewire/fireworks/fireworks.c 	snd_card_free(efw->card);
efw               277 sound/firewire/fireworks/fireworks.c 	dev_info(&efw->unit->device,
efw               284 sound/firewire/fireworks/fireworks.c 	struct snd_efw *efw;
efw               286 sound/firewire/fireworks/fireworks.c 	efw = devm_kzalloc(&unit->device, sizeof(struct snd_efw), GFP_KERNEL);
efw               287 sound/firewire/fireworks/fireworks.c 	if (efw == NULL)
efw               289 sound/firewire/fireworks/fireworks.c 	efw->unit = fw_unit_get(unit);
efw               290 sound/firewire/fireworks/fireworks.c 	dev_set_drvdata(&unit->device, efw);
efw               292 sound/firewire/fireworks/fireworks.c 	mutex_init(&efw->mutex);
efw               293 sound/firewire/fireworks/fireworks.c 	spin_lock_init(&efw->lock);
efw               294 sound/firewire/fireworks/fireworks.c 	init_waitqueue_head(&efw->hwdep_wait);
efw               297 sound/firewire/fireworks/fireworks.c 	INIT_DEFERRABLE_WORK(&efw->dwork, do_registration);
efw               298 sound/firewire/fireworks/fireworks.c 	snd_fw_schedule_registration(unit, &efw->dwork);
efw               305 sound/firewire/fireworks/fireworks.c 	struct snd_efw *efw = dev_get_drvdata(&unit->device);
efw               308 sound/firewire/fireworks/fireworks.c 	if (!efw->registered)
efw               309 sound/firewire/fireworks/fireworks.c 		snd_fw_schedule_registration(unit, &efw->dwork);
efw               311 sound/firewire/fireworks/fireworks.c 	snd_efw_transaction_bus_reset(efw->unit);
efw               317 sound/firewire/fireworks/fireworks.c 	if (efw->registered) {
efw               318 sound/firewire/fireworks/fireworks.c 		mutex_lock(&efw->mutex);
efw               319 sound/firewire/fireworks/fireworks.c 		snd_efw_stream_update_duplex(efw);
efw               320 sound/firewire/fireworks/fireworks.c 		mutex_unlock(&efw->mutex);
efw               326 sound/firewire/fireworks/fireworks.c 	struct snd_efw *efw = dev_get_drvdata(&unit->device);
efw               333 sound/firewire/fireworks/fireworks.c 	cancel_delayed_work_sync(&efw->dwork);
efw               335 sound/firewire/fireworks/fireworks.c 	if (efw->registered) {
efw               337 sound/firewire/fireworks/fireworks.c 		snd_card_free(efw->card);
efw               340 sound/firewire/fireworks/fireworks.c 	mutex_destroy(&efw->mutex);
efw               341 sound/firewire/fireworks/fireworks.c 	fw_unit_put(efw->unit);
efw               122 sound/firewire/fireworks/fireworks.h void snd_efw_transaction_add_instance(struct snd_efw *efw);
efw               123 sound/firewire/fireworks/fireworks.h void snd_efw_transaction_remove_instance(struct snd_efw *efw);
efw               195 sound/firewire/fireworks/fireworks.h int snd_efw_command_set_resp_addr(struct snd_efw *efw,
efw               197 sound/firewire/fireworks/fireworks.h int snd_efw_command_set_tx_mode(struct snd_efw *efw,
efw               199 sound/firewire/fireworks/fireworks.h int snd_efw_command_get_hwinfo(struct snd_efw *efw,
efw               201 sound/firewire/fireworks/fireworks.h int snd_efw_command_get_phys_meters(struct snd_efw *efw,
efw               204 sound/firewire/fireworks/fireworks.h int snd_efw_command_get_clock_source(struct snd_efw *efw,
efw               206 sound/firewire/fireworks/fireworks.h int snd_efw_command_get_sampling_rate(struct snd_efw *efw, unsigned int *rate);
efw               207 sound/firewire/fireworks/fireworks.h int snd_efw_command_set_sampling_rate(struct snd_efw *efw, unsigned int rate);
efw               209 sound/firewire/fireworks/fireworks.h int snd_efw_stream_init_duplex(struct snd_efw *efw);
efw               210 sound/firewire/fireworks/fireworks.h int snd_efw_stream_reserve_duplex(struct snd_efw *efw, unsigned int rate);
efw               211 sound/firewire/fireworks/fireworks.h int snd_efw_stream_start_duplex(struct snd_efw *efw);
efw               212 sound/firewire/fireworks/fireworks.h void snd_efw_stream_stop_duplex(struct snd_efw *efw);
efw               213 sound/firewire/fireworks/fireworks.h void snd_efw_stream_update_duplex(struct snd_efw *efw);
efw               214 sound/firewire/fireworks/fireworks.h void snd_efw_stream_destroy_duplex(struct snd_efw *efw);
efw               215 sound/firewire/fireworks/fireworks.h void snd_efw_stream_lock_changed(struct snd_efw *efw);
efw               216 sound/firewire/fireworks/fireworks.h int snd_efw_stream_lock_try(struct snd_efw *efw);
efw               217 sound/firewire/fireworks/fireworks.h void snd_efw_stream_lock_release(struct snd_efw *efw);
efw               219 sound/firewire/fireworks/fireworks.h void snd_efw_proc_init(struct snd_efw *efw);
efw               221 sound/firewire/fireworks/fireworks.h int snd_efw_create_midi_devices(struct snd_efw *efw);
efw               223 sound/firewire/fireworks/fireworks.h int snd_efw_create_pcm_devices(struct snd_efw *efw);
efw               226 sound/firewire/fireworks/fireworks.h int snd_efw_create_hwdep_device(struct snd_efw *efw);
efw               101 sound/firewire/fireworks/fireworks_command.c efw_transaction(struct snd_efw *efw, unsigned int category,
efw               122 sound/firewire/fireworks/fireworks_command.c 	spin_lock(&efw->lock);
efw               123 sound/firewire/fireworks/fireworks_command.c 	if ((efw->seqnum < KERNEL_SEQNUM_MIN) ||
efw               124 sound/firewire/fireworks/fireworks_command.c 	    (efw->seqnum >= KERNEL_SEQNUM_MAX - 2))
efw               125 sound/firewire/fireworks/fireworks_command.c 		efw->seqnum = KERNEL_SEQNUM_MIN;
efw               127 sound/firewire/fireworks/fireworks_command.c 		efw->seqnum += 2;
efw               128 sound/firewire/fireworks/fireworks_command.c 	seqnum = efw->seqnum;
efw               129 sound/firewire/fireworks/fireworks_command.c 	spin_unlock(&efw->lock);
efw               144 sound/firewire/fireworks/fireworks_command.c 	err = snd_efw_transaction_run(efw->unit, buf, cmd_bytes,
efw               154 sound/firewire/fireworks/fireworks_command.c 		dev_err(&efw->unit->device, "EFW command failed [%u/%u]: %s\n",
efw               181 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_set_resp_addr(struct snd_efw *efw,
efw               189 sound/firewire/fireworks/fireworks_command.c 	if (!efw->resp_addr_changable)
efw               192 sound/firewire/fireworks/fireworks_command.c 	return efw_transaction(efw, EFC_CAT_HWCTL,
efw               202 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_set_tx_mode(struct snd_efw *efw,
efw               206 sound/firewire/fireworks/fireworks_command.c 	return efw_transaction(efw, EFC_CAT_TRANSPORT,
efw               211 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_get_hwinfo(struct snd_efw *efw,
efw               216 sound/firewire/fireworks/fireworks_command.c 	err  = efw_transaction(efw, EFC_CAT_HWINFO,
efw               255 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_get_phys_meters(struct snd_efw *efw,
efw               263 sound/firewire/fireworks/fireworks_command.c 	err = efw_transaction(efw, EFC_CAT_HWINFO,
efw               274 sound/firewire/fireworks/fireworks_command.c command_get_clock(struct snd_efw *efw, struct efc_clock *clock)
efw               278 sound/firewire/fireworks/fireworks_command.c 	err = efw_transaction(efw, EFC_CAT_HWCTL,
efw               293 sound/firewire/fireworks/fireworks_command.c command_set_clock(struct snd_efw *efw,
efw               306 sound/firewire/fireworks/fireworks_command.c 	err = command_get_clock(efw, &clock);
efw               325 sound/firewire/fireworks/fireworks_command.c 	err = efw_transaction(efw, EFC_CAT_HWCTL,
efw               342 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_get_clock_source(struct snd_efw *efw,
efw               348 sound/firewire/fireworks/fireworks_command.c 	err = command_get_clock(efw, &clock);
efw               355 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_get_sampling_rate(struct snd_efw *efw, unsigned int *rate)
efw               360 sound/firewire/fireworks/fireworks_command.c 	err = command_get_clock(efw, &clock);
efw               367 sound/firewire/fireworks/fireworks_command.c int snd_efw_command_set_sampling_rate(struct snd_efw *efw, unsigned int rate)
efw               369 sound/firewire/fireworks/fireworks_command.c 	return command_set_clock(efw, UINT_MAX, rate);
efw                22 sound/firewire/fireworks/fireworks_hwdep.c hwdep_read_resp_buf(struct snd_efw *efw, char __user *buf, long remained,
efw                41 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw                48 sound/firewire/fireworks/fireworks_hwdep.c 	pull_ptr = efw->pull_ptr;
efw                50 sound/firewire/fireworks/fireworks_hwdep.c 	while (efw->push_ptr != pull_ptr) {
efw                61 sound/firewire/fireworks/fireworks_hwdep.c 				(unsigned int)(pull_ptr - efw->resp_buf);
efw                64 sound/firewire/fireworks/fireworks_hwdep.c 			spin_unlock_irq(&efw->lock);
efw                69 sound/firewire/fireworks/fireworks_hwdep.c 			spin_lock_irq(&efw->lock);
efw                72 sound/firewire/fireworks/fireworks_hwdep.c 			if (pull_ptr >= efw->resp_buf + snd_efw_resp_buf_size)
efw                90 sound/firewire/fireworks/fireworks_hwdep.c 	efw->pull_ptr = pull_ptr;
efw                92 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw                98 sound/firewire/fireworks/fireworks_hwdep.c hwdep_read_locked(struct snd_efw *efw, char __user *buf, long count,
efw               105 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw               107 sound/firewire/fireworks/fireworks_hwdep.c 	event.lock_status.status = (efw->dev_lock_count > 0);
efw               108 sound/firewire/fireworks/fireworks_hwdep.c 	efw->dev_lock_changed = false;
efw               110 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw               124 sound/firewire/fireworks/fireworks_hwdep.c 	struct snd_efw *efw = hwdep->private_data;
efw               129 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw               131 sound/firewire/fireworks/fireworks_hwdep.c 	dev_lock_changed = efw->dev_lock_changed;
efw               132 sound/firewire/fireworks/fireworks_hwdep.c 	queued = efw->push_ptr != efw->pull_ptr;
efw               135 sound/firewire/fireworks/fireworks_hwdep.c 		prepare_to_wait(&efw->hwdep_wait, &wait, TASK_INTERRUPTIBLE);
efw               136 sound/firewire/fireworks/fireworks_hwdep.c 		spin_unlock_irq(&efw->lock);
efw               138 sound/firewire/fireworks/fireworks_hwdep.c 		finish_wait(&efw->hwdep_wait, &wait);
efw               141 sound/firewire/fireworks/fireworks_hwdep.c 		spin_lock_irq(&efw->lock);
efw               142 sound/firewire/fireworks/fireworks_hwdep.c 		dev_lock_changed = efw->dev_lock_changed;
efw               143 sound/firewire/fireworks/fireworks_hwdep.c 		queued = efw->push_ptr != efw->pull_ptr;
efw               146 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw               149 sound/firewire/fireworks/fireworks_hwdep.c 		count = hwdep_read_locked(efw, buf, count, offset);
efw               151 sound/firewire/fireworks/fireworks_hwdep.c 		count = hwdep_read_resp_buf(efw, buf, count, offset);
efw               160 sound/firewire/fireworks/fireworks_hwdep.c 	struct snd_efw *efw = hwdep->private_data;
efw               179 sound/firewire/fireworks/fireworks_hwdep.c 	if (snd_efw_transaction_cmd(efw->unit, buf, count) < 0)
efw               189 sound/firewire/fireworks/fireworks_hwdep.c 	struct snd_efw *efw = hwdep->private_data;
efw               192 sound/firewire/fireworks/fireworks_hwdep.c 	poll_wait(file, &efw->hwdep_wait, wait);
efw               194 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw               195 sound/firewire/fireworks/fireworks_hwdep.c 	if (efw->dev_lock_changed || efw->pull_ptr != efw->push_ptr)
efw               199 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw               205 sound/firewire/fireworks/fireworks_hwdep.c hwdep_get_info(struct snd_efw *efw, void __user *arg)
efw               207 sound/firewire/fireworks/fireworks_hwdep.c 	struct fw_device *dev = fw_parent_device(efw->unit);
efw               225 sound/firewire/fireworks/fireworks_hwdep.c hwdep_lock(struct snd_efw *efw)
efw               229 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw               231 sound/firewire/fireworks/fireworks_hwdep.c 	if (efw->dev_lock_count == 0) {
efw               232 sound/firewire/fireworks/fireworks_hwdep.c 		efw->dev_lock_count = -1;
efw               238 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw               244 sound/firewire/fireworks/fireworks_hwdep.c hwdep_unlock(struct snd_efw *efw)
efw               248 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw               250 sound/firewire/fireworks/fireworks_hwdep.c 	if (efw->dev_lock_count == -1) {
efw               251 sound/firewire/fireworks/fireworks_hwdep.c 		efw->dev_lock_count = 0;
efw               257 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw               265 sound/firewire/fireworks/fireworks_hwdep.c 	struct snd_efw *efw = hwdep->private_data;
efw               267 sound/firewire/fireworks/fireworks_hwdep.c 	spin_lock_irq(&efw->lock);
efw               268 sound/firewire/fireworks/fireworks_hwdep.c 	if (efw->dev_lock_count == -1)
efw               269 sound/firewire/fireworks/fireworks_hwdep.c 		efw->dev_lock_count = 0;
efw               270 sound/firewire/fireworks/fireworks_hwdep.c 	spin_unlock_irq(&efw->lock);
efw               279 sound/firewire/fireworks/fireworks_hwdep.c 	struct snd_efw *efw = hwdep->private_data;
efw               283 sound/firewire/fireworks/fireworks_hwdep.c 		return hwdep_get_info(efw, (void __user *)arg);
efw               285 sound/firewire/fireworks/fireworks_hwdep.c 		return hwdep_lock(efw);
efw               287 sound/firewire/fireworks/fireworks_hwdep.c 		return hwdep_unlock(efw);
efw               305 sound/firewire/fireworks/fireworks_hwdep.c int snd_efw_create_hwdep_device(struct snd_efw *efw)
efw               318 sound/firewire/fireworks/fireworks_hwdep.c 	err = snd_hwdep_new(efw->card, "Fireworks", 0, &hwdep);
efw               324 sound/firewire/fireworks/fireworks_hwdep.c 	hwdep->private_data = efw;
efw                12 sound/firewire/fireworks/fireworks_midi.c 	struct snd_efw *efw = substream->rmidi->private_data;
efw                15 sound/firewire/fireworks/fireworks_midi.c 	err = snd_efw_stream_lock_try(efw);
efw                19 sound/firewire/fireworks/fireworks_midi.c 	mutex_lock(&efw->mutex);
efw                20 sound/firewire/fireworks/fireworks_midi.c 	err = snd_efw_stream_reserve_duplex(efw, 0);
efw                22 sound/firewire/fireworks/fireworks_midi.c 		++efw->substreams_counter;
efw                23 sound/firewire/fireworks/fireworks_midi.c 		err = snd_efw_stream_start_duplex(efw);
efw                25 sound/firewire/fireworks/fireworks_midi.c 			--efw->substreams_counter;
efw                27 sound/firewire/fireworks/fireworks_midi.c 	mutex_unlock(&efw->mutex);
efw                29 sound/firewire/fireworks/fireworks_midi.c 		snd_efw_stream_lock_release(efw);
efw                36 sound/firewire/fireworks/fireworks_midi.c 	struct snd_efw *efw = substream->rmidi->private_data;
efw                38 sound/firewire/fireworks/fireworks_midi.c 	mutex_lock(&efw->mutex);
efw                39 sound/firewire/fireworks/fireworks_midi.c 	--efw->substreams_counter;
efw                40 sound/firewire/fireworks/fireworks_midi.c 	snd_efw_stream_stop_duplex(efw);
efw                41 sound/firewire/fireworks/fireworks_midi.c 	mutex_unlock(&efw->mutex);
efw                43 sound/firewire/fireworks/fireworks_midi.c 	snd_efw_stream_lock_release(efw);
efw                49 sound/firewire/fireworks/fireworks_midi.c 	struct snd_efw *efw = substrm->rmidi->private_data;
efw                52 sound/firewire/fireworks/fireworks_midi.c 	spin_lock_irqsave(&efw->lock, flags);
efw                55 sound/firewire/fireworks/fireworks_midi.c 		amdtp_am824_midi_trigger(&efw->tx_stream,
efw                58 sound/firewire/fireworks/fireworks_midi.c 		amdtp_am824_midi_trigger(&efw->tx_stream,
efw                61 sound/firewire/fireworks/fireworks_midi.c 	spin_unlock_irqrestore(&efw->lock, flags);
efw                66 sound/firewire/fireworks/fireworks_midi.c 	struct snd_efw *efw = substrm->rmidi->private_data;
efw                69 sound/firewire/fireworks/fireworks_midi.c 	spin_lock_irqsave(&efw->lock, flags);
efw                72 sound/firewire/fireworks/fireworks_midi.c 		amdtp_am824_midi_trigger(&efw->rx_stream,
efw                75 sound/firewire/fireworks/fireworks_midi.c 		amdtp_am824_midi_trigger(&efw->rx_stream,
efw                78 sound/firewire/fireworks/fireworks_midi.c 	spin_unlock_irqrestore(&efw->lock, flags);
efw                81 sound/firewire/fireworks/fireworks_midi.c static void set_midi_substream_names(struct snd_efw *efw,
efw                88 sound/firewire/fireworks/fireworks_midi.c 			 "%s MIDI %d", efw->card->shortname, subs->number + 1);
efw                92 sound/firewire/fireworks/fireworks_midi.c int snd_efw_create_midi_devices(struct snd_efw *efw)
efw               109 sound/firewire/fireworks/fireworks_midi.c 	err = snd_rawmidi_new(efw->card, efw->card->driver, 0,
efw               110 sound/firewire/fireworks/fireworks_midi.c 			      efw->midi_out_ports, efw->midi_in_ports,
efw               116 sound/firewire/fireworks/fireworks_midi.c 		 "%s MIDI", efw->card->shortname);
efw               117 sound/firewire/fireworks/fireworks_midi.c 	rmidi->private_data = efw;
efw               119 sound/firewire/fireworks/fireworks_midi.c 	if (efw->midi_in_ports > 0) {
efw               127 sound/firewire/fireworks/fireworks_midi.c 		set_midi_substream_names(efw, str);
efw               130 sound/firewire/fireworks/fireworks_midi.c 	if (efw->midi_out_ports > 0) {
efw               138 sound/firewire/fireworks/fireworks_midi.c 		set_midi_substream_names(efw, str);
efw               141 sound/firewire/fireworks/fireworks_midi.c 	if ((efw->midi_out_ports > 0) && (efw->midi_in_ports > 0))
efw               132 sound/firewire/fireworks/fireworks_pcm.c pcm_init_hw_params(struct snd_efw *efw,
efw               142 sound/firewire/fireworks/fireworks_pcm.c 		s = &efw->tx_stream;
efw               143 sound/firewire/fireworks/fireworks_pcm.c 		pcm_channels = efw->pcm_capture_channels;
efw               146 sound/firewire/fireworks/fireworks_pcm.c 		s = &efw->rx_stream;
efw               147 sound/firewire/fireworks/fireworks_pcm.c 		pcm_channels = efw->pcm_playback_channels;
efw               151 sound/firewire/fireworks/fireworks_pcm.c 	runtime->hw.rates = efw->supported_sampling_rate,
efw               175 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               180 sound/firewire/fireworks/fireworks_pcm.c 	err = snd_efw_stream_lock_try(efw);
efw               184 sound/firewire/fireworks/fireworks_pcm.c 	err = pcm_init_hw_params(efw, substream);
efw               188 sound/firewire/fireworks/fireworks_pcm.c 	err = snd_efw_command_get_clock_source(efw, &clock_source);
efw               197 sound/firewire/fireworks/fireworks_pcm.c 	    amdtp_stream_pcm_running(&efw->tx_stream) ||
efw               198 sound/firewire/fireworks/fireworks_pcm.c 	    amdtp_stream_pcm_running(&efw->rx_stream)) {
efw               199 sound/firewire/fireworks/fireworks_pcm.c 		err = snd_efw_command_get_sampling_rate(efw, &sampling_rate);
efw               210 sound/firewire/fireworks/fireworks_pcm.c 	snd_efw_stream_lock_release(efw);
efw               216 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               217 sound/firewire/fireworks/fireworks_pcm.c 	snd_efw_stream_lock_release(efw);
efw               224 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               235 sound/firewire/fireworks/fireworks_pcm.c 		mutex_lock(&efw->mutex);
efw               236 sound/firewire/fireworks/fireworks_pcm.c 		err = snd_efw_stream_reserve_duplex(efw, rate);
efw               238 sound/firewire/fireworks/fireworks_pcm.c 			++efw->substreams_counter;
efw               239 sound/firewire/fireworks/fireworks_pcm.c 		mutex_unlock(&efw->mutex);
efw               247 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               249 sound/firewire/fireworks/fireworks_pcm.c 	mutex_lock(&efw->mutex);
efw               252 sound/firewire/fireworks/fireworks_pcm.c 		--efw->substreams_counter;
efw               254 sound/firewire/fireworks/fireworks_pcm.c 	snd_efw_stream_stop_duplex(efw);
efw               256 sound/firewire/fireworks/fireworks_pcm.c 	mutex_unlock(&efw->mutex);
efw               263 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               266 sound/firewire/fireworks/fireworks_pcm.c 	err = snd_efw_stream_start_duplex(efw);
efw               268 sound/firewire/fireworks/fireworks_pcm.c 		amdtp_stream_pcm_prepare(&efw->tx_stream);
efw               274 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               277 sound/firewire/fireworks/fireworks_pcm.c 	err = snd_efw_stream_start_duplex(efw);
efw               279 sound/firewire/fireworks/fireworks_pcm.c 		amdtp_stream_pcm_prepare(&efw->rx_stream);
efw               286 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               290 sound/firewire/fireworks/fireworks_pcm.c 		amdtp_stream_pcm_trigger(&efw->tx_stream, substream);
efw               293 sound/firewire/fireworks/fireworks_pcm.c 		amdtp_stream_pcm_trigger(&efw->tx_stream, NULL);
efw               303 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               307 sound/firewire/fireworks/fireworks_pcm.c 		amdtp_stream_pcm_trigger(&efw->rx_stream, substream);
efw               310 sound/firewire/fireworks/fireworks_pcm.c 		amdtp_stream_pcm_trigger(&efw->rx_stream, NULL);
efw               321 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = sbstrm->private_data;
efw               322 sound/firewire/fireworks/fireworks_pcm.c 	return amdtp_stream_pcm_pointer(&efw->tx_stream);
efw               326 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = sbstrm->private_data;
efw               327 sound/firewire/fireworks/fireworks_pcm.c 	return amdtp_stream_pcm_pointer(&efw->rx_stream);
efw               332 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               334 sound/firewire/fireworks/fireworks_pcm.c 	return amdtp_stream_pcm_ack(&efw->tx_stream);
efw               339 sound/firewire/fireworks/fireworks_pcm.c 	struct snd_efw *efw = substream->private_data;
efw               341 sound/firewire/fireworks/fireworks_pcm.c 	return amdtp_stream_pcm_ack(&efw->rx_stream);
efw               344 sound/firewire/fireworks/fireworks_pcm.c int snd_efw_create_pcm_devices(struct snd_efw *efw)
efw               373 sound/firewire/fireworks/fireworks_pcm.c 	err = snd_pcm_new(efw->card, efw->card->driver, 0, 1, 1, &pcm);
efw               377 sound/firewire/fireworks/fireworks_pcm.c 	pcm->private_data = efw;
efw               378 sound/firewire/fireworks/fireworks_pcm.c 	snprintf(pcm->name, sizeof(pcm->name), "%s PCM", efw->card->shortname);
efw                30 sound/firewire/fireworks/fireworks_proc.c 	struct snd_efw *efw = entry->private_data;
efw                38 sound/firewire/fireworks/fireworks_proc.c 	if (snd_efw_command_get_hwinfo(efw, hwinfo) < 0)
efw               107 sound/firewire/fireworks/fireworks_proc.c 	struct snd_efw *efw = entry->private_data;
efw               111 sound/firewire/fireworks/fireworks_proc.c 	if (snd_efw_command_get_clock_source(efw, &clock_source) < 0)
efw               114 sound/firewire/fireworks/fireworks_proc.c 	if (snd_efw_command_get_sampling_rate(efw, &sampling_rate) < 0)
efw               130 sound/firewire/fireworks/fireworks_proc.c 	struct snd_efw *efw = entry->private_data;
efw               138 sound/firewire/fireworks/fireworks_proc.c 	       (efw->phys_in + efw->phys_out) * sizeof(u32);
efw               143 sound/firewire/fireworks/fireworks_proc.c 	err = snd_efw_command_get_phys_meters(efw, meters, size);
efw               150 sound/firewire/fireworks/fireworks_proc.c 	max = min(efw->phys_out, meters->out_meters);
efw               153 sound/firewire/fireworks/fireworks_proc.c 	for (g = 0; g < efw->phys_out_grp_count; g++) {
efw               154 sound/firewire/fireworks/fireworks_proc.c 		name = get_phys_name(&efw->phys_out_grps[g], false);
efw               155 sound/firewire/fireworks/fireworks_proc.c 		for (c = 0; c < efw->phys_out_grps[g].count; c++) {
efw               163 sound/firewire/fireworks/fireworks_proc.c 	max = min(efw->phys_in, meters->in_meters);
efw               166 sound/firewire/fireworks/fireworks_proc.c 	for (g = 0; g < efw->phys_in_grp_count; g++) {
efw               167 sound/firewire/fireworks/fireworks_proc.c 		name = get_phys_name(&efw->phys_in_grps[g], true);
efw               168 sound/firewire/fireworks/fireworks_proc.c 		for (c = 0; c < efw->phys_in_grps[g].count; c++)
efw               181 sound/firewire/fireworks/fireworks_proc.c 	struct snd_efw *efw = entry->private_data;
efw               184 sound/firewire/fireworks/fireworks_proc.c 	if (efw->pull_ptr > efw->push_ptr)
efw               186 sound/firewire/fireworks/fireworks_proc.c 			   (unsigned int)(efw->pull_ptr - efw->push_ptr);
efw               188 sound/firewire/fireworks/fireworks_proc.c 		consumed = (unsigned int)(efw->push_ptr - efw->pull_ptr);
efw               195 sound/firewire/fireworks/fireworks_proc.c add_node(struct snd_efw *efw, struct snd_info_entry *root, const char *name,
efw               200 sound/firewire/fireworks/fireworks_proc.c 	entry = snd_info_create_card_entry(efw->card, name, root);
efw               202 sound/firewire/fireworks/fireworks_proc.c 		snd_info_set_text_ops(entry, efw, op);
efw               205 sound/firewire/fireworks/fireworks_proc.c void snd_efw_proc_init(struct snd_efw *efw)
efw               213 sound/firewire/fireworks/fireworks_proc.c 	root = snd_info_create_card_entry(efw->card, "firewire",
efw               214 sound/firewire/fireworks/fireworks_proc.c 					  efw->card->proc_root);
efw               219 sound/firewire/fireworks/fireworks_proc.c 	add_node(efw, root, "clock", proc_read_clock);
efw               220 sound/firewire/fireworks/fireworks_proc.c 	add_node(efw, root, "firmware", proc_read_hwinfo);
efw               221 sound/firewire/fireworks/fireworks_proc.c 	add_node(efw, root, "meters", proc_read_phys_meters);
efw               222 sound/firewire/fireworks/fireworks_proc.c 	add_node(efw, root, "queues", proc_read_queues_state);
efw                11 sound/firewire/fireworks/fireworks_stream.c static int init_stream(struct snd_efw *efw, struct amdtp_stream *stream)
efw                18 sound/firewire/fireworks/fireworks_stream.c 	if (stream == &efw->tx_stream) {
efw                19 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->out_conn;
efw                23 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->in_conn;
efw                28 sound/firewire/fireworks/fireworks_stream.c 	err = cmp_connection_init(conn, efw->unit, c_dir, 0);
efw                32 sound/firewire/fireworks/fireworks_stream.c 	err = amdtp_am824_init(stream, efw->unit, s_dir, CIP_BLOCKING);
efw                39 sound/firewire/fireworks/fireworks_stream.c 	if (stream == &efw->tx_stream) {
efw                41 sound/firewire/fireworks/fireworks_stream.c 		efw->tx_stream.flags |= CIP_EMPTY_WITH_TAG0;
efw                43 sound/firewire/fireworks/fireworks_stream.c 		efw->tx_stream.flags |= CIP_DBC_IS_END_EVENT;
efw                45 sound/firewire/fireworks/fireworks_stream.c 		efw->tx_stream.flags |= CIP_SKIP_DBC_ZERO_CHECK;
efw                48 sound/firewire/fireworks/fireworks_stream.c 		if (efw->is_fireworks3 &&
efw                49 sound/firewire/fireworks/fireworks_stream.c 		    (efw->firmware_version == 0x5070000 ||
efw                50 sound/firewire/fireworks/fireworks_stream.c 		     efw->firmware_version == 0x5070300 ||
efw                51 sound/firewire/fireworks/fireworks_stream.c 		     efw->firmware_version == 0x5080000))
efw                52 sound/firewire/fireworks/fireworks_stream.c 			efw->tx_stream.flags |= CIP_UNALIGHED_DBC;
efw                54 sound/firewire/fireworks/fireworks_stream.c 		if (efw->is_af9)
efw                55 sound/firewire/fireworks/fireworks_stream.c 			efw->tx_stream.flags |= CIP_WRONG_DBS;
efw                57 sound/firewire/fireworks/fireworks_stream.c 		if (efw->firmware_version == 0x5050000)
efw                58 sound/firewire/fireworks/fireworks_stream.c 			efw->tx_stream.ctx_data.tx.dbc_interval = 8;
efw                64 sound/firewire/fireworks/fireworks_stream.c static int start_stream(struct snd_efw *efw, struct amdtp_stream *stream,
efw                70 sound/firewire/fireworks/fireworks_stream.c 	if (stream == &efw->tx_stream)
efw                71 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->out_conn;
efw                73 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->in_conn;
efw                81 sound/firewire/fireworks/fireworks_stream.c 	err = amdtp_domain_add_stream(&efw->domain, stream,
efw                93 sound/firewire/fireworks/fireworks_stream.c static void destroy_stream(struct snd_efw *efw, struct amdtp_stream *stream)
efw                97 sound/firewire/fireworks/fireworks_stream.c 	if (stream == &efw->tx_stream)
efw                98 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_destroy(&efw->out_conn);
efw               100 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_destroy(&efw->in_conn);
efw               104 sound/firewire/fireworks/fireworks_stream.c check_connection_used_by_others(struct snd_efw *efw, struct amdtp_stream *s)
efw               110 sound/firewire/fireworks/fireworks_stream.c 	if (s == &efw->tx_stream)
efw               111 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->out_conn;
efw               113 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->in_conn;
efw               117 sound/firewire/fireworks/fireworks_stream.c 		dev_err(&efw->unit->device,
efw               127 sound/firewire/fireworks/fireworks_stream.c int snd_efw_stream_init_duplex(struct snd_efw *efw)
efw               131 sound/firewire/fireworks/fireworks_stream.c 	err = init_stream(efw, &efw->tx_stream);
efw               135 sound/firewire/fireworks/fireworks_stream.c 	err = init_stream(efw, &efw->rx_stream);
efw               137 sound/firewire/fireworks/fireworks_stream.c 		destroy_stream(efw, &efw->tx_stream);
efw               141 sound/firewire/fireworks/fireworks_stream.c 	err = amdtp_domain_init(&efw->domain);
efw               143 sound/firewire/fireworks/fireworks_stream.c 		destroy_stream(efw, &efw->tx_stream);
efw               144 sound/firewire/fireworks/fireworks_stream.c 		destroy_stream(efw, &efw->rx_stream);
efw               149 sound/firewire/fireworks/fireworks_stream.c 	err = snd_efw_command_set_tx_mode(efw, SND_EFW_TRANSPORT_MODE_IEC61883);
efw               151 sound/firewire/fireworks/fireworks_stream.c 		destroy_stream(efw, &efw->tx_stream);
efw               152 sound/firewire/fireworks/fireworks_stream.c 		destroy_stream(efw, &efw->rx_stream);
efw               158 sound/firewire/fireworks/fireworks_stream.c static int keep_resources(struct snd_efw *efw, struct amdtp_stream *stream,
efw               166 sound/firewire/fireworks/fireworks_stream.c 	if (stream == &efw->tx_stream) {
efw               167 sound/firewire/fireworks/fireworks_stream.c 		pcm_channels = efw->pcm_capture_channels[mode];
efw               168 sound/firewire/fireworks/fireworks_stream.c 		midi_ports = efw->midi_out_ports;
efw               169 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->out_conn;
efw               171 sound/firewire/fireworks/fireworks_stream.c 		pcm_channels = efw->pcm_playback_channels[mode];
efw               172 sound/firewire/fireworks/fireworks_stream.c 		midi_ports = efw->midi_in_ports;
efw               173 sound/firewire/fireworks/fireworks_stream.c 		conn = &efw->in_conn;
efw               184 sound/firewire/fireworks/fireworks_stream.c int snd_efw_stream_reserve_duplex(struct snd_efw *efw, unsigned int rate)
efw               191 sound/firewire/fireworks/fireworks_stream.c 	err = check_connection_used_by_others(efw, &efw->rx_stream);
efw               196 sound/firewire/fireworks/fireworks_stream.c 	err = snd_efw_command_get_sampling_rate(efw, &curr_rate);
efw               202 sound/firewire/fireworks/fireworks_stream.c 		amdtp_domain_stop(&efw->domain);
efw               204 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_break(&efw->out_conn);
efw               205 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_break(&efw->in_conn);
efw               207 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_release(&efw->out_conn);
efw               208 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_release(&efw->in_conn);
efw               211 sound/firewire/fireworks/fireworks_stream.c 	if (efw->substreams_counter == 0 || rate != curr_rate) {
efw               214 sound/firewire/fireworks/fireworks_stream.c 		err = snd_efw_command_set_sampling_rate(efw, rate);
efw               222 sound/firewire/fireworks/fireworks_stream.c 		err = keep_resources(efw, &efw->tx_stream, rate, mode);
efw               226 sound/firewire/fireworks/fireworks_stream.c 		err = keep_resources(efw, &efw->rx_stream, rate, mode);
efw               228 sound/firewire/fireworks/fireworks_stream.c 			cmp_connection_release(&efw->in_conn);
efw               236 sound/firewire/fireworks/fireworks_stream.c int snd_efw_stream_start_duplex(struct snd_efw *efw)
efw               242 sound/firewire/fireworks/fireworks_stream.c 	if (efw->substreams_counter == 0)
efw               245 sound/firewire/fireworks/fireworks_stream.c 	if (amdtp_streaming_error(&efw->rx_stream) ||
efw               246 sound/firewire/fireworks/fireworks_stream.c 	    amdtp_streaming_error(&efw->tx_stream)) {
efw               247 sound/firewire/fireworks/fireworks_stream.c 		amdtp_domain_stop(&efw->domain);
efw               248 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_break(&efw->out_conn);
efw               249 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_break(&efw->in_conn);
efw               252 sound/firewire/fireworks/fireworks_stream.c 	err = snd_efw_command_get_sampling_rate(efw, &rate);
efw               256 sound/firewire/fireworks/fireworks_stream.c 	if (!amdtp_stream_running(&efw->rx_stream)) {
efw               257 sound/firewire/fireworks/fireworks_stream.c 		err = start_stream(efw, &efw->rx_stream, rate);
efw               261 sound/firewire/fireworks/fireworks_stream.c 		err = start_stream(efw, &efw->tx_stream, rate);
efw               265 sound/firewire/fireworks/fireworks_stream.c 		err = amdtp_domain_start(&efw->domain);
efw               270 sound/firewire/fireworks/fireworks_stream.c 		if (!amdtp_stream_wait_callback(&efw->rx_stream,
efw               272 sound/firewire/fireworks/fireworks_stream.c 		    !amdtp_stream_wait_callback(&efw->tx_stream,
efw               281 sound/firewire/fireworks/fireworks_stream.c 	amdtp_domain_stop(&efw->domain);
efw               283 sound/firewire/fireworks/fireworks_stream.c 	cmp_connection_break(&efw->out_conn);
efw               284 sound/firewire/fireworks/fireworks_stream.c 	cmp_connection_break(&efw->in_conn);
efw               289 sound/firewire/fireworks/fireworks_stream.c void snd_efw_stream_stop_duplex(struct snd_efw *efw)
efw               291 sound/firewire/fireworks/fireworks_stream.c 	if (efw->substreams_counter == 0) {
efw               292 sound/firewire/fireworks/fireworks_stream.c 		amdtp_domain_stop(&efw->domain);
efw               294 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_break(&efw->out_conn);
efw               295 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_break(&efw->in_conn);
efw               297 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_release(&efw->out_conn);
efw               298 sound/firewire/fireworks/fireworks_stream.c 		cmp_connection_release(&efw->in_conn);
efw               302 sound/firewire/fireworks/fireworks_stream.c void snd_efw_stream_update_duplex(struct snd_efw *efw)
efw               304 sound/firewire/fireworks/fireworks_stream.c 	amdtp_domain_stop(&efw->domain);
efw               306 sound/firewire/fireworks/fireworks_stream.c 	cmp_connection_break(&efw->out_conn);
efw               307 sound/firewire/fireworks/fireworks_stream.c 	cmp_connection_break(&efw->in_conn);
efw               309 sound/firewire/fireworks/fireworks_stream.c 	amdtp_stream_pcm_abort(&efw->rx_stream);
efw               310 sound/firewire/fireworks/fireworks_stream.c 	amdtp_stream_pcm_abort(&efw->tx_stream);
efw               313 sound/firewire/fireworks/fireworks_stream.c void snd_efw_stream_destroy_duplex(struct snd_efw *efw)
efw               315 sound/firewire/fireworks/fireworks_stream.c 	amdtp_domain_destroy(&efw->domain);
efw               317 sound/firewire/fireworks/fireworks_stream.c 	destroy_stream(efw, &efw->rx_stream);
efw               318 sound/firewire/fireworks/fireworks_stream.c 	destroy_stream(efw, &efw->tx_stream);
efw               321 sound/firewire/fireworks/fireworks_stream.c void snd_efw_stream_lock_changed(struct snd_efw *efw)
efw               323 sound/firewire/fireworks/fireworks_stream.c 	efw->dev_lock_changed = true;
efw               324 sound/firewire/fireworks/fireworks_stream.c 	wake_up(&efw->hwdep_wait);
efw               327 sound/firewire/fireworks/fireworks_stream.c int snd_efw_stream_lock_try(struct snd_efw *efw)
efw               331 sound/firewire/fireworks/fireworks_stream.c 	spin_lock_irq(&efw->lock);
efw               334 sound/firewire/fireworks/fireworks_stream.c 	if (efw->dev_lock_count < 0) {
efw               340 sound/firewire/fireworks/fireworks_stream.c 	if (efw->dev_lock_count++ == 0)
efw               341 sound/firewire/fireworks/fireworks_stream.c 		snd_efw_stream_lock_changed(efw);
efw               344 sound/firewire/fireworks/fireworks_stream.c 	spin_unlock_irq(&efw->lock);
efw               348 sound/firewire/fireworks/fireworks_stream.c void snd_efw_stream_lock_release(struct snd_efw *efw)
efw               350 sound/firewire/fireworks/fireworks_stream.c 	spin_lock_irq(&efw->lock);
efw               352 sound/firewire/fireworks/fireworks_stream.c 	if (WARN_ON(efw->dev_lock_count <= 0))
efw               354 sound/firewire/fireworks/fireworks_stream.c 	if (--efw->dev_lock_count == 0)
efw               355 sound/firewire/fireworks/fireworks_stream.c 		snd_efw_stream_lock_changed(efw);
efw               357 sound/firewire/fireworks/fireworks_stream.c 	spin_unlock_irq(&efw->lock);
efw               118 sound/firewire/fireworks/fireworks_transaction.c copy_resp_to_buf(struct snd_efw *efw, void *data, size_t length, int *rcode)
efw               126 sound/firewire/fireworks/fireworks_transaction.c 	spin_lock_irq(&efw->lock);
efw               128 sound/firewire/fireworks/fireworks_transaction.c 	if (efw->push_ptr < efw->pull_ptr)
efw               129 sound/firewire/fireworks/fireworks_transaction.c 		capacity = (unsigned int)(efw->pull_ptr - efw->push_ptr);
efw               132 sound/firewire/fireworks/fireworks_transaction.c 			   (unsigned int)(efw->push_ptr - efw->pull_ptr);
efw               143 sound/firewire/fireworks/fireworks_transaction.c 			   (unsigned int)(efw->push_ptr - efw->resp_buf);
efw               146 sound/firewire/fireworks/fireworks_transaction.c 		memcpy(efw->push_ptr, data, till_end);
efw               148 sound/firewire/fireworks/fireworks_transaction.c 		efw->push_ptr += till_end;
efw               149 sound/firewire/fireworks/fireworks_transaction.c 		if (efw->push_ptr >= efw->resp_buf + snd_efw_resp_buf_size)
efw               150 sound/firewire/fireworks/fireworks_transaction.c 			efw->push_ptr -= snd_efw_resp_buf_size;
efw               157 sound/firewire/fireworks/fireworks_transaction.c 	wake_up(&efw->hwdep_wait);
efw               161 sound/firewire/fireworks/fireworks_transaction.c 	spin_unlock_irq(&efw->lock);
efw               169 sound/firewire/fireworks/fireworks_transaction.c 	struct snd_efw *efw;
efw               175 sound/firewire/fireworks/fireworks_transaction.c 		efw = instances[i];
efw               176 sound/firewire/fireworks/fireworks_transaction.c 		if (efw == NULL)
efw               178 sound/firewire/fireworks/fireworks_transaction.c 		device = fw_parent_device(efw->unit);
efw               191 sound/firewire/fireworks/fireworks_transaction.c 	copy_resp_to_buf(efw, data, length, rcode);
efw               258 sound/firewire/fireworks/fireworks_transaction.c void snd_efw_transaction_add_instance(struct snd_efw *efw)
efw               267 sound/firewire/fireworks/fireworks_transaction.c 		instances[i] = efw;
efw               274 sound/firewire/fireworks/fireworks_transaction.c void snd_efw_transaction_remove_instance(struct snd_efw *efw)
efw               281 sound/firewire/fireworks/fireworks_transaction.c 		if (instances[i] != efw)