[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <49845853.3020402@artecdesign.ee>
Date: Sat, 31 Jan 2009 15:55:31 +0200
From: Andrei Birjukov <andrei.birjukov@...ecdesign.ee>
To: linux@...im.org.za
CC: linux-kernel@...r.kernel.org
Subject: [PATCH] Fix for Atmel AT91 powersaving
Hello,
We've discovered that our AT91SAM9260 board consumed too much power when
returning from a slowclock low-power mode. RAM self-refresh is enabled
in a bootloader in our case, this is how we saw a difference. Estimated
ca. 30mA more on 4V battery than the same state before powersaving.
After a small research we found that there seems to be a bogus
sdram_selfrefresh_disable() call at the end of at91_pm_enter() call,
which overwrites the LPR register with uninitialized value. Please find
the suggested patch attached.
The below patch is tested and works ok. The patch was generated against
a 2.6.28 kernel with no additional patches.
Regards,
andrei
---
This patch fixes correct restoring of LPR register of the Atmel AT91
SDRAM controller
when returning from a power saving mode.
Signed-off-by: Andrei Birjukov <andrei.birjukov@...ecdesign.ee>
---
diff -purN linux-2.6.28-clean/arch/arm/mach-at91/pm.c
linux-2.6.28/arch/arm/mach-at91/pm.c
--- linux-2.6.28-clean/arch/arm/mach-at91/pm.c 2008-12-25
01:26:37.000000000 +0200
+++ linux-2.6.28/arch/arm/mach-at91/pm.c 2009-01-20
13:00:01.000000000 +0200
@@ -332,7 +332,6 @@ static int at91_pm_enter(suspend_state_t
at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR));
error:
- sdram_selfrefresh_disable();
target_state = PM_SUSPEND_ON;
at91_irq_resume();
at91_gpio_resume();
--
Andrei Birjukov
Embedded Software Engineer
Artec Design LLC
Akadeemia tee 23a, 12618, Tallinn, Estonia
Phone: +3726718559
Fax: +3726718555
GSM: +37256908939
E-mail: andrei.birjukov@...ecdesign.ee
WWW: http://www.artecdesign.com
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists