summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/tegra/dc/edid.c6
-rw-r--r--drivers/video/tegra/dc/hdmi.c21
2 files changed, 24 insertions, 3 deletions
diff --git a/drivers/video/tegra/dc/edid.c b/drivers/video/tegra/dc/edid.c
index c2d99917519c..055cea3a11fe 100644
--- a/drivers/video/tegra/dc/edid.c
+++ b/drivers/video/tegra/dc/edid.c
@@ -289,10 +289,12 @@ int tegra_edid_mode_support_stereo(struct fb_videomode *mode)
if (!mode)
return 0;
- if (mode->xres == 1280 && mode->yres == 720 && mode->refresh == 60)
+ if (mode->xres == 1280 &&
+ mode->yres == 720 &&
+ ((mode->refresh == 60) || (mode->refresh == 50)))
return 1;
- if (mode->xres == 1280 && mode->yres == 720 && mode->refresh == 50)
+ if (mode->xres == 1920 && mode->yres == 1080 && mode->refresh == 24)
return 1;
return 0;
diff --git a/drivers/video/tegra/dc/hdmi.c b/drivers/video/tegra/dc/hdmi.c
index 20d9ec8246ae..4672ca1ebc0b 100644
--- a/drivers/video/tegra/dc/hdmi.c
+++ b/drivers/video/tegra/dc/hdmi.c
@@ -166,6 +166,23 @@ const struct fb_videomode tegra_dc_hdmi_supported_modes[] = {
.vmode = FB_VMODE_NONINTERLACED,
.sync = 0,
},
+
+ /* 1920x1080p 23.98/24hz: EIA/CEA-861-B Format 32 (Stereo)*/
+ {
+ .xres = 1920,
+ .yres = 1080,
+ .pixclock = KHZ2PICOS(74250),
+ .hsync_len = 44, /* h_sync_width */
+ .vsync_len = 5, /* v_sync_width */
+ .left_margin = 148, /* h_back_porch */
+ .upper_margin = 36, /* v_back_porch */
+ .right_margin = 638, /* h_front_porch */
+ .lower_margin = 4, /* v_front_porch */
+ .vmode = FB_VMODE_NONINTERLACED |
+ FB_VMODE_STEREO_FRAME_PACK,
+ .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
+ },
+
/* 1920x1080p 30Hz EIA/CEA-861-B Format 34 */
{
.xres = 1920,
@@ -1304,7 +1321,9 @@ static void tegra_dc_hdmi_setup_avi_infoframe(struct tegra_dc *dc, bool dvi)
avi.vic = 4; /* 60 Hz */
else
avi.vic = 19; /* 50 Hz */
- } else if (dc->mode.v_active == 1080) {
+ } else if (dc->mode.v_active == 1080 ||
+ (dc->mode.v_active == 2205 && dc->mode.stereo_mode)) {
+ /* VIC for both 1080p and 1080p 3D mode */
avi.m = HDMI_AVI_M_16_9;
if (dc->mode.h_front_porch == 88)
avi.vic = 16; /* 60 Hz */