Lines Matching refs:subs

42 static void free_substream(struct snd_usb_substream *subs)  in free_substream()  argument
46 if (!subs->num_formats) in free_substream()
48 list_for_each_entry_safe(fp, n, &subs->fmt_list, list) in free_substream()
50 kfree(subs->rate_list.list); in free_substream()
51 kfree(subs->str_pd); in free_substream()
52 snd_media_stream_delete(subs); in free_substream()
89 struct snd_usb_substream *subs = &as->substream[stream]; in snd_usb_init_substream() local
91 INIT_LIST_HEAD(&subs->fmt_list); in snd_usb_init_substream()
92 spin_lock_init(&subs->lock); in snd_usb_init_substream()
94 subs->stream = as; in snd_usb_init_substream()
95 subs->direction = stream; in snd_usb_init_substream()
96 subs->dev = as->chip->dev; in snd_usb_init_substream()
97 subs->txfr_quirk = as->chip->txfr_quirk; in snd_usb_init_substream()
98 subs->tx_length_quirk = as->chip->tx_length_quirk; in snd_usb_init_substream()
99 subs->speed = snd_usb_get_speed(subs->dev); in snd_usb_init_substream()
100 subs->pkt_offset_adj = 0; in snd_usb_init_substream()
101 subs->stream_offset_adj = 0; in snd_usb_init_substream()
105 list_add_tail(&fp->list, &subs->fmt_list); in snd_usb_init_substream()
106 subs->formats |= fp->formats; in snd_usb_init_substream()
107 subs->num_formats++; in snd_usb_init_substream()
108 subs->fmt_type = fp->fmt_type; in snd_usb_init_substream()
109 subs->ep_num = fp->endpoint; in snd_usb_init_substream()
110 if (fp->channels > subs->channels_max) in snd_usb_init_substream()
111 subs->channels_max = fp->channels; in snd_usb_init_substream()
114 subs->str_pd = pd; in snd_usb_init_substream()
116 snd_usb_power_domain_set(subs->stream->chip, pd, in snd_usb_init_substream()
120 snd_usb_preallocate_buffer(subs); in snd_usb_init_substream()
128 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_info() local
131 uinfo->count = subs->channels_max; in usb_chmap_ctl_info()
138 static bool have_dup_chmap(struct snd_usb_substream *subs, in have_dup_chmap() argument
143 list_for_each_entry_continue_reverse(prev, &subs->fmt_list, list) { in have_dup_chmap()
155 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_tlv() local
166 list_for_each_entry(fp, &subs->fmt_list, list) { in usb_chmap_ctl_tlv()
171 if (have_dup_chmap(subs, fp)) in usb_chmap_ctl_tlv()
198 struct snd_usb_substream *subs = info->private_data; in usb_chmap_ctl_get() local
202 if (subs->cur_audiofmt) in usb_chmap_ctl_get()
203 chmap = subs->cur_audiofmt->chmap; in usb_chmap_ctl_get()
208 for (; i < subs->channels_max; i++) in usb_chmap_ctl_get()
215 struct snd_usb_substream *subs) in add_chmap() argument
222 list_for_each_entry(fp, &subs->fmt_list, list) in add_chmap()
234 chmap->private_data = subs; in add_chmap()
488 struct snd_usb_substream *subs; in __snd_usb_add_audio_stream() local
495 subs = &as->substream[stream]; in __snd_usb_add_audio_stream()
496 if (subs->ep_num == fp->endpoint) { in __snd_usb_add_audio_stream()
497 list_add_tail(&fp->list, &subs->fmt_list); in __snd_usb_add_audio_stream()
498 subs->num_formats++; in __snd_usb_add_audio_stream()
499 subs->formats |= fp->formats; in __snd_usb_add_audio_stream()
511 subs = &as->substream[stream]; in __snd_usb_add_audio_stream()
512 if (subs->ep_num) in __snd_usb_add_audio_stream()
518 return add_chmap(as->pcm, stream, subs); in __snd_usb_add_audio_stream()