Lines Matching refs:midi
227 } midi; member
1672 if (s->midi.icnt < MIDIINBUF) { in solo1_handle_midi()
1673 s->midi.ibuf[s->midi.iwr] = ch; in solo1_handle_midi()
1674 s->midi.iwr = (s->midi.iwr + 1) % MIDIINBUF; in solo1_handle_midi()
1675 s->midi.icnt++; in solo1_handle_midi()
1680 wake_up(&s->midi.iwait); in solo1_handle_midi()
1682 while (!(inb(s->mpubase+1) & 0x40) && s->midi.ocnt > 0) { in solo1_handle_midi()
1683 outb(s->midi.obuf[s->midi.ord], s->mpubase); in solo1_handle_midi()
1684 s->midi.ord = (s->midi.ord + 1) % MIDIOUTBUF; in solo1_handle_midi()
1685 s->midi.ocnt--; in solo1_handle_midi()
1686 if (s->midi.ocnt < MIDIOUTBUF-16) in solo1_handle_midi()
1690 wake_up(&s->midi.owait); in solo1_handle_midi()
1720 s->midi.timer.expires = jiffies+1; in solo1_midi_timer()
1721 add_timer(&s->midi.timer); in solo1_midi_timer()
1743 add_wait_queue(&s->midi.iwait, &wait); in solo1_midi_read()
1746 ptr = s->midi.ird; in solo1_midi_read()
1748 if (s->midi.icnt < cnt) in solo1_midi_read()
1749 cnt = s->midi.icnt; in solo1_midi_read()
1769 if (copy_to_user(buffer, s->midi.ibuf + ptr, cnt)) { in solo1_midi_read()
1776 s->midi.ird = ptr; in solo1_midi_read()
1777 s->midi.icnt -= cnt; in solo1_midi_read()
1785 remove_wait_queue(&s->midi.iwait, &wait); in solo1_midi_read()
1806 add_wait_queue(&s->midi.owait, &wait); in solo1_midi_write()
1809 ptr = s->midi.owr; in solo1_midi_write()
1811 if (s->midi.ocnt + cnt > MIDIOUTBUF) in solo1_midi_write()
1812 cnt = MIDIOUTBUF - s->midi.ocnt; in solo1_midi_write()
1834 if (copy_from_user(s->midi.obuf + ptr, buffer, cnt)) { in solo1_midi_write()
1841 s->midi.owr = ptr; in solo1_midi_write()
1842 s->midi.ocnt += cnt; in solo1_midi_write()
1852 remove_wait_queue(&s->midi.owait, &wait); in solo1_midi_write()
1865 poll_wait(file, &s->midi.owait, wait); in solo1_midi_poll()
1867 poll_wait(file, &s->midi.iwait, wait); in solo1_midi_poll()
1870 if (s->midi.icnt > 0) in solo1_midi_poll()
1874 if (s->midi.ocnt < MIDIOUTBUF) in solo1_midi_poll()
1924 s->midi.ird = s->midi.iwr = s->midi.icnt = 0; in solo1_midi_open()
1925 s->midi.ord = s->midi.owr = s->midi.ocnt = 0; in solo1_midi_open()
1930 s->midi.ird = s->midi.iwr = s->midi.icnt = 0; in solo1_midi_open()
1932 init_timer(&s->midi.timer); in solo1_midi_open()
1933 s->midi.timer.expires = jiffies+1; in solo1_midi_open()
1934 s->midi.timer.data = (unsigned long)s; in solo1_midi_open()
1935 s->midi.timer.function = solo1_midi_timer; in solo1_midi_open()
1936 add_timer(&s->midi.timer); in solo1_midi_open()
1939 s->midi.ird = s->midi.iwr = s->midi.icnt = 0; in solo1_midi_open()
1942 s->midi.ord = s->midi.owr = s->midi.ocnt = 0; in solo1_midi_open()
1961 add_wait_queue(&s->midi.owait, &wait); in solo1_midi_release()
1965 count = s->midi.ocnt; in solo1_midi_release()
1977 remove_wait_queue(&s->midi.owait, &wait); in solo1_midi_release()
1985 del_timer(&s->midi.timer); in solo1_midi_release()
2314 init_waitqueue_head(&s->midi.iwait); in solo1_probe()
2315 init_waitqueue_head(&s->midi.owait); in solo1_probe()