Symbol: usx2y
sound/usb/usx2y/usX2Yhwdep.c
141
struct usb_device *dev = usx2y(card)->dev;
sound/usb/usx2y/usX2Yhwdep.c
147
return snd_usbmidi_create(card, iface, &usx2y(card)->midi_list, quirk);
sound/usb/usx2y/usX2Yhwdep.c
218
struct usx2ydev *us428 = usx2y(card);
sound/usb/usx2y/usbusx2y.c
168
struct usx2ydev *usx2y = urb->context;
sound/usb/usx2y/usbusx2y.c
170
for (i = 0; i < 10 && usx2y->as04.urb[i] != urb; i++)
sound/usb/usx2y/usbusx2y.c
180
struct usx2ydev *usx2y = urb->context;
sound/usb/usx2y/usbusx2y.c
181
struct us428ctls_sharedmem *us428ctls = usx2y->us428ctls_sharedmem;
sound/usb/usx2y/usbusx2y.c
185
usx2y->in04_int_calls++;
sound/usb/usx2y/usbusx2y.c
196
memcpy(usx2y->in04_last, usx2y->in04_buf, sizeof(usx2y->in04_last));
sound/usb/usx2y/usbusx2y.c
200
if (usx2y->in04_last[i] != ((char *)usx2y->in04_buf)[i]) {
sound/usb/usx2y/usbusx2y.c
203
usx2y->in04_last[i] = ((char *)usx2y->in04_buf)[i];
sound/usb/usx2y/usbusx2y.c
211
memcpy(us428ctls->ctl_snapshot + n, usx2y->in04_buf, sizeof(us428ctls->ctl_snapshot[0]));
sound/usb/usx2y/usbusx2y.c
214
wake_up(&usx2y->us428ctls_wait_queue_head);
sound/usb/usx2y/usbusx2y.c
218
if (usx2y->us04) {
sound/usb/usx2y/usbusx2y.c
219
if (!usx2y->us04->submitted) {
sound/usb/usx2y/usbusx2y.c
221
err = usb_submit_urb(usx2y->us04->urb[usx2y->us04->submitted++], GFP_ATOMIC);
sound/usb/usx2y/usbusx2y.c
222
} while (!err && usx2y->us04->submitted < usx2y->us04->len);
sound/usb/usx2y/usbusx2y.c
231
if (!usx2y->as04.urb[j]->status) {
sound/usb/usx2y/usbusx2y.c
233
usb_fill_bulk_urb(usx2y->as04.urb[j], usx2y->dev,
sound/usb/usx2y/usbusx2y.c
234
usb_sndbulkpipe(usx2y->dev, 0x04), &p4out->val.vol,
sound/usb/usx2y/usbusx2y.c
236
i_usx2y_out04_int, usx2y);
sound/usb/usx2y/usbusx2y.c
237
err = usb_submit_urb(usx2y->as04.urb[j], GFP_ATOMIC);
sound/usb/usx2y/usbusx2y.c
249
urb->dev = usx2y->dev;
sound/usb/usx2y/usbusx2y.c
256
int usx2y_async_seq04_init(struct usx2ydev *usx2y)
sound/usb/usx2y/usbusx2y.c
260
if (WARN_ON(usx2y->as04.buffer))
sound/usb/usx2y/usbusx2y.c
263
usx2y->as04.buffer = kmalloc_array(URBS_ASYNC_SEQ,
sound/usb/usx2y/usbusx2y.c
265
if (!usx2y->as04.buffer) {
sound/usb/usx2y/usbusx2y.c
269
usx2y->as04.urb[i] = usb_alloc_urb(0, GFP_KERNEL);
sound/usb/usx2y/usbusx2y.c
270
if (!usx2y->as04.urb[i]) {
sound/usb/usx2y/usbusx2y.c
274
usb_fill_bulk_urb(usx2y->as04.urb[i], usx2y->dev,
sound/usb/usx2y/usbusx2y.c
275
usb_sndbulkpipe(usx2y->dev, 0x04),
sound/usb/usx2y/usbusx2y.c
276
usx2y->as04.buffer + URB_DATA_LEN_ASYNC_SEQ * i, 0,
sound/usb/usx2y/usbusx2y.c
277
i_usx2y_out04_int, usx2y);
sound/usb/usx2y/usbusx2y.c
278
err = usb_urb_ep_type_check(usx2y->as04.urb[i]);
sound/usb/usx2y/usbusx2y.c
284
usx2y_unlinkseq(&usx2y->as04);
sound/usb/usx2y/usbusx2y.c
288
int usx2y_in04_init(struct usx2ydev *usx2y)
sound/usb/usx2y/usbusx2y.c
292
if (WARN_ON(usx2y->in04_urb))
sound/usb/usx2y/usbusx2y.c
295
usx2y->in04_urb = usb_alloc_urb(0, GFP_KERNEL);
sound/usb/usx2y/usbusx2y.c
296
if (!usx2y->in04_urb) {
sound/usb/usx2y/usbusx2y.c
301
usx2y->in04_buf = kmalloc(21, GFP_KERNEL);
sound/usb/usx2y/usbusx2y.c
302
if (!usx2y->in04_buf) {
sound/usb/usx2y/usbusx2y.c
307
init_waitqueue_head(&usx2y->in04_wait_queue);
sound/usb/usx2y/usbusx2y.c
308
usb_fill_int_urb(usx2y->in04_urb, usx2y->dev, usb_rcvintpipe(usx2y->dev, 0x4),
sound/usb/usx2y/usbusx2y.c
309
usx2y->in04_buf, 21,
sound/usb/usx2y/usbusx2y.c
310
i_usx2y_in04_int, usx2y,
sound/usb/usx2y/usbusx2y.c
312
if (usb_urb_ep_type_check(usx2y->in04_urb)) {
sound/usb/usx2y/usbusx2y.c
316
return usb_submit_urb(usx2y->in04_urb, GFP_KERNEL);
sound/usb/usx2y/usbusx2y.c
319
kfree(usx2y->in04_buf);
sound/usb/usx2y/usbusx2y.c
320
usb_free_urb(usx2y->in04_urb);
sound/usb/usx2y/usbusx2y.c
321
usx2y->in04_buf = NULL;
sound/usb/usx2y/usbusx2y.c
322
usx2y->in04_urb = NULL;
sound/usb/usx2y/usbusx2y.c
378
snd_usx2y_card_used[usx2y(card)->card_index = dev] = 1;
sound/usb/usx2y/usbusx2y.c
380
usx2y(card)->dev = device;
sound/usb/usx2y/usbusx2y.c
381
init_waitqueue_head(&usx2y(card)->prepare_wait_queue);
sound/usb/usx2y/usbusx2y.c
382
init_waitqueue_head(&usx2y(card)->us428ctls_wait_queue_head);
sound/usb/usx2y/usbusx2y.c
383
mutex_init(&usx2y(card)->pcm_mutex);
sound/usb/usx2y/usbusx2y.c
384
INIT_LIST_HEAD(&usx2y(card)->midi_list);
sound/usb/usx2y/usbusx2y.c
392
usx2y(card)->dev->bus->busnum, usx2y(card)->dev->devnum);
sound/usb/usx2y/usbusx2y.c
399
struct usx2ydev *usx2y = usx2y(card);
sound/usb/usx2y/usbusx2y.c
401
kfree(usx2y->in04_buf);
sound/usb/usx2y/usbusx2y.c
402
usb_free_urb(usx2y->in04_urb);
sound/usb/usx2y/usbusx2y.c
403
if (usx2y->us428ctls_sharedmem)
sound/usb/usx2y/usbusx2y.c
404
free_pages_exact(usx2y->us428ctls_sharedmem,
sound/usb/usx2y/usbusx2y.c
406
if (usx2y->card_index >= 0 && usx2y->card_index < SNDRV_CARDS)
sound/usb/usx2y/usbusx2y.c
407
snd_usx2y_card_used[usx2y->card_index] = 0;
sound/usb/usx2y/usbusx2y.c
413
struct usx2ydev *usx2y;
sound/usb/usx2y/usbusx2y.c
419
usx2y = usx2y(card);
sound/usb/usx2y/usbusx2y.c
420
usx2y->chip_status = USX2Y_STAT_CHIP_HUP;
sound/usb/usx2y/usbusx2y.c
421
usx2y_unlinkseq(&usx2y->as04);
sound/usb/usx2y/usbusx2y.c
422
usb_kill_urb(usx2y->in04_urb);
sound/usb/usx2y/usbusx2y.c
426
list_for_each(p, &usx2y->midi_list) {
sound/usb/usx2y/usbusx2y.c
429
if (usx2y->us428ctls_sharedmem)
sound/usb/usx2y/usbusx2y.c
430
wake_up(&usx2y->us428ctls_wait_queue_head);
sound/usb/usx2y/usbusx2y.h
109
int usx2y_async_seq04_init(struct usx2ydev *usx2y);
sound/usb/usx2y/usbusx2y.h
110
int usx2y_in04_init(struct usx2ydev *usx2y);
sound/usb/usx2y/usbusx2y.h
80
struct usx2ydev *usx2y;
sound/usb/usx2y/usbusx2yaudio.c
1000
if (le16_to_cpu(usx2y(card)->dev->descriptor.idProduct) == USB_ID_US428) {
sound/usb/usx2y/usbusx2yaudio.c
1005
if (le16_to_cpu(usx2y(card)->dev->descriptor.idProduct) != USB_ID_US122)
sound/usb/usx2y/usbusx2yaudio.c
1006
err = usx2y_rate_set(usx2y(card), 44100); // Lets us428 recognize output-volume settings, disturbs us122.
sound/usb/usx2y/usbusx2yaudio.c
102
counts = cap_urb->iso_frame_desc[pack].actual_length / usx2y->stride;
sound/usb/usx2y/usbusx2yaudio.c
105
dev_err(&usx2y->dev->dev, "%s: should not be here with counts=%i\n",
sound/usb/usx2y/usbusx2yaudio.c
124
subs->hwptr * usx2y->stride, len * usx2y->stride);
sound/usb/usx2y/usbusx2yaudio.c
125
memcpy(subs->tmpbuf + len * usx2y->stride,
sound/usb/usx2y/usbusx2yaudio.c
126
runtime->dma_area, (count - len) * usx2y->stride);
sound/usb/usx2y/usbusx2yaudio.c
131
urb->transfer_buffer = runtime->dma_area + subs->hwptr * usx2y->stride;
sound/usb/usx2y/usbusx2yaudio.c
139
urb->transfer_buffer_length = count * usx2y->stride;
sound/usb/usx2y/usbusx2yaudio.c
151
int len = urb->actual_length / subs->usx2y->stride;
sound/usb/usx2y/usbusx2yaudio.c
171
urb->dev = subs->usx2y->dev; /* we need to set this at each time */
sound/usb/usx2y/usbusx2yaudio.c
234
static void usx2y_clients_stop(struct usx2ydev *usx2y)
sound/usb/usx2y/usbusx2yaudio.c
241
subs = usx2y->subs[s];
sound/usb/usx2y/usbusx2yaudio.c
243
dev_dbg(&usx2y->dev->dev, "%s: %i %p state=%i\n",
sound/usb/usx2y/usbusx2yaudio.c
249
subs = usx2y->subs[s];
sound/usb/usx2y/usbusx2yaudio.c
256
dev_dbg(&usx2y->dev->dev,
sound/usb/usx2y/usbusx2yaudio.c
262
usx2y->prepare_subs = NULL;
sound/usb/usx2y/usbusx2yaudio.c
263
wake_up(&usx2y->prepare_wait_queue);
sound/usb/usx2y/usbusx2yaudio.c
266
static void usx2y_error_urb_status(struct usx2ydev *usx2y,
sound/usb/usx2y/usbusx2yaudio.c
269
dev_err(&usx2y->dev->dev, "%s: ep=%i stalled with status=%i\n",
sound/usb/usx2y/usbusx2yaudio.c
272
usx2y_clients_stop(usx2y);
sound/usb/usx2y/usbusx2yaudio.c
278
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
282
dev_dbg(&usx2y->dev->dev,
sound/usb/usx2y/usbusx2yaudio.c
285
usb_get_current_frame_number(usx2y->dev),
sound/usb/usx2y/usbusx2yaudio.c
291
usx2y_error_urb_status(usx2y, subs, urb);
sound/usb/usx2y/usbusx2yaudio.c
297
capsubs = usx2y->subs[SNDRV_PCM_STREAM_CAPTURE];
sound/usb/usx2y/usbusx2yaudio.c
298
playbacksubs = usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK];
sound/usb/usx2y/usbusx2yaudio.c
305
usx2y->wait_iso_frame += nr_of_packs();
sound/usb/usx2y/usbusx2yaudio.c
307
usx2y_clients_stop(usx2y);
sound/usb/usx2y/usbusx2yaudio.c
312
static void usx2y_urbs_set_complete(struct usx2ydev *usx2y,
sound/usb/usx2y/usbusx2yaudio.c
320
subs = usx2y->subs[s];
sound/usb/usx2y/usbusx2yaudio.c
331
static void usx2y_subs_startup_finish(struct usx2ydev *usx2y)
sound/usb/usx2y/usbusx2yaudio.c
333
usx2y_urbs_set_complete(usx2y, i_usx2y_urb_complete);
sound/usb/usx2y/usbusx2yaudio.c
334
usx2y->prepare_subs = NULL;
sound/usb/usx2y/usbusx2yaudio.c
340
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
341
struct snd_usx2y_substream *prepare_subs = usx2y->prepare_subs;
sound/usb/usx2y/usbusx2yaudio.c
345
usx2y_subs_startup_finish(usx2y);
sound/usb/usx2y/usbusx2yaudio.c
347
wake_up(&usx2y->prepare_wait_queue);
sound/usb/usx2y/usbusx2yaudio.c
356
dev_dbg(&subs->usx2y->dev->dev,
sound/usb/usx2y/usbusx2yaudio.c
38
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
383
dev_dbg(&subs->usx2y->dev->dev, "%s %i\n", __func__, subs->endpoint);
sound/usb/usx2y/usbusx2yaudio.c
386
subs != subs->usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK]);
sound/usb/usx2y/usbusx2yaudio.c
399
int is_playback = subs == subs->usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK];
sound/usb/usx2y/usbusx2yaudio.c
400
struct usb_device *dev = subs->usx2y->dev;
sound/usb/usx2y/usbusx2yaudio.c
43
dev_err(&usx2y->dev->dev,
sound/usb/usx2y/usbusx2yaudio.c
448
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
450
usx2y->prepare_subs = subs;
sound/usb/usx2y/usbusx2yaudio.c
453
usx2y_urbs_set_complete(usx2y, i_usx2y_subs_startup);
sound/usb/usx2y/usbusx2yaudio.c
459
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
468
struct snd_usx2y_substream *subs = usx2y->subs[i];
sound/usb/usx2y/usbusx2yaudio.c
481
urb->dev = usx2y->dev;
sound/usb/usx2y/usbusx2yaudio.c
49
len = urb->iso_frame_desc[i].actual_length / usx2y->stride;
sound/usb/usx2y/usbusx2yaudio.c
495
usx2y->wait_iso_frame = urb->start_frame;
sound/usb/usx2y/usbusx2yaudio.c
504
wait_event(usx2y->prepare_wait_queue, !usx2y->prepare_subs);
sound/usb/usx2y/usbusx2yaudio.c
51
dev_dbg(&usx2y->dev->dev, "%s: 0 == len ERROR!\n", __func__);
sound/usb/usx2y/usbusx2yaudio.c
510
usx2y_subs_startup_finish(usx2y);
sound/usb/usx2y/usbusx2yaudio.c
511
usx2y_clients_stop(usx2y); // something is completely wrong > stop everything
sound/usb/usx2y/usbusx2yaudio.c
535
dev_dbg(&subs->usx2y->dev->dev, "%s(START)\n", __func__);
sound/usb/usx2y/usbusx2yaudio.c
537
atomic_read(&subs->usx2y->subs[SNDRV_PCM_STREAM_CAPTURE]->state) >= STATE_PREPARED) {
sound/usb/usx2y/usbusx2yaudio.c
544
dev_dbg(&subs->usx2y->dev->dev, "%s(STOP)\n", __func__);
sound/usb/usx2y/usbusx2yaudio.c
58
blen = cnt * usx2y->stride;
sound/usb/usx2y/usbusx2yaudio.c
59
memcpy(runtime->dma_area + hwptr_done * usx2y->stride, cp, blen);
sound/usb/usx2y/usbusx2yaudio.c
60
memcpy(runtime->dma_area, cp + blen, len * usx2y->stride - blen);
sound/usb/usx2y/usbusx2yaudio.c
62
memcpy(runtime->dma_area + hwptr_done * usx2y->stride, cp,
sound/usb/usx2y/usbusx2yaudio.c
63
len * usx2y->stride);
sound/usb/usx2y/usbusx2yaudio.c
642
struct usx2ydev *usx2y = urb->context;
sound/usb/usx2y/usbusx2yaudio.c
647
if (!--usx2y->us04->len)
sound/usb/usx2y/usbusx2yaudio.c
648
wake_up(&usx2y->in04_wait_queue);
sound/usb/usx2y/usbusx2yaudio.c
651
static int usx2y_rate_set(struct usx2ydev *usx2y, int rate)
sound/usb/usx2y/usbusx2yaudio.c
659
if (usx2y->rate != rate) {
sound/usb/usx2y/usbusx2yaudio.c
679
usb_fill_bulk_urb(us->urb[i], usx2y->dev, usb_sndbulkpipe(usx2y->dev, 4),
sound/usb/usx2y/usbusx2yaudio.c
680
usbdata + i, 2, i_usx2y_04int, usx2y);
sound/usb/usx2y/usbusx2yaudio.c
686
usx2y->us04 = us;
sound/usb/usx2y/usbusx2yaudio.c
687
wait_event_timeout(usx2y->in04_wait_queue, !us->len, HZ);
sound/usb/usx2y/usbusx2yaudio.c
688
usx2y->us04 = NULL;
sound/usb/usx2y/usbusx2yaudio.c
705
usx2y->us04 = NULL;
sound/usb/usx2y/usbusx2yaudio.c
709
usx2y->rate = rate;
sound/usb/usx2y/usbusx2yaudio.c
716
static int usx2y_format_set(struct usx2ydev *usx2y, snd_pcm_format_t format)
sound/usb/usx2y/usbusx2yaudio.c
723
usx2y->stride = 6;
sound/usb/usx2y/usbusx2yaudio.c
726
usx2y->stride = 4;
sound/usb/usx2y/usbusx2yaudio.c
728
list_for_each(p, &usx2y->midi_list) {
sound/usb/usx2y/usbusx2yaudio.c
731
usb_kill_urb(usx2y->in04_urb);
sound/usb/usx2y/usbusx2yaudio.c
732
err = usb_set_interface(usx2y->dev, 0, alternate);
sound/usb/usx2y/usbusx2yaudio.c
734
dev_err(&usx2y->dev->dev, "%s: usb_set_interface error\n",
sound/usb/usx2y/usbusx2yaudio.c
738
usx2y->in04_urb->dev = usx2y->dev;
sound/usb/usx2y/usbusx2yaudio.c
739
err = usb_submit_urb(usx2y->in04_urb, GFP_KERNEL);
sound/usb/usx2y/usbusx2yaudio.c
740
list_for_each(p, &usx2y->midi_list) {
sound/usb/usx2y/usbusx2yaudio.c
743
usx2y->format = format;
sound/usb/usx2y/usbusx2yaudio.c
744
usx2y->rate = 0;
sound/usb/usx2y/usbusx2yaudio.c
755
struct usx2ydev *dev = usx2y(card);
sound/usb/usx2y/usbusx2yaudio.c
760
guard(mutex)(&usx2y(card)->pcm_mutex);
sound/usb/usx2y/usbusx2yaudio.c
793
guard(mutex)(&subs->usx2y->pcm_mutex);
sound/usb/usx2y/usbusx2yaudio.c
794
dev_dbg(&subs->usx2y->dev->dev, "%s(%p)\n", __func__, substream);
sound/usb/usx2y/usbusx2yaudio.c
797
cap_subs = subs->usx2y->subs[SNDRV_PCM_STREAM_CAPTURE];
sound/usb/usx2y/usbusx2yaudio.c
807
playback_subs = subs->usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK];
sound/usb/usx2y/usbusx2yaudio.c
825
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
826
struct snd_usx2y_substream *capsubs = subs->usx2y->subs[SNDRV_PCM_STREAM_CAPTURE];
sound/usb/usx2y/usbusx2yaudio.c
829
dev_dbg(&usx2y->dev->dev, "%s(%p)\n", __func__, substream);
sound/usb/usx2y/usbusx2yaudio.c
831
guard(mutex)(&usx2y->pcm_mutex);
sound/usb/usx2y/usbusx2yaudio.c
836
if (usx2y->format != runtime->format) {
sound/usb/usx2y/usbusx2yaudio.c
837
err = usx2y_format_set(usx2y, runtime->format);
sound/usb/usx2y/usbusx2yaudio.c
841
if (usx2y->rate != runtime->rate) {
sound/usb/usx2y/usbusx2yaudio.c
842
err = usx2y_rate_set(usx2y, runtime->rate);
sound/usb/usx2y/usbusx2yaudio.c
846
dev_dbg(&usx2y->dev->dev, "%s: starting capture pipe for %s\n",
sound/usb/usx2y/usbusx2yaudio.c
885
if (subs->usx2y->chip_status & USX2Y_STAT_CHIP_MMAP_PCM_URBS)
sound/usb/usx2y/usbusx2yaudio.c
941
usx2y(card)->subs + 2 * usx2y(card)->pcm_devs;
sound/usb/usx2y/usbusx2yaudio.c
949
usx2y_substream[i]->usx2y = usx2y(card);
sound/usb/usx2y/usbusx2yaudio.c
95
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usbusx2yaudio.c
956
err = snd_pcm_new(card, NAME_ALLCAPS" Audio", usx2y(card)->pcm_devs,
sound/usb/usx2y/usbusx2yaudio.c
972
sprintf(pcm->name, NAME_ALLCAPS" Audio #%d", usx2y(card)->pcm_devs);
sound/usb/usx2y/usbusx2yaudio.c
985
usx2y(card)->pcm_devs++;
sound/usb/usx2y/usx2yhwdeppcm.c
106
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
107
struct snd_usx2y_hwdep_pcm_shm *shm = usx2y->hwdep_pcm_shm;
sound/usb/usx2y/usx2yhwdeppcm.c
112
usx2y_iso_frames_per_buffer(runtime, usx2y);
sound/usb/usx2y/usx2yhwdeppcm.c
121
counts = shm->captured_iso[shm->playback_iso_head].length / usx2y->stride;
sound/usb/usx2y/usx2yhwdeppcm.c
123
dev_err(&usx2y->dev->dev, "should not be here with counts=%i\n", counts);
sound/usb/usx2y/usx2yhwdeppcm.c
136
urb->transfer_buffer_length = count * usx2y->stride;
sound/usb/usx2y/usx2yhwdeppcm.c
150
shm = subs->usx2y->hwdep_pcm_shm;
sound/usb/usx2y/usx2yhwdeppcm.c
233
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
237
dev_dbg(&usx2y->dev->dev,
sound/usb/usx2y/usx2yhwdeppcm.c
239
usb_get_current_frame_number(usx2y->dev),
sound/usb/usx2y/usx2yhwdeppcm.c
245
usx2y_error_urb_status(usx2y, subs, urb);
sound/usb/usx2y/usx2yhwdeppcm.c
250
capsubs = usx2y->subs[SNDRV_PCM_STREAM_CAPTURE];
sound/usb/usx2y/usx2yhwdeppcm.c
251
capsubs2 = usx2y->subs[SNDRV_PCM_STREAM_CAPTURE + 2];
sound/usb/usx2y/usx2yhwdeppcm.c
252
playbacksubs = usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK];
sound/usb/usx2y/usx2yhwdeppcm.c
257
usx2y->wait_iso_frame += nr_of_packs();
sound/usb/usx2y/usx2yhwdeppcm.c
259
usx2y_clients_stop(usx2y);
sound/usb/usx2y/usx2yhwdeppcm.c
278
dev_dbg(&subs->usx2y->dev->dev,
sound/usb/usx2y/usx2yhwdeppcm.c
284
static void usx2y_usbpcm_subs_startup_finish(struct usx2ydev *usx2y)
sound/usb/usx2y/usx2yhwdeppcm.c
286
usx2y_urbs_set_complete(usx2y, i_usx2y_usbpcm_urb_complete);
sound/usb/usx2y/usx2yhwdeppcm.c
287
usx2y->prepare_subs = NULL;
sound/usb/usx2y/usx2yhwdeppcm.c
293
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
294
struct snd_usx2y_substream *prepare_subs = usx2y->prepare_subs;
sound/usb/usx2y/usx2yhwdeppcm.c
300
if (prepare_subs == usx2y->subs[SNDRV_PCM_STREAM_CAPTURE]) {
sound/usb/usx2y/usx2yhwdeppcm.c
301
cap_subs2 = usx2y->subs[SNDRV_PCM_STREAM_CAPTURE + 2];
sound/usb/usx2y/usx2yhwdeppcm.c
305
usx2y_usbpcm_subs_startup_finish(usx2y);
sound/usb/usx2y/usx2yhwdeppcm.c
306
wake_up(&usx2y->prepare_wait_queue);
sound/usb/usx2y/usx2yhwdeppcm.c
319
int is_playback = subs == subs->usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK];
sound/usb/usx2y/usx2yhwdeppcm.c
320
struct usb_device *dev = subs->usx2y->dev;
sound/usb/usx2y/usx2yhwdeppcm.c
342
subs->usx2y->hwdep_pcm_shm->playback : (
sound/usb/usx2y/usx2yhwdeppcm.c
344
subs->usx2y->hwdep_pcm_shm->capture0x8 :
sound/usb/usx2y/usx2yhwdeppcm.c
345
subs->usx2y->hwdep_pcm_shm->capture0xA);
sound/usb/usx2y/usx2yhwdeppcm.c
368
guard(mutex)(&subs->usx2y->pcm_mutex);
sound/usb/usx2y/usx2yhwdeppcm.c
369
dev_dbg(&subs->usx2y->dev->dev, "%s(%p)\n", __func__, substream);
sound/usb/usx2y/usx2yhwdeppcm.c
371
cap_subs2 = subs->usx2y->subs[SNDRV_PCM_STREAM_CAPTURE + 2];
sound/usb/usx2y/usx2yhwdeppcm.c
373
cap_subs = subs->usx2y->subs[SNDRV_PCM_STREAM_CAPTURE];
sound/usb/usx2y/usx2yhwdeppcm.c
387
playback_subs = subs->usx2y->subs[SNDRV_PCM_STREAM_PLAYBACK];
sound/usb/usx2y/usx2yhwdeppcm.c
402
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
404
usx2y->prepare_subs = subs;
sound/usb/usx2y/usx2yhwdeppcm.c
407
usx2y_urbs_set_complete(usx2y, i_usx2y_usbpcm_subs_startup);
sound/usb/usx2y/usx2yhwdeppcm.c
413
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
418
usx2y->hwdep_pcm_shm->captured_iso_head = -1;
sound/usb/usx2y/usx2yhwdeppcm.c
419
usx2y->hwdep_pcm_shm->captured_iso_frames = 0;
sound/usb/usx2y/usx2yhwdeppcm.c
423
struct snd_usx2y_substream *subs = usx2y->subs[stream + p];
sound/usb/usx2y/usx2yhwdeppcm.c
433
struct snd_usx2y_substream *subs = usx2y->subs[p];
sound/usb/usx2y/usx2yhwdeppcm.c
443
struct snd_usx2y_substream *subs = usx2y->subs[stream + p];
sound/usb/usx2y/usx2yhwdeppcm.c
451
urb->dev = usx2y->dev;
sound/usb/usx2y/usx2yhwdeppcm.c
466
usx2y->wait_iso_frame = urb->start_frame;
sound/usb/usx2y/usx2yhwdeppcm.c
476
wait_event(usx2y->prepare_wait_queue, !usx2y->prepare_subs);
sound/usb/usx2y/usx2yhwdeppcm.c
482
usx2y_subs_startup_finish(usx2y); // Call it now
sound/usb/usx2y/usx2yhwdeppcm.c
483
usx2y_clients_stop(usx2y); // something is completely wrong > stop everything
sound/usb/usx2y/usx2yhwdeppcm.c
500
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
501
struct snd_usx2y_substream *capsubs = subs->usx2y->subs[SNDRV_PCM_STREAM_CAPTURE];
sound/usb/usx2y/usx2yhwdeppcm.c
504
dev_dbg(&usx2y->dev->dev, "snd_usx2y_pcm_prepare(%p)\n", substream);
sound/usb/usx2y/usx2yhwdeppcm.c
506
guard(mutex)(&usx2y->pcm_mutex);
sound/usb/usx2y/usx2yhwdeppcm.c
508
if (!usx2y->hwdep_pcm_shm) {
sound/usb/usx2y/usx2yhwdeppcm.c
509
usx2y->hwdep_pcm_shm = alloc_pages_exact(USX2Y_HWDEP_PCM_PAGES,
sound/usb/usx2y/usx2yhwdeppcm.c
511
if (!usx2y->hwdep_pcm_shm)
sound/usb/usx2y/usx2yhwdeppcm.c
513
memset(usx2y->hwdep_pcm_shm, 0, USX2Y_HWDEP_PCM_PAGES);
sound/usb/usx2y/usx2yhwdeppcm.c
520
if (usx2y->format != runtime->format) {
sound/usb/usx2y/usx2yhwdeppcm.c
521
err = usx2y_format_set(usx2y, runtime->format);
sound/usb/usx2y/usx2yhwdeppcm.c
525
if (usx2y->rate != runtime->rate) {
sound/usb/usx2y/usx2yhwdeppcm.c
526
err = usx2y_rate_set(usx2y, runtime->rate);
sound/usb/usx2y/usx2yhwdeppcm.c
530
dev_dbg(&usx2y->dev->dev,
sound/usb/usx2y/usx2yhwdeppcm.c
539
usx2y->hwdep_pcm_shm->playback_iso_start = -1;
sound/usb/usx2y/usx2yhwdeppcm.c
54
struct usx2ydev *usx2y = subs->usx2y;
sound/usb/usx2y/usx2yhwdeppcm.c
541
while (usx2y_iso_frames_per_buffer(runtime, usx2y) >
sound/usb/usx2y/usx2yhwdeppcm.c
542
usx2y->hwdep_pcm_shm->captured_iso_frames) {
sound/usb/usx2y/usx2yhwdeppcm.c
543
dev_dbg(&usx2y->dev->dev,
sound/usb/usx2y/usx2yhwdeppcm.c
545
usx2y_iso_frames_per_buffer(runtime, usx2y),
sound/usb/usx2y/usx2yhwdeppcm.c
546
usx2y->hwdep_pcm_shm->captured_iso_frames);
sound/usb/usx2y/usx2yhwdeppcm.c
554
dev_dbg(&usx2y->dev->dev,
sound/usb/usx2y/usx2yhwdeppcm.c
556
usx2y_iso_frames_per_buffer(runtime, usx2y),
sound/usb/usx2y/usx2yhwdeppcm.c
557
usx2y->hwdep_pcm_shm->captured_iso_frames);
sound/usb/usx2y/usx2yhwdeppcm.c
559
usx2y->hwdep_pcm_shm->capture_iso_start = -1;
sound/usb/usx2y/usx2yhwdeppcm.c
57
if (usx2y->hwdep_pcm_shm->capture_iso_start < 0) { //FIXME
sound/usb/usx2y/usx2yhwdeppcm.c
58
head = usx2y->hwdep_pcm_shm->captured_iso_head + 1;
sound/usb/usx2y/usx2yhwdeppcm.c
59
if (head >= ARRAY_SIZE(usx2y->hwdep_pcm_shm->captured_iso))
sound/usb/usx2y/usx2yhwdeppcm.c
590
if (!(subs->usx2y->chip_status & USX2Y_STAT_CHIP_MMAP_PCM_URBS))
sound/usb/usx2y/usx2yhwdeppcm.c
596
runtime->hw = (subs->usx2y->subs[3] ? snd_usx2y_4c : snd_usx2y_2c);
sound/usb/usx2y/usx2yhwdeppcm.c
61
usx2y->hwdep_pcm_shm->capture_iso_start = head;
sound/usb/usx2y/usx2yhwdeppcm.c
62
dev_dbg(&usx2y->dev->dev, "cap start %i\n", head);
sound/usb/usx2y/usx2yhwdeppcm.c
624
struct usx2ydev *dev = usx2y(card);
sound/usb/usx2y/usx2yhwdeppcm.c
642
guard(mutex)(&usx2y(card)->pcm_mutex);
sound/usb/usx2y/usx2yhwdeppcm.c
645
usx2y(card)->chip_status |= USX2Y_STAT_CHIP_MMAP_PCM_URBS;
sound/usb/usx2y/usx2yhwdeppcm.c
654
guard(mutex)(&usx2y(card)->pcm_mutex);
sound/usb/usx2y/usx2yhwdeppcm.c
657
usx2y(hw->card)->chip_status &= ~USX2Y_STAT_CHIP_MMAP_PCM_URBS;
sound/usb/usx2y/usx2yhwdeppcm.c
66
dev_err(&usx2y->dev->dev,
sound/usb/usx2y/usx2yhwdeppcm.c
690
struct usx2ydev *usx2y = hw->private_data;
sound/usb/usx2y/usx2yhwdeppcm.c
692
if (!(usx2y->chip_status & USX2Y_STAT_CHIP_INIT))
sound/usb/usx2y/usx2yhwdeppcm.c
702
if (!usx2y->hwdep_pcm_shm)
sound/usb/usx2y/usx2yhwdeppcm.c
71
lens += urb->iso_frame_desc[i].actual_length / usx2y->stride;
sound/usb/usx2y/usx2yhwdeppcm.c
713
struct usx2ydev *usx2y = hwdep->private_data;
sound/usb/usx2y/usx2yhwdeppcm.c
715
if (usx2y->hwdep_pcm_shm)
sound/usb/usx2y/usx2yhwdeppcm.c
716
free_pages_exact(usx2y->hwdep_pcm_shm, USX2Y_HWDEP_PCM_PAGES);
sound/usb/usx2y/usx2yhwdeppcm.c
724
struct usb_device *dev = usx2y(card)->dev;
sound/usb/usx2y/usx2yhwdeppcm.c
734
hw->private_data = usx2y(card);
sound/usb/usx2y/usx2yhwdeppcm.c
749
pcm->private_data = usx2y(card)->subs;
sound/usb/usx2y/usx2yhwdeppcm.c
87
struct usx2ydev *usx2y)
sound/usb/usx2y/usx2yhwdeppcm.c
89
return (runtime->buffer_size * 1000) / usx2y->rate + 1; //FIXME: so far only correct period_size == 2^x ?