[alsa-devel] [PATCH v2 3/5] ASoC: generic-dmaengine-pcm: Prepare formats mask for valid physical sample sizes

Takashi Iwai tiwai at suse.de
Wed Jul 2 16:24:46 CEST 2014


At Wed, 02 Jul 2014 16:13:59 +0200,
Lars-Peter Clausen wrote:
> 
> On 07/02/2014 04:12 PM, Takashi Iwai wrote:
> > At Wed, 02 Jul 2014 16:10:09 +0200,
> > Lars-Peter Clausen wrote:
> >>
> >> On 07/02/2014 03:47 PM, Takashi Iwai wrote:
> >> [...]
> >>>> +	/*
> >>>> +	 * Prepare formats mask for valid/allowed sample types. If the dma does
> >>>> +	 * not have support for the given physical word size, it needs to be
> >>>> +	 * masked out so user space can not use the format which produces
> >>>> +	 * corrupted audio.
> >>>> +	 * In case the dma driver does not implement the slave_caps the default
> >>>> +	 * assumption is that it supports 1, 2 and 4 bytes widths.
> >>>> +	 */
> >>>> +	for (i = 0; i <= SNDRV_PCM_FORMAT_LAST; i++) {
> >>>> +		int bits = snd_pcm_format_physical_width(i);
> >>>
> >>> Better to add a negative value check.  Some formats return -EINVAL.
> >>>
> >>
> >> So what should we do with those formats? Not support them?
> >
> > Yes, these are special formats that can't be handled generically.
> >
> 
> Looking through the list in pcm_misc.c there are also some formats where the 
> physical width is not a multiple of 8. We should probably also skip those.

Right, ADPCM and G723 are such ones.


Takashi


More information about the Alsa-devel mailing list