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->tx_length_quirk = as->chip->tx_length_quirk; in snd_usb_init_substream()
96 subs->speed = snd_usb_get_speed(subs->dev); in snd_usb_init_substream()
97 subs->pkt_offset_adj = 0; in snd_usb_init_substream()
101 list_add_tail(&fp->list, &subs->fmt_list); in snd_usb_init_substream()
102 subs->formats |= fp->formats; in snd_usb_init_substream()
103 subs->num_formats++; in snd_usb_init_substream()
104 subs->fmt_type = fp->fmt_type; in snd_usb_init_substream()
105 subs->ep_num = fp->endpoint; in snd_usb_init_substream()
106 if (fp->channels > subs->channels_max) in snd_usb_init_substream()
107 subs->channels_max = fp->channels; in snd_usb_init_substream()
115 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_info() local
118 uinfo->count = subs->channels_max; in usb_chmap_ctl_info()
125 static bool have_dup_chmap(struct snd_usb_substream *subs, in have_dup_chmap() argument
130 for (p = fp->list.prev; p != &subs->fmt_list; p = p->prev) { in have_dup_chmap()
144 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_tlv() local
155 list_for_each_entry(fp, &subs->fmt_list, list) { in usb_chmap_ctl_tlv()
160 if (have_dup_chmap(subs, fp)) in usb_chmap_ctl_tlv()
187 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_get() local
193 if (subs->cur_audiofmt) in usb_chmap_ctl_get()
194 chmap = subs->cur_audiofmt->chmap; in usb_chmap_ctl_get()
204 struct snd_usb_substream *subs) in add_chmap() argument
211 list_for_each_entry(fp, &subs->fmt_list, list) in add_chmap()
223 chmap->private_data = subs; in add_chmap()
328 struct snd_usb_substream *subs; in snd_usb_add_audio_stream() local
335 subs = &as->substream[stream]; in snd_usb_add_audio_stream()
336 if (subs->ep_num == fp->endpoint) { in snd_usb_add_audio_stream()
337 list_add_tail(&fp->list, &subs->fmt_list); in snd_usb_add_audio_stream()
338 subs->num_formats++; in snd_usb_add_audio_stream()
339 subs->formats |= fp->formats; in snd_usb_add_audio_stream()
347 subs = &as->substream[stream]; in snd_usb_add_audio_stream()
348 if (subs->ep_num) in snd_usb_add_audio_stream()
354 return add_chmap(as->pcm, stream, subs); in snd_usb_add_audio_stream()