summaryrefslogtreecommitdiff
path: root/arch/arm
diff options
context:
space:
mode:
authorShashank Sharma <shashanks@nvidia.com>2012-05-18 20:02:57 +0530
committerRohan Somvanshi <rsomvanshi@nvidia.com>2012-05-21 05:29:59 -0700
commit611caa58525e80f46eaf6990b68a7aa82f4f3dfa (patch)
treef3b9ff915734720fcb463c521718aaea23f557af /arch/arm
parentda6d900290c3c192012dcee3d28c992ea6301c45 (diff)
video: tegra: dc: Init hdmi's platform data and fb
1. Change hdmi platform data structure's xres and yres values. These values were made same as LVDS panel (1366x768). LVDS runs fix display mode,but HDMI can switch to different modes. The new values (640x480) are corresponding to HDMI's fallback mode resolution. 2. Map bootloader's framebuffer content to fb1 also, to initialize fb1's content, and to avoid black & white strips when hdmi gets enabled but has no content in fb. It sometimes causes inconsistency on fb_console mapped on HDMI. Bug: 930136 Change-Id: Iecf0d8c1cdd6a1baec2aec9c5dded3d73d1347e1 Signed-off-by: Shashank Sharma <shashanks@nvidia.com> Reviewed-on: http://git-master/r/103381 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Jon Mayo <jmayo@nvidia.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-tegra/board-cardhu-panel.c9
-rw-r--r--arch/arm/mach-tegra/board-ventana-panel.c9
2 files changed, 14 insertions, 4 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-panel.c b/arch/arm/mach-tegra/board-cardhu-panel.c
index 7055355f9efd..4899dee38042 100644
--- a/arch/arm/mach-tegra/board-cardhu-panel.c
+++ b/arch/arm/mach-tegra/board-cardhu-panel.c
@@ -707,8 +707,8 @@ static struct tegra_fb_data cardhu_fb_data = {
static struct tegra_fb_data cardhu_hdmi_fb_data = {
.win = 0,
- .xres = 1366,
- .yres = 768,
+ .xres = 640,
+ .yres = 480,
.bits_per_pixel = 32,
.flags = TEGRA_FB_FLIP_ON_PROBE,
};
@@ -1301,6 +1301,11 @@ int __init cardhu_panel_init(void)
IORESOURCE_MEM, "fbmem");
res->start = tegra_fb2_start;
res->end = tegra_fb2_start + tegra_fb2_size - 1;
+
+ /* Copy the bootloader fb to the fb2. */
+ tegra_move_framebuffer(tegra_fb2_start, tegra_bootloader_fb_start,
+ min(tegra_fb2_size, tegra_bootloader_fb_size));
+
if (!err)
err = nvhost_device_register(&cardhu_disp2_device);
#endif
diff --git a/arch/arm/mach-tegra/board-ventana-panel.c b/arch/arm/mach-tegra/board-ventana-panel.c
index a5f4cc7444b9..131f99dac43c 100644
--- a/arch/arm/mach-tegra/board-ventana-panel.c
+++ b/arch/arm/mach-tegra/board-ventana-panel.c
@@ -240,8 +240,8 @@ static struct tegra_fb_data ventana_fb_data = {
static struct tegra_fb_data ventana_hdmi_fb_data = {
.win = 0,
- .xres = 1366,
- .yres = 768,
+ .xres = 640,
+ .yres = 480,
.bits_per_pixel = 32,
.flags = TEGRA_FB_FLIP_ON_PROBE,
};
@@ -444,6 +444,11 @@ int __init ventana_panel_init(void)
tegra_move_framebuffer(tegra_fb_start, tegra_bootloader_fb_start,
min(tegra_fb_size, tegra_bootloader_fb_size));
+ /* Copy the bootloader fb to the fb2. */
+ tegra_move_framebuffer(tegra_fb2_start, tegra_bootloader_fb_start,
+ min(tegra_fb2_size, tegra_bootloader_fb_size));
+
+
#if defined(CONFIG_TEGRA_GRHOST) && defined(CONFIG_TEGRA_DC)
if (!err)
err = nvhost_device_register(&ventana_disp1_device);