lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ