[PATCH 04/10] ARM: no longer force unbuffered DMA for realview

Linus Walleij linus.walleij at linaro.org
Fri Feb 27 04:24:44 PST 2015


On Thu, Feb 26, 2015 at 5:11 PM, Arnd Bergmann <arnd at arndb.de> wrote:

> Commit 42c4dafe803dca ("ARM: 6202/1: Do not ARM_DMA_MEM_BUFFERABLE
> on RealView boards with L210/L220") changed the generic setting for
> ARM_DMA_MEM_BUFFERABLE to be disabled on any Realview kernel that includes
> support for any of the ARM11 variations. Doing this was required to
> allow doing DMA without a lockup in the l2x0 cache controller on the
> Realview platform.
>
> Unfortunately, in a kernel that also contains support for any ARMv7
> based machine, the same change makes it impossible to do DMA on ARMv7,
> which gets in the way of enabling multiplatform support on Realview.
>
> As confirmed by Catalin Marinas and Linus Walleij, the current
> code for Realview that we have in the kernel does not actually
> perform any DMA, and this is unlikely to change in the future.
> Therefore we can revert 42c4dafe803dca without introducing regressions,
> but we must never start using DMA on this platform in the future.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
> Cc: Linus Walleij <linus.walleij at linaro.org>
> Cc: Russell King <linux at arm.linux.org.uk>

The only platform that I actually got it working on was ARM PB11MPCore,
and only for the PL011 serial port (MMC for example will never work).
Maybe AACI works, maybe. But it's not worth the effort, so:

Acked-by: Linus Walleij <linus.walleij at linaro.org>

Yours,
Linus Walleij



More information about the linux-arm-kernel mailing list