]> Git Repo - linux.git/commitdiff
drm/i915: Fix init_clock_gating for resume
authorVille Syrjälä <[email protected]>
Thu, 16 Nov 2017 16:02:15 +0000 (18:02 +0200)
committerJani Nikula <[email protected]>
Tue, 21 Nov 2017 09:40:12 +0000 (11:40 +0200)
Moving the init_clock_gating() call from intel_modeset_init_hw() to
intel_modeset_gem_init() had an unintended effect of not applying
some workarounds on resume. This, for example, cause some kind of
corruption to appear at the top of my IVB Thinkpad X1 Carbon LVDS
screen after hibernation. Fix the problem by explicitly calling
init_clock_gating() from the resume path.

I really hope this doesn't break something else again. At least
the problems reported at https://bugs.freedesktop.org/show_bug.cgi?id=103549
didn't make a comeback, even after a hibernate cycle.

v2: Reorder the init_clock_gating vs. modeset_init_hw to match
    the display reset path (Rodrigo)

Cc: [email protected]
Cc: Chris Wilson <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Fixes: 6ac43272768c ("drm/i915: Move init_clock_gating() back to where it was")
Reviewed-by: Rodrigo Vivi <[email protected]>
Reviewed-by: Chris Wilson <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Signed-off-by: Ville Syrjälä <[email protected]>
(cherry picked from commit 675f7ff35bd256e65d3d0f52718d8babf5d1002a)
Signed-off-by: Jani Nikula <[email protected]>
drivers/gpu/drm/i915/i915_drv.c

index 34191028bbadea03356866a7638bf3f6e99b5eb3..7d9b07df32fade5339e8ba7e176486fd36e1cfd3 100644 (file)
@@ -1714,6 +1714,7 @@ static int i915_drm_resume(struct drm_device *dev)
        intel_guc_resume(dev_priv);
 
        intel_modeset_init_hw(dev);
+       intel_init_clock_gating(dev_priv);
 
        spin_lock_irq(&dev_priv->irq_lock);
        if (dev_priv->display.hpd_irq_setup)
This page took 0.057011 seconds and 4 git commands to generate.