summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.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/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.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/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch')
-rw-r--r--meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch118
1 files changed, 118 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
new file mode 100644
index 0000000000..c6e9f16b3a
--- /dev/null
+++ b/meta/recipes-kernel/linux/linux-omap-2.6.29/dss2/0036-DSS2-Added-support-for-setting-and-querying-alpha-b.patch
@@ -0,0 +1,118 @@
1From 6c56dc10226c84f41917ac2117b0e654fa080d40 Mon Sep 17 00:00:00 2001
2From: Hardik Shah <hardik.shah@ti.com>
3Date: Thu, 16 Apr 2009 19:00:11 +0530
4Subject: [PATCH] DSS2: Added support for setting and querying alpha blending.
5
6Signed-off-by: Hardik Shah <hardik.shah@ti.com>
7---
8 arch/arm/plat-omap/include/mach/display.h | 3 +++
9 drivers/video/omap2/dss/dispc.c | 26 ++++++++++++++++++++++++++
10 drivers/video/omap2/dss/dss.h | 2 ++
11 drivers/video/omap2/dss/manager.c | 14 ++++++++++++++
12 4 files changed, 45 insertions(+), 0 deletions(-)
13
14diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
15index 073cdda..e1f615a 100644
16--- a/arch/arm/plat-omap/include/mach/display.h
17+++ b/arch/arm/plat-omap/include/mach/display.h
18@@ -415,11 +415,14 @@ struct omap_overlay_manager {
19
20 void (*set_default_color)(struct omap_overlay_manager *mgr, u32 color);
21 u32 (*get_default_color)(struct omap_overlay_manager *mgr);
22+ bool (*get_alpha_blending_status)(struct omap_overlay_manager *mgr);
23 void (*set_trans_key)(struct omap_overlay_manager *mgr,
24 enum omap_dss_color_key_type type,
25 u32 trans_key);
26 void (*enable_trans_key)(struct omap_overlay_manager *mgr,
27 bool enable);
28+ void (*enable_alpha_blending)(struct omap_overlay_manager *mgr,
29+ bool enable);
30 };
31
32 enum omap_display_caps {
33diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
34index b631dd8..7e551c2 100644
35--- a/drivers/video/omap2/dss/dispc.c
36+++ b/drivers/video/omap2/dss/dispc.c
37@@ -1847,6 +1847,32 @@ void dispc_enable_trans_key(enum omap_channel ch, bool enable)
38 REG_FLD_MOD(DISPC_CONFIG, enable, 12, 12);
39 enable_clocks(0);
40 }
41+void dispc_enable_alpha_blending(enum omap_channel ch, bool enable)
42+{
43+ enable_clocks(1);
44+ if (ch == OMAP_DSS_CHANNEL_LCD)
45+ REG_FLD_MOD(DISPC_CONFIG, enable, 18, 18);
46+ else /* OMAP_DSS_CHANNEL_DIGIT */
47+ REG_FLD_MOD(DISPC_CONFIG, enable, 19, 19);
48+ enable_clocks(0);
49+}
50+bool dispc_alpha_blending_enabled(enum omap_channel ch)
51+{
52+ bool enabled;
53+
54+ enable_clocks(1);
55+ if (ch == OMAP_DSS_CHANNEL_LCD)
56+ enabled = REG_GET(DISPC_CONFIG, 18, 18);
57+ else if (ch == OMAP_DSS_CHANNEL_DIGIT)
58+ enabled = REG_GET(DISPC_CONFIG, 18, 18);
59+ else
60+ BUG();
61+ enable_clocks(0);
62+
63+ return enabled;
64+
65+}
66+
67
68 bool dispc_trans_key_enabled(enum omap_channel ch)
69 {
70diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
71index 584dce6..1d01ff6 100644
72--- a/drivers/video/omap2/dss/dss.h
73+++ b/drivers/video/omap2/dss/dss.h
74@@ -294,7 +294,9 @@ void dispc_get_trans_key(enum omap_channel ch,
75 enum omap_dss_color_key_type *type,
76 u32 *trans_key);
77 void dispc_enable_trans_key(enum omap_channel ch, bool enable);
78+void dispc_enable_alpha_blending(enum omap_channel ch, bool enable);
79 bool dispc_trans_key_enabled(enum omap_channel ch);
80+bool dispc_alpha_blending_enabled(enum omap_channel ch);
81
82 void dispc_set_lcd_timings(struct omap_video_timings *timings);
83 unsigned long dispc_fclk_rate(void);
84diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
85index 12cf7b0..90acd28 100644
86--- a/drivers/video/omap2/dss/manager.c
87+++ b/drivers/video/omap2/dss/manager.c
88@@ -468,6 +468,16 @@ static void omap_dss_mgr_enable_trans_key(struct omap_overlay_manager *mgr,
89 {
90 dispc_enable_trans_key(mgr->id, enable);
91 }
92+static void omap_dss_mgr_enable_alpha_blending(struct omap_overlay_manager *mgr,
93+ bool enable)
94+{
95+ dispc_enable_alpha_blending(mgr->id, enable);
96+}
97+static bool omap_dss_mgr_get_alpha_blending_status(
98+ struct omap_overlay_manager *mgr)
99+{
100+ return dispc_alpha_blending_enabled(mgr->id);
101+}
102 static u32 omap_dss_mgr_get_default_color(struct omap_overlay_manager *mgr)
103 {
104 return dispc_get_default_color(mgr->id);
105@@ -514,6 +524,10 @@ int dss_init_overlay_managers(struct platform_device *pdev)
106 mgr->set_default_color = &omap_dss_mgr_set_def_color,
107 mgr->set_trans_key = &omap_dss_mgr_set_trans_key,
108 mgr->enable_trans_key = &omap_dss_mgr_enable_trans_key,
109+ mgr->enable_alpha_blending =
110+ &omap_dss_mgr_enable_alpha_blending;
111+ mgr->get_alpha_blending_status =
112+ omap_dss_mgr_get_alpha_blending_status;
113 mgr->get_default_color = &omap_dss_mgr_get_default_color;
114 mgr->caps = OMAP_DSS_OVL_MGR_CAP_DISPC,
115
116--
1171.5.6.5
118