Lines Matching refs:mtp_card

270 static void snd_mtpav_output_port_write(struct mtpav *mtp_card,  in snd_mtpav_output_port_write()  argument
283 if (portp->hwport != mtp_card->outmidihwport) { in snd_mtpav_output_port_write()
284 mtp_card->outmidihwport = portp->hwport; in snd_mtpav_output_port_write()
286 snd_mtpav_send_byte(mtp_card, 0xf5); in snd_mtpav_output_port_write()
287 snd_mtpav_send_byte(mtp_card, portp->hwport); in snd_mtpav_output_port_write()
293 snd_mtpav_send_byte(mtp_card, portp->running_status); in snd_mtpav_output_port_write()
302 snd_mtpav_send_byte(mtp_card, outbyte); in snd_mtpav_output_port_write()
308 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_output_write() local
309 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_output_write()
312 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_output_write()
313 snd_mtpav_output_port_write(mtp_card, portp, substream); in snd_mtpav_output_write()
314 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_output_write()
338 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_input_open() local
339 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_input_open()
342 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_input_open()
345 if (mtp_card->share_irq++ == 0) in snd_mtpav_input_open()
346 snd_mtpav_mputreg(mtp_card, CREG, (SIGC_INTEN | SIGC_WRITE)); // enable pport interrupts in snd_mtpav_input_open()
347 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_input_open()
356 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_input_close() local
357 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_input_close()
360 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_input_close()
363 if (--mtp_card->share_irq == 0) in snd_mtpav_input_close()
364 snd_mtpav_mputreg(mtp_card, CREG, 0); // disable pport interrupts in snd_mtpav_input_close()
365 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_input_close()
374 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_input_trigger() local
375 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_input_trigger()
378 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_input_trigger()
383 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_input_trigger()
427 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_output_open() local
428 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_output_open()
431 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_output_open()
434 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_output_open()
443 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_output_close() local
444 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_output_close()
447 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_output_close()
450 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_output_close()
459 struct mtpav *mtp_card = substream->rmidi->private_data; in snd_mtpav_output_trigger() local
460 struct mtpav_port *portp = &mtp_card->ports[substream->number]; in snd_mtpav_output_trigger()
463 spin_lock_irqsave(&mtp_card->spinlock, flags); in snd_mtpav_output_trigger()
466 if (mtp_card->istimer++ == 0) in snd_mtpav_output_trigger()
467 snd_mtpav_add_output_timer(mtp_card); in snd_mtpav_output_trigger()
472 if (--mtp_card->istimer == 0) in snd_mtpav_output_trigger()
473 snd_mtpav_remove_output_timer(mtp_card); in snd_mtpav_output_trigger()
475 spin_unlock_irqrestore(&mtp_card->spinlock, flags); in snd_mtpav_output_trigger()
680 struct mtpav *mtp_card; in snd_mtpav_probe() local
683 sizeof(*mtp_card), &card); in snd_mtpav_probe()
687 mtp_card = card->private_data; in snd_mtpav_probe()
688 spin_lock_init(&mtp_card->spinlock); in snd_mtpav_probe()
689 mtp_card->card = card; in snd_mtpav_probe()
690 mtp_card->irq = -1; in snd_mtpav_probe()
691 mtp_card->share_irq = 0; in snd_mtpav_probe()
692 mtp_card->inmidistate = 0; in snd_mtpav_probe()
693 mtp_card->outmidihwport = 0xffffffff; in snd_mtpav_probe()
694 timer_setup(&mtp_card->timer, snd_mtpav_output_timer, 0); in snd_mtpav_probe()
696 err = snd_mtpav_get_RAWMIDI(mtp_card); in snd_mtpav_probe()
700 mtp_card->inmidiport = mtp_card->num_ports + MTPAV_PIDX_BROADCAST; in snd_mtpav_probe()
702 err = snd_mtpav_get_ISA(mtp_card); in snd_mtpav_probe()
711 snd_mtpav_portscan(mtp_card); in snd_mtpav_probe()
713 err = snd_card_register(mtp_card->card); in snd_mtpav_probe()