[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