aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/kexecboot/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/kexecboot/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch')
-rw-r--r--recipes/kexecboot/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch230
1 files changed, 0 insertions, 230 deletions
diff --git a/recipes/kexecboot/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch b/recipes/kexecboot/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch
deleted file mode 100644
index c545b648cc..0000000000
--- a/recipes/kexecboot/linux-kexecboot-2.6.29/dss2/0055-DSS2-Added-global-alpha-support.patch
+++ /dev/null
@@ -1,230 +0,0 @@
-From c8588370442424ac31e2392b07891615629eb999 Mon Sep 17 00:00:00 2001
-From: Hardik Shah <hardik.shah@ti.com>
-Date: Fri, 24 Apr 2009 15:29:06 +0530
-Subject: [PATCH 55/69] DSS2: Added global alpha support.
-
-global_alpha sysfs entry for video1 plane will always show 255 as
-it does not support global_alpha.
-Initliazied the global alpha field for all the overlays
-to 255 (fully opaque).
-Documentation also updated.
-
-Signed-off-by: Hardik Shah <hardik.shah@ti.com>
----
- Documentation/arm/OMAP/DSS | 1 +
- arch/arm/plat-omap/include/mach/display.h | 1 +
- drivers/video/omap2/dss/dispc.c | 25 ++++++++++++++++---
- drivers/video/omap2/dss/dss.h | 3 +-
- drivers/video/omap2/dss/manager.c | 3 +-
- drivers/video/omap2/dss/overlay.c | 37 +++++++++++++++++++++++++++++
- 6 files changed, 64 insertions(+), 6 deletions(-)
-
-diff --git a/Documentation/arm/OMAP/DSS b/Documentation/arm/OMAP/DSS
-index 9e902a2..249e1a3 100644
---- a/Documentation/arm/OMAP/DSS
-+++ b/Documentation/arm/OMAP/DSS
-@@ -133,6 +133,7 @@ name
- output_size width,height
- position x,y
- screen_width width
-+global_alpha global alpha 0-255 0=transparent 255=opaque
-
- /sys/devices/platform/omapdss/manager? directory:
- display Destination display
-diff --git a/arch/arm/plat-omap/include/mach/display.h b/arch/arm/plat-omap/include/mach/display.h
-index d0b4c83..45b16ca 100644
---- a/arch/arm/plat-omap/include/mach/display.h
-+++ b/arch/arm/plat-omap/include/mach/display.h
-@@ -363,6 +363,7 @@ struct omap_overlay_info {
- u16 pos_y;
- u16 out_width; /* if 0, out_width == width */
- u16 out_height; /* if 0, out_height == height */
-+ u8 global_alpha;
- };
-
- enum omap_overlay_caps {
-diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
-index 9bab6cf..b6a39f5 100644
---- a/drivers/video/omap2/dss/dispc.c
-+++ b/drivers/video/omap2/dss/dispc.c
-@@ -778,6 +778,17 @@ static void _dispc_set_vid_size(enum omap_plane plane, int width, int height)
- dispc_write_reg(vsi_reg[plane-1], val);
- }
-
-+static void _dispc_setup_global_alpha(enum omap_plane plane, u8 global_alpha)
-+{
-+
-+ BUG_ON(plane == OMAP_DSS_VIDEO1);
-+
-+ if (plane == OMAP_DSS_GFX)
-+ REG_FLD_MOD(DISPC_GLOBAL_ALPHA, global_alpha, 7, 0);
-+ else if (plane == OMAP_DSS_VIDEO2)
-+ REG_FLD_MOD(DISPC_GLOBAL_ALPHA, global_alpha, 23, 16);
-+}
-+
- static void _dispc_set_pix_inc(enum omap_plane plane, s32 inc)
- {
- const struct dispc_reg ri_reg[] = { DISPC_GFX_PIXEL_INC,
-@@ -1444,7 +1455,8 @@ static int _dispc_setup_plane(enum omap_plane plane,
- enum omap_color_mode color_mode,
- bool ilace,
- enum omap_dss_rotation_type rotation_type,
-- u8 rotation, int mirror)
-+ u8 rotation, int mirror,
-+ u8 global_alpha)
- {
- const int maxdownscale = cpu_is_omap34xx() ? 4 : 2;
- bool five_taps = 0;
-@@ -1592,6 +1604,9 @@ static int _dispc_setup_plane(enum omap_plane plane,
-
- _dispc_set_rotation_attrs(plane, rotation, mirror, color_mode);
-
-+ if (plane != OMAP_DSS_VIDEO1)
-+ _dispc_setup_global_alpha(plane, global_alpha);
-+
- return 0;
- }
-
-@@ -3011,7 +3026,7 @@ int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
- enum omap_color_mode color_mode,
- bool ilace,
- enum omap_dss_rotation_type rotation_type,
-- u8 rotation, bool mirror)
-+ u8 rotation, bool mirror, u8 global_alpha)
- {
- int r = 0;
-
-@@ -3032,7 +3047,8 @@ int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
- out_width, out_height,
- color_mode, ilace,
- rotation_type,
-- rotation, mirror);
-+ rotation, mirror,
-+ global_alpha);
-
- enable_clocks(0);
-
-@@ -3247,7 +3263,8 @@ void dispc_setup_partial_planes(struct omap_display *display,
- pi->color_mode, 0,
- pi->rotation_type,
- pi->rotation,
-- pi->mirror);
-+ pi->mirror,
-+ pi->global_alpha);
-
- dispc_enable_plane(ovl->id, 1);
- }
-diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
-index 1d01ff6..20cef0a 100644
---- a/drivers/video/omap2/dss/dss.h
-+++ b/drivers/video/omap2/dss/dss.h
-@@ -273,7 +273,8 @@ int dispc_setup_plane(enum omap_plane plane, enum omap_channel channel_out,
- enum omap_color_mode color_mode,
- bool ilace,
- enum omap_dss_rotation_type rotation_type,
-- u8 rotation, bool mirror);
-+ u8 rotation, bool mirror,
-+ u8 global_alpha);
-
- void dispc_go(enum omap_channel channel);
- void dispc_enable_lcd_out(bool enable);
-diff --git a/drivers/video/omap2/dss/manager.c b/drivers/video/omap2/dss/manager.c
-index bf059e0..1e6cd8d 100644
---- a/drivers/video/omap2/dss/manager.c
-+++ b/drivers/video/omap2/dss/manager.c
-@@ -464,7 +464,8 @@ static int omap_dss_mgr_apply(struct omap_overlay_manager *mgr)
- ilace,
- ovl->info.rotation_type,
- ovl->info.rotation,
-- ovl->info.mirror);
-+ ovl->info.mirror,
-+ ovl->info.global_alpha);
-
- if (r) {
- DSSERR("dispc_setup_plane failed for ovl %d\n",
-diff --git a/drivers/video/omap2/dss/overlay.c b/drivers/video/omap2/dss/overlay.c
-index c047206..035a57a 100644
---- a/drivers/video/omap2/dss/overlay.c
-+++ b/drivers/video/omap2/dss/overlay.c
-@@ -194,6 +194,37 @@ static ssize_t overlay_enabled_store(struct omap_overlay *ovl, const char *buf,
- return size;
- }
-
-+static ssize_t overlay_global_alpha_show(struct omap_overlay *ovl, char *buf)
-+{
-+ return snprintf(buf, PAGE_SIZE, "%d\n",
-+ ovl->info.global_alpha);
-+}
-+
-+static ssize_t overlay_global_alpha_store(struct omap_overlay *ovl,
-+ const char *buf, size_t size)
-+{
-+ int r;
-+ struct omap_overlay_info info;
-+
-+ ovl->get_overlay_info(ovl, &info);
-+
-+ /* Video1 plane does not support global alpha
-+ * to always make it 255 completely opaque
-+ */
-+ if (ovl->id == OMAP_DSS_VIDEO1)
-+ info.global_alpha = 255;
-+ else
-+ info.global_alpha = simple_strtoul(buf, NULL, 10);
-+
-+ if ((r = ovl->set_overlay_info(ovl, &info)))
-+ return r;
-+
-+ if (ovl->manager && (r = ovl->manager->apply(ovl->manager)))
-+ return r;
-+
-+ return size;
-+}
-+
- struct overlay_attribute {
- struct attribute attr;
- ssize_t (*show)(struct omap_overlay *, char *);
-@@ -215,6 +246,8 @@ static OVERLAY_ATTR(output_size, S_IRUGO|S_IWUSR,
- overlay_output_size_show, overlay_output_size_store);
- static OVERLAY_ATTR(enabled, S_IRUGO|S_IWUSR,
- overlay_enabled_show, overlay_enabled_store);
-+static OVERLAY_ATTR(global_alpha, S_IRUGO|S_IWUSR,
-+ overlay_global_alpha_show, overlay_global_alpha_store);
-
- static struct attribute *overlay_sysfs_attrs[] = {
- &overlay_attr_name.attr,
-@@ -224,6 +257,7 @@ static struct attribute *overlay_sysfs_attrs[] = {
- &overlay_attr_position.attr,
- &overlay_attr_output_size.attr,
- &overlay_attr_enabled.attr,
-+ &overlay_attr_global_alpha.attr,
- NULL
- };
-
-@@ -444,6 +478,7 @@ void dss_init_overlays(struct platform_device *pdev, const char *def_disp_name)
- ovl->id = OMAP_DSS_GFX;
- ovl->supported_modes = OMAP_DSS_COLOR_GFX_OMAP3;
- ovl->caps = OMAP_DSS_OVL_CAP_DISPC;
-+ ovl->info.global_alpha = 255;
- break;
- case 1:
- ovl->name = "vid1";
-@@ -451,6 +486,7 @@ void dss_init_overlays(struct platform_device *pdev, const char *def_disp_name)
- ovl->supported_modes = OMAP_DSS_COLOR_VID_OMAP3;
- ovl->caps = OMAP_DSS_OVL_CAP_SCALE |
- OMAP_DSS_OVL_CAP_DISPC;
-+ ovl->info.global_alpha = 255;
- break;
- case 2:
- ovl->name = "vid2";
-@@ -458,6 +494,7 @@ void dss_init_overlays(struct platform_device *pdev, const char *def_disp_name)
- ovl->supported_modes = OMAP_DSS_COLOR_VID_OMAP3;
- ovl->caps = OMAP_DSS_OVL_CAP_SCALE |
- OMAP_DSS_OVL_CAP_DISPC;
-+ ovl->info.global_alpha = 255;
- break;
- }
-
---
-1.6.2.4
-