Please sign in to comment.
mmc: sunxi: fix endianness issues
The MMC device in Allwinner SoCs uses an internal DMA controller, which gets its information from DMA descriptors in normal memory. The device expects the values in there to be in little-endian format. Since we use normal memory accesses to fill those DMA descriptors, we must wrap write accesses to these descriptors with cpu_to_le32() calls to make sure they land in memory in the expected byte order. This allows the MMC device to be used with big-endian kernels. Tested on BananaPi(arm) and Pine64(arm64) with both big-endian and little-endian kernels. Signed-off-by: Andre Przywara <firstname.lastname@example.org>
- Loading branch information...