[Moved to linux-pm mailing list] On Mon, 8 Nov 2004, David Brownell wrote: > I've got to catch up on those linux-pm discussions (I was doing > some PM work instead of discussing it :) ... but last time I > checked in, I didn't like the way "frozen" was getting addressed. > > It was looking more and more like a swsusp-specific state that's > just a workaround for not having selective resume for the device > on which the swsusp snapshot would be written out... That's not how I see it at all. FREEZE has no relation to selectively resuming the swap device, and in fact Pavel was pretty much opposed to doing that kind of selective resume. Rather it's a way to separate out the two different requirements needed for power management: telling a driver to idle its device (FREEZE) and telling a driver to change the device's power level (SUSPEND). > > Exactly. Drivers should stop everything whenever their interface is > > frozen. Only usbcore should worry about actually changing power levels > > during a SUSPEND call. (It may turn out, by coincidence, that a frozen > > device does end up getting suspended -- if the controller is UHCI for > > instance -- but that shouldn't affect anything.) > > Except it doesn't seem to me like it can be so neat, > especially given those examples where "frozen" is by > definition a power reduced state. (No audio out, > so the device disables all that circuitry...) That's just a harmless side effect. Unbinding an audio driver and setting the interface to altsetting 0 might do the same thing -- it's not relevant here. There's nothing wrong with a device using less power at certain times. What matters is that if the interface is frozen but the device isn't then the device really isn't suspended; you can send URBs to it, change its state, and so on. > The last notion that made sense to me was having > "frozen" just be another suspend state ... one that > places even fewer constraints than system-S1 does. Don't confuse driver states with device states. FREEZE is primarily a driver notion whereas SUSPEND is definitely a device state (although it implies FREEZE, of course). Alan Stern