summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/arm/mach-ux500/board-mop500-mcde.c4
-rw-r--r--arch/arm/mach-ux500/board-u5500-mcde.c4
-rw-r--r--drivers/video/mcde/display-av8100.c1
-rw-r--r--drivers/video/mcde/display-generic_dsi.c1
4 files changed, 6 insertions, 4 deletions
diff --git a/arch/arm/mach-ux500/board-mop500-mcde.c b/arch/arm/mach-ux500/board-mop500-mcde.c
index 42cec2c88a6..d16c715ed86 100644
--- a/arch/arm/mach-ux500/board-mop500-mcde.c
+++ b/arch/arm/mach-ux500/board-mop500-mcde.c
@@ -549,6 +549,7 @@ static int framebuffer_postregistered_callback(struct notifier_block *nb,
struct mcde_overlay *ovly = mfb->ovlys[i];
struct mcde_overlay_info ovly_info;
struct mcde_fb *mfb = to_mcde_fb(info);
+ int num_buffers;
memset(&ovly_info, 0, sizeof(ovly_info));
ovly_info.paddr = fix.smem_start +
fix.line_length * var.yoffset;
@@ -562,7 +563,8 @@ static int framebuffer_postregistered_callback(struct notifier_block *nb,
ovly_info.dirty.w = var.xres;
ovly_info.dirty.h = var.yres;
(void) mcde_dss_apply_overlay(ovly, &ovly_info);
- ret = mcde_dss_update_overlay(ovly);
+ num_buffers = var.yres_virtual / var.yres;
+ ret = mcde_dss_update_overlay(ovly, num_buffers == 3);
if (ret)
break;
}
diff --git a/arch/arm/mach-ux500/board-u5500-mcde.c b/arch/arm/mach-ux500/board-u5500-mcde.c
index 49b6c53d98e..34c29398c72 100644
--- a/arch/arm/mach-ux500/board-u5500-mcde.c
+++ b/arch/arm/mach-ux500/board-u5500-mcde.c
@@ -318,6 +318,7 @@ static int framebuffer_postregistered_callback(struct notifier_block *nb,
struct mcde_overlay *ovly = mfb->ovlys[i];
struct mcde_overlay_info ovly_info;
struct mcde_fb *mfb = to_mcde_fb(info);
+ int num_buffers;
memset(&ovly_info, 0, sizeof(ovly_info));
ovly_info.paddr = fix.smem_start +
fix.line_length * var.yoffset;
@@ -331,7 +332,8 @@ static int framebuffer_postregistered_callback(struct notifier_block *nb,
ovly_info.dirty.w = var.xres;
ovly_info.dirty.h = var.yres;
(void) mcde_dss_apply_overlay(ovly, &ovly_info);
- ret = mcde_dss_update_overlay(ovly);
+ num_buffers = var.yres_virtual / var.yres;
+ ret = mcde_dss_update_overlay(ovly, num_buffers == 3);
if (ret)
break;
}
diff --git a/drivers/video/mcde/display-av8100.c b/drivers/video/mcde/display-av8100.c
index 99070b6071f..688a4d17688 100644
--- a/drivers/video/mcde/display-av8100.c
+++ b/drivers/video/mcde/display-av8100.c
@@ -1428,7 +1428,6 @@ static int hdmi_resume(struct mcde_display_device *ddev)
dev_warn(&ddev->dev, "%s:Failed to resume display\n"
, __func__);
- ddev->update(ddev, 0);
return ret;
}
diff --git a/drivers/video/mcde/display-generic_dsi.c b/drivers/video/mcde/display-generic_dsi.c
index b2d63ba06f7..64ed3d6daa9 100644
--- a/drivers/video/mcde/display-generic_dsi.c
+++ b/drivers/video/mcde/display-generic_dsi.c
@@ -246,7 +246,6 @@ static int generic_resume(struct mcde_display_device *ddev)
, __func__);
ddev->set_synchronized_update(ddev,
ddev->get_synchronized_update(ddev));
- ddev->update(ddev, false);
return ret;
}