drm/i915: resume MST after reading back hw state
Otherwise the MST resume paths can hit DPMS paths which hit state checker paths, which hit WARN_ON, because the state checker is inconsistent with the hw. This fixes a bunch of WARN_ON's on resume after undocking. Signed-off-by: Dave Airlie <airlied@redhat.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Cc: stable@vger.kernel.org Signed-off-by: Jani Nikula <jani.nikula@intel.com>
This commit is contained in:
parent
9cca306880
commit
e7d6f7d708
|
@ -706,11 +706,12 @@ static int i915_drm_resume(struct drm_device *dev)
|
||||||
dev_priv->display.hpd_irq_setup(dev);
|
dev_priv->display.hpd_irq_setup(dev);
|
||||||
spin_unlock_irq(&dev_priv->irq_lock);
|
spin_unlock_irq(&dev_priv->irq_lock);
|
||||||
|
|
||||||
intel_dp_mst_resume(dev);
|
|
||||||
drm_modeset_lock_all(dev);
|
drm_modeset_lock_all(dev);
|
||||||
intel_modeset_setup_hw_state(dev, true);
|
intel_modeset_setup_hw_state(dev, true);
|
||||||
drm_modeset_unlock_all(dev);
|
drm_modeset_unlock_all(dev);
|
||||||
|
|
||||||
|
intel_dp_mst_resume(dev);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ... but also need to make sure that hotplug processing
|
* ... but also need to make sure that hotplug processing
|
||||||
* doesn't cause havoc. Like in the driver load code we don't
|
* doesn't cause havoc. Like in the driver load code we don't
|
||||||
|
|
Loading…
Reference in a new issue