Lines Matching refs:us122l
135 struct us122l *us122l = area->vm_private_data; in usb_stream_hwdep_vm_open() local
136 atomic_inc(&us122l->mmap_count); in usb_stream_hwdep_vm_open()
137 snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count)); in usb_stream_hwdep_vm_open()
146 struct us122l *us122l = area->vm_private_data; in usb_stream_hwdep_vm_fault() local
149 mutex_lock(&us122l->mutex); in usb_stream_hwdep_vm_fault()
150 s = us122l->sk.s; in usb_stream_hwdep_vm_fault()
162 vaddr = us122l->sk.write_page + offset; in usb_stream_hwdep_vm_fault()
167 mutex_unlock(&us122l->mutex); in usb_stream_hwdep_vm_fault()
173 mutex_unlock(&us122l->mutex); in usb_stream_hwdep_vm_fault()
179 struct us122l *us122l = area->vm_private_data; in usb_stream_hwdep_vm_close() local
180 atomic_dec(&us122l->mmap_count); in usb_stream_hwdep_vm_close()
181 snd_printdd(KERN_DEBUG "%i\n", atomic_read(&us122l->mmap_count)); in usb_stream_hwdep_vm_close()
193 struct us122l *us122l = hw->private_data; in usb_stream_hwdep_open() local
199 if (!us122l->first) in usb_stream_hwdep_open()
200 us122l->first = file; in usb_stream_hwdep_open()
202 if (us122l->dev->descriptor.idProduct == USB_ID_US144 || in usb_stream_hwdep_open()
203 us122l->dev->descriptor.idProduct == USB_ID_US144MKII) { in usb_stream_hwdep_open()
204 iface = usb_ifnum_to_if(us122l->dev, 0); in usb_stream_hwdep_open()
207 iface = usb_ifnum_to_if(us122l->dev, 1); in usb_stream_hwdep_open()
214 struct us122l *us122l = hw->private_data; in usb_stream_hwdep_release() local
218 if (us122l->dev->descriptor.idProduct == USB_ID_US144 || in usb_stream_hwdep_release()
219 us122l->dev->descriptor.idProduct == USB_ID_US144MKII) { in usb_stream_hwdep_release()
220 iface = usb_ifnum_to_if(us122l->dev, 0); in usb_stream_hwdep_release()
223 iface = usb_ifnum_to_if(us122l->dev, 1); in usb_stream_hwdep_release()
225 if (us122l->first == file) in usb_stream_hwdep_release()
226 us122l->first = NULL; in usb_stream_hwdep_release()
227 mutex_lock(&us122l->mutex); in usb_stream_hwdep_release()
228 if (us122l->master == file) in usb_stream_hwdep_release()
229 us122l->master = us122l->slave; in usb_stream_hwdep_release()
231 us122l->slave = NULL; in usb_stream_hwdep_release()
232 mutex_unlock(&us122l->mutex); in usb_stream_hwdep_release()
240 struct us122l *us122l = hw->private_data; in usb_stream_hwdep_mmap() local
247 mutex_lock(&us122l->mutex); in usb_stream_hwdep_mmap()
248 s = us122l->sk.s; in usb_stream_hwdep_mmap()
266 area->vm_private_data = us122l; in usb_stream_hwdep_mmap()
267 atomic_inc(&us122l->mmap_count); in usb_stream_hwdep_mmap()
269 mutex_unlock(&us122l->mutex); in usb_stream_hwdep_mmap()
276 struct us122l *us122l = hw->private_data; in usb_stream_hwdep_poll() local
280 poll_wait(file, &us122l->sk.sleep, wait); in usb_stream_hwdep_poll()
283 if (mutex_trylock(&us122l->mutex)) { in usb_stream_hwdep_poll()
284 struct usb_stream *s = us122l->sk.s; in usb_stream_hwdep_poll()
286 if (us122l->first == file) in usb_stream_hwdep_poll()
289 polled = &us122l->second_periods_polled; in usb_stream_hwdep_poll()
296 mutex_unlock(&us122l->mutex); in usb_stream_hwdep_poll()
301 static void us122l_stop(struct us122l *us122l) in us122l_stop() argument
304 list_for_each(p, &us122l->midi_list) in us122l_stop()
307 usb_stream_stop(&us122l->sk); in us122l_stop()
308 usb_stream_free(&us122l->sk); in us122l_stop()
329 static bool us122l_start(struct us122l *us122l, in us122l_start() argument
337 if (us122l->dev->speed == USB_SPEED_HIGH) { in us122l_start()
354 if (!usb_stream_new(&us122l->sk, us122l->dev, 1, 2, in us122l_start()
358 err = us122l_set_sample_rate(us122l->dev, rate); in us122l_start()
360 us122l_stop(us122l); in us122l_start()
364 err = usb_stream_start(&us122l->sk); in us122l_start()
366 us122l_stop(us122l); in us122l_start()
370 list_for_each(p, &us122l->midi_list) in us122l_start()
381 struct us122l *us122l = hw->private_data; in usb_stream_hwdep_ioctl() local
398 high_speed = us122l->dev->speed == USB_SPEED_HIGH; in usb_stream_hwdep_ioctl()
427 mutex_lock(&us122l->mutex); in usb_stream_hwdep_ioctl()
428 s = us122l->sk.s; in usb_stream_hwdep_ioctl()
429 if (!us122l->master) in usb_stream_hwdep_ioctl()
430 us122l->master = file; in usb_stream_hwdep_ioctl()
431 else if (us122l->master != file) { in usb_stream_hwdep_ioctl()
436 us122l->slave = file; in usb_stream_hwdep_ioctl()
440 us122l_stop(us122l); in usb_stream_hwdep_ioctl()
441 if (!us122l_start(us122l, cfg->sample_rate, cfg->period_frames)) in usb_stream_hwdep_ioctl()
447 mutex_unlock(&us122l->mutex); in usb_stream_hwdep_ioctl()
450 wake_up_all(&us122l->sk.sleep); in usb_stream_hwdep_ioctl()
483 struct us122l *us122l = US122L(card); in us122l_create_card() local
485 if (us122l->dev->descriptor.idProduct == USB_ID_US144 || in us122l_create_card()
486 us122l->dev->descriptor.idProduct == USB_ID_US144MKII) { in us122l_create_card()
487 err = usb_set_interface(us122l->dev, 0, 1); in us122l_create_card()
493 err = usb_set_interface(us122l->dev, 1, 1); in us122l_create_card()
499 pt_info_set(us122l->dev, 0x11); in us122l_create_card()
500 pt_info_set(us122l->dev, 0x10); in us122l_create_card()
502 if (!us122l_start(us122l, 44100, 256)) in us122l_create_card()
505 if (us122l->dev->descriptor.idProduct == USB_ID_US144 || in us122l_create_card()
506 us122l->dev->descriptor.idProduct == USB_ID_US144MKII) in us122l_create_card()
512 us122l_stop(us122l); in us122l_create_card()
519 list_for_each(p, &us122l->midi_list) in us122l_create_card()
522 us122l_stop(us122l); in us122l_create_card()
530 struct us122l *us122l = US122L(card); in snd_us122l_free() local
531 int index = us122l->card_index; in snd_us122l_free()
548 sizeof(struct us122l), &card); in usx2y_create_card()
633 struct us122l *us122l; in snd_us122l_disconnect() local
642 us122l = US122L(card); in snd_us122l_disconnect()
643 mutex_lock(&us122l->mutex); in snd_us122l_disconnect()
644 us122l_stop(us122l); in snd_us122l_disconnect()
645 mutex_unlock(&us122l->mutex); in snd_us122l_disconnect()
648 list_for_each(p, &us122l->midi_list) { in snd_us122l_disconnect()
652 usb_put_intf(usb_ifnum_to_if(us122l->dev, 0)); in snd_us122l_disconnect()
653 usb_put_intf(usb_ifnum_to_if(us122l->dev, 1)); in snd_us122l_disconnect()
654 usb_put_dev(us122l->dev); in snd_us122l_disconnect()
656 while (atomic_read(&us122l->mmap_count)) in snd_us122l_disconnect()
665 struct us122l *us122l; in snd_us122l_suspend() local
673 us122l = US122L(card); in snd_us122l_suspend()
674 if (!us122l) in snd_us122l_suspend()
677 list_for_each(p, &us122l->midi_list) in snd_us122l_suspend()
680 mutex_lock(&us122l->mutex); in snd_us122l_suspend()
681 usb_stream_stop(&us122l->sk); in snd_us122l_suspend()
682 mutex_unlock(&us122l->mutex); in snd_us122l_suspend()
690 struct us122l *us122l; in snd_us122l_resume() local
698 us122l = US122L(card); in snd_us122l_resume()
699 if (!us122l) in snd_us122l_resume()
702 mutex_lock(&us122l->mutex); in snd_us122l_resume()
704 if (us122l->dev->descriptor.idProduct == USB_ID_US144 || in snd_us122l_resume()
705 us122l->dev->descriptor.idProduct == USB_ID_US144MKII) { in snd_us122l_resume()
706 err = usb_set_interface(us122l->dev, 0, 1); in snd_us122l_resume()
712 err = usb_set_interface(us122l->dev, 1, 1); in snd_us122l_resume()
718 pt_info_set(us122l->dev, 0x11); in snd_us122l_resume()
719 pt_info_set(us122l->dev, 0x10); in snd_us122l_resume()
721 err = us122l_set_sample_rate(us122l->dev, in snd_us122l_resume()
722 us122l->sk.s->cfg.sample_rate); in snd_us122l_resume()
727 err = usb_stream_start(&us122l->sk); in snd_us122l_resume()
731 list_for_each(p, &us122l->midi_list) in snd_us122l_resume()
734 mutex_unlock(&us122l->mutex); in snd_us122l_resume()