[alsa-devel] ASoC: PCM formats for AC97

Jon Smirl jonsmirl at gmail.com
Sun Aug 9 15:32:22 CEST 2009

On Sun, Aug 9, 2009 at 6:48 AM, Mark Brown<broonie at sirena.org.uk> wrote:
> On Sat, Aug 08, 2009 at 02:44:48PM -0400, Jon Smirl wrote:
>> I think I have this backwards, the ac97 driver can take 8/16/24/32
>> it's the Bestcomm program that doesn't know about anything except 32b.
> Remember, you need to consider the I2S driver as well.
>>                                SNDRV_PCM_FMTBIT_S32_LE |\
>>                                SNDRV_PCM_FMTBIT_S32_BE)
>> shouldn't this be
>>                                SNDRV_PCM_FMTBIT_S32)
>> The first form says the AC97 hardware can take both endians, but it
>> doesn't take both endians it takes the endian matching the machine it
>> is attached to.
> No, it can take any endianess - the wire format is fixed.  The layout of
> the data in memory is of little interest to the CODEC.  The formats used
> will be restricted by the CPU driver, the values there are essentially
> functioning as a wildcard match.

I agree with you, but I think the second form better indicates the
wildcard than the first form. It makes it look like endianess is not a

If you had used the second form I wouldn't have had a problem bringing
up a powerpc driver.

>> Don't the standard AC97 formats also include 8 and 24b?
> They'll include whatever the controller is happy to render down onto the
> bus.  That's just the ones that people have needed so far.

We could add 8/24b now so to make thing easier on the next driver developer.


Jon Smirl
jonsmirl at gmail.com

More information about the Alsa-devel mailing list