Lines Matching refs:adev
69 for (i = 0; i < dev->adev.num_urb; i++) { in em28xx_deinit_isoc_audio()
70 struct urb *urb = dev->adev.urb[i]; in em28xx_deinit_isoc_audio()
95 atomic_set(&dev->adev.stream_started, 0); in em28xx_audio_isocirq()
112 if (atomic_read(&dev->adev.stream_started) == 0) in em28xx_audio_isocirq()
115 if (dev->adev.capture_pcm_substream) { in em28xx_audio_isocirq()
116 substream = dev->adev.capture_pcm_substream; in em28xx_audio_isocirq()
129 oldptr = dev->adev.hwptr_done_capture; in em28xx_audio_isocirq()
144 dev->adev.hwptr_done_capture += length; in em28xx_audio_isocirq()
145 if (dev->adev.hwptr_done_capture >= in em28xx_audio_isocirq()
147 dev->adev.hwptr_done_capture -= in em28xx_audio_isocirq()
150 dev->adev.capture_transfer_done += length; in em28xx_audio_isocirq()
151 if (dev->adev.capture_transfer_done >= in em28xx_audio_isocirq()
153 dev->adev.capture_transfer_done -= in em28xx_audio_isocirq()
179 for (i = 0; i < dev->adev.num_urb; i++) { in em28xx_init_audio_isoc()
180 memset(dev->adev.transfer_buffer[i], 0x80, in em28xx_init_audio_isoc()
181 dev->adev.urb[i]->transfer_buffer_length); in em28xx_init_audio_isoc()
183 errCode = usb_submit_urb(dev->adev.urb[i], GFP_ATOMIC); in em28xx_init_audio_isoc()
188 atomic_set(&dev->adev.stream_started, 0); in em28xx_init_audio_isoc()
276 if (dev->adev.users == 0) { in snd_em28xx_capture_open()
306 dev->adev.users++; in snd_em28xx_capture_open()
312 dev->adev.period * 95 / 100, in snd_em28xx_capture_open()
313 dev->adev.period * 105 / 100); in snd_em28xx_capture_open()
315 dev->adev.capture_pcm_substream = substream; in snd_em28xx_capture_open()
333 dev->adev.users--; in snd_em28xx_pcm_close()
334 if (atomic_read(&dev->adev.stream_started) > 0) { in snd_em28xx_pcm_close()
335 atomic_set(&dev->adev.stream_started, 0); in snd_em28xx_pcm_close()
336 schedule_work(&dev->adev.wq_trigger); in snd_em28xx_pcm_close()
383 struct em28xx_audio *adev = &dev->adev; in snd_em28xx_hw_capture_free() local
387 if (atomic_read(&adev->stream_started) > 0) { in snd_em28xx_hw_capture_free()
388 atomic_set(&adev->stream_started, 0); in snd_em28xx_hw_capture_free()
389 schedule_work(&adev->wq_trigger); in snd_em28xx_hw_capture_free()
402 dev->adev.hwptr_done_capture = 0; in snd_em28xx_prepare()
403 dev->adev.capture_transfer_done = 0; in snd_em28xx_prepare()
410 struct em28xx_audio *adev = in audio_trigger() local
412 struct em28xx *dev = container_of(adev, struct em28xx, adev); in audio_trigger()
414 if (atomic_read(&adev->stream_started)) { in audio_trigger()
436 atomic_set(&dev->adev.stream_started, 1); in snd_em28xx_capture_trigger()
441 atomic_set(&dev->adev.stream_started, 0); in snd_em28xx_capture_trigger()
446 schedule_work(&dev->adev.wq_trigger); in snd_em28xx_capture_trigger()
461 spin_lock_irqsave(&dev->adev.slock, flags); in snd_em28xx_capture_pointer()
462 hwptr_done = dev->adev.hwptr_done_capture; in snd_em28xx_capture_pointer()
463 spin_unlock_irqrestore(&dev->adev.slock, flags); in snd_em28xx_capture_pointer()
499 struct snd_pcm_substream *substream = dev->adev.capture_pcm_substream; in em28xx_vol_put()
539 struct snd_pcm_substream *substream = dev->adev.capture_pcm_substream; in em28xx_vol_get()
574 struct snd_pcm_substream *substream = dev->adev.capture_pcm_substream; in em28xx_vol_put_mute()
615 struct snd_pcm_substream *substream = dev->adev.capture_pcm_substream; in em28xx_vol_get_mute()
714 for (i = 0; i < dev->adev.num_urb; i++) { in em28xx_audio_free_urb()
715 struct urb *urb = dev->adev.urb[i]; in em28xx_audio_free_urb()
721 dev->adev.transfer_buffer[i], in em28xx_audio_free_urb()
726 kfree(dev->adev.urb); in em28xx_audio_free_urb()
727 kfree(dev->adev.transfer_buffer); in em28xx_audio_free_urb()
728 dev->adev.num_urb = 0; in em28xx_audio_free_urb()
827 dev->adev.period = urb_size * npackets; in em28xx_audio_urb_init()
831 dev->adev.transfer_buffer = kcalloc(num_urb, in em28xx_audio_urb_init()
832 sizeof(*dev->adev.transfer_buffer), in em28xx_audio_urb_init()
834 if (!dev->adev.transfer_buffer) { in em28xx_audio_urb_init()
838 dev->adev.urb = kcalloc(num_urb, sizeof(*dev->adev.urb), GFP_ATOMIC); in em28xx_audio_urb_init()
839 if (!dev->adev.urb) { in em28xx_audio_urb_init()
840 kfree(dev->adev.transfer_buffer); in em28xx_audio_urb_init()
845 dev->adev.num_urb = num_urb; in em28xx_audio_urb_init()
857 dev->adev.urb[i] = urb; in em28xx_audio_urb_init()
866 dev->adev.transfer_buffer[i] = buf; in em28xx_audio_urb_init()
889 struct em28xx_audio *adev = &dev->adev; in em28xx_audio_init() local
916 spin_lock_init(&adev->slock); in em28xx_audio_init()
917 adev->sndcard = card; in em28xx_audio_init()
918 adev->udev = dev->udev; in em28xx_audio_init()
933 INIT_WORK(&adev->wq_trigger, audio_trigger); in em28xx_audio_init()
967 adev->sndcard = NULL; in em28xx_audio_init()
986 if (dev->adev.sndcard) { in em28xx_audio_fini()
987 snd_card_disconnect(dev->adev.sndcard); in em28xx_audio_fini()
988 flush_work(&dev->adev.wq_trigger); in em28xx_audio_fini()
992 snd_card_free(dev->adev.sndcard); in em28xx_audio_fini()
993 dev->adev.sndcard = NULL; in em28xx_audio_fini()
1010 atomic_set(&dev->adev.stream_started, 0); in em28xx_audio_suspend()
1024 schedule_work(&dev->adev.wq_trigger); in em28xx_audio_resume()