Lines Matching refs:hmidi

1852 static int snd_hdspm_midi_output_write (struct hdspm_midi *hmidi)  in snd_hdspm_midi_output_write()  argument
1862 spin_lock_irqsave (&hmidi->lock, flags); in snd_hdspm_midi_output_write()
1863 if (hmidi->output && in snd_hdspm_midi_output_write()
1864 !snd_rawmidi_transmit_empty (hmidi->output)) { in snd_hdspm_midi_output_write()
1865 n_pending = snd_hdspm_midi_output_possible (hmidi->hdspm, in snd_hdspm_midi_output_write()
1866 hmidi->id); in snd_hdspm_midi_output_write()
1871 to_write = snd_rawmidi_transmit (hmidi->output, buf, in snd_hdspm_midi_output_write()
1875 snd_hdspm_midi_write_byte (hmidi->hdspm, in snd_hdspm_midi_output_write()
1876 hmidi->id, in snd_hdspm_midi_output_write()
1881 spin_unlock_irqrestore (&hmidi->lock, flags); in snd_hdspm_midi_output_write()
1885 static int snd_hdspm_midi_input_read (struct hdspm_midi *hmidi) in snd_hdspm_midi_input_read() argument
1894 spin_lock_irqsave (&hmidi->lock, flags); in snd_hdspm_midi_input_read()
1895 n_pending = snd_hdspm_midi_input_available (hmidi->hdspm, hmidi->id); in snd_hdspm_midi_input_read()
1897 if (hmidi->input) { in snd_hdspm_midi_input_read()
1901 buf[i] = snd_hdspm_midi_read_byte (hmidi->hdspm, in snd_hdspm_midi_input_read()
1902 hmidi->id); in snd_hdspm_midi_input_read()
1904 snd_rawmidi_receive (hmidi->input, buf, in snd_hdspm_midi_input_read()
1909 snd_hdspm_midi_read_byte (hmidi->hdspm, in snd_hdspm_midi_input_read()
1910 hmidi->id); in snd_hdspm_midi_input_read()
1913 hmidi->pending = 0; in snd_hdspm_midi_input_read()
1914 spin_unlock_irqrestore(&hmidi->lock, flags); in snd_hdspm_midi_input_read()
1916 spin_lock_irqsave(&hmidi->hdspm->lock, flags); in snd_hdspm_midi_input_read()
1917 hmidi->hdspm->control_register |= hmidi->ie; in snd_hdspm_midi_input_read()
1918 hdspm_write(hmidi->hdspm, HDSPM_controlRegister, in snd_hdspm_midi_input_read()
1919 hmidi->hdspm->control_register); in snd_hdspm_midi_input_read()
1920 spin_unlock_irqrestore(&hmidi->hdspm->lock, flags); in snd_hdspm_midi_input_read()
1922 return snd_hdspm_midi_output_write (hmidi); in snd_hdspm_midi_input_read()
1929 struct hdspm_midi *hmidi; in snd_hdspm_midi_input_trigger() local
1932 hmidi = substream->rmidi->private_data; in snd_hdspm_midi_input_trigger()
1933 hdspm = hmidi->hdspm; in snd_hdspm_midi_input_trigger()
1937 if (!(hdspm->control_register & hmidi->ie)) { in snd_hdspm_midi_input_trigger()
1938 snd_hdspm_flush_midi_input (hdspm, hmidi->id); in snd_hdspm_midi_input_trigger()
1939 hdspm->control_register |= hmidi->ie; in snd_hdspm_midi_input_trigger()
1942 hdspm->control_register &= ~hmidi->ie; in snd_hdspm_midi_input_trigger()
1951 struct hdspm_midi *hmidi = (struct hdspm_midi *) data; in snd_hdspm_midi_output_timer() local
1954 snd_hdspm_midi_output_write(hmidi); in snd_hdspm_midi_output_timer()
1955 spin_lock_irqsave (&hmidi->lock, flags); in snd_hdspm_midi_output_timer()
1963 if (hmidi->istimer) in snd_hdspm_midi_output_timer()
1964 mod_timer(&hmidi->timer, 1 + jiffies); in snd_hdspm_midi_output_timer()
1966 spin_unlock_irqrestore (&hmidi->lock, flags); in snd_hdspm_midi_output_timer()
1972 struct hdspm_midi *hmidi; in snd_hdspm_midi_output_trigger() local
1975 hmidi = substream->rmidi->private_data; in snd_hdspm_midi_output_trigger()
1976 spin_lock_irqsave (&hmidi->lock, flags); in snd_hdspm_midi_output_trigger()
1978 if (!hmidi->istimer) { in snd_hdspm_midi_output_trigger()
1979 setup_timer(&hmidi->timer, snd_hdspm_midi_output_timer, in snd_hdspm_midi_output_trigger()
1980 (unsigned long) hmidi); in snd_hdspm_midi_output_trigger()
1981 mod_timer(&hmidi->timer, 1 + jiffies); in snd_hdspm_midi_output_trigger()
1982 hmidi->istimer++; in snd_hdspm_midi_output_trigger()
1985 if (hmidi->istimer && --hmidi->istimer <= 0) in snd_hdspm_midi_output_trigger()
1986 del_timer (&hmidi->timer); in snd_hdspm_midi_output_trigger()
1988 spin_unlock_irqrestore (&hmidi->lock, flags); in snd_hdspm_midi_output_trigger()
1990 snd_hdspm_midi_output_write(hmidi); in snd_hdspm_midi_output_trigger()
1995 struct hdspm_midi *hmidi; in snd_hdspm_midi_input_open() local
1997 hmidi = substream->rmidi->private_data; in snd_hdspm_midi_input_open()
1998 spin_lock_irq (&hmidi->lock); in snd_hdspm_midi_input_open()
1999 snd_hdspm_flush_midi_input (hmidi->hdspm, hmidi->id); in snd_hdspm_midi_input_open()
2000 hmidi->input = substream; in snd_hdspm_midi_input_open()
2001 spin_unlock_irq (&hmidi->lock); in snd_hdspm_midi_input_open()
2008 struct hdspm_midi *hmidi; in snd_hdspm_midi_output_open() local
2010 hmidi = substream->rmidi->private_data; in snd_hdspm_midi_output_open()
2011 spin_lock_irq (&hmidi->lock); in snd_hdspm_midi_output_open()
2012 hmidi->output = substream; in snd_hdspm_midi_output_open()
2013 spin_unlock_irq (&hmidi->lock); in snd_hdspm_midi_output_open()
2020 struct hdspm_midi *hmidi; in snd_hdspm_midi_input_close() local
2024 hmidi = substream->rmidi->private_data; in snd_hdspm_midi_input_close()
2025 spin_lock_irq (&hmidi->lock); in snd_hdspm_midi_input_close()
2026 hmidi->input = NULL; in snd_hdspm_midi_input_close()
2027 spin_unlock_irq (&hmidi->lock); in snd_hdspm_midi_input_close()
2034 struct hdspm_midi *hmidi; in snd_hdspm_midi_output_close() local
2038 hmidi = substream->rmidi->private_data; in snd_hdspm_midi_output_close()
2039 spin_lock_irq (&hmidi->lock); in snd_hdspm_midi_output_close()
2040 hmidi->output = NULL; in snd_hdspm_midi_output_close()
2041 spin_unlock_irq (&hmidi->lock); in snd_hdspm_midi_output_close()