Re: [PATCH 3/4] drm/i915: enable VT switchless resume v3

Chris Wilson
2014-05-16T22:38:14Z

On Fri, May 16, 2014 at 03:20:47PM -0700, Jesse Barnes wrote:
> On Mon, 21 Apr 2014 18:37:31 +0200
> Knut Petersen <Knut_Petersen@t-online.de> wrote:
> > > + /* This driver doesn't need a VT switch to restore the mode on resume */
> > > + info->skip_vt_switch = true;
> > > +
> > > drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth);
> > > drm_fb_helper_fill_var(info, &ifbdev->helper, sizes->fb_width, sizes->fb_height);
>
> Is it sufficient to just revert this part? Or are the other bits
> needed too?
>
> Sorry for the delay on this, I've been traveling a lot the past month
> and buried in other stuff so out of touch with much of my email.

The key step here is that X is restarted after resume. The slow down was
due to X not finding any connected outputs and so disabling them all,
setting up a dummy 1024x768 fb which really confused KDE. (KDE queries
the config causing a forced reprobe of all outputs, setups the display
for the native 1280x1024, but screws up KDE's own bookkeeping.)

The impact has been fixed by handling the connector->status more
robusting during initial output probing in X. What remains is the
question whether connector->status can be set appropriately upon resume?
It requires a detection cycle to be sure that the outputs are still
there, which is arguably better deferred to userspace. To be consistent
the BIOS take over code should mark connector->status as unknown for the
CRTCs it takes over without doing a detection cycle (where we just
presume that the CRTC/output being enabled means something is on the
other end of the pipe and is still valid).
-Chris

--
Chris Wilson, Intel Open Source Technology Centre