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

-- 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to