diff mbox

[3/3] drm/i915/tv: Fix modeset flickering introduced in 7f58aabc3

Message ID 1302587499-9962-4-git-send-email-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson April 12, 2011, 5:51 a.m. UTC
From: Sitsofe Wheeler <sitsofe@yahoo.com>

The tidy ups in 7f58aabc369014fda3a4a33604ba0a1b63b941ac ("drm/i915:
cleanup per-pipe reg usage") changed intel_crtc->plane to intel_crtc->pipe in
intel_tv_mode_set(). This caused the screen to quickly turn off before
returning whenever modesetting/mode probing took place on my 915GM EeePC
900 creating a flickering effect. This patch changes intel_crtc->pipe back
to intel_crtc->plane which solves the problem for me.

References: https://bugs.freedesktop.org/show_bug.cgi?id=35903
Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>
Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/intel_tv.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

Comments

Jesse Barnes April 12, 2011, 3:16 p.m. UTC | #1
On Tue, 12 Apr 2011 06:51:39 +0100
Chris Wilson <chris@chris-wilson.co.uk> wrote:

> From: Sitsofe Wheeler <sitsofe@yahoo.com>
> 
> The tidy ups in 7f58aabc369014fda3a4a33604ba0a1b63b941ac ("drm/i915:
> cleanup per-pipe reg usage") changed intel_crtc->plane to intel_crtc->pipe in
> intel_tv_mode_set(). This caused the screen to quickly turn off before
> returning whenever modesetting/mode probing took place on my 915GM EeePC
> 900 creating a flickering effect. This patch changes intel_crtc->pipe back
> to intel_crtc->plane which solves the problem for me.
> 
> References: https://bugs.freedesktop.org/show_bug.cgi?id=35903
> Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>
> Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/intel_tv.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)

Doh!  Thanks Sitsofe.

Humbly-acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
index abd5444..2f7c084 100644
--- a/drivers/gpu/drm/i915/intel_tv.c
+++ b/drivers/gpu/drm/i915/intel_tv.c
@@ -1131,10 +1131,10 @@  intel_tv_mode_set(struct drm_encoder *encoder, struct drm_display_mode *mode,
 			    (video_levels->blank << TV_BLANK_LEVEL_SHIFT)));
 	{
 		int pipeconf_reg = PIPECONF(pipe);
-		int dspcntr_reg = DSPCNTR(pipe);
+		int dspcntr_reg = DSPCNTR(intel_crtc->plane);
 		int pipeconf = I915_READ(pipeconf_reg);
 		int dspcntr = I915_READ(dspcntr_reg);
-		int dspbase_reg = DSPADDR(pipe);
+		int dspbase_reg = DSPADDR(intel_crtc->plane);
 		int xpos = 0x0, ypos = 0x0;
 		unsigned int xsize, ysize;
 		/* Pipe must be off here */