[PATCH] ARM: relax conditions required for enabling Contiguous Memory Allocator

Arnd Bergmann arnd at arndb.de
Mon Aug 20 16:01:23 EDT 2012


On Monday 20 August 2012, Marek Szyprowski wrote:
> Contiguous Memory Allocator requires only paging and MMU enabled not
> particular CPU architectures, so there is no need for strict dependency
> on CPU type. This enables to use CMA on some older ARM v5 systems which
> also might need large contiguous blocks for the multimedia processing hw
> modules.
> 
> Reported-by: Prabhakar Lad <prabhakar.csengg at gmail.com>
> Signed-off-by: Marek Szyprowski <m.szyprowski at samsung.com>

The patch looks simple, but I want a better explanation for it.
When we went through all possible cases, we decided that:

* ARMv6+ need CMA to avoid the double mapping problem.
* ARMv4/v5 cannot generally use CMA because it doesn't work
  together with DMABOUNCE. I don't remember if it was the
  only problem, but I definitely remember this was intentional.
* We want a common kernel for all ARMv6+ eventually, and a
  separate kernel for all ARMv4/v5 ones.

If the reasoning has changed, please try to explain the full
situation. On a related topic, what happened to the idea that
ARMv6+ is broken without CMA? I noticed that it's optional
now.

	Arnd



More information about the linux-arm-kernel mailing list