diff options
author | Jason Chen <b02280@freescale.com> | 2011-11-23 10:46:01 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-01-09 21:08:10 +0800 |
commit | a6c6b18e752a94a128ef3ffe0527a055e2deed7f (patch) | |
tree | 93dcec716c90190d92feb44272638abe5ce7021c /drivers/media | |
parent | a31d875aaf366af6d11952e542d9013328499056 (diff) |
ENGR00162919 mxc_vout: there is one column garbage line at right for split mode
as ipu processing device driver has protect check, the CR ENGR00155141 can be
reverted, this CR is the cause of garbage line.
this patch also change v4l2 output try_task function to make sure there is no
cropping for output when display support window.
Signed-off-by: Jason Chen <b02280@freescale.com>
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/mxc/output/mxc_vout.c | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/drivers/media/video/mxc/output/mxc_vout.c b/drivers/media/video/mxc/output/mxc_vout.c index c08f2fd8b405..57e684f99308 100644 --- a/drivers/media/video/mxc/output/mxc_vout.c +++ b/drivers/media/video/mxc/output/mxc_vout.c @@ -772,9 +772,10 @@ static int mxc_vidioc_g_fmt_vid_out(struct file *file, void *fh, return 0; } -static inline int ipu_try_task(struct ipu_task *task) +static inline int ipu_try_task(struct mxc_vout_output *vout) { int ret; + struct ipu_task *task = &vout->task; again: ret = ipu_check_task(task); @@ -789,11 +790,19 @@ again: goto again; } if (ret == IPU_CHECK_ERR_SPLIT_OUTPUTW_OVER) { - task->output.crop.w -= 8; + if (vout->disp_support_windows) { + task->output.width -= 8; + task->output.crop.w = task->output.width; + } else + task->output.crop.w -= 8; goto again; } if (ret == IPU_CHECK_ERR_SPLIT_OUTPUTH_OVER) { - task->output.crop.h -= 8; + if (vout->disp_support_windows) { + task->output.height -= 8; + task->output.crop.h = task->output.height; + } else + task->output.crop.h -= 8; goto again; } ret = -EINVAL; @@ -830,7 +839,7 @@ static int mxc_vout_try_task(struct mxc_vout_output *vout) else vout->task.output.format = IPU_PIX_FMT_RGB565; } - ret = ipu_try_task(&vout->task); + ret = ipu_try_task(vout); } return ret; |