diff options
author | Sunita Nadampalli <sunitan@ti.com> | 2012-03-05 10:29:25 -0600 |
---|---|---|
committer | Jason Simmons <jsimmons@google.com> | 2012-10-22 15:33:27 -0700 |
commit | 620a972bf780aff56d3a3c76e8f53ca8b0a3c17d (patch) | |
tree | 758c2cdbf1cc9b0e24c5817f6a181c11e5b3a6cd | |
parent | a718b61ddb61e613cef6f0053624b20d151da6ea (diff) | |
download | omap4-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.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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)) { |