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;
317 scoped_guard(spinlock_irqsave, &sub->lock) {
318 if (sub->active) {
319 usb6fire_pcm_capture(sub, in_urb);
320 if (sub->period_off >= sub->instance->runtime->period_size) {
321 sub->period_off %= sub->instance->runtime->period_size;
327 snd_pcm_period_elapsed(sub->instance);
341 sub = &rt->playback;
343 scoped_guard(spinlock_irqsave, &sub->lock) {
344 if (sub->active) {
345 usb6fire_pcm_playback(sub, out_urb);
346 if (sub->period_off >= sub->instance->runtime->period_size) {
347 sub->period_off %= sub->instance->runtime->period_size;
353 snd_pcm_period_elapsed(sub->instance);
391 struct pcm_substream *sub = NULL;
404 sub = &rt->playback;
409 sub = &rt->capture;
412 if (!sub) {
417 sub->instance = alsa_sub;
418 sub->active = false;
425 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
431 if (sub) {
433 scoped_guard(spinlock_irqsave, &sub->lock) {
434 sub->instance = NULL;
435 sub->active = false;
450 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
456 if (!sub)
460 sub->dma_off = 0;
461 sub->period_off = 0;
489 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
494 if (!sub)
497 guard(spinlock_irqsave)(&sub->lock);
501 sub->active = true;
506 sub->active = false;
517 struct pcm_substream *sub = usb6fire_pcm_get_substream(alsa_sub);
521 if (rt->panic || !sub)
524 guard(spinlock_irqsave)(&sub->lock);
525 ret = sub->dma_off;