summaryrefslogtreecommitdiff
path: root/sound/isa/gus/gusmax.c
diff options
context:
space:
mode:
authorBen Dooks <ben.dooks@codethink.co.uk>2015-03-13 18:14:52 +0000
committerBen Dooks <ben.dooks@codethink.co.uk>2015-03-13 19:07:54 +0000
commit1ce30392e7393441cc2e26877f35aa580291b869 (patch)
tree1997071aa6cfd7c4a71fd6aa108704cab00526a3 /sound/isa/gus/gusmax.c
parent37fdc802818fb512d2143ffaf07ddd734405afb2 (diff)
downloadlinux-baserock/bjdooks/zynq-be.tar.gz
macb: fix issues with running on ARM big-endianbaserock/bjdooks/zynq-be
The macb driver does not work on an ARM cpu running in big-endian mode due to two issues with register access and ring building. The register code uses __raw_readl and __raw_writel which do not take into account CPU versus bus endian-ness. This is fixed by changing to use the readl_relaxed and writel_relaxed accesors which deal with endianness without adding strict ordering. When building the ring, the data must also be written in le32 format as the hardware expects to be reading data in little-edian wheras the cpu is writing to memory in big endian. Use the appropriate __le32 conversion functions. Tested on an Xilinx Zynq on a Digilent Zybo board. Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk> -- CC: Nicolas Ferre <nicolas.ferre@atmel.com> CC: Linux Networking <netdev@vger.kernel.org>
Diffstat (limited to 'sound/isa/gus/gusmax.c')
0 files changed, 0 insertions, 0 deletions