summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvdumpa <vdumpa@nvidia.com>2011-06-06 10:57:54 -0700
committerRohan Somvanshi <rsomvanshi@nvidia.com>2011-09-07 05:12:51 -0700
commitb04ab5d338b31b21af0db5983839368a6ec4f327 (patch)
tree73b5b7cffad26c292a74956c996c64c016c810d4
parent03fdda36cc03a4fa5d731df8b3ec1785621e746d (diff)
ARM: tegra: Update tegra_ioremap for PCIE.
Update tegra_ioremap for PCIE address mapping. Bug 637871 Change-Id: I9999f58ae6ceb5609d8f7c5783f5a8ffac90b582 Reviewed-on: http://git-master/r/35253 Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Dan Willemsen <dwillemsen@nvidia.com> Reviewed-by: Jeremy Alves <jalves@nvidia.com> Tested-by: Krishna Thota <kthota@nvidia.com> Reviewed-by: Narendra Damahe <ndamahe@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/io.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/arm/mach-tegra/io.c b/arch/arm/mach-tegra/io.c
index a0c48b583530..0018321aed8a 100644
--- a/arch/arm/mach-tegra/io.c
+++ b/arch/arm/mach-tegra/io.c
@@ -94,9 +94,13 @@ void __iomem *tegra_ioremap(unsigned long p, size_t size, unsigned int type)
* __arm_ioremap fails to set the domain of ioremapped memory
* correctly, only use it on physical memory.
*/
- if (v == NULL && p >= TEGRA_DRAM_BASE &&
- p <= (TEGRA_DRAM_BASE + TEGRA_DRAM_SIZE))
+ if (v == NULL) {
+ if ((p >= TEGRA_DRAM_BASE &&
+ (p + size) <= (TEGRA_DRAM_BASE + TEGRA_DRAM_SIZE)) ||
+ (p >= TEGRA_PCIE_BASE &&
+ (p + size) <= (TEGRA_PCIE_BASE + TEGRA_PCIE_SIZE)))
v = __arm_ioremap(p, size, type);
+ }
/*
* If the physical address was not physical memory or statically