Re: [PATCH v2 2/4] dma: move dw_dmac driver to an own directory

From: Arnd Bergmann
Date: Wed Jun 12 2013 - 07:35:59 EST


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