[alsa-devel] ASoC: PCM formats for AC97

Jon Smirl jonsmirl at gmail.com
Sun Aug 9 22:58:16 CEST 2009


On Sun, Aug 9, 2009 at 3:03 PM, Mark
Brown<broonie at opensource.wolfsonmicro.com> wrote:
> On Sun, Aug 09, 2009 at 11:10:24AM -0400, Jon Smirl wrote:
>
>> We don't need to declare an endianess because it is fixed in the standard.
>> Now the ifdefs in the h file make this work for both BE and LE.
>
> The ifdefs in the header file define only the native endianness.
> There's no reason why an AC97 controller can't do byte swapping for
> itself but if we use the non-specific constants only native endianness
> will be advertised by the CODEC.

So the BE/LE are there to support the case of an AC97 host that can
handle both endians.  I think the mpc5200 can do that for I2S but not
AC97.

>> This also hides another implicit conversion. The AC97 codecs only take
>> 24b. Again it is the host controller that is converting 8/16/32 to
>> 24b.
>
> This is exactly why we're defining this standard format for AC97
> devices.  The formats are just placeholders to make the standard
> matching stuff work without having to teach it about AC97, they have no
> influence on the behaviour of the CODEC.
>

-- 
Jon Smirl
jonsmirl at gmail.com


More information about the Alsa-devel mailing list