Lines Matching refs:us122l

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