diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-05-11 10:04:48 +0200 |
---|---|---|
committer | Henrik Aberg <henrik.aberg@stericsson.com> | 2011-05-18 09:40:12 +0200 |
commit | 428e324db4b71e5e85b74fb9c5c1a5851c5b7c55 (patch) | |
tree | 2c2213cbd9218d3c0a37575e47d239d405ba3366 /arch | |
parent | f123fcd6bcd2033cb1c96eedacbaf765957fd6b6 (diff) |
video: mcde: Add tripple buffer support
This patch adds tripple buffer support to the mcde
driver. Useful for video mode devices (e.g. HDMI)
where a missed v-sync leads to half frame rate
(the client has to wait for the next v-sync).
Tripple buffering solves this problem since there
are two back buffers the client can use.
Tripple buffering for HDMI is activated in
menuconfig by enabling:
System Type -> Display selection -> Enable tripple
buffer for HDMI display
ST-Ericsson ID: 335004
ST-Ericsson Linux next: Not tested, ER 282779
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id: Ice1f936a8a00e2fbc8fdf7e8c6621c539efe0ac4
Signed-off-by: Jimmy Rubin <jimmy.rubin@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/21839
Reviewed-by: QATOOLS
Reviewed-by: Per PERSSON <per.xb.persson@stericsson.com>
Reviewed-by: QATEST
Reviewed-by: Marcel TUNNISSEN <marcel.tuennissen@stericsson.com>
Conflicts:
arch/arm/configs/u8500_defconfig
drivers/misc/dispdev/dispdev.c
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-ux500/Kconfig-arch | 6 | ||||
-rw-r--r-- | arch/arm/mach-ux500/board-mop500-mcde.c | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-ux500/Kconfig-arch b/arch/arm/mach-ux500/Kconfig-arch index cfdf0ea1265..d16bf788392 100644 --- a/arch/arm/mach-ux500/Kconfig-arch +++ b/arch/arm/mach-ux500/Kconfig-arch @@ -143,6 +143,12 @@ config DISPLAY_AV8100_TERTIARY help Say yes here if HDMI output support +config DISPLAY_AV8100_TRIPPLE_BUFFER + bool "Enable tripple buffer for HDMI display" + depends on DISPLAY_AV8100_TERTIARY + help + Say yes to enable tripple buffer. You'll get double buffer otherwise + endmenu endif diff --git a/arch/arm/mach-ux500/board-mop500-mcde.c b/arch/arm/mach-ux500/board-mop500-mcde.c index bc7d596d88f..edf603dd0ce 100644 --- a/arch/arm/mach-ux500/board-mop500-mcde.c +++ b/arch/arm/mach-ux500/board-mop500-mcde.c @@ -462,6 +462,7 @@ static int display_postregistered_callback(struct notifier_block *nb, virtual_width = width; virtual_height = height * 2; + #ifdef CONFIG_DISPLAY_GENERIC_DSI_PRIMARY_AUTO_SYNC if (ddev->id == PRIMARY_DISPLAY_ID) virtual_height = height; @@ -472,6 +473,11 @@ static int display_postregistered_callback(struct notifier_block *nb, virtual_height = height; #endif +#ifdef CONFIG_DISPLAY_AV8100_TRIPPLE_BUFFER + if (ddev->id == TERTIARY_DISPLAY_ID) + virtual_height = height * 3; +#endif + if (ddev->id == TERTIARY_DISPLAY_ID) { #ifdef CONFIG_MCDE_DISPLAY_HDMI_FB_AUTO_CREATE hdmi_fb_onoff(ddev, 1, 0, 0); |