diff options
author | Tony Lofthouse <a0741364@ti.com> | 2012-08-24 16:10:48 -0500 |
---|---|---|
committer | Daniel Levin <dendy@ti.com> | 2012-11-28 21:16:24 +0200 |
commit | 44d6a84d3e75264d97c484be69cd47259ddb5199 (patch) | |
tree | 141def1e3c8011015914b8dd897bb94b1f7d9e31 /hwc | |
parent | aa98f0999fe81764228c139ece3aa890c5a23cf5 (diff) | |
download | hardware_ti_omap4-44d6a84d3e75264d97c484be69cd47259ddb5199.zip hardware_ti_omap4-44d6a84d3e75264d97c484be69cd47259ddb5199.tar.gz hardware_ti_omap4-44d6a84d3e75264d97c484be69cd47259ddb5199.tar.bz2 |
hwc: Add a handle to the can_scale function for future use
A scaling decision may need to account for the size of
a pixel as dss based scaling capability has a relationship
with memory bandwidth
Change-Id: Idd68e11317fb0bb9e5d19f0a0d5818744968a5ab
Signed-off-by: Tony Lofthouse <a0741364@ti.com>
Diffstat (limited to 'hwc')
-rw-r--r-- | hwc/hwc.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -855,7 +855,7 @@ omap4_hwc_adjust_primary_display_layer(omap4_hwc_device_t *hwc_dev, struct dss2_ static int omap4_hwc_can_scale(__u32 src_w, __u32 src_h, __u32 dst_w, __u32 dst_h, int is_2d, struct dsscomp_display_info *dis, struct dsscomp_platform_info *limits, - __u32 pclk) + __u32 pclk, void *handle) { __u32 fclk = limits->fclk / 1000; __u32 min_src_w = DIV_ROUND_UP(src_w, is_2d ? limits->max_xdecim_2d : limits->max_xdecim_1d); @@ -910,7 +910,7 @@ static int omap4_hwc_can_scale_layer(omap4_hwc_device_t *hwc_dev, hwc_layer_t *l /* NOTE: layers should be able to be scaled externally since framebuffer is able to be scaled on selected external resolution */ return omap4_hwc_can_scale(src_w, src_h, dst_w, dst_h, is_NV12(handle), &hwc_dev->fb_dis, &limits, - hwc_dev->fb_dis.timings.pixel_clock); + hwc_dev->fb_dis.timings.pixel_clock, handle); } static int omap4_hwc_is_valid_layer(omap4_hwc_device_t *hwc_dev, @@ -1034,7 +1034,7 @@ static int omap4_hwc_set_best_hdmi_mode(omap4_hwc_device_t *hwc_dev, __u32 xres, (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)) + 1000000000 / d.modedb[i].pixclock, NULL)) continue; /* prefer CEA modes */ @@ -1077,7 +1077,7 @@ static int omap4_hwc_set_best_hdmi_mode(omap4_hwc_device_t *hwc_dev, __u32 xres, if (!d.dis.timings.pixel_clock || !omap4_hwc_can_scale(xres, yres, ext_fb_xres, ext_fb_yres, 1, &d.dis, &limits, - d.dis.timings.pixel_clock)) { + d.dis.timings.pixel_clock, NULL)) { ALOGW("DSS scaler cannot support HDMI cloning"); return -1; } |