]> git.hungrycats.org Git - linux/commitdiff
ARM: at91: pm: fix at91rm9200 standby
authorAlexandre Belloni <alexandre.belloni@free-electrons.com>
Tue, 3 Mar 2015 18:58:22 +0000 (19:58 +0100)
committerSasha Levin <sasha.levin@oracle.com>
Sat, 28 Mar 2015 14:22:28 +0000 (10:22 -0400)
[ Upstream commit 84e871660bebfddb9a62ebd6f19d02536e782f0a ]

at91rm9200 standby and suspend to ram has been broken since
00482a4078f4. It is wrongly using AT91_BASE_SYS which is a physical address
and actually doesn't correspond to any register on at91rm9200.

Use the correct at91_ramc_base[0] instead.

Fixes: 00482a4078f4 (ARM: at91: implement the standby function for pm/cpuidle)
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
arch/arm/mach-at91/pm.h

index c5101dcb4fb04d8d9af68bea524043feb3c289a9..1d4df3b70ebcac418b8c7eb99c6e6c38d1bab3a7 100644 (file)
@@ -45,7 +45,7 @@ static inline void at91rm9200_standby(void)
                "    mcr    p15, 0, %0, c7, c0, 4\n\t"
                "    str    %5, [%1, %2]"
                :
-               : "r" (0), "r" (AT91_BASE_SYS), "r" (AT91RM9200_SDRAMC_LPR),
+               : "r" (0), "r" (at91_ramc_base[0]), "r" (AT91RM9200_SDRAMC_LPR),
                  "r" (1), "r" (AT91RM9200_SDRAMC_SRR),
                  "r" (lpr));
 }