packages: kernel/kernel.spec, kernel/kernel-intel-gpu-fifo.patch (NEW) - fi...
arekm
arekm at pld-linux.org
Fri Sep 11 21:34:41 CEST 2009
Author: arekm Date: Fri Sep 11 19:34:41 2009 GMT
Module: packages Tag: HEAD
---- Log message:
- fix entries overflow that can cause flickering
---- Files affected:
packages/kernel:
kernel.spec (1.703 -> 1.704) , kernel-intel-gpu-fifo.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/kernel/kernel.spec
diff -u packages/kernel/kernel.spec:1.703 packages/kernel/kernel.spec:1.704
--- packages/kernel/kernel.spec:1.703 Fri Sep 11 14:47:34 2009
+++ packages/kernel/kernel.spec Fri Sep 11 21:34:35 2009
@@ -313,6 +313,7 @@
Patch2003: kernel-regressions.patch
Patch2100: kernel-intel-pre-9xx.patch
+Patch2101: kernel-intel-gpu-fifo.patch
# kill some thousands of warnings
# (only warnings, so just remove parts of this patch if conflics)
@@ -904,6 +905,7 @@
#%patch2003 -p1
%patch2100 -p1
+%patch2101 -p1
# Fix EXTRAVERSION in main Makefile
sed -i 's#EXTRAVERSION =.*#EXTRAVERSION = %{postver}%{?alt_kernel:_%{alt_kernel}}#g' Makefile
@@ -1583,6 +1585,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.704 2009/09/11 19:34:35 arekm
+- fix entries overflow that can cause flickering
+
Revision 1.703 2009/09/11 12:47:34 arekm
- intel 8xx stability fixes
================================================================
Index: packages/kernel/kernel-intel-gpu-fifo.patch
diff -u /dev/null packages/kernel/kernel-intel-gpu-fifo.patch:1.1
--- /dev/null Fri Sep 11 21:34:41 2009
+++ packages/kernel/kernel-intel-gpu-fifo.patch Fri Sep 11 21:34:35 2009
@@ -0,0 +1,35 @@
+A very high dotclock (e.g. 229500kHz as reported by Anton) can cause
+the entries_required variable to overflow, potentially leading to a
+FIFO watermark value that's too low to support the given mode. Split
+the division across the calculation to avoid this.
+
+Cc: stable at kernel.org
+Reported-by: Anton Khirnov <wyskas at gmail.com>
+Tested-by: Anton Khirnov <wyskas at gmail.com>
+Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
+
+diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
+index cadb9ef..3f1727c 100644
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -2102,7 +2102,14 @@ static unsigned long intel_calculate_wm(unsigned long clock_in_khz,
+ {
+ long entries_required, wm_size;
+
+- entries_required = (clock_in_khz * pixel_size * latency_ns) / 1000000;
++ /*
++ * Note: we need to make sure we don't overflow for various clock &
++ * latency values.
++ * clocks go from a few thousand to several hundred thousand.
++ * latency is usually a few thousand
++ */
++ entries_required = ((clock_in_khz / 1000) * pixel_size * latency_ns) /
++ 1000;
+ entries_required /= wm->cacheline_size;
+
+ DRM_DEBUG("FIFO entries required for mode: %d\n", entries_required);
+_______________________________________________
+Intel-gfx mailing list
+Intel-gfx at lists.freedesktop.org
+http://lists.freedesktop.org/mailman/listinfo/intel-gfx
+
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/kernel/kernel.spec?r1=1.703&r2=1.704&f=u
More information about the pld-cvs-commit
mailing list