Lines Matching defs:sub

192 static void usb6fire_pcm_capture(struct pcm_substream *sub, struct pcm_urb *urb)
198 struct pcm_runtime *rt = snd_pcm_substream_chip(sub->instance);
199 struct snd_pcm_runtime *alsa_rt = sub->instance->runtime;
201 u32 *dest = (u32 *) (alsa_rt->dma_area + sub->dma_off
228 sub->dma_off++;
229 sub->period_off++;
231 sub->dma_off = 0;
239 static void usb6fire_pcm_playback(struct pcm_substream *sub,
245 struct pcm_runtime *rt = snd_pcm_substream_chip(sub->instance);
246 struct snd_pcm_runtime *alsa_rt = sub->instance->runtime;
247 u32 *src = (u32 *) (alsa_rt->dma_area + sub->dma_off
276 sub->dma_off++;
277 sub->period_off++;
280 sub->dma_off = 0;
291 struct pcm_substream *sub;
315 sub = &rt->capture;
316 spin_lock_irqsave(&sub->lock, flags);
317 if (sub->active) {
318 usb6fire_pcm_capture(sub, in_urb);
319 if (sub->period_off >= sub->instance->runtime->period_size) {
320 sub->period_off %= sub->instance->runtime->period_size;
321 spin_unlock_irqrestore(&sub->lock, flags);
322 snd_pcm_period_elapsed(sub->instance);
324 spin_unlock_irqrestore(&sub->lock, flags);
326 spin_unlock_irqrestore(&sub->lock, flags);
340 sub = &rt->playback;
341 spin_lock_irqsave(&sub->lock, flags);
342 if (sub->active) {
343 usb6fire_pcm_playback(sub, out_urb);
344 if (sub->period_off >= sub->instance->runtime->period_size) {
345 sub->period_off %= sub->instance->runtime->period_size;
346 spin_unlock_irqrestore(&sub->lock, flags);
347 snd_pcm_period_elapsed(sub->instance);
349 spin_unlock_irqrestore(&sub->lock, flags);
351 spin_unlock_irqrestore(&sub->lock, flags);
389 struct pcm_substream *sub = NULL;
402 sub = &rt->playback;
407 sub = &rt->capture;
410 if (!sub) {
416 sub->instance = alsa_sub;
417 sub->active = false;
425 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
432 if (sub) {
434 spin_lock_irqsave(&sub->lock, flags);
435 sub->instance = NULL;
436 sub->active = false;
437 spin_unlock_irqrestore(&sub->lock, flags);
452 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
458 if (!sub)
462 sub->dma_off = 0;
463 sub->period_off = 0;
496 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
502 if (!sub)
508 spin_lock_irqsave(&sub->lock, flags);
509 sub->active = true;
510 spin_unlock_irqrestore(&sub->lock, flags);
515 spin_lock_irqsave(&sub->lock, flags);
516 sub->active = false;
517 spin_unlock_irqrestore(&sub->lock, flags);
528 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
533 if (rt->panic || !sub)
536 spin_lock_irqsave(&sub->lock, flags);
537 ret = sub->dma_off;
538 spin_unlock_irqrestore(&sub->lock, flags);