Re: [linux-pm] [PATCH v2] Add suspend/resume for HPET

From: Thomas Gleixner
Date: Tue Apr 03 2007 - 01:55:00 EST


On Mon, 2007-04-02 at 16:04 -0400, Alan Stern wrote:
> > It's not that simple though, especially with HPET. The BIOS may expect
> > the PIT to work, but Linux currently (and problematically!) uses HPET in
> > "legacy replacement mode". And ISTR the problems are coming up when the
> > system is already in a low-functionality state: IRQs off everywhere,
> > even timer ticks have stopped.
>
> I know nothing about the workings of the HPET and other clock code. My
> point was this: Suspend passes through various intermediate stages in
> which some devices are available and others aren't. So long as those
> stages are exact duplicates (in reverse order) of the stages that occurred
> during startup, it should be possible to make them all work.

Unfortunately it is not a fully linear problem. Devices are initialized
late and put the system into a more complex state (i.e. dynticks,
highres) which needs to be suspended and resumed. If we want to do this
completely linear we need to do a full reverse rollback of the system
states, which moves even more complexity into such systems.

Also the linear approach is not working with other devices, as one can
see with the still unresolved "IRQ#X nobody cared" issues at resume,
which break my laptop. It works nice on startup of the system, but
breaks on resume.

tglx


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/