linux/arch/arm/mach-tegra
Paul Kocialkowski 6aa26c5d66 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>
2017-07-31 18:59:44 +02:00
..
board-paz00.c ARM: tegra: paz00: Fix __initdata placement 2017-01-25 09:09:32 +01:00
board.h ARM: tegra: Convert PMC to a driver 2014-07-17 14:58:43 +02:00
common.h ARM: tegra: hotplug: Include missing common.h 2016-06-10 16:17:58 +02:00
cpuidle-tegra20.c soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
cpuidle-tegra30.c ARM: tegra: cpuidle: Add missing cpuidle.h include 2016-06-10 16:17:59 +02:00
cpuidle-tegra114.c ARM: tegra: cpuidle: Add missing cpuidle.h include 2016-06-10 16:17:59 +02:00
cpuidle.c ARM: tegra: Use a function to get the chip ID 2014-07-17 13:36:41 +02:00
cpuidle.h ARM: tegra: cpuidle: Add missing cpuidle.h include 2016-06-10 16:17:59 +02:00
hotplug.c ARM: tegra: hotplug: Include missing common.h 2016-06-10 16:17:58 +02:00
io.c ARM: tegra: Sort includes alphabetically 2014-07-17 13:29:57 +02:00
iomap.h soc/tegra: fuse: Unify Tegra20 and Tegra30 drivers 2015-07-16 10:38:28 +02:00
irammap.h ARM: tegra: move resume vector define to irammap.h 2013-09-17 13:44:22 -06:00
irq.c ARM: tegra: irq: Add missing irq.h include 2016-06-10 16:18:00 +02:00
irq.h ARM: tegra: remove old LIC support 2015-03-15 00:40:52 +00:00
Kconfig ARM: tegra: Select appropriate DMA options for LPAE 2017-07-31 18:59:44 +02:00
Makefile soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
platsmp.c soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
pm-tegra20.c ARM: tegra: Sort includes alphabetically 2014-07-17 13:29:57 +02:00
pm-tegra30.c ARM: tegra: Sort includes alphabetically 2014-07-17 13:29:57 +02:00
pm.c soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
pm.h ARM: tegra: pm: Add tegra_cpu_do_idle() prototype 2016-06-10 16:18:01 +02:00
reset-handler.S soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
reset.c ARM: 8641/1: treewide: Replace uses of virt_to_phys with __pa_symbol 2017-02-28 11:06:10 +00:00
reset.h ARM: SoC: platform support for v4.2 2015-06-26 11:34:35 -07:00
sleep-tegra20.S soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
sleep-tegra30.S soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00
sleep.h ARM: tegra20: Store CPU "resettable" status in IRAM 2015-05-04 12:58:19 +02:00
sleep.S ARM: tegra: Remove unnecessary inclusion of flowctrl header 2017-04-04 15:43:52 +02:00
tegra.c soc/tegra: Move Tegra flowctrl driver 2017-04-04 15:48:04 +02:00