Lines Matching refs:usX2Y

67 	struct usX2Ydev	*usX2Y = subs->usX2Y;  in usX2Y_usbpcm_urb_capt_retire()  local
68 if (0 > usX2Y->hwdep_pcm_shm->capture_iso_start) { //FIXME in usX2Y_usbpcm_urb_capt_retire()
69 int head = usX2Y->hwdep_pcm_shm->captured_iso_head + 1; in usX2Y_usbpcm_urb_capt_retire()
70 if (head >= ARRAY_SIZE(usX2Y->hwdep_pcm_shm->captured_iso)) in usX2Y_usbpcm_urb_capt_retire()
72 usX2Y->hwdep_pcm_shm->capture_iso_start = head; in usX2Y_usbpcm_urb_capt_retire()
80 lens += urb->iso_frame_desc[i].actual_length / usX2Y->stride; in usX2Y_usbpcm_urb_capt_retire()
95 struct usX2Ydev * usX2Y) in usX2Y_iso_frames_per_buffer() argument
97 …return (runtime->buffer_size * 1000) / usX2Y->rate + 1; //FIXME: so far only correct period_size =… in usX2Y_iso_frames_per_buffer()
114 struct usX2Ydev *usX2Y = subs->usX2Y; in usX2Y_hwdep_urb_play_prepare() local
115 struct snd_usX2Y_hwdep_pcm_shm *shm = usX2Y->hwdep_pcm_shm; in usX2Y_hwdep_urb_play_prepare()
120 usX2Y_iso_frames_per_buffer(runtime, usX2Y); in usX2Y_hwdep_urb_play_prepare()
129 counts = shm->captured_iso[shm->playback_iso_head].length / usX2Y->stride; in usX2Y_hwdep_urb_play_prepare()
144 urb->transfer_buffer_length = count * usX2Y->stride; in usX2Y_hwdep_urb_play_prepare()
156 struct snd_usX2Y_hwdep_pcm_shm *shm = subs->usX2Y->hwdep_pcm_shm; in usX2Y_usbpcm_urb_capt_iso_advance()
233 struct usX2Ydev *usX2Y = subs->usX2Y; in i_usX2Y_usbpcm_urb_complete() local
238 usb_get_current_frame_number(usX2Y->dev), in i_usX2Y_usbpcm_urb_complete()
244 usX2Y_error_urb_status(usX2Y, subs, urb); in i_usX2Y_usbpcm_urb_complete()
249 capsubs = usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE]; in i_usX2Y_usbpcm_urb_complete()
250 capsubs2 = usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE + 2]; in i_usX2Y_usbpcm_urb_complete()
251 playbacksubs = usX2Y->subs[SNDRV_PCM_STREAM_PLAYBACK]; in i_usX2Y_usbpcm_urb_complete()
256 usX2Y->wait_iso_frame += nr_of_packs(); in i_usX2Y_usbpcm_urb_complete()
259 usX2Y_clients_stop(usX2Y); in i_usX2Y_usbpcm_urb_complete()
283 static void usX2Y_usbpcm_subs_startup_finish(struct usX2Ydev * usX2Y) in usX2Y_usbpcm_subs_startup_finish() argument
285 usX2Y_urbs_set_complete(usX2Y, i_usX2Y_usbpcm_urb_complete); in usX2Y_usbpcm_subs_startup_finish()
286 usX2Y->prepare_subs = NULL; in usX2Y_usbpcm_subs_startup_finish()
292 struct usX2Ydev *usX2Y = subs->usX2Y; in i_usX2Y_usbpcm_subs_startup() local
293 struct snd_usX2Y_substream *prepare_subs = usX2Y->prepare_subs; in i_usX2Y_usbpcm_subs_startup()
297 if (prepare_subs == usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE]) { in i_usX2Y_usbpcm_subs_startup()
298 struct snd_usX2Y_substream *cap_subs2 = usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE + 2]; in i_usX2Y_usbpcm_subs_startup()
302 usX2Y_usbpcm_subs_startup_finish(usX2Y); in i_usX2Y_usbpcm_subs_startup()
303 wake_up(&usX2Y->prepare_wait_queue); in i_usX2Y_usbpcm_subs_startup()
316 int is_playback = subs == subs->usX2Y->subs[SNDRV_PCM_STREAM_PLAYBACK]; in usX2Y_usbpcm_urbs_allocate()
317 struct usb_device *dev = subs->usX2Y->dev; in usX2Y_usbpcm_urbs_allocate()
338 subs->usX2Y->hwdep_pcm_shm->playback : ( in usX2Y_usbpcm_urbs_allocate()
340 subs->usX2Y->hwdep_pcm_shm->capture0x8 : in usX2Y_usbpcm_urbs_allocate()
341 subs->usX2Y->hwdep_pcm_shm->capture0xA); in usX2Y_usbpcm_urbs_allocate()
360 *cap_subs2 = subs->usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE + 2]; in snd_usX2Y_usbpcm_hw_free()
361 mutex_lock(&subs->usX2Y->pcm_mutex); in snd_usX2Y_usbpcm_hw_free()
365 struct snd_usX2Y_substream *cap_subs = subs->usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE]; in snd_usX2Y_usbpcm_hw_free()
380 struct snd_usX2Y_substream *playback_subs = subs->usX2Y->subs[SNDRV_PCM_STREAM_PLAYBACK]; in snd_usX2Y_usbpcm_hw_free()
390 mutex_unlock(&subs->usX2Y->pcm_mutex); in snd_usX2Y_usbpcm_hw_free()
396 struct usX2Ydev * usX2Y = subs->usX2Y; in usX2Y_usbpcm_subs_startup() local
397 usX2Y->prepare_subs = subs; in usX2Y_usbpcm_subs_startup()
400 usX2Y_urbs_set_complete(usX2Y, i_usX2Y_usbpcm_subs_startup); in usX2Y_usbpcm_subs_startup()
407 struct usX2Ydev *usX2Y = subs->usX2Y; in usX2Y_usbpcm_urbs_start() local
410 usX2Y->hwdep_pcm_shm->captured_iso_head = -1; in usX2Y_usbpcm_urbs_start()
411 usX2Y->hwdep_pcm_shm->captured_iso_frames = 0; in usX2Y_usbpcm_urbs_start()
415 struct snd_usX2Y_substream *subs = usX2Y->subs[stream + p]; in usX2Y_usbpcm_urbs_start()
424 struct snd_usX2Y_substream *subs = usX2Y->subs[p]; in usX2Y_usbpcm_urbs_start()
433 struct snd_usX2Y_substream *subs = usX2Y->subs[stream + p]; in usX2Y_usbpcm_urbs_start()
440 urb->dev = usX2Y->dev; in usX2Y_usbpcm_urbs_start()
453 usX2Y->wait_iso_frame = urb->start_frame; in usX2Y_usbpcm_urbs_start()
464 wait_event(usX2Y->prepare_wait_queue, NULL == usX2Y->prepare_subs); in usX2Y_usbpcm_urbs_start()
470 usX2Y_subs_startup_finish(usX2Y); // Call it now in usX2Y_usbpcm_urbs_start()
471 usX2Y_clients_stop(usX2Y); // something is completely wroong > stop evrything in usX2Y_usbpcm_urbs_start()
485 struct usX2Ydev *usX2Y = subs->usX2Y; in snd_usX2Y_usbpcm_prepare() local
486 struct snd_usX2Y_substream *capsubs = subs->usX2Y->subs[SNDRV_PCM_STREAM_CAPTURE]; in snd_usX2Y_usbpcm_prepare()
490 if (NULL == usX2Y->hwdep_pcm_shm) { in snd_usX2Y_usbpcm_prepare()
491 …if (NULL == (usX2Y->hwdep_pcm_shm = snd_malloc_pages(sizeof(struct snd_usX2Y_hwdep_pcm_shm), GFP_K… in snd_usX2Y_usbpcm_prepare()
493 memset(usX2Y->hwdep_pcm_shm, 0, sizeof(struct snd_usX2Y_hwdep_pcm_shm)); in snd_usX2Y_usbpcm_prepare()
496 mutex_lock(&usX2Y->pcm_mutex); in snd_usX2Y_usbpcm_prepare()
501 if (usX2Y->format != runtime->format) in snd_usX2Y_usbpcm_prepare()
502 if ((err = usX2Y_format_set(usX2Y, runtime->format)) < 0) in snd_usX2Y_usbpcm_prepare()
504 if (usX2Y->rate != runtime->rate) in snd_usX2Y_usbpcm_prepare()
505 if ((err = usX2Y_rate_set(usX2Y, runtime->rate)) < 0) in snd_usX2Y_usbpcm_prepare()
514 usX2Y->hwdep_pcm_shm->playback_iso_start = -1; in snd_usX2Y_usbpcm_prepare()
516 while (usX2Y_iso_frames_per_buffer(runtime, usX2Y) > in snd_usX2Y_usbpcm_prepare()
517 usX2Y->hwdep_pcm_shm->captured_iso_frames) { in snd_usX2Y_usbpcm_prepare()
520 usX2Y_iso_frames_per_buffer(runtime, usX2Y), in snd_usX2Y_usbpcm_prepare()
521 usX2Y->hwdep_pcm_shm->captured_iso_frames); in snd_usX2Y_usbpcm_prepare()
531 usX2Y_iso_frames_per_buffer(runtime, usX2Y), in snd_usX2Y_usbpcm_prepare()
532 usX2Y->hwdep_pcm_shm->captured_iso_frames); in snd_usX2Y_usbpcm_prepare()
534 usX2Y->hwdep_pcm_shm->capture_iso_start = -1; in snd_usX2Y_usbpcm_prepare()
537 mutex_unlock(&usX2Y->pcm_mutex); in snd_usX2Y_usbpcm_prepare()
568 if (!(subs->usX2Y->chip_status & USX2Y_STAT_CHIP_MMAP_PCM_URBS)) in snd_usX2Y_usbpcm_open()
572 (subs->usX2Y->subs[3] ? snd_usX2Y_4c : snd_usX2Y_2c); in snd_usX2Y_usbpcm_open()
605 struct usX2Ydev *dev = usX2Y(card); in usX2Y_pcms_busy_check()
622 mutex_lock(&usX2Y(card)->pcm_mutex); in snd_usX2Y_hwdep_pcm_open()
625 usX2Y(card)->chip_status |= USX2Y_STAT_CHIP_MMAP_PCM_URBS; in snd_usX2Y_hwdep_pcm_open()
626 mutex_unlock(&usX2Y(card)->pcm_mutex); in snd_usX2Y_hwdep_pcm_open()
636 mutex_lock(&usX2Y(card)->pcm_mutex); in snd_usX2Y_hwdep_pcm_release()
639 usX2Y(hw->card)->chip_status &= ~USX2Y_STAT_CHIP_MMAP_PCM_URBS; in snd_usX2Y_hwdep_pcm_release()
640 mutex_unlock(&usX2Y(card)->pcm_mutex); in snd_usX2Y_hwdep_pcm_release()
679 struct usX2Ydev *usX2Y = hw->private_data; in snd_usX2Y_hwdep_pcm_mmap() local
681 if (!(usX2Y->chip_status & USX2Y_STAT_CHIP_INIT)) in snd_usX2Y_hwdep_pcm_mmap()
690 if (!usX2Y->hwdep_pcm_shm) { in snd_usX2Y_hwdep_pcm_mmap()
702 struct usX2Ydev *usX2Y = hwdep->private_data; in snd_usX2Y_hwdep_pcm_private_free() local
703 if (NULL != usX2Y->hwdep_pcm_shm) in snd_usX2Y_hwdep_pcm_private_free()
704 snd_free_pages(usX2Y->hwdep_pcm_shm, sizeof(struct snd_usX2Y_hwdep_pcm_shm)); in snd_usX2Y_hwdep_pcm_private_free()
713 struct usb_device *dev = usX2Y(card)->dev; in usX2Y_hwdep_pcm_new()
721 hw->private_data = usX2Y(card); in usX2Y_hwdep_pcm_new()
736 pcm->private_data = usX2Y(card)->subs; in usX2Y_hwdep_pcm_new()