Lines Matching refs:devc
35 sb_devc *devc = midi_devs[dev]->devc;
38 if (devc == NULL)
41 spin_lock_irqsave(&devc->lock, flags);
42 if (devc->opened)
44 spin_unlock_irqrestore(&devc->lock, flags);
47 devc->opened = 1;
48 spin_unlock_irqrestore(&devc->lock, flags);
50 devc->irq_mode = IMODE_MIDI;
51 devc->midi_broken = 0;
53 sb_dsp_reset(devc);
55 if (!sb_dsp_command(devc, 0x35)) /* Start MIDI UART mode */
57 devc->opened = 0;
60 devc->intr_active = 1;
64 devc->input_opened = 1;
65 devc->midi_input_intr = input;
72 sb_devc *devc = midi_devs[dev]->devc;
75 if (devc == NULL)
78 spin_lock_irqsave(&devc->lock, flags);
79 sb_dsp_reset(devc);
80 devc->intr_active = 0;
81 devc->input_opened = 0;
82 devc->opened = 0;
83 spin_unlock_irqrestore(&devc->lock, flags);
88 sb_devc *devc = midi_devs[dev]->devc;
90 if (devc == NULL)
93 if (devc->midi_broken)
96 if (!sb_dsp_command(devc, midi_byte))
98 devc->midi_broken = 1;
111 sb_devc *devc = midi_devs[dev]->devc;
113 if (devc == NULL)
116 sb_dsp_reset(devc);
117 devc->intr_active = 0;
126 void sb_midi_interrupt(sb_devc * devc)
131 if (devc == NULL)
134 spin_lock_irqsave(&devc->lock, flags);
137 if (devc->input_opened)
138 devc->midi_input_intr(devc->my_mididev, data);
140 spin_unlock_irqrestore(&devc->lock, flags);
161 void sb_dsp_midi_init(sb_devc * devc, struct module *owner)
165 if (devc->model < 2) /* No MIDI support for SB 1.x */
175 std_midi_synth.midi_dev = devc->my_mididev = dev;
189 midi_devs[dev]->devc = devc;