Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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.com


Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
parent 548043ab
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -438,6 +438,7 @@ static void __intel_fbc_disable(struct drm_i915_private *dev_priv)


	intel_fbc_cancel_work(dev_priv);
	intel_fbc_cancel_work(dev_priv);


	if (dev_priv->fbc.enabled)
		dev_priv->fbc.disable_fbc(dev_priv);
		dev_priv->fbc.disable_fbc(dev_priv);
	dev_priv->fbc.crtc = NULL;
	dev_priv->fbc.crtc = NULL;
}
}