mv_xor: support big endian systems using descriptor swap feature
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 29 Jul 2013 15:42:14 +0000 (17:42 +0200)
committerDan Williams <djbw@fb.com>
Fri, 23 Aug 2013 05:57:37 +0000 (22:57 -0700)
commite03bc654f85604bcd5304debb597f398d1d03778
tree380052c9f15b3b01034dac678acc1b3fcf21bf37
parent5733c38ae3473115ac7df3fe19bd2502149d8c51
mv_xor: support big endian systems using descriptor swap feature

The mv_xor driver had never been used in a big-endian context, and
therefore was not using the hardware features to support such an
execution environment. The hardware provides a "descriptor swap" bit
that automatically swaps the bytes of the DMA descriptors, within
blocks of 8 bytes. This requires a different DMA descriptor layout on
big-endian systems, as well as enabling this "descriptor swap" bit.

This mechanism is exactly identical to the one already used in the
mv643xx_eth network driver and the mvneta network driver.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Dan Williams <djbw@fb.com>
drivers/dma/mv_xor.c
drivers/dma/mv_xor.h