ARM: shmobile: Select CONFIG_ZONE_DMA when CONFIG_ARM_LPAE is enabled
authorLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Thu, 23 Oct 2014 14:38:31 +0000 (17:38 +0300)
committerSimon Horman <horms+renesas@verge.net.au>
Mon, 27 Oct 2014 23:43:03 +0000 (08:43 +0900)
Most IP cores on ARM Renesas platforms can only address 32 bits of
physical memory for DMA. Without CONFIG_ZONE_DMA enabled and with the
recent CMA highmem allocation support, the default CMA zone is reserved
above the 4GiB limit when LPAE is enabled, resulting in various driver
failures.

Fix the problem by selecting CONFIG_ZONE_DMA. Other options to
investigate in the future would be to either enable IOMMU support or use
custom CMA reservations for peripherals not supporting LPAE.

While not a strict dependency, the "[PATCH 0/4] Low/high memory CMA
reservation fixes" series is also required to fix a different but related CMA
allocation problem.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
arch/arm/mach-shmobile/Kconfig

index 21f457b..6bc018f 100644 (file)
@@ -1,5 +1,6 @@
 config ARCH_SHMOBILE
        bool
+       select ZONE_DMA if ARM_LPAE
 
 config PM_RCAR
        bool