Lines Matching defs:mts

64 static int snd_mts64_free(struct mts64 *mts)
66 kfree(mts);
74 struct mts64 *mts;
78 mts = kzalloc(sizeof(struct mts64), GFP_KERNEL);
79 if (mts == NULL)
83 spin_lock_init(&mts->lock);
84 mts->card = card;
85 mts->pardev = pardev;
86 mts->current_midi_output_port = -1;
87 mts->current_midi_input_port = -1;
89 *rchip = mts;
131 static int mts64_device_open(struct mts64 *mts);
132 static int mts64_device_close(struct mts64 *mts);
144 static void mts64_write_midi(struct mts64 *mts, u8 c, int midiport);
224 static int mts64_device_open(struct mts64 *mts)
227 struct parport *p = mts->pardev->port;
238 static int mts64_device_close(struct mts64 *mts)
241 struct parport *p = mts->pardev->port;
410 static void mts64_write_midi(struct mts64 *mts, u8 c,
413 struct parport *p = mts->pardev->port;
416 if (mts->current_midi_output_port != midiport)
433 struct mts64 *mts = snd_kcontrol_chip(kctl);
435 spin_lock_irq(&mts->lock);
436 uctl->value.integer.value[0] = mts->smpte_switch;
437 spin_unlock_irq(&mts->lock);
447 struct mts64 *mts = snd_kcontrol_chip(kctl);
451 spin_lock_irq(&mts->lock);
452 if (mts->smpte_switch == val)
456 mts->smpte_switch = val;
457 if (mts->smpte_switch) {
458 mts64_smpte_start(mts->pardev->port,
459 mts->time[0], mts->time[1],
460 mts->time[2], mts->time[3],
461 mts->fps);
463 mts64_smpte_stop(mts->pardev->port);
466 spin_unlock_irq(&mts->lock);
515 struct mts64 *mts = snd_kcontrol_chip(kctl);
518 spin_lock_irq(&mts->lock);
519 uctl->value.integer.value[0] = mts->time[idx];
520 spin_unlock_irq(&mts->lock);
528 struct mts64 *mts = snd_kcontrol_chip(kctl);
533 spin_lock_irq(&mts->lock);
534 if (mts->time[idx] != time) {
536 mts->time[idx] = time;
538 spin_unlock_irq(&mts->lock);
601 struct mts64 *mts = snd_kcontrol_chip(kctl);
603 spin_lock_irq(&mts->lock);
604 uctl->value.enumerated.item[0] = mts->fps;
605 spin_unlock_irq(&mts->lock);
613 struct mts64 *mts = snd_kcontrol_chip(kctl);
618 spin_lock_irq(&mts->lock);
619 if (mts->fps != uctl->value.enumerated.item[0]) {
621 mts->fps = uctl->value.enumerated.item[0];
623 spin_unlock_irq(&mts->lock);
641 struct mts64 *mts)
654 err = snd_ctl_add(card, snd_ctl_new1(control[i], mts));
672 struct mts64 *mts = substream->rmidi->private_data;
674 if (mts->open_count == 0) {
678 mts64_device_open(mts);
682 ++(mts->open_count);
689 struct mts64 *mts = substream->rmidi->private_data;
692 --(mts->open_count);
693 if (mts->open_count == 0) {
696 spin_lock_irqsave(&mts->lock, flags);
697 mts64_device_close(mts);
698 spin_unlock_irqrestore(&mts->lock, flags);
702 } else if (mts->open_count < 0)
703 mts->open_count = 0;
711 struct mts64 *mts = substream->rmidi->private_data;
715 spin_lock_irqsave(&mts->lock, flags);
717 mts64_write_midi(mts, data, substream->number+1);
720 spin_unlock_irqrestore(&mts->lock, flags);
726 struct mts64 *mts = substream->rmidi->private_data;
729 spin_lock_irqsave(&mts->lock, flags);
731 mts->mode[substream->number] |= MTS64_MODE_INPUT_TRIGGERED;
733 mts->mode[substream->number] &= ~MTS64_MODE_INPUT_TRIGGERED;
735 spin_unlock_irqrestore(&mts->lock, flags);
753 struct mts64 *mts = card->private_data;
766 rmidi->private_data = mts;
772 mts->rmidi = rmidi;
792 mts->midi_input_substream[substream->number] = substream;
804 err = snd_mts64_ctl_create(card, mts);
814 struct mts64 *mts = ((struct snd_card*)private)->private_data;
819 if (!mts)
822 spin_lock(&mts->lock);
823 ret = mts64_read(mts->pardev->port);
828 mts->current_midi_input_port = mts64_map_midi_input(data);
830 if (mts->current_midi_input_port == -1)
832 substream = mts->midi_input_substream[mts->current_midi_input_port];
833 if (mts->mode[substream->number] & MTS64_MODE_INPUT_TRIGGERED)
837 spin_unlock(&mts->lock);
894 struct mts64 *mts = card->private_data;
895 struct pardevice *pardev = mts->pardev;
902 snd_mts64_free(mts);
911 struct mts64 *mts = NULL;
957 if ((err = snd_mts64_create(card, pardev, &mts)) < 0) {
961 card->private_data = mts;