aboutsummaryrefslogtreecommitdiff
path: root/drivers/video/mcde/mcde_fb.c
diff options
context:
space:
mode:
authorDan Johansson <dan.johansson@stericsson.com>2010-07-01 15:11:24 +0200
committerJohn Rigby <john.rigby@linaro.org>2010-09-02 22:45:50 -0600
commit574724fbbb1bd2f78ee1a626dfa18cf707c741ab (patch)
treeb4984ed38c86b35e862c90bc1ac6acc8a9810381 /drivers/video/mcde/mcde_fb.c
parent50a1ade75cf1e3c2ff203b6447c59909b1f6fb84 (diff)
downloadlinux-2.6.34-ux500-574724fbbb1bd2f78ee1a626dfa18cf707c741ab.tar.gz
MCDE: V-sync on main and sub display using DSI BTA
* V-sync support for both primary and secondary display. * V-sync is disabled by default. It is enabled in menuconfig (System Type -> Display selection -> Enable v-sync for primary / secondary display). * DSI HS clock is set to 840 MHz, DSI esq clock 19.2 MHz. * Enables VAUX1 if startup graphics is enabled. ST Ericsson Change-Id: WP264234 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2154 Tested-by: Dan JOHANSSON <dan.johansson@stericsson.com> Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com> Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Change-Id: I47f72cb9449e08f089f6bdb25988bd9958644899 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2809
Diffstat (limited to 'drivers/video/mcde/mcde_fb.c')
-rw-r--r--drivers/video/mcde/mcde_fb.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/drivers/video/mcde/mcde_fb.c b/drivers/video/mcde/mcde_fb.c
index fc77e5be1d8..f9697d2e9df 100644
--- a/drivers/video/mcde/mcde_fb.c
+++ b/drivers/video/mcde/mcde_fb.c
@@ -411,6 +411,7 @@ static int apply_var(struct fb_info *fbi, struct mcde_display_device *ddev)
/* Reallocate memory */
line_len = (fbi->var.bits_per_pixel * var->xres_virtual) / 8;
+ line_len = ALIGN(line_len, MCDE_BUF_LINE_ALIGMENT);
size = line_len * var->yres_virtual;
ret = reallocate_fb_mem(fbi, size);
if (ret) {
@@ -432,7 +433,6 @@ static int apply_var(struct fb_info *fbi, struct mcde_display_device *ddev)
memset(&vmode, 0, sizeof(struct mcde_video_mode));
var_to_vmode(var, &vmode);
mcde_dss_set_video_mode(ddev, &vmode);
-
mcde_dss_apply_channel(ddev);
}
@@ -531,7 +531,7 @@ static struct fb_ops fb_ops = {
struct fb_info *mcde_fb_create(struct mcde_display_device *ddev,
u16 w, u16 h, u16 vw, u16 vh, enum mcde_ovly_pix_fmt pix_fmt,
- u32 rotate, bool display_initialized)
+ u32 rotate)
{
int ret = 0;
struct fb_info *fbi;
@@ -554,7 +554,7 @@ struct fb_info *mcde_fb_create(struct mcde_display_device *ddev,
init_fb(fbi);
mfb = to_mcde_fb(fbi);
- ret = mcde_dss_enable_display(ddev, display_initialized);
+ ret = mcde_dss_enable_display(ddev);
if (ret)
goto display_enable_failed;
@@ -584,15 +584,7 @@ struct fb_info *mcde_fb_create(struct mcde_display_device *ddev,
if (ret)
goto fb_register_failed;
- if (!display_initialized) {
- ret = mcde_dss_update_overlay(ovly);
- if (ret)
- goto ovly_update_failed;
- }
-
goto out;
-ovly_update_failed:
- unregister_framebuffer(fbi);
fb_register_failed:
mcde_dss_disable_overlay(ovly);
ovly_enable_failed: