]> git.karo-electronics.de Git - linux-beck.git/commitdiff
drm/i915: Don't call intel_update_fbc from intel_crtc_cursor_set
authorBrian Rogers <brian@xyzw.org>
Mon, 28 Sep 2009 22:41:08 +0000 (15:41 -0700)
committerEric Anholt <eric@anholt.net>
Mon, 28 Sep 2009 23:03:21 +0000 (16:03 -0700)
Commit 74dff282 exposed this unnecessary call by causing a change in
the failure path on i965 where framebuffer compression will be turned
on and off on every cursor update. If you don't have the xf86-video-intel
fix to avoid the blinking cursor effect, this is very slow.

Symptoms were a far more noticeable cursor blink with every cursor image
change combined with severe slowdown for animated cursors.

Signed-off-by: Brian Rogers <brian@xyzw.org>
Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
drivers/gpu/drm/i915/intel_display.c

index 93ff6c03733e6359b69e720dc48f3193272ce04f..7a5fb7932c0eb6676bc39cc848b22e795d7d5297 100644 (file)
@@ -3095,7 +3095,6 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
        struct drm_gem_object *bo;
        struct drm_i915_gem_object *obj_priv;
        int pipe = intel_crtc->pipe;
-       int plane = intel_crtc->plane;
        uint32_t control = (pipe == 0) ? CURACNTR : CURBCNTR;
        uint32_t base = (pipe == 0) ? CURABASE : CURBBASE;
        uint32_t temp = I915_READ(control);
@@ -3182,9 +3181,6 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc,
                drm_gem_object_unreference(intel_crtc->cursor_bo);
        }
 
-       if ((IS_I965G(dev) || plane == 0))
-               intel_update_fbc(crtc, &crtc->mode);
-
        mutex_unlock(&dev->struct_mutex);
 
        intel_crtc->cursor_addr = addr;