Messages in this thread | | | From | "Rafael J. Wysocki" <> | Subject | Re: [PATCH] PM / i915: Skip kernel VT switch during suspend/resume if KMS is used | Date | Tue, 26 Jan 2010 19:47:45 +0100 |
| |
On Tuesday 26 January 2010, Pavel Machek wrote: > On Mon 2010-01-25 22:54:37, Rafael J. Wysocki wrote: > > On Monday 25 January 2010, Alan Cox wrote: > > > > > But in that case we should be able to disable the VT switch disable > > > > > path; we just have to check each driver as it's loaded. > > > > > > > > OK, what the right sequence of checks would be in that case and where to place > > > > them? > > > > > > Why are we even driving a vt switch direct from the suspend/resume > > > logic ? The problem starts there. If it was being handled off the device > > > suspend/resume method then there wouldn't be a mess to start with ? > > > > > > Start at the beginning > > > > > > - Why do we switch to arbitarily chosen 'last vt' > > > - Why isn't vt related suspend/resume handled by the device > > > > Well, that was added long ago as a workaround for some problems people > > reported (presumably). I've never looked at that before, so I can't really > > tell why someone did it this particular way. > > As X drives hardware, it is/was neccessary to get control out of X and > console switch was convenient. > > Note that it needs to happen with userland still active -- before > freezer.
Well, that's a bit cumbersome.
> And yes, it should be per-driver these days.
That would have to be done using suspend notifiers and should depend on what driver actually controls the screen at the moment. And I guess the only case in which we actually _need_ to do the kernel VT switch is when the hardware is controlled by X and without KMS.
Is there a simple way to determine if that's the case?
Rafael
| |