summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSunita Nadampalli <sunitan@ti.com>2012-03-05 10:29:25 -0600
committerJason Simmons <jsimmons@google.com>2012-10-22 15:33:27 -0700
commit620a972bf780aff56d3a3c76e8f53ca8b0a3c17d (patch)
tree758c2cdbf1cc9b0e24c5817f6a181c11e5b3a6cd
parenta718b61ddb61e613cef6f0053624b20d151da6ea (diff)
downloadomap4-aah-620a972bf780aff56d3a3c76e8f53ca8b0a3c17d.tar.gz
hwc: added interlaced modes to HDMI best mode selection logic
Modified HWC hdmi best mode selection policy to consider Interlaced modes as well. DRT#OMAPS00262232 - HWC hal doesnt have support for interlaced timings for HDMI Rebased from p-ics-mr1: a11e07b hwc: Added Interlaced modes to the HDMI best mode selection logic Change-Id: Ie7bbe55c5694c53cc669c39ec125a72f723c3920 Signed-off-by: Sunita Nadampalli <sunitan@ti.com> (cherry picked from commit 3e8c057eac76d6a28abfb2cda9698b022b7328cc) Conflicts: hwc/hwc.c
-rw-r--r--hwc/hwc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/hwc/hwc.c b/hwc/hwc.c
index 664b55f..ba5ce13 100644
--- a/hwc/hwc.c
+++ b/hwc/hwc.c
@@ -1063,6 +1063,9 @@ static int omap4_hwc_set_best_hdmi_mode(omap4_hwc_device_t *hwc_dev, __u32 xres,
if ((d.modedb[i].flag & FB_FLAG_HW_CAPABLE) == 0)
continue;
+ if (d.modedb[i].vmode & FB_VMODE_INTERLACED)
+ mode_yres /= 2;
+
if (d.modedb[i].flag & FB_FLAG_RATIO_4_3) {
ext_width = 4;
ext_height = 3;
@@ -1079,7 +1082,7 @@ static int omap4_hwc_set_best_hdmi_mode(omap4_hwc_device_t *hwc_dev, __u32 xres,
/* we need to ensure that even TILER2D buffers can be scaled */
if (!d.modedb[i].pixclock ||
- d.modedb[i].vmode ||
+ (d.modedb[i].vmode & ~FB_VMODE_INTERLACED) ||
!omap4_hwc_can_scale(xres, yres, ext_fb_xres, ext_fb_yres,
1, &d.dis, &limits,
1000000000 / d.modedb[i].pixclock))
@@ -1155,7 +1158,6 @@ static int omap4_hwc_set_best_hdmi_mode(omap4_hwc_device_t *hwc_dev, __u32 xres,
get_max_dimensions(xres, yres, xpy, d.dis.timings.x_res, d.dis.timings.y_res,
ext_width, ext_height, &ext_fb_xres, &ext_fb_yres);
if (!d.dis.timings.pixel_clock ||
- d.dis.mgr.interlaced ||
!omap4_hwc_can_scale(xres, yres, ext_fb_xres, ext_fb_yres,
1, &d.dis, &limits,
d.dis.timings.pixel_clock)) {