summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Kocialkowski <contact@paulk.fr>2017-04-25 00:59:46 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-09-27 22:45:24 +0200
commit2e8144f7398d8a7cfb3b9bd1c8073acba2b88307 (patch)
tree85a764fdcca79497338bd1867fd21e0566a40b89
parentfbf8e53d45685e8127551244ffee1ec2af3812f0 (diff)
ARM: tegra: Select appropriate DMA options for LPAE
This automatically selects options for zone DMA and 64 bit DMA addresses when LPAE is enabled on ARM Tegra platforms. These options are required for proper operation with LPAE enabled. The ZONE_DMA option is required to ensure that drivers that allocate DMA memory get buffers from the first 4 GiB. This is necessary because a lot of the controllers only support addressing 32 bits. As for ARCH_DMA_ADDR_T_64BIT, there are situations where devices that do support addresses of more than 32 bits (such as the display controller or the GPU) can run without translating addresses through an IOMMU on a device with more than 4 GiB of system memory. Note that both of these options are stop-gap solutions required only until the IOMMU can be properly integrated with the DMA mapping API and drivers use that properly and consistently. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> [treding@nvidia.com: specify rationale for options] Signed-off-by: Thierry Reding <treding@nvidia.com> (backported from commit 6aa26c5d66595494e810c791602d87a572c78808)
-rw-r--r--arch/arm/mach-tegra/Kconfig2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index ac1d33bd97fb..8385f1f30aca 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -107,6 +107,8 @@ config ARCH_TEGRA_12x_SOC
select TEGRA_ISOMGR
select TEGRA_ISOMGR_SYSFS
select PROC_DEVICETREE
+ select ZONE_DMA if ARM_LPAE
+ select ARCH_DMA_ADDR_T_64BIT if ARM_LPAE
help
Support for NVIDIA Tegra 12x family of SoCs, based upon the
ARM Cortex-A15MP CPU