aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_runtime_pm.c
diff options
context:
space:
mode:
authorLyude <lyude@redhat.com>2016-10-26 12:36:09 -0400
committerJani Nikula <jani.nikula@intel.com>2016-10-29 07:55:43 -0400
commitb64b540931483cca3200d98756bed6ad0e01d75c (patch)
tree767fc7452e748a01194c12b62551a936b9cee8a7 /drivers/gpu/drm/i915/intel_runtime_pm.c
parent80b204bce8f27b52cd65839e0e6144b4452ae3de (diff)
drm/i915/vlv: Prevent enabling hpd polling in late suspend
One of the CI machines began to run into issues with the hpd poller suddenly waking up in the midst of the late suspend phase. It looks like this is getting caused by the fact we now deinitialize power wells in late suspend, which means that intel_hpd_poll_init() gets called in late suspend causing polling to get re-enabled. So, when deinitializing power wells on valleyview we now refrain from enabling polling in the midst of suspend. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98040 Fixes: 19625e85c6ec ("drm/i915: Enable polling when we don't have hpd") Signed-off-by: Lyude <lyude@redhat.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Cc: Jani Saarinen <jani.saarinen@intel.com> Cc: Petry Latvala <petri.latvala@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1477499769-1966-1-git-send-email-lyude@redhat.com
Diffstat (limited to 'drivers/gpu/drm/i915/intel_runtime_pm.c')
-rw-r--r--drivers/gpu/drm/i915/intel_runtime_pm.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
index 95034a06d4ad..9a3a7455d29c 100644
--- a/drivers/gpu/drm/i915/intel_runtime_pm.c
+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
@@ -1113,7 +1113,9 @@ static void vlv_display_power_well_deinit(struct drm_i915_private *dev_priv)
1113 1113
1114 intel_power_sequencer_reset(dev_priv); 1114 intel_power_sequencer_reset(dev_priv);
1115 1115
1116 intel_hpd_poll_init(dev_priv); 1116 /* Prevent us from re-enabling polling on accident in late suspend */
1117 if (!dev_priv->drm.dev->power.is_suspended)
1118 intel_hpd_poll_init(dev_priv);
1117} 1119}
1118 1120
1119static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv, 1121static void vlv_display_power_well_enable(struct drm_i915_private *dev_priv,