Lines Matching refs:fp

45 				     struct audioformat *fp,  in parse_audio_format_i_type()  argument
51 switch (fp->protocol) { in parse_audio_format_i_type()
78 fp->iface, fp->altsetting); in parse_audio_format_i_type()
90 fp->iface, fp->altsetting, in parse_audio_format_i_type()
99 if (snd_usb_is_big_endian_format(chip, fp)) in parse_audio_format_i_type()
105 if (snd_usb_is_big_endian_format(chip, fp)) in parse_audio_format_i_type()
116 fp->iface, fp->altsetting, in parse_audio_format_i_type()
141 fp->iface, fp->altsetting, format); in parse_audio_format_i_type()
144 pcm_formats |= snd_usb_interface_dsd_format_quirks(chip, fp, sample_bytes); in parse_audio_format_i_type()
160 static int parse_audio_format_rates_v1(struct snd_usb_audio *chip, struct audioformat *fp, in parse_audio_format_rates_v1() argument
168 fp->iface, fp->altsetting); in parse_audio_format_rates_v1()
178 fp->rate_table = kmalloc(sizeof(int) * nr_rates, GFP_KERNEL); in parse_audio_format_rates_v1()
179 if (fp->rate_table == NULL) { in parse_audio_format_rates_v1()
184 fp->nr_rates = 0; in parse_audio_format_rates_v1()
185 fp->rate_min = fp->rate_max = 0; in parse_audio_format_rates_v1()
196 fp->altsetting == 5 && fp->maxpacksize == 392) in parse_audio_format_rates_v1()
204 fp->rate_table[fp->nr_rates] = rate; in parse_audio_format_rates_v1()
205 if (!fp->rate_min || rate < fp->rate_min) in parse_audio_format_rates_v1()
206 fp->rate_min = rate; in parse_audio_format_rates_v1()
207 if (!fp->rate_max || rate > fp->rate_max) in parse_audio_format_rates_v1()
208 fp->rate_max = rate; in parse_audio_format_rates_v1()
209 fp->rates |= snd_pcm_rate_to_rate_bit(rate); in parse_audio_format_rates_v1()
210 fp->nr_rates++; in parse_audio_format_rates_v1()
212 if (!fp->nr_rates) { in parse_audio_format_rates_v1()
218 fp->rates = SNDRV_PCM_RATE_CONTINUOUS; in parse_audio_format_rates_v1()
219 fp->rate_min = combine_triple(&fmt[offset + 1]); in parse_audio_format_rates_v1()
220 fp->rate_max = combine_triple(&fmt[offset + 4]); in parse_audio_format_rates_v1()
232 struct audioformat *fp, int nr_triplets, in parse_uac2_sample_rate_range() argument
237 fp->rates = fp->rate_min = fp->rate_max = 0; in parse_uac2_sample_rate_range()
254 fp->rate_min = min; in parse_uac2_sample_rate_range()
255 fp->rate_max = max; in parse_uac2_sample_rate_range()
256 fp->rates = SNDRV_PCM_RATE_CONTINUOUS; in parse_uac2_sample_rate_range()
261 if (fp->rate_table) in parse_uac2_sample_rate_range()
262 fp->rate_table[nr_rates] = rate; in parse_uac2_sample_rate_range()
263 if (!fp->rate_min || rate < fp->rate_min) in parse_uac2_sample_rate_range()
264 fp->rate_min = rate; in parse_uac2_sample_rate_range()
265 if (!fp->rate_max || rate > fp->rate_max) in parse_uac2_sample_rate_range()
266 fp->rate_max = rate; in parse_uac2_sample_rate_range()
267 fp->rates |= snd_pcm_rate_to_rate_bit(rate); in parse_uac2_sample_rate_range()
289 struct audioformat *fp) in parse_audio_format_rates_v2() argument
294 int clock = snd_usb_clock_find_source(chip, fp->clock, false); in parse_audio_format_rates_v2()
343 kfree(fp->rate_table); in parse_audio_format_rates_v2()
344 fp->rate_table = NULL; in parse_audio_format_rates_v2()
345 fp->nr_rates = parse_uac2_sample_rate_range(chip, fp, nr_triplets, data); in parse_audio_format_rates_v2()
347 if (fp->nr_rates == 0) { in parse_audio_format_rates_v2()
353 fp->rate_table = kmalloc(sizeof(int) * fp->nr_rates, GFP_KERNEL); in parse_audio_format_rates_v2()
354 if (!fp->rate_table) { in parse_audio_format_rates_v2()
361 parse_uac2_sample_rate_range(chip, fp, nr_triplets, data); in parse_audio_format_rates_v2()
373 struct audioformat *fp, unsigned int format, in parse_audio_format_i() argument
388 fp->altsetting == 6) in parse_audio_format_i()
396 fp->formats = pcm_format_to_bits(pcm_format); in parse_audio_format_i()
398 fp->formats = parse_audio_format_i_type(chip, fp, format, fmt); in parse_audio_format_i()
399 if (!fp->formats) in parse_audio_format_i()
408 switch (fp->protocol) { in parse_audio_format_i()
411 fp->channels = fmt->bNrChannels; in parse_audio_format_i()
412 ret = parse_audio_format_rates_v1(chip, fp, (unsigned char *) fmt, 7); in parse_audio_format_i()
416 ret = parse_audio_format_rates_v2(chip, fp); in parse_audio_format_i()
420 if (fp->channels < 1) { in parse_audio_format_i()
423 fp->iface, fp->altsetting, fp->channels); in parse_audio_format_i()
434 struct audioformat *fp, in parse_audio_format_ii() argument
443 fp->formats = SNDRV_PCM_FMTBIT_U8; /* temporary hack to receive byte streams */ in parse_audio_format_ii()
446 fp->formats = SNDRV_PCM_FMTBIT_MPEG; in parse_audio_format_ii()
451 fp->iface, fp->altsetting, format); in parse_audio_format_ii()
452 fp->formats = SNDRV_PCM_FMTBIT_MPEG; in parse_audio_format_ii()
456 fp->channels = 1; in parse_audio_format_ii()
458 switch (fp->protocol) { in parse_audio_format_ii()
465 fp->frame_size = framesize; in parse_audio_format_ii()
466 ret = parse_audio_format_rates_v1(chip, fp, _fmt, 8); /* fmt[8..] sample rates */ in parse_audio_format_ii()
474 fp->frame_size = framesize; in parse_audio_format_ii()
475 ret = parse_audio_format_rates_v2(chip, fp); in parse_audio_format_ii()
484 struct audioformat *fp, unsigned int format, in snd_usb_parse_audio_format() argument
493 err = parse_audio_format_i(chip, fp, format, fmt); in snd_usb_parse_audio_format()
496 err = parse_audio_format_ii(chip, fp, format, fmt); in snd_usb_parse_audio_format()
501 fp->iface, fp->altsetting, in snd_usb_parse_audio_format()
505 fp->fmt_type = fmt->bFormatType; in snd_usb_parse_audio_format()
517 fp->rates != SNDRV_PCM_RATE_48000 && in snd_usb_parse_audio_format()
518 fp->rates != SNDRV_PCM_RATE_96000) in snd_usb_parse_audio_format()