From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 4/6] drm/i915: enable VT switchless resume Date: Fri, 15 Feb 2013 22:14:21 +0100 Message-ID: <20130215211421.GI5813@phenom.ffwll.local> References: <1360960957-6688-1-git-send-email-jbarnes@virtuousgeek.org> <1360960957-6688-5-git-send-email-jbarnes@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-ee0-f51.google.com (mail-ee0-f51.google.com [74.125.83.51]) by gabe.freedesktop.org (Postfix) with ESMTP id D1647E5ED6 for ; Fri, 15 Feb 2013 13:12:04 -0800 (PST) Received: by mail-ee0-f51.google.com with SMTP id d17so1886822eek.24 for ; Fri, 15 Feb 2013 13:12:04 -0800 (PST) Content-Disposition: inline In-Reply-To: <1360960957-6688-5-git-send-email-jbarnes@virtuousgeek.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Jesse Barnes Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org On Fri, Feb 15, 2013 at 12:42:35PM -0800, Jesse Barnes wrote: > With the other bits in place, we can do this safely. > > Signed-off-by: Jesse Barnes > --- > drivers/gpu/drm/i915/i915_drv.c | 9 ++++++--- > drivers/gpu/drm/i915/intel_fb.c | 3 +++ > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index c5b8c81..12a14e1 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -492,8 +492,6 @@ static int i915_drm_freeze(struct drm_device *dev) > > cancel_delayed_work_sync(&dev_priv->rps.delayed_resume_work); > > - intel_modeset_disable(dev); I think we still need to turn off the backlight here (or teach the register restore code more smarts, but that's more work). Otherwise we'll turn on the backlight before the panel mode is restored ... -Daniel > - > drm_irq_uninstall(dev); > } > > @@ -569,9 +567,14 @@ static int __i915_drm_thaw(struct drm_device *dev) > mutex_unlock(&dev->struct_mutex); > > intel_modeset_init_hw(dev); > - intel_modeset_setup_hw_state(dev, false); > + > drm_irq_install(dev); > intel_hpd_init(dev); > + > + /* Resume the modeset for every activated CRTC */ > + drm_modeset_lock_all(dev); > + intel_modeset_setup_hw_state(dev, true); > + drm_modeset_unlock_all(dev); > } > > intel_opregion_init(dev); > diff --git a/drivers/gpu/drm/i915/intel_fb.c b/drivers/gpu/drm/i915/intel_fb.c > index 1c510da..987bc33 100644 > --- a/drivers/gpu/drm/i915/intel_fb.c > +++ b/drivers/gpu/drm/i915/intel_fb.c > @@ -149,6 +149,9 @@ static int intelfb_create(struct intel_fbdev *ifbdev, > } > info->screen_size = size; > > + /* This driver doesn't need a VT switch to restore the mode on resume */ > + info->skip_vt_switch = true; > + > // memset(info->screen_base, 0, size); > > drm_fb_helper_fill_fix(info, fb->pitches[0], fb->depth); > -- > 1.7.9.5 > > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/intel-gfx -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch