diff mbox

drm/i915: Make g4x_fixup_plane() operational again

Message ID 1370598079-27863-1-git-send-email-ville.syrjala@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Ville Syrjälä June 7, 2013, 9:41 a.m. UTC
From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Don't enable the cursor until g4x_fixup_plane() had a chance to do
cast its magic spell.

Egbert writes:
"Today I had the chance to test this. First I tried
 if I can still reproduce the blank with this patch
 added when I disable my voodoo g4x_fixup_plane():
 It turned out it still happens however very rarely
 (like 1 out of 20 tries). When I reenabled my voodoo
 the issue still occurred.
 I had to switch two lines around, ie:

         intel_enable_plane(dev_priv, plane, pipe);
         if (IS_G4X(dev))
                 g4x_fixup_plane(dev_priv, pipe);
 +       intel_crtc_update_cursor(crtc, true);

 to avoid the blank screen issue - which is it didn't
 happen in ~75 tries."

Acked-by: Egbert Eich <eich@suse.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Daniel Vetter June 7, 2013, 3:30 p.m. UTC | #1
On Fri, Jun 7, 2013 at 11:41 AM,  <ville.syrjala@linux.intel.com> wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Don't enable the cursor until g4x_fixup_plane() had a chance to do
> cast its magic spell.
>
> Egbert writes:
> "Today I had the chance to test this. First I tried
>  if I can still reproduce the blank with this patch
>  added when I disable my voodoo g4x_fixup_plane():
>  It turned out it still happens however very rarely
>  (like 1 out of 20 tries). When I reenabled my voodoo
>  the issue still occurred.
>  I had to switch two lines around, ie:
>
>          intel_enable_plane(dev_priv, plane, pipe);
>          if (IS_G4X(dev))
>                  g4x_fixup_plane(dev_priv, pipe);
>  +       intel_crtc_update_cursor(crtc, true);
>
>  to avoid the blank screen issue - which is it didn't
>  happen in ~75 tries."
>
> Acked-by: Egbert Eich <eich@suse.com>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Can you please add a comment in the code so that we don't do the same
mistake again?
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index b9b8ca0..eb95b5e 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -3697,9 +3697,9 @@  static void i9xx_crtc_enable(struct drm_crtc *crtc)
 	intel_enable_pipe(dev_priv, pipe, false);
 	intel_enable_plane(dev_priv, plane, pipe);
 	intel_enable_planes(crtc);
-	intel_crtc_update_cursor(crtc, true);
 	if (IS_G4X(dev))
 		g4x_fixup_plane(dev_priv, pipe);
+	intel_crtc_update_cursor(crtc, true);
 
 	/* Give the overlay scaler a chance to enable if it's on this pipe */
 	intel_crtc_dpms_overlay(intel_crtc, true);