On Sun, Aug 9, 2009 at 3:03 PM, Mark Brown<broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> 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@xxxxxxxxx _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel