diff options
author | Prashant Gaikwad <pgaikwad@nvidia.com> | 2011-08-03 14:49:20 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-08-19 15:40:44 -0700 |
commit | 0f2b29cd0d513e091a2cdfc8724f409fd1fdb61a (patch) | |
tree | 29a4774400a3b4991b5d70f361edcfab3a9c3080 /arch/arm/mach-tegra/suspend.c | |
parent | 315519d2c755f8ae206e12366eaa4a2a0cb626e7 (diff) |
ARM: tegra: pm: Do not use ioremap for sys mem
ARMv6+ architecture does not allow ioremap on system memory.
lp0 is relocated using ioremap on DRAM. If lp0 vector start address
is in system memory then use memblock_reserve and do not relocate.
Else if it is overlapping with carveout/fb then first remove the
carveout/fb using memblock_remove and then use ioremap.
Bug 827199
Reviewed-on: http://git-master/r/43685
(cherry picked from commit 1753408edc65ebfc0d4d203f2be960d49ca747a8)
Change-Id: Ic4abfbc98b43aafb2756cb3e69d0ee178204ec7d
Reviewed-on: http://git-master/r/44717
Reviewed-by: Varun Colbert <vcolbert@nvidia.com>
Tested-by: Varun Colbert <vcolbert@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/suspend.c')
-rw-r--r-- | arch/arm/mach-tegra/suspend.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/suspend.c b/arch/arm/mach-tegra/suspend.c index 0604dab04a1b..280b5d4ddf35 100644 --- a/arch/arm/mach-tegra/suspend.c +++ b/arch/arm/mach-tegra/suspend.c @@ -1182,7 +1182,9 @@ void __init tegra_init_suspend(struct tegra_suspend_platform_data *plat) pr_warning("Disabling LP0\n"); plat->suspend_mode = TEGRA_SUSPEND_LP1; } - if (plat->suspend_mode == TEGRA_SUSPEND_LP0 && tegra_lp0_vec_size) { + + if (plat->suspend_mode == TEGRA_SUSPEND_LP0 && tegra_lp0_vec_size && + tegra_lp0_vec_relocate) { unsigned char *reloc_lp0; unsigned long tmp; void __iomem *orig; |