Lines Matching refs:fp

45 	struct audioformat *fp, *n;  in free_substream()  local
49 list_for_each_entry_safe(fp, n, &subs->fmt_list, list) { in free_substream()
50 kfree(fp->rate_table); in free_substream()
51 kfree(fp->chmap); in free_substream()
52 kfree(fp); in free_substream()
84 struct audioformat *fp) in snd_usb_init_substream() argument
100 list_add_tail(&fp->list, &subs->fmt_list); in snd_usb_init_substream()
101 subs->formats |= fp->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()
125 struct audioformat *fp) in have_dup_chmap() argument
129 for (p = fp->list.prev; p != &subs->fmt_list; p = p->prev) { in have_dup_chmap()
133 !memcmp(prev->chmap, fp->chmap, sizeof(*fp->chmap))) in have_dup_chmap()
144 struct audioformat *fp; in usb_chmap_ctl_tlv() local
154 list_for_each_entry(fp, &subs->fmt_list, list) { in usb_chmap_ctl_tlv()
157 if (!fp->chmap) in usb_chmap_ctl_tlv()
159 if (have_dup_chmap(subs, fp)) in usb_chmap_ctl_tlv()
162 ch_bytes = fp->chmap->channels * 4; in usb_chmap_ctl_tlv()
169 for (i = 0; i < fp->chmap->channels; i++, dst++) { in usb_chmap_ctl_tlv()
170 if (put_user(fp->chmap->map[i], dst)) in usb_chmap_ctl_tlv()
205 struct audioformat *fp; in add_chmap() local
210 list_for_each_entry(fp, &subs->fmt_list, list) in add_chmap()
211 if (fp->chmap) in add_chmap()
322 struct audioformat *fp) in snd_usb_add_audio_stream() argument
330 if (as->fmt_type != fp->fmt_type) 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()
336 subs->formats |= fp->formats; in snd_usb_add_audio_stream()
342 if (as->fmt_type != fp->fmt_type) in snd_usb_add_audio_stream()
350 snd_usb_init_substream(as, stream, fp); in snd_usb_add_audio_stream()
360 as->fmt_type = fp->fmt_type; in snd_usb_add_audio_stream()
378 snd_usb_init_substream(as, stream, fp); in snd_usb_add_audio_stream()
479 struct audioformat *fp = NULL; in snd_usb_parse_audio_interface() local
644 fp && fp->altsetting == 1 && fp->channels == 1 && in snd_usb_parse_audio_interface()
645 fp->formats == SNDRV_PCM_FMTBIT_S16_LE && in snd_usb_parse_audio_interface()
648 fp->maxpacksize * 2) in snd_usb_parse_audio_interface()
651 fp = kzalloc(sizeof(*fp), GFP_KERNEL); in snd_usb_parse_audio_interface()
652 if (! fp) { in snd_usb_parse_audio_interface()
657 fp->iface = iface_no; in snd_usb_parse_audio_interface()
658 fp->altsetting = altno; in snd_usb_parse_audio_interface()
659 fp->altset_idx = i; in snd_usb_parse_audio_interface()
660 fp->endpoint = get_endpoint(alts, 0)->bEndpointAddress; in snd_usb_parse_audio_interface()
661 fp->ep_attr = get_endpoint(alts, 0)->bmAttributes; in snd_usb_parse_audio_interface()
662 fp->datainterval = snd_usb_parse_datainterval(chip, alts); in snd_usb_parse_audio_interface()
663 fp->protocol = protocol; in snd_usb_parse_audio_interface()
664 fp->maxpacksize = le16_to_cpu(get_endpoint(alts, 0)->wMaxPacketSize); in snd_usb_parse_audio_interface()
665 fp->channels = num_channels; in snd_usb_parse_audio_interface()
667 fp->maxpacksize = (((fp->maxpacksize >> 11) & 3) + 1) in snd_usb_parse_audio_interface()
668 * (fp->maxpacksize & 0x7ff); in snd_usb_parse_audio_interface()
669 fp->attributes = parse_uac_endpoint_attributes(chip, alts, protocol, iface_no); in snd_usb_parse_audio_interface()
670 fp->clock = clock; in snd_usb_parse_audio_interface()
679 fp->attributes &= ~UAC_EP_CS_ATTR_SAMPLE_RATE; in snd_usb_parse_audio_interface()
684 fp->attributes |= UAC_EP_CS_ATTR_SAMPLE_RATE; in snd_usb_parse_audio_interface()
695 fp->ep_attr &= ~USB_ENDPOINT_SYNCTYPE; in snd_usb_parse_audio_interface()
697 fp->ep_attr |= USB_ENDPOINT_SYNC_ADAPTIVE; in snd_usb_parse_audio_interface()
699 fp->ep_attr |= USB_ENDPOINT_SYNC_SYNC; in snd_usb_parse_audio_interface()
704 if (snd_usb_parse_audio_format(chip, fp, format, fmt, stream) < 0) { in snd_usb_parse_audio_interface()
705 kfree(fp->rate_table); in snd_usb_parse_audio_interface()
706 kfree(fp); in snd_usb_parse_audio_interface()
707 fp = NULL; in snd_usb_parse_audio_interface()
712 if (fp->channels != num_channels) in snd_usb_parse_audio_interface()
714 fp->chmap = convert_chmap(fp->channels, chconfig, protocol); in snd_usb_parse_audio_interface()
716 dev_dbg(&dev->dev, "%u:%d: add audio endpoint %#x\n", iface_no, altno, fp->endpoint); in snd_usb_parse_audio_interface()
717 err = snd_usb_add_audio_stream(chip, stream, fp); in snd_usb_parse_audio_interface()
719 kfree(fp->rate_table); in snd_usb_parse_audio_interface()
720 kfree(fp->chmap); in snd_usb_parse_audio_interface()
721 kfree(fp); in snd_usb_parse_audio_interface()
726 snd_usb_init_pitch(chip, iface_no, alts, fp); in snd_usb_parse_audio_interface()
727 snd_usb_init_sample_rate(chip, iface_no, alts, fp, fp->rate_max); in snd_usb_parse_audio_interface()