All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Only disable visible planes in intel_crtc_disable_planes
@ 2015-09-21 13:05 Maarten Lankhorst
  2015-09-23  8:37   ` [Intel-gfx] " Jani Nikula
  2015-09-24 19:20   ` [Intel-gfx] " João Paulo Rechi Vita
  0 siblings, 2 replies; 5+ messages in thread
From: Maarten Lankhorst @ 2015-09-21 13:05 UTC (permalink / raw)
  To: intel-gfx; +Cc: stable, João Paulo Rechi Vita

This is fix for a regression introduced by 27321ae88c70104df
"drm/i915: Use the disable callback for disabling planes."

Disabling invisible planes may cause recalculation of
watermarks, which is a problem because the software state
is not yet in sync with the hardware state.
This may result in a black screen during kernel boot and
plymouth splash until any input action is performed in X.

Explicitly checking for plane visibility fixes the regression.
This is a patch for v4.2 only, v4.3 needs a different fix because
it was fixed by d032ffa04cf7c6f
"drm/i915: Handle disabling planes better, v2."

but later broken again in
4cf0ebbd4fafbdf "drm/i915: Rework plane readout."

This will be fixed in v4.3 by:
"drm/i915: Add .get_hw_state() method for planes"

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91952
Cc: João Paulo Rechi Vita <jprvita@endlessm.com>
Cc: stable@vger.kernel.org # v4.2 only
---
 drivers/gpu/drm/i915/intel_display.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 87476ff181dd..a5f97cfd86d8 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4863,7 +4863,8 @@ static void intel_crtc_disable_planes(struct drm_crtc *crtc)
 
 	intel_crtc_dpms_overlay_disable(intel_crtc);
 	for_each_intel_plane(dev, intel_plane) {
-		if (intel_plane->pipe == pipe) {
+		if (intel_plane->pipe == pipe &&
+		    to_intel_plane_state(intel_plane->base.state)->visible) {
 			struct drm_crtc *from = intel_plane->base.crtc;
 
 			intel_plane->disable_plane(&intel_plane->base,
-- 
2.1.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-09-24 19:21 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-09-21 13:05 [PATCH] drm/i915: Only disable visible planes in intel_crtc_disable_planes Maarten Lankhorst
2015-09-23  8:37 ` Jani Nikula
2015-09-23  8:37   ` [Intel-gfx] " Jani Nikula
2015-09-24 19:20 ` João Paulo Rechi Vita
2015-09-24 19:20   ` [Intel-gfx] " João Paulo Rechi Vita

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.