dw_dmac: repair driver for use with AVR32 (AP7000)
cover dw_dmac: repair driver for use with AVR32 (AP7000)
After some recent changes to dw_dmac, the driver got broken for the AVR32 platform for two reasons:
The accessors to i/o memory had become little-endian. The maximum transfer width on the memory side was increased from 32 to 64 bits.
These patches repair the driver by:
1. making the endianness configurable through Kconfig, for AVR32 it will become big-endian
2. making the maximum memory transfer width configurable It can be set in the code within arch
For non-avr32 (ARM) platforms, nothing has to be changed.
Thanks to Viresh and Arnd for reviewing
Hein Tibosch (2):
dw_dmac: make driver endianness configurable
dw_dmac: max_mem_width limits value for SRC/DST_TR_WID register
drivers/dma/Kconfig | 8 ++++++++ drivers/dma/dw_dmac.c | 8 ++++++++ drivers/dma/dw_dmac_regs.h | 23 +++++++++++++++++++++++ include/linux/dw_dmac.h | 3 +++ 4 files changed, 42 insertions(+), 0 deletions(-)