[Intel-gfx] [PATCH] drm/i915: improve FBC with self-refresh on 965 too
Jesse Barnes
jbarnes at virtuousgeek.org
Mon Feb 15 18:26:20 CET 2010
This is the 965 equivalent of "handle FBC and self-refresh better".
The bugs fixed by that patch seemed mainly to affect 945 users, but I
did get one report from a user who wanted a similar fix on 965, so here
it is. It simply prevents the FBC unit from asserting idle until its
current compression pass completes, which should avoid any problems with
self-refresh being enabled during a compression pass.
Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
--
Note this one hasn't seen any testing yet; I'd like to test a tested-by
or two before this is applied.
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index b27202d..d3ea77e 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -1026,6 +1026,8 @@ static void i8xx_enable_fbc(struct drm_crtc *crtc, unsigned long interval)
fbc_ctl2 = FBC_CTL_FENCE_DBL | FBC_CTL_IDLE_IMM | plane;
if (obj_priv->tiling_mode != I915_TILING_NONE)
fbc_ctl2 |= FBC_CTL_CPU_FENCE;
+ if (IS_I965GM(dev))
+ fbc_ctl2 |= FBC_CTL_IDLE_FULL;
I915_WRITE(FBC_CONTROL2, fbc_ctl2);
I915_WRITE(FBC_FENCE_OFF, crtc->y);
More information about the Intel-gfx
mailing list