Lines Matching refs:mts

80 static int snd_mts64_free(struct mts64 *mts)  in snd_mts64_free()  argument
82 kfree(mts); in snd_mts64_free()
90 struct mts64 *mts; in snd_mts64_create() local
94 mts = kzalloc(sizeof(struct mts64), GFP_KERNEL); in snd_mts64_create()
95 if (mts == NULL) in snd_mts64_create()
99 spin_lock_init(&mts->lock); in snd_mts64_create()
100 mts->card = card; in snd_mts64_create()
101 mts->pardev = pardev; in snd_mts64_create()
102 mts->current_midi_output_port = -1; in snd_mts64_create()
103 mts->current_midi_input_port = -1; in snd_mts64_create()
105 *rchip = mts; in snd_mts64_create()
147 static int mts64_device_open(struct mts64 *mts);
148 static int mts64_device_close(struct mts64 *mts);
160 static void mts64_write_midi(struct mts64 *mts, u8 c, int midiport);
240 static int mts64_device_open(struct mts64 *mts) in mts64_device_open() argument
243 struct parport *p = mts->pardev->port; in mts64_device_open()
254 static int mts64_device_close(struct mts64 *mts) in mts64_device_close() argument
257 struct parport *p = mts->pardev->port; in mts64_device_close()
426 static void mts64_write_midi(struct mts64 *mts, u8 c, in mts64_write_midi() argument
429 struct parport *p = mts->pardev->port; in mts64_write_midi()
432 if (mts->current_midi_output_port != midiport) in mts64_write_midi()
449 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_switch_get() local
451 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_get()
452 uctl->value.integer.value[0] = mts->smpte_switch; in snd_mts64_ctl_smpte_switch_get()
453 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_get()
463 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_switch_put() local
467 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_put()
468 if (mts->smpte_switch == val) in snd_mts64_ctl_smpte_switch_put()
472 mts->smpte_switch = val; in snd_mts64_ctl_smpte_switch_put()
473 if (mts->smpte_switch) { in snd_mts64_ctl_smpte_switch_put()
474 mts64_smpte_start(mts->pardev->port, in snd_mts64_ctl_smpte_switch_put()
475 mts->time[0], mts->time[1], in snd_mts64_ctl_smpte_switch_put()
476 mts->time[2], mts->time[3], in snd_mts64_ctl_smpte_switch_put()
477 mts->fps); in snd_mts64_ctl_smpte_switch_put()
479 mts64_smpte_stop(mts->pardev->port); in snd_mts64_ctl_smpte_switch_put()
482 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_put()
531 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_time_get() local
534 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_get()
535 uctl->value.integer.value[0] = mts->time[idx]; in snd_mts64_ctl_smpte_time_get()
536 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_get()
544 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_time_put() local
549 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_put()
550 if (mts->time[idx] != time) { in snd_mts64_ctl_smpte_time_put()
552 mts->time[idx] = time; in snd_mts64_ctl_smpte_time_put()
554 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_put()
617 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_fps_get() local
619 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_get()
620 uctl->value.enumerated.item[0] = mts->fps; in snd_mts64_ctl_smpte_fps_get()
621 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_get()
629 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_fps_put() local
634 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_put()
635 if (mts->fps != uctl->value.enumerated.item[0]) { in snd_mts64_ctl_smpte_fps_put()
637 mts->fps = uctl->value.enumerated.item[0]; in snd_mts64_ctl_smpte_fps_put()
639 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_put()
657 struct mts64 *mts) in snd_mts64_ctl_create() argument
670 err = snd_ctl_add(card, snd_ctl_new1(control[i], mts)); in snd_mts64_ctl_create()
688 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_open() local
690 if (mts->open_count == 0) { in snd_mts64_rawmidi_open()
694 mts64_device_open(mts); in snd_mts64_rawmidi_open()
698 ++(mts->open_count); in snd_mts64_rawmidi_open()
705 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_close() local
708 --(mts->open_count); in snd_mts64_rawmidi_close()
709 if (mts->open_count == 0) { in snd_mts64_rawmidi_close()
712 spin_lock_irqsave(&mts->lock, flags); in snd_mts64_rawmidi_close()
713 mts64_device_close(mts); in snd_mts64_rawmidi_close()
714 spin_unlock_irqrestore(&mts->lock, flags); in snd_mts64_rawmidi_close()
718 } else if (mts->open_count < 0) in snd_mts64_rawmidi_close()
719 mts->open_count = 0; in snd_mts64_rawmidi_close()
727 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_output_trigger() local
731 spin_lock_irqsave(&mts->lock, flags); in snd_mts64_rawmidi_output_trigger()
733 mts64_write_midi(mts, data, substream->number+1); in snd_mts64_rawmidi_output_trigger()
736 spin_unlock_irqrestore(&mts->lock, flags); in snd_mts64_rawmidi_output_trigger()
742 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_input_trigger() local
745 spin_lock_irqsave(&mts->lock, flags); in snd_mts64_rawmidi_input_trigger()
747 mts->mode[substream->number] |= MTS64_MODE_INPUT_TRIGGERED; in snd_mts64_rawmidi_input_trigger()
749 mts->mode[substream->number] &= ~MTS64_MODE_INPUT_TRIGGERED; in snd_mts64_rawmidi_input_trigger()
751 spin_unlock_irqrestore(&mts->lock, flags); in snd_mts64_rawmidi_input_trigger()
769 struct mts64 *mts = card->private_data; in snd_mts64_rawmidi_create() local
782 rmidi->private_data = mts; in snd_mts64_rawmidi_create()
788 mts->rmidi = rmidi; in snd_mts64_rawmidi_create()
808 mts->midi_input_substream[substream->number] = substream; in snd_mts64_rawmidi_create()
820 err = snd_mts64_ctl_create(card, mts); in snd_mts64_rawmidi_create()
830 struct mts64 *mts = ((struct snd_card*)private)->private_data; in snd_mts64_interrupt() local
835 spin_lock(&mts->lock); in snd_mts64_interrupt()
836 ret = mts64_read(mts->pardev->port); in snd_mts64_interrupt()
841 mts->current_midi_input_port = mts64_map_midi_input(data); in snd_mts64_interrupt()
843 if (mts->current_midi_input_port == -1) in snd_mts64_interrupt()
845 substream = mts->midi_input_substream[mts->current_midi_input_port]; in snd_mts64_interrupt()
846 if (mts->mode[substream->number] & MTS64_MODE_INPUT_TRIGGERED) in snd_mts64_interrupt()
850 spin_unlock(&mts->lock); in snd_mts64_interrupt()
921 struct mts64 *mts = card->private_data; in snd_mts64_card_private_free() local
922 struct pardevice *pardev = mts->pardev; in snd_mts64_card_private_free()
925 if (mts->pardev_claimed) in snd_mts64_card_private_free()
930 snd_mts64_free(mts); in snd_mts64_card_private_free()
939 struct mts64 *mts = NULL; in snd_mts64_probe() local
976 if ((err = snd_mts64_create(card, pardev, &mts)) < 0) { in snd_mts64_probe()
981 card->private_data = mts; in snd_mts64_probe()
995 mts->pardev_claimed = 1; in snd_mts64_probe()