[kernel] r16118 - in dists/sid/linux-2.6/debian: . patches/bugfix/x86 patches/series
Ben Hutchings
benh at alioth.debian.org
Wed Aug 11 02:41:11 UTC 2010
Author: benh
Date: Wed Aug 11 02:41:09 2010
New Revision: 16118
Log:
drm/i915: disable FBC when more than one pipe is active (Closes: #589077)
Added:
dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-disable-FBC-when-more-than-one-pipe-is-active.patch
Modified:
dists/sid/linux-2.6/debian/changelog
dists/sid/linux-2.6/debian/patches/series/20
Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog Wed Aug 11 02:13:33 2010 (r16117)
+++ dists/sid/linux-2.6/debian/changelog Wed Aug 11 02:41:09 2010 (r16118)
@@ -18,6 +18,8 @@
(Closes: #582281)
* Add drm changes from stable 2.6.34.2 (thanks to Stefan Bader) and
2.6.34.3
+ * drm/i915: disable FBC when more than one pipe is active
+ (Closes: #589077)
[ Martin Michlmayr ]
* [armel/orion5x] Add a missing #include to fix a build issue.
Added: dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-disable-FBC-when-more-than-one-pipe-is-active.patch
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ dists/sid/linux-2.6/debian/patches/bugfix/x86/drm-i915-disable-FBC-when-more-than-one-pipe-is-active.patch Wed Aug 11 02:41:09 2010 (r16118)
@@ -0,0 +1,61 @@
+From ea8cac7f796172f56ba7a73ea2c84850d314d755 Mon Sep 17 00:00:00 2001
+From: Jesse Barnes <jbarnes at virtuousgeek.org>
+Date: Fri, 23 Jul 2010 15:20:00 -0700
+Subject: [PATCH] drm/i915: disable FBC when more than one pipe is active
+
+commit 9c928d168d4030a230a7a5ee1764721d173f1153 upstream.
+
+We're really supposed to do this to avoid trouble with underflows when
+multiple planes are active.
+
+Fixes https://bugs.freedesktop.org/show_bug.cgi?id=26987.
+
+Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+Tested-by: fangxun <xunx.fang at intel.com>
+Signed-off-by: Eric Anholt <eric at anholt.net>
+[bwh: Backport to DRM 2.6.33 - drop debugfs integration.]
+---
+ drivers/gpu/drm/i915/intel_display.c | 14 ++++++++++++++
+ 1 files changed, 14 insertions(+), 0 deletions(-)
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index 26e7d22..1a671b7 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -1160,8 +1160,12 @@ static void intel_update_fbc(struct drm_crtc *crtc,
+ struct drm_framebuffer *fb = crtc->fb;
+ struct intel_framebuffer *intel_fb;
+ struct drm_i915_gem_object *obj_priv;
++ struct drm_crtc *tmp_crtc;
+ struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+ int plane = intel_crtc->plane;
++ int crtcs_enabled = 0;
++
++ DRM_DEBUG_KMS("\n");
+
+ if (!i915_powersave)
+ return;
+@@ -1181,10 +1185,20 @@ static void intel_update_fbc(struct drm_crtc *crtc,
+ * If FBC is already on, we just have to verify that we can
+ * keep it that way...
+ * Need to disable if:
++ * - more than one pipe is active
+ * - changing FBC params (stride, fence, mode)
+ * - new fb is too large to fit in compressed buffer
+ * - going to an unsupported config (interlace, pixel multiply, etc.)
+ */
++ list_for_each_entry(tmp_crtc, &dev->mode_config.crtc_list, head) {
++ if (tmp_crtc->enabled)
++ crtcs_enabled++;
++ }
++ DRM_DEBUG_KMS("%d pipes active\n", crtcs_enabled);
++ if (crtcs_enabled > 1) {
++ DRM_DEBUG_KMS("more than one pipe active, disabling compression\n");
++ goto out_disable;
++ }
+ if (intel_fb->obj->size > dev_priv->cfb_size) {
+ DRM_DEBUG_KMS("framebuffer too large, disabling "
+ "compression\n");
+--
+1.7.1
+
Modified: dists/sid/linux-2.6/debian/patches/series/20
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/20 Wed Aug 11 02:13:33 2010 (r16117)
+++ dists/sid/linux-2.6/debian/patches/series/20 Wed Aug 11 02:41:09 2010 (r16118)
@@ -23,3 +23,4 @@
+ bugfix/all/drm-radeon-kms-flush-HDP-cache-on-GART-table-updates.patch
+ bugfix/all/drm-radeon-kms-r7xx-add-workaround-for-hw-issue-with.patch
+ bugfix/x86/drm-i915-Check-overlay-stride-errata-for-i830-and-i8.patch
++ bugfix/x86/drm-i915-disable-FBC-when-more-than-one-pipe-is-active.patch
More information about the Kernel-svn-changes
mailing list