public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* [PATCH] drm/i915: Fix IPS related flicker
@ 2015-05-21 19:53 Rodrigo Vivi
  2015-05-21 21:33 ` Daniel Vetter
                   ` (3 more replies)
  0 siblings, 4 replies; 23+ messages in thread
From: Rodrigo Vivi @ 2015-05-21 19:53 UTC (permalink / raw)
  To: intel-gfx; +Cc: Joe Konno, Paulo Zanoni, Rodrigo Vivi

We cannot let IPS enabled with no plane on the pipe:

BSpec: "IPS cannot be enabled until after at least one plane has
been enabled for at least one vertical blank." and "IPS must be
disabled while there is still at least one plane enabled on the
same pipe as IPS.

However this shortcut path to make primary plane invisible when
updating primary plane was leting IPS enabled while there was no
other plane enabled on the pipe causing flickerings that we were
believing that it was caused by that other restriction where
ips cannot be used when pixel rate is greater than 95% of cdclok.

Reference: https://bugs.freedesktop.org/show_bug.cgi?id=85583
Cc: Joe Konno <joe.konno@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 9d2d6fb..5519d56 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -2789,6 +2789,19 @@ static void ironlake_update_primary_plane(struct drm_crtc *crtc,
 	int pixel_size;
 
 	if (!visible || !fb) {
+		/*
+		 * This shortcut path disables the primary plane making
+		 * IPS really sad and lost when it is enabled alone with no
+		 * plane around on the pipe. So, for now it is safe to disable
+		 * IPS here.
+		 /
+		 /*
+		 * FIXME: Any other plane enabled should be enough so it would
+		 * be better to check if there is really no sprite or
+		 * cursor around.
+		 */
+		hsw_disable_ips(intel_crtc);
+
 		I915_WRITE(reg, 0);
 		I915_WRITE(DSPSURF(plane), 0);
 		POSTING_READ(reg);
-- 
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] 23+ messages in thread

end of thread, other threads:[~2015-06-26 20:55 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-21 19:53 [PATCH] drm/i915: Fix IPS related flicker Rodrigo Vivi
2015-05-21 21:33 ` Daniel Vetter
2015-05-21 21:38   ` Vivi, Rodrigo
2015-05-22  7:08 ` Ville Syrjälä
2015-05-28 18:07   ` Rodrigo Vivi
2015-05-29  8:47     ` Ville Syrjälä
     [not found]       ` <CABVU7+vRFgtc8GYZ+vMPZT3YcYBUKdF5wd_N2MYy4koyLdVoUg@mail.gmail.com>
2015-06-04 18:55         ` Fwd: " Rodrigo Vivi
2015-06-05  8:51           ` Jani Nikula
2015-06-05  9:11             ` Ville Syrjälä
2015-06-18 10:58               ` Ander Conselvan De Oliveira
2015-06-18 11:53                 ` Jani Nikula
2015-06-18 11:58                   ` Jani Nikula
2015-06-25 12:01                     ` Jani Nikula
2015-06-25 16:21                       ` Rodrigo Vivi
2015-06-25 16:49                         ` Jani Nikula
2015-06-25 16:58                         ` Rodrigo Vivi
2015-06-26  9:19                           ` Daniel Vetter
2015-06-26  9:27                             ` Jani Nikula
2015-06-26 20:55                               ` Rodrigo Vivi
2015-05-31 14:36     ` shuang.he
2015-06-26  9:11     ` Jani Nikula
2015-05-22  7:57 ` shuang.he
2015-05-28 23:57 ` Kenneth Graunke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox