Lines Matching refs:mts

63 static int snd_mts64_free(struct mts64 *mts)  in snd_mts64_free()  argument
65 kfree(mts); in snd_mts64_free()
73 struct mts64 *mts; in snd_mts64_create() local
77 mts = kzalloc(sizeof(struct mts64), GFP_KERNEL); in snd_mts64_create()
78 if (mts == NULL) in snd_mts64_create()
82 spin_lock_init(&mts->lock); in snd_mts64_create()
83 mts->card = card; in snd_mts64_create()
84 mts->pardev = pardev; in snd_mts64_create()
85 mts->current_midi_output_port = -1; in snd_mts64_create()
86 mts->current_midi_input_port = -1; in snd_mts64_create()
88 *rchip = mts; in snd_mts64_create()
130 static int mts64_device_open(struct mts64 *mts);
131 static int mts64_device_close(struct mts64 *mts);
143 static void mts64_write_midi(struct mts64 *mts, u8 c, int midiport);
223 static int mts64_device_open(struct mts64 *mts) in mts64_device_open() argument
226 struct parport *p = mts->pardev->port; in mts64_device_open()
237 static int mts64_device_close(struct mts64 *mts) in mts64_device_close() argument
240 struct parport *p = mts->pardev->port; in mts64_device_close()
409 static void mts64_write_midi(struct mts64 *mts, u8 c, in mts64_write_midi() argument
412 struct parport *p = mts->pardev->port; in mts64_write_midi()
415 if (mts->current_midi_output_port != midiport) in mts64_write_midi()
432 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_switch_get() local
434 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_get()
435 uctl->value.integer.value[0] = mts->smpte_switch; in snd_mts64_ctl_smpte_switch_get()
436 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_get()
446 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_switch_put() local
450 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_put()
451 if (mts->smpte_switch == val) in snd_mts64_ctl_smpte_switch_put()
455 mts->smpte_switch = val; in snd_mts64_ctl_smpte_switch_put()
456 if (mts->smpte_switch) { in snd_mts64_ctl_smpte_switch_put()
457 mts64_smpte_start(mts->pardev->port, in snd_mts64_ctl_smpte_switch_put()
458 mts->time[0], mts->time[1], in snd_mts64_ctl_smpte_switch_put()
459 mts->time[2], mts->time[3], in snd_mts64_ctl_smpte_switch_put()
460 mts->fps); in snd_mts64_ctl_smpte_switch_put()
462 mts64_smpte_stop(mts->pardev->port); in snd_mts64_ctl_smpte_switch_put()
465 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_switch_put()
514 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_time_get() local
517 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_get()
518 uctl->value.integer.value[0] = mts->time[idx]; in snd_mts64_ctl_smpte_time_get()
519 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_get()
527 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_time_put() local
532 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_put()
533 if (mts->time[idx] != time) { in snd_mts64_ctl_smpte_time_put()
535 mts->time[idx] = time; in snd_mts64_ctl_smpte_time_put()
537 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_time_put()
600 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_fps_get() local
602 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_get()
603 uctl->value.enumerated.item[0] = mts->fps; in snd_mts64_ctl_smpte_fps_get()
604 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_get()
612 struct mts64 *mts = snd_kcontrol_chip(kctl); in snd_mts64_ctl_smpte_fps_put() local
617 spin_lock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_put()
618 if (mts->fps != uctl->value.enumerated.item[0]) { in snd_mts64_ctl_smpte_fps_put()
620 mts->fps = uctl->value.enumerated.item[0]; in snd_mts64_ctl_smpte_fps_put()
622 spin_unlock_irq(&mts->lock); in snd_mts64_ctl_smpte_fps_put()
640 struct mts64 *mts) in snd_mts64_ctl_create() argument
653 err = snd_ctl_add(card, snd_ctl_new1(control[i], mts)); in snd_mts64_ctl_create()
671 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_open() local
673 if (mts->open_count == 0) { in snd_mts64_rawmidi_open()
677 mts64_device_open(mts); in snd_mts64_rawmidi_open()
681 ++(mts->open_count); in snd_mts64_rawmidi_open()
688 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_close() local
691 --(mts->open_count); in snd_mts64_rawmidi_close()
692 if (mts->open_count == 0) { in snd_mts64_rawmidi_close()
695 spin_lock_irqsave(&mts->lock, flags); in snd_mts64_rawmidi_close()
696 mts64_device_close(mts); in snd_mts64_rawmidi_close()
697 spin_unlock_irqrestore(&mts->lock, flags); in snd_mts64_rawmidi_close()
701 } else if (mts->open_count < 0) in snd_mts64_rawmidi_close()
702 mts->open_count = 0; in snd_mts64_rawmidi_close()
710 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_output_trigger() local
714 spin_lock_irqsave(&mts->lock, flags); in snd_mts64_rawmidi_output_trigger()
716 mts64_write_midi(mts, data, substream->number+1); in snd_mts64_rawmidi_output_trigger()
719 spin_unlock_irqrestore(&mts->lock, flags); in snd_mts64_rawmidi_output_trigger()
725 struct mts64 *mts = substream->rmidi->private_data; in snd_mts64_rawmidi_input_trigger() local
728 spin_lock_irqsave(&mts->lock, flags); in snd_mts64_rawmidi_input_trigger()
730 mts->mode[substream->number] |= MTS64_MODE_INPUT_TRIGGERED; in snd_mts64_rawmidi_input_trigger()
732 mts->mode[substream->number] &= ~MTS64_MODE_INPUT_TRIGGERED; in snd_mts64_rawmidi_input_trigger()
734 spin_unlock_irqrestore(&mts->lock, flags); in snd_mts64_rawmidi_input_trigger()
752 struct mts64 *mts = card->private_data; in snd_mts64_rawmidi_create() local
765 rmidi->private_data = mts; in snd_mts64_rawmidi_create()
771 mts->rmidi = rmidi; in snd_mts64_rawmidi_create()
791 mts->midi_input_substream[substream->number] = substream; in snd_mts64_rawmidi_create()
803 err = snd_mts64_ctl_create(card, mts); in snd_mts64_rawmidi_create()
813 struct mts64 *mts = ((struct snd_card*)private)->private_data; in snd_mts64_interrupt() local
818 if (!mts) in snd_mts64_interrupt()
821 spin_lock(&mts->lock); in snd_mts64_interrupt()
822 ret = mts64_read(mts->pardev->port); in snd_mts64_interrupt()
827 mts->current_midi_input_port = mts64_map_midi_input(data); in snd_mts64_interrupt()
829 if (mts->current_midi_input_port == -1) in snd_mts64_interrupt()
831 substream = mts->midi_input_substream[mts->current_midi_input_port]; in snd_mts64_interrupt()
832 if (mts->mode[substream->number] & MTS64_MODE_INPUT_TRIGGERED) in snd_mts64_interrupt()
836 spin_unlock(&mts->lock); in snd_mts64_interrupt()
893 struct mts64 *mts = card->private_data; in snd_mts64_card_private_free() local
894 struct pardevice *pardev = mts->pardev; in snd_mts64_card_private_free()
901 snd_mts64_free(mts); in snd_mts64_card_private_free()
910 struct mts64 *mts = NULL; in snd_mts64_probe() local
956 err = snd_mts64_create(card, pardev, &mts); in snd_mts64_probe()
961 card->private_data = mts; in snd_mts64_probe()