[alsa-devel] [PATCH 06/15] ALSA: pcm: Add DRM helper to set constraint for format

Takashi Iwai tiwai at suse.de
Wed Dec 2 10:23:58 CET 2015


On Wed, 02 Dec 2015 13:27:21 +0100,
Subhransu S. Prusty wrote:
> 
> On Tue, Dec 01, 2015 at 01:55:03PM +0100, Takashi Iwai wrote:
> > On Tue, 01 Dec 2015 18:47:02 +0100,
> > Subhransu S. Prusty wrote:
> > > 
> > > +static int eld_limit_formats(struct snd_pcm_runtime *runtime, void *eld)
> > > +{
> > > +	u64 formats = SNDRV_PCM_FMTBIT_S16_LE;
> > > +	int i;
> > > +	const u8 *sad, *eld_buf = eld;
> > > +
> > > +	sad = drm_eld_sad(eld_buf);
> > > +	if (!sad)
> > > +		goto format_constraint;
> > > +
> > > +	for (i = drm_eld_sad_count(eld_buf); i > 0; i--, sad += 3) {
> > > +		if (sad_format(sad) == 1) { /* AUDIO_CODING_TYPE_LPCM */
> > > +
> > > +			/* 20 bit */
> > > +			if (sad_sample_bits_lpcm(sad) & 0x2)
> > > +				formats |= SNDRV_PCM_FMTBIT_S32_LE;
> > > +
> > > +			/* 24 bit */
> > > +			if (sad_sample_bits_lpcm(sad) & 0x4)
> > > +				formats |= SNDRV_PCM_FMTBIT_S24_LE;
> > 
> > Does it work correctly with HD-audio...?
> 
> It works correctly. Do you suspect something wrong?

Traditionally, 24bit is supported by S32 format on HDA controller, so
I wonder it.


Takashi


More information about the Alsa-devel mailing list