[alsa-devel] [uclinux-dist-devel] [PATCH 1/4] Blackfin: Use 8bit spi transfers for the ad1836

Mark Brown broonie at opensource.wolfsonmicro.com
Fri May 6 15:26:08 CEST 2011

On Fri, May 06, 2011 at 03:19:51PM +0200, Lars-Peter Clausen wrote:
> On 05/06/2011 02:48 PM, Mark Brown wrote:

> > So clearly the cache stuff ought to be using cpu_to_be16 for this stuff.
> > At present we've been lazy about this as on most CPUs the swap boils
> > down to a noop.  If we do end up needing both swaps then we just add
> > this as another parameter in the cache infrastructure.

> Currently everything is stored as big endian.

What do you mean?  The cache is CPU native.

> The easiest way to support 16-bit spi writes on little endian systems, would be
> to add a do_spi_write16 which would be used for those devices. On big-endian
> systems it would be an alias to do_spi_write, on litte-endian systems it would
> perform a byte swap on the buffer.

> An alternative would be to provide litte-endian versions of snd_soc_x_y_write.
> This would amount to more code, but less runtime overhead since we can store it
> in litte-endian format right away instead of having to swap the bytes.

This would also support bulk operations direct from cache.

Either of these would be an example of using cpu_to_() as I suggested.

More information about the Alsa-devel mailing list