From b0a2b60cf2ff5d403bbcce279257d7a8f84b5d84 Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Mon, 29 Jul 2024 09:16:20 +0800 Subject: [PATCH] media: rockchip: isp: enable bay3d FST_FRAME if change bypass Change-Id: I535687a54793a04323220979d0f76f0e09f3682a Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/isp/isp_params_v32.c | 2 ++ drivers/media/platform/rockchip/isp/isp_params_v39.c | 2 ++ drivers/media/platform/rockchip/isp/isp_params_v3x.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/drivers/media/platform/rockchip/isp/isp_params_v32.c b/drivers/media/platform/rockchip/isp/isp_params_v32.c index 787d789055c8..60ba7f6acd4f 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v32.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v32.c @@ -3545,6 +3545,8 @@ isp_bay3d_config(struct rkisp_isp_params_vdev *params_vdev, priv_val = (struct rkisp_isp_params_val_v32 *)params_vdev->priv_val; value = isp3_param_read(params_vdev, ISP3X_BAY3D_CTRL, id); + if (value & BIT(1) && !arg->bypass_en) + isp3_param_set_bits(params_vdev, ISP3X_ISP_CTRL1, ISP3X_RAW3D_FST_FRAME, id); value &= (ISP32_MODULE_EN | ISP32_BAY3D_BWSAVING(1)); value |= !!arg->loswitch_protect << 12 | diff --git a/drivers/media/platform/rockchip/isp/isp_params_v39.c b/drivers/media/platform/rockchip/isp/isp_params_v39.c index 6ae6ce0b6d0e..6ec18ead8f7c 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v39.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v39.c @@ -3117,6 +3117,8 @@ isp_bay3d_config(struct rkisp_isp_params_vdev *params_vdev, u32 i, value, ctrl; ctrl = isp3_param_read(params_vdev, ISP3X_BAY3D_CTRL, id); + if (ctrl & BIT(1) && !arg->bypass_en) + isp3_param_set_bits(params_vdev, ISP3X_ISP_CTRL1, ISP3X_RAW3D_FST_FRAME, id); ctrl &= ISP39_MODULE_EN; ctrl |= !!arg->bypass_en << 1 | !!arg->iirsparse_en << 2; diff --git a/drivers/media/platform/rockchip/isp/isp_params_v3x.c b/drivers/media/platform/rockchip/isp/isp_params_v3x.c index fccfa3e44153..f3055039739d 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v3x.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v3x.c @@ -3430,6 +3430,8 @@ isp_bay3d_config(struct rkisp_isp_params_vdev *params_vdev, u32 i, value; value = isp3_param_read(params_vdev, ISP3X_BAY3D_CTRL, id); + if (value & BIT(1) && !arg->bypass_en) + isp3_param_set_bits(params_vdev, ISP3X_ISP_CTRL1, ISP3X_RAW3D_FST_FRAME, id); value &= ISP3X_MODULE_EN; if (dev->rd_mode == HDR_NORMAL ||