Skip to contentSkip to conversation

dw_dmac: repair driver for use with AVR32 (AP7000)

PATCH Superseded Hein Tibosch 1 participant 1 message Aug 26, 2012

v1 of 4 Superseded Latest is v4 →

lore
Share & tools
lore
#0 lore raw

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(-)