Messages in this thread | | | From | Arnd Bergmann <> | Subject | Re: [PATCH v2 2/4] dma: move dw_dmac driver to an own directory | Date | Wed, 12 Jun 2013 13:36:08 +0200 |
| |
On Wednesday 12 June 2013 14:32:02 Vinod Koul wrote: > config DW_DMAC > tristate "Synopsys DesignWare AHB DMA platform driver" > select DW_DMAC_CORE > + select DW_DMAC_BIG_ENDIAN_IO if ARCH=AVR32 > default y if CPU_AT32AP7000 > help > Support the Synopsys DesignWare AHB DMA controller. This
I assume you have not actually tested this on AVR32?
The Kconfig statement above compares the values of CONFIG_ARCH and CONFIG_AVR32, so it would turn on big-endian mode when both are disabled (as is normally the case anywhere).
I think what you meant to write is
select DW_DMAC_BIG_ENDIAN_IO if AVR32
On Wednesday 12 June 2013 13:22:25 Vinod Koul wrote:
> > I don't know if we will have any platform in future which has such > > difference in endianess between CPU and DMA IP block. > you never know what h/w designers would think!
IIRC AVR32 endianess is screwed up in multiple ways and the kernel actually does some extra byte swapping depending on the platform. It's possible that the device is actually doing the regular little-endian I/O there and this is just a workaround from the other swaps. It's certainly best to leave the current logic in place, as your patch does.
Arnd
| |