diff mbox

drm/i915: Don't call intel_update_fbc from intel_crtc_cursor_set

Message ID 1254177668-4190-1-git-send-email-brian@xyzw.org (mailing list archive)
State Accepted
Headers show

Commit Message

Brian Rogers Sept. 28, 2009, 10:41 p.m. UTC
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>
---
 drivers/gpu/drm/i915/intel_display.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

Comments

Jesse Barnes Sept. 28, 2009, 11:25 p.m. UTC | #1
On Mon, 28 Sep 2009 15:41:08 -0700
Brian Rogers <brian@xyzw.org> wrote:

> 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>

Should also go to stable.  Eric can you cc stable when you apply this?

Thanks,
Jesse
Jesse Barnes Sept. 29, 2009, 12:35 a.m. UTC | #2
On Mon, 28 Sep 2009 16:25:11 -0700
Jesse Barnes <jbarnes@virtuousgeek.org> wrote:

> On Mon, 28 Sep 2009 15:41:08 -0700
> Brian Rogers <brian@xyzw.org> wrote:
> 
> > 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>
> 
> Should also go to stable.  Eric can you cc stable when you apply this?

Ignore this; this code isn't in 2.6.31 so stable cc isn't needed.

Jesse
Oleksij Rempel Sept. 29, 2009, 5:54 a.m. UTC | #3
Jesse Barnes schrieb:
> On Mon, 28 Sep 2009 16:25:11 -0700
> Jesse Barnes <jbarnes@virtuousgeek.org> wrote:
> 
>> On Mon, 28 Sep 2009 15:41:08 -0700
>> Brian Rogers <brian@xyzw.org> wrote:
>>
>>> 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>
>> Should also go to stable.  Eric can you cc stable when you apply this?
> 
> Ignore this; this code isn't in 2.6.31 so stable cc isn't needed.
> 
> Jesse

This fix my "regression on vanilla kernel "drm/i915: framebuffer 
compression for pre-GM45" issue.
Thanks

Alexey
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 93ff6c0..7a5fb79 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -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;