Lines Matching refs:mpu

43 	struct snd_msndmidi *mpu;  in snd_msndmidi_input_open()  local
47 mpu = substream->rmidi->private_data; in snd_msndmidi_input_open()
49 mpu->substream_input = substream; in snd_msndmidi_input_open()
51 snd_msnd_enable_irq(mpu->dev); in snd_msndmidi_input_open()
53 snd_msnd_send_dsp_cmd(mpu->dev, HDEX_MIDI_IN_START); in snd_msndmidi_input_open()
54 set_bit(MSNDMIDI_MODE_BIT_INPUT, &mpu->mode); in snd_msndmidi_input_open()
60 struct snd_msndmidi *mpu; in snd_msndmidi_input_close() local
62 mpu = substream->rmidi->private_data; in snd_msndmidi_input_close()
63 snd_msnd_send_dsp_cmd(mpu->dev, HDEX_MIDI_IN_STOP); in snd_msndmidi_input_close()
64 clear_bit(MSNDMIDI_MODE_BIT_INPUT, &mpu->mode); in snd_msndmidi_input_close()
65 mpu->substream_input = NULL; in snd_msndmidi_input_close()
66 snd_msnd_disable_irq(mpu->dev); in snd_msndmidi_input_close()
70 static void snd_msndmidi_input_drop(struct snd_msndmidi *mpu) in snd_msndmidi_input_drop() argument
74 tail = readw(mpu->dev->MIDQ + JQS_wTail); in snd_msndmidi_input_drop()
75 writew(tail, mpu->dev->MIDQ + JQS_wHead); in snd_msndmidi_input_drop()
85 struct snd_msndmidi *mpu; in snd_msndmidi_input_trigger() local
89 mpu = substream->rmidi->private_data; in snd_msndmidi_input_trigger()
90 spin_lock_irqsave(&mpu->input_lock, flags); in snd_msndmidi_input_trigger()
93 &mpu->mode)) in snd_msndmidi_input_trigger()
94 snd_msndmidi_input_drop(mpu); in snd_msndmidi_input_trigger()
96 clear_bit(MSNDMIDI_MODE_BIT_INPUT_TRIGGER, &mpu->mode); in snd_msndmidi_input_trigger()
98 spin_unlock_irqrestore(&mpu->input_lock, flags); in snd_msndmidi_input_trigger()
100 snd_msndmidi_input_read(mpu); in snd_msndmidi_input_trigger()
106 struct snd_msndmidi *mpu = mpuv; in snd_msndmidi_input_read() local
107 void __iomem *pwMIDQData = mpu->dev->mappedbase + MIDQ_DATA_BUFF; in snd_msndmidi_input_read()
110 spin_lock_irqsave(&mpu->input_lock, flags); in snd_msndmidi_input_read()
111 head = readw(mpu->dev->MIDQ + JQS_wHead); in snd_msndmidi_input_read()
112 tail = readw(mpu->dev->MIDQ + JQS_wTail); in snd_msndmidi_input_read()
113 size = readw(mpu->dev->MIDQ + JQS_wSize); in snd_msndmidi_input_read()
119 if (test_bit(MSNDMIDI_MODE_BIT_INPUT_TRIGGER, &mpu->mode)) in snd_msndmidi_input_read()
120 snd_rawmidi_receive(mpu->substream_input, &val, 1); in snd_msndmidi_input_read()
123 writew(head, mpu->dev->MIDQ + JQS_wHead); in snd_msndmidi_input_read()
126 spin_unlock_irqrestore(&mpu->input_lock, flags); in snd_msndmidi_input_read()
138 struct snd_msndmidi *mpu = rmidi->private_data; in snd_msndmidi_free() local
139 kfree(mpu); in snd_msndmidi_free()
145 struct snd_msndmidi *mpu; in snd_msndmidi_new() local
152 mpu = kzalloc(sizeof(*mpu), GFP_KERNEL); in snd_msndmidi_new()
153 if (mpu == NULL) { in snd_msndmidi_new()
157 mpu->dev = chip; in snd_msndmidi_new()
158 chip->msndmidi_mpu = mpu; in snd_msndmidi_new()
159 rmidi->private_data = mpu; in snd_msndmidi_new()
161 spin_lock_init(&mpu->input_lock); in snd_msndmidi_new()