Lines Matching refs:subs

43 static void free_substream(struct snd_usb_substream *subs)  in free_substream()  argument
47 if (!subs->num_formats) in free_substream()
49 list_for_each_entry_safe(fp, n, &subs->fmt_list, list) { in free_substream()
54 kfree(subs->rate_list.list); in free_substream()
86 struct snd_usb_substream *subs = &as->substream[stream]; in snd_usb_init_substream() local
88 INIT_LIST_HEAD(&subs->fmt_list); in snd_usb_init_substream()
89 spin_lock_init(&subs->lock); in snd_usb_init_substream()
91 subs->stream = as; in snd_usb_init_substream()
92 subs->direction = stream; in snd_usb_init_substream()
93 subs->dev = as->chip->dev; in snd_usb_init_substream()
94 subs->txfr_quirk = as->chip->txfr_quirk; in snd_usb_init_substream()
95 subs->speed = snd_usb_get_speed(subs->dev); in snd_usb_init_substream()
96 subs->pkt_offset_adj = 0; in snd_usb_init_substream()
100 list_add_tail(&fp->list, &subs->fmt_list); in snd_usb_init_substream()
101 subs->formats |= fp->formats; in snd_usb_init_substream()
102 subs->num_formats++; in snd_usb_init_substream()
103 subs->fmt_type = fp->fmt_type; in snd_usb_init_substream()
104 subs->ep_num = fp->endpoint; in snd_usb_init_substream()
105 if (fp->channels > subs->channels_max) in snd_usb_init_substream()
106 subs->channels_max = fp->channels; in snd_usb_init_substream()
114 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_info() local
117 uinfo->count = subs->channels_max; in usb_chmap_ctl_info()
124 static bool have_dup_chmap(struct snd_usb_substream *subs, in have_dup_chmap() argument
129 for (p = fp->list.prev; p != &subs->fmt_list; p = p->prev) { in have_dup_chmap()
143 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_tlv() local
154 list_for_each_entry(fp, &subs->fmt_list, list) { in usb_chmap_ctl_tlv()
159 if (have_dup_chmap(subs, fp)) in usb_chmap_ctl_tlv()
186 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_get() local
192 if (subs->cur_audiofmt) in usb_chmap_ctl_get()
193 chmap = subs->cur_audiofmt->chmap; in usb_chmap_ctl_get()
203 struct snd_usb_substream *subs) in add_chmap() argument
210 list_for_each_entry(fp, &subs->fmt_list, list) in add_chmap()
222 chmap->private_data = subs; in add_chmap()
325 struct snd_usb_substream *subs; in snd_usb_add_audio_stream() local
332 subs = &as->substream[stream]; in snd_usb_add_audio_stream()
333 if (subs->ep_num == fp->endpoint) { in snd_usb_add_audio_stream()
334 list_add_tail(&fp->list, &subs->fmt_list); in snd_usb_add_audio_stream()
335 subs->num_formats++; in snd_usb_add_audio_stream()
336 subs->formats |= fp->formats; in snd_usb_add_audio_stream()
344 subs = &as->substream[stream]; in snd_usb_add_audio_stream()
345 if (subs->ep_num) in snd_usb_add_audio_stream()
351 return add_chmap(as->pcm, stream, subs); in snd_usb_add_audio_stream()