]> git.ipfire.org Git - thirdparty/kernel/stable.git/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)
committerZefan Li <lizefan@huawei.com>
Fri, 19 Jun 2015 03:40:23 +0000 (11:40 +0800)
commit 84e871660bebfddb9a62ebd6f19d02536e782f0a upstream.

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: Zefan Li <lizefan@huawei.com>
arch/arm/mach-at91/pm.h

index 89f56f3a802e4d0726ae6f60db62bf41881a57f4..8c3f8e89d2ae5a7a741cb5e822f619ea849b7610 100644 (file)
@@ -38,7 +38,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));
 }