mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 02:50:49 +09:00
media: rockchip: isp: fix unite div calculation
Change-Id: Iea94ff13b0cc1c3553996e22051266f4af2c1a76 Signed-off-by: Cai YiWei <cyw@rock-chips.com>
This commit is contained in:
@@ -3003,22 +3003,34 @@ static int rkisp_unite_div(struct rkisp_device *dev, u32 w, u32 h)
|
||||
case ISP_V30:
|
||||
max_size = CIF_ISP_INPUT_W_MAX_V30 * CIF_ISP_INPUT_H_MAX_V30;
|
||||
max_w = CIF_ISP_INPUT_W_MAX_V30;
|
||||
max_h = max_size / w;
|
||||
if (w > max_w)
|
||||
max_h = max_size * 2 / w;
|
||||
else
|
||||
max_h = max_size / w;
|
||||
break;
|
||||
case ISP_V32:
|
||||
max_size = CIF_ISP_INPUT_W_MAX_V32 * CIF_ISP_INPUT_H_MAX_V32;
|
||||
max_w = CIF_ISP_INPUT_W_MAX_V32;
|
||||
max_h = max_size / w;
|
||||
if (w > max_w)
|
||||
max_h = max_size * 2 / w;
|
||||
else
|
||||
max_h = max_size / w;
|
||||
break;
|
||||
case ISP_V32_L:
|
||||
max_size = CIF_ISP_INPUT_W_MAX_V32_L * CIF_ISP_INPUT_H_MAX_V32_L;
|
||||
max_w = CIF_ISP_INPUT_W_MAX_V32_L;
|
||||
max_h = max_size / w;
|
||||
if (w > max_w)
|
||||
max_h = max_size * 2 / w;
|
||||
else
|
||||
max_h = max_size / w;
|
||||
break;
|
||||
case ISP_V33:
|
||||
max_size = CIF_ISP_INPUT_W_MAX_V33 * CIF_ISP_INPUT_H_MAX_V33;
|
||||
max_w = CIF_ISP_INPUT_W_MAX_V33;
|
||||
max_h = max_size / w;
|
||||
if (w > max_w)
|
||||
max_h = max_size * 2 / w;
|
||||
else
|
||||
max_h = max_size / w;
|
||||
break;
|
||||
case ISP_V35:
|
||||
max_size = CIF_ISP_INPUT_W_MAX_V35 * CIF_ISP_INPUT_H_MAX_V35;
|
||||
@@ -3028,7 +3040,10 @@ static int rkisp_unite_div(struct rkisp_device *dev, u32 w, u32 h)
|
||||
case ISP_V39:
|
||||
max_size = CIF_ISP_INPUT_W_MAX_V39_UNITE / 2 * CIF_ISP_INPUT_H_MAX_V39_UNITE;
|
||||
max_w = CIF_ISP_INPUT_W_MAX_V39;
|
||||
max_h = max_size / w;
|
||||
if (w > max_w)
|
||||
max_h = max_size * 2 / w;
|
||||
else
|
||||
max_h = max_size / w;
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
|
||||
Reference in New Issue
Block a user