summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
new file mode 100644
index 0000000000..f643ca64f3
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0033-DSS2-Prefer-3-tap-filter.patch
@@ -0,0 +1,82 @@
1From 5390230ed12585a79683733209db34e9130b8e3b Mon Sep 17 00:00:00 2001
2From: =?utf-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@nokia.com>
3Date: Thu, 9 Apr 2009 15:04:43 +0200
4Subject: [PATCH] DSS2: Prefer 3-tap filter
5MIME-Version: 1.0
6Content-Type: text/plain; charset=utf-8
7Content-Transfer-Encoding: 8bit
8
9The 5-tap filter seems rather unstable. With some scaling settings it
10works and with some it doesn't even though the functional clock remains
11within the TRM limits. So prefer the 3-tap filter unless the functional
12clock required for it is too high.
13
14Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com>
15---
16 drivers/video/omap2/dss/dispc.c | 27 ++++++++++++---------------
17 1 files changed, 12 insertions(+), 15 deletions(-)
18
19diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
20index b8a3329..b631dd8 100644
21--- a/drivers/video/omap2/dss/dispc.c
22+++ b/drivers/video/omap2/dss/dispc.c
23@@ -1405,15 +1405,10 @@ static unsigned long calc_fclk_five_taps(u16 width, u16 height,
24 }
25
26 static unsigned long calc_fclk(u16 width, u16 height,
27- u16 out_width, u16 out_height,
28- enum omap_color_mode color_mode, bool five_taps)
29+ u16 out_width, u16 out_height)
30 {
31 unsigned int hf, vf;
32
33- if (five_taps)
34- return calc_fclk_five_taps(width, height,
35- out_width, out_height, color_mode);
36-
37 /*
38 * FIXME how to determine the 'A' factor
39 * for the no downscaling case ?
40@@ -1494,7 +1489,7 @@ static int _dispc_setup_plane(enum omap_plane plane,
41 } else {
42 /* video plane */
43
44- unsigned long fclk;
45+ unsigned long fclk = 0;
46
47 if (out_width < width / maxdownscale ||
48 out_width > width * 8)
49@@ -1530,20 +1525,22 @@ static int _dispc_setup_plane(enum omap_plane plane,
50 /* Must use 5-tap filter? */
51 five_taps = height > out_height * 2;
52
53- /* Try to use 5-tap filter whenever possible. */
54- if (cpu_is_omap34xx() && !five_taps &&
55- height > out_height && width <= 1024) {
56- fclk = calc_fclk_five_taps(width, height,
57- out_width, out_height, color_mode);
58- if (fclk <= dispc_fclk_rate())
59+ if (!five_taps) {
60+ fclk = calc_fclk(width, height,
61+ out_width, out_height);
62+
63+ /* Try 5-tap filter if 3-tap fclk is too high */
64+ if (cpu_is_omap34xx() && height > out_height &&
65+ fclk > dispc_fclk_rate())
66 five_taps = true;
67 }
68
69 if (width > (2048 >> five_taps))
70 return -EINVAL;
71
72- fclk = calc_fclk(width, height, out_width, out_height,
73- color_mode, five_taps);
74+ if (five_taps)
75+ fclk = calc_fclk_five_taps(width, height,
76+ out_width, out_height, color_mode);
77
78 DSSDBG("required fclk rate = %lu Hz\n", fclk);
79 DSSDBG("current fclk rate = %lu Hz\n", dispc_fclk_rate());
80--
811.5.6.5
82