From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pavel Machek Subject: Re: [PATCH] implement pm_ops.valid for everybody Date: Tue, 20 Mar 2007 23:49:19 +0100 Message-ID: <20070320224919.GS3545@elf.ucw.cz> References: <20070320015846.636692000@sipsolutions.net> <20070320102551.GB19283@elf.ucw.cz> <1174388812.3770.29.camel@johannes.berg> <200703201644.59046.david-b@pacbell.net> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Return-path: Content-Disposition: inline In-Reply-To: <200703201644.59046.david-b@pacbell.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-pm-bounces@lists.linux-foundation.org Errors-To: linux-pm-bounces@lists.linux-foundation.org To: David Brownell Cc: Alexey Starikovskiy , Ben Dooks , linux-arm@lists.arm.linux.org.uk, Dirk Behme , linux-pm@lists.linux-foundation.org, Nicolas Pitre , Johannes Berg List-Id: linux-pm@vger.kernel.org Hi! > > Almost all users of pm_ops only support mem sleep, don't check in .valid > > and don't reject any others in .prepare so users can be confused if they > > check /sys/power/state, especially when new states are ever added. > = > By the way ... as a note to implementors, it should be trivial to > implement a basic "standby" state that suspends drivers, disables > many clocks, and probably puts DRAM into self-refresh mode, but > uses only the wait-for-interrupt CPU lowpower mode. > = > A key difference between that and STR would then be that STR does > extra magic, like switching the CPU to a slow clock and then turning > off all the clocks that drive the chip "fast". Also, that because > it disables so many clocks, the SOC probably can't support as many > types of wakeup events in STR. > = > I mention this because implementing such a "standby" mode means > that all the platform drivers can start to make their suspend() > and resume() code behave, and userspace tools can be put into > place, before all that tricky/painful STR work gets done. Also, > because driver wakeup events in such a "standby" mode tend to be > a lot more powerful ... pretty much how a driver using runtime > PM models would work (instead of user-visible "goto sleep"). Actually, I second that. "standby" that spins down disks to protect them for transport is very useful feature, even if it does not save much power. (Okay, that's notebooks and high-end-zauruses with spinning disks, but...) Pavel -- = (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blo= g.html