summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2011-08-22 11:24:23 +0800
committerJason Chen <b02280@freescale.com>2011-08-29 11:22:57 +0800
commit1b2795628f06f35a79d71aa36a29e667e891278d (patch)
tree9aa7043400c4ab00173b3978ab21a88ef23e1edd
parenta0aa7d973871c92075a774c23751d3d5d23061b8 (diff)
ENGR00153474 ipuv3 split mode: vf and enc task display with error
For split mode, if using vf/enc task, the display is not correct. Signed-off-by: Jason Chen <b02280@freescale.com>
-rw-r--r--drivers/mxc/ipu3/ipu_ic.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/drivers/mxc/ipu3/ipu_ic.c b/drivers/mxc/ipu3/ipu_ic.c
index 27cf2d4bc8db..581f7c21637b 100644
--- a/drivers/mxc/ipu3/ipu_ic.c
+++ b/drivers/mxc/ipu3/ipu_ic.c
@@ -215,10 +215,13 @@ void _ipu_ic_init_prpvf(struct ipu_soc *ipu, ipu_channel_params_t *params, bool
ipu_color_space_t in_fmt, out_fmt;
/* Setup vertical resizing */
- _calc_resize_coeffs(ipu, params->mem_prp_vf_mem.in_height,
- params->mem_prp_vf_mem.out_height,
- &resizeCoeff, &downsizeCoeff);
- reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+ if (!(params->mem_prp_vf_mem.outv_resize_ratio)) {
+ _calc_resize_coeffs(ipu, params->mem_prp_vf_mem.in_height,
+ params->mem_prp_vf_mem.out_height,
+ &resizeCoeff, &downsizeCoeff);
+ reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+ } else
+ reg = (params->mem_prp_vf_mem.outv_resize_ratio) << 16;
/* Setup horizontal resizing */
/* Upadeted for IC split case */
@@ -337,10 +340,13 @@ void _ipu_ic_init_prpenc(struct ipu_soc *ipu, ipu_channel_params_t *params, bool
ipu_color_space_t in_fmt, out_fmt;
/* Setup vertical resizing */
- _calc_resize_coeffs(ipu, params->mem_prp_enc_mem.in_height,
- params->mem_prp_enc_mem.out_height,
- &resizeCoeff, &downsizeCoeff);
- reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+ if (!(params->mem_prp_enc_mem.outv_resize_ratio)) {
+ _calc_resize_coeffs(ipu, params->mem_prp_enc_mem.in_height,
+ params->mem_prp_enc_mem.out_height,
+ &resizeCoeff, &downsizeCoeff);
+ reg = (downsizeCoeff << 30) | (resizeCoeff << 16);
+ } else
+ reg = (params->mem_prp_enc_mem.outv_resize_ratio) << 16;
/* Setup horizontal resizing */
/* Upadeted for IC split case */