Commit c68ae339 authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Maarten Lankhorst

drm/i915: don't disable_fbc() if FBC is already disabled

If FBC is disabled we will still call intel_fbc_invalidate(), and as a
result we may call intel_fbc_deactivate(), which will try to touch
registers.

I'm pretty sure I saw this happen on a runtime suspended device, and
I'm almost sure I was running igt/pm_rpm. It produced the "you touched
registers while the device is suspended" WARNs. But this was some time
ago and I can't remember exactly which conditions were necessary to
reproduce the problem.

v2: Rebase to new series order.
Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1446664257-32012-8-git-send-email-paulo.r.zanoni@intel.comSigned-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
parent 548043ab
...@@ -438,7 +438,8 @@ static void __intel_fbc_disable(struct drm_i915_private *dev_priv) ...@@ -438,7 +438,8 @@ static void __intel_fbc_disable(struct drm_i915_private *dev_priv)
intel_fbc_cancel_work(dev_priv); intel_fbc_cancel_work(dev_priv);
dev_priv->fbc.disable_fbc(dev_priv); if (dev_priv->fbc.enabled)
dev_priv->fbc.disable_fbc(dev_priv);
dev_priv->fbc.crtc = NULL; dev_priv->fbc.crtc = NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment