Lines Matching refs:us122l

18 #include "us122l.h"
97 struct us122l *us122l = area->vm_private_data;
98 atomic_inc(&us122l->mmap_count);
99 snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count));
107 struct us122l *us122l = vmf->vma->vm_private_data;
110 mutex_lock(&us122l->mutex);
111 s = us122l->sk.s;
123 vaddr = us122l->sk.write_page + offset;
128 mutex_unlock(&us122l->mutex);
134 mutex_unlock(&us122l->mutex);
140 struct us122l *us122l = area->vm_private_data;
141 atomic_dec(&us122l->mmap_count);
142 snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count));
154 struct us122l *us122l = hw->private_data;
160 if (!us122l->first)
161 us122l->first = file;
163 if (us122l->is_us144) {
164 iface = usb_ifnum_to_if(us122l->dev, 0);
167 iface = usb_ifnum_to_if(us122l->dev, 1);
174 struct us122l *us122l = hw->private_data;
178 if (us122l->is_us144) {
179 iface = usb_ifnum_to_if(us122l->dev, 0);
182 iface = usb_ifnum_to_if(us122l->dev, 1);
184 if (us122l->first == file)
185 us122l->first = NULL;
186 mutex_lock(&us122l->mutex);
187 if (us122l->master == file)
188 us122l->master = us122l->slave;
190 us122l->slave = NULL;
191 mutex_unlock(&us122l->mutex);
199 struct us122l *us122l = hw->private_data;
206 mutex_lock(&us122l->mutex);
207 s = us122l->sk.s;
227 area->vm_private_data = us122l;
228 atomic_inc(&us122l->mmap_count);
230 mutex_unlock(&us122l->mutex);
237 struct us122l *us122l = hw->private_data;
241 poll_wait(file, &us122l->sk.sleep, wait);
244 if (mutex_trylock(&us122l->mutex)) {
245 struct usb_stream *s = us122l->sk.s;
247 if (us122l->first == file)
250 polled = &us122l->second_periods_polled;
257 mutex_unlock(&us122l->mutex);
262 static void us122l_stop(struct us122l *us122l)
265 list_for_each(p, &us122l->midi_list)
268 usb_stream_stop(&us122l->sk);
269 usb_stream_free(&us122l->sk);
291 static bool us122l_start(struct us122l *us122l,
299 if (us122l->dev->speed == USB_SPEED_HIGH) {
316 if (!usb_stream_new(&us122l->sk, us122l->dev, 1, 2,
320 err = us122l_set_sample_rate(us122l->dev, rate);
322 us122l_stop(us122l);
326 err = usb_stream_start(&us122l->sk);
328 us122l_stop(us122l);
332 list_for_each(p, &us122l->midi_list)
343 struct us122l *us122l = hw->private_data;
358 high_speed = us122l->dev->speed == USB_SPEED_HIGH;
384 mutex_lock(&us122l->mutex);
385 s = us122l->sk.s;
386 if (!us122l->master)
387 us122l->master = file;
388 else if (us122l->master != file) {
393 us122l->slave = file;
397 us122l_stop(us122l);
398 if (!us122l_start(us122l, cfg.sample_rate, cfg.period_frames))
404 mutex_unlock(&us122l->mutex);
405 wake_up_all(&us122l->sk.sleep);
438 struct us122l *us122l = US122L(card);
440 if (us122l->is_us144) {
441 err = usb_set_interface(us122l->dev, 0, 1);
447 err = usb_set_interface(us122l->dev, 1, 1);
453 pt_info_set(us122l->dev, 0x11);
454 pt_info_set(us122l->dev, 0x10);
456 if (!us122l_start(us122l, 44100, 256))
459 if (us122l->is_us144)
471 list_for_each(p, &us122l->midi_list)
479 us122l_stop(us122l);
485 struct us122l *us122l = US122L(card);
486 int index = us122l->card_index;
506 sizeof(struct us122l), &card);
590 struct us122l *us122l;
599 us122l = US122L(card);
600 mutex_lock(&us122l->mutex);
601 us122l_stop(us122l);
602 mutex_unlock(&us122l->mutex);
605 list_for_each(p, &us122l->midi_list) {
609 usb_put_intf(usb_ifnum_to_if(us122l->dev, 0));
610 usb_put_intf(usb_ifnum_to_if(us122l->dev, 1));
611 usb_put_dev(us122l->dev);
613 while (atomic_read(&us122l->mmap_count))
622 struct us122l *us122l;
630 us122l = US122L(card);
631 if (!us122l)
634 list_for_each(p, &us122l->midi_list)
637 mutex_lock(&us122l->mutex);
638 usb_stream_stop(&us122l->sk);
639 mutex_unlock(&us122l->mutex);
647 struct us122l *us122l;
655 us122l = US122L(card);
656 if (!us122l)
659 mutex_lock(&us122l->mutex);
661 if (us122l->is_us144) {
662 err = usb_set_interface(us122l->dev, 0, 1);
668 err = usb_set_interface(us122l->dev, 1, 1);
674 pt_info_set(us122l->dev, 0x11);
675 pt_info_set(us122l->dev, 0x10);
677 err = us122l_set_sample_rate(us122l->dev,
678 us122l->sk.s->cfg.sample_rate);
683 err = usb_stream_start(&us122l->sk);
687 list_for_each(p, &us122l->midi_list)
690 mutex_unlock(&us122l->mutex);
723 .name = "snd-usb-us122l",