Commit ac1a4f2c authored by Martyn Welch's avatar Martyn Welch Committed by Greg Kroah-Hartman

Staging: VME: Ensure TSI148 link list descriptors are written big endian

The DMA functionality fails to work on little endian processors, such as
found on x86 based platforms. The DMA engine copies the link list
descriptors from memory into big endian registers. On little endian systems
this results in the values being byte swapped. This patch uses standard
kernel functionality to ensure that the descriptors are stored in big
endian format.
Signed-off-by: default avatarMartyn Welch <martyn.welch@ge.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 3abc48ae
This diff is collapsed.
......@@ -56,16 +56,16 @@ struct tsi148_driver {
* correctly laid out - It must also be aligned on 64-bit boundaries.
*/
struct tsi148_dma_descriptor {
u32 dsau; /* Source Address */
u32 dsal;
u32 ddau; /* Destination Address */
u32 ddal;
u32 dsat; /* Source attributes */
u32 ddat; /* Destination attributes */
u32 dnlau; /* Next link address */
u32 dnlal;
u32 dcnt; /* Byte count */
u32 ddbs; /* 2eSST Broadcast select */
__be32 dsau; /* Source Address */
__be32 dsal;
__be32 ddau; /* Destination Address */
__be32 ddal;
__be32 dsat; /* Source attributes */
__be32 ddat; /* Destination attributes */
__be32 dnlau; /* Next link address */
__be32 dnlal;
__be32 dcnt; /* Byte count */
__be32 ddbs; /* 2eSST Broadcast select */
};
struct tsi148_dma_entry {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment