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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 20 May 2014 22:15:45 +0200
Daniel Vetter <daniel.vetter@xxxxxxxx> wrote:

> On Tue, May 20, 2014 at 9:58 PM, Jesse Barnes <jbarnes@xxxxxxxxxxxxxxxx> wrote:
> > Ah, poll_enable is false until after _thaw finishes, so
> > our hotplug_resume call of hpd_irq_event does nothing.  So aside from
> > the encoder hot_plug callbacks (which really just check dp link status,
> > which ought to be a no-op) our resume_hotplug function doesn't do
> > anything right now.  May as well kill it and just send an unconditional
> > uevent?
> 
> That's expensive since the reprobe will likely result in a few dropped
> frames (if the edid reading takes a long time). Better to do that in
> the kernel and avoid sending the uevent if nothing changed. Which iirc
> hpd_irq_event does for us.

Well delaying the resume by a long time isn't much better, but I guess
we need to fix this somehow.

Knut, does this patch also address your issue?  It should reset the
connector status fields correctly so the X driver doesn't have to work
around things...

diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index b948c71..e725235 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -623,8 +623,6 @@ static int __i915_drm_thaw(struct drm_device *dev, bool restore_gtt_mappings)
 		 * */
 		intel_hpd_init(dev);
 		dev_priv->enable_hotplug_processing = true;
-		/* Config may have changed between suspend and resume */
-		intel_resume_hotplug(dev);
 	}
 
 	intel_opregion_init(dev);
@@ -694,6 +692,11 @@ int i915_resume(struct drm_device *dev)
 		return ret;
 
 	drm_kms_helper_poll_enable(dev);
+	if (drm_core_check_feature(dev, DRIVER_MODESET)) {
+		/* Config may have changed between suspend and resume */
+		intel_resume_hotplug(dev);
+	}
+
 	return 0;
 }
 
_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux