From 358b83e069ed048eca09a3cba9715befff26492c Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Thu, 21 Nov 2024 18:11:49 +0800 Subject: [PATCH] media: rockchip: isp: fix multi sensor with unite mode large resolution need to divided into left and right small resolution no need to divided Change-Id: If0f60d97b90afa7eba306c09b5c56eda7735c5fa Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/isp/rkisp.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/rkisp.c b/drivers/media/platform/rockchip/isp/rkisp.c index 07e88580a073..7f194a77d0a8 100644 --- a/drivers/media/platform/rockchip/isp/rkisp.c +++ b/drivers/media/platform/rockchip/isp/rkisp.c @@ -1020,7 +1020,7 @@ static void rkisp_rdbk_trigger_handle(struct rkisp_device *dev, u32 cmd) isp = dev; is_try = true; times = 0; - if (hw->unite == ISP_UNITE_ONE) { + if (hw->unite == ISP_UNITE_ONE && isp->unite_div > ISP_UNITE_DIV1) { if (hw->is_multi_overflow && dev->sw_rd_cnt < 2) isp->unite_index = ISP_UNITE_RIGHT; else if (!hw->is_multi_overflow) @@ -1103,8 +1103,8 @@ static void rkisp_rdbk_trigger_handle(struct rkisp_device *dev, u32 cmd) /* frame double for multi camera resolution out of hardware limit * first for HW save this camera information, and second to output image */ - if ((hw->unite == ISP_UNITE_ONE || - (hw->pre_dev_id != -1 && hw->pre_dev_id != id))) { + if ((hw->unite == ISP_UNITE_ONE && isp->unite_div > ISP_UNITE_DIV1) || + (hw->pre_dev_id != -1 && hw->pre_dev_id != id)) { isp->is_frame_double = true; isp->sw_rd_cnt = 1; times = 0; @@ -1112,7 +1112,7 @@ static void rkisp_rdbk_trigger_handle(struct rkisp_device *dev, u32 cmd) /* resolution out of hardware limit * frame is vertically divided into left and right */ - if (hw->unite == ISP_UNITE_ONE) { + if (hw->unite == ISP_UNITE_ONE && isp->unite_div > ISP_UNITE_DIV1) { isp->sw_rd_cnt *= 2; isp->sw_rd_cnt += 1; }