diff options
author | Jason Chen <b02280@freescale.com> | 2011-08-22 11:24:23 +0800 |
---|---|---|
committer | Jason Liu <r64343@freescale.com> | 2012-01-09 20:23:25 +0800 |
commit | 49174b2c2b8b09b97fc0862c9f9f7385b4a8c53e (patch) | |
tree | 97ced5de02f9c23a74fe5248576da654981bb9fc | |
parent | 03aaf4a3689570b634b4c924ee27fecf1523aa5b (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.c | 22 |
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 */ |