From f86a199257a037942ba3fc5212bb4f6814a96016 Mon Sep 17 00:00:00 2001 From: Cai YiWei Date: Fri, 27 May 2022 10:24:52 +0800 Subject: [PATCH] media: rockchip: isp: params buf alloc remove to first buf queue rkisp_params_first_cfg maybe run at irq for multi sensor, buf alloc remove to user queue buf. Change-Id: I19278152c0e142c9825816afed8448091d2c68d6 Signed-off-by: Cai YiWei --- drivers/media/platform/rockchip/isp/isp_params_v21.c | 2 +- drivers/media/platform/rockchip/isp/isp_params_v32.c | 7 +++++-- drivers/media/platform/rockchip/isp/isp_params_v3x.c | 7 +++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/rockchip/isp/isp_params_v21.c b/drivers/media/platform/rockchip/isp/isp_params_v21.c index 296fd20db2fc..5ebc28d794d5 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v21.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v21.c @@ -3832,7 +3832,6 @@ rkisp_params_first_cfg_v2x(struct rkisp_isp_params_vdev *params_vdev) struct rkisp_isp_params_val_v21 *priv_val = (struct rkisp_isp_params_val_v21 *)params_vdev->priv_val; - rkisp_alloc_bay3d_buf(params_vdev, params_vdev->isp21_params); dev->is_bigmode = rkisp_params_check_bigmode_v21(params_vdev); spin_lock(¶ms_vdev->config_lock); /* override the default things */ @@ -3867,6 +3866,7 @@ static void rkisp_save_first_param_v2x(struct rkisp_isp_params_vdev *params_vdev new_params = (struct isp21_isp_params_cfg *)param; *params_vdev->isp21_params = *new_params; + rkisp_alloc_bay3d_buf(params_vdev, params_vdev->isp21_params); } static void rkisp_clear_first_param_v2x(struct rkisp_isp_params_vdev *params_vdev) diff --git a/drivers/media/platform/rockchip/isp/isp_params_v32.c b/drivers/media/platform/rockchip/isp/isp_params_v32.c index 51c8f1438c5a..b697b8d8d0bd 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v32.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v32.c @@ -4207,8 +4207,6 @@ rkisp_params_first_cfg_v32(struct rkisp_isp_params_vdev *params_vdev) struct rkisp_isp_params_val_v32 *priv_val = (struct rkisp_isp_params_val_v32 *)params_vdev->priv_val; - tasklet_enable(&priv_val->lsc_tasklet); - rkisp_alloc_internal_buf(params_vdev, params_vdev->isp32_params); dev->is_bigmode = rkisp_params_check_bigmode_v32(params_vdev); spin_lock(¶ms_vdev->config_lock); /* override the default things */ @@ -4240,7 +4238,12 @@ rkisp_params_first_cfg_v32(struct rkisp_isp_params_vdev *params_vdev) static void rkisp_save_first_param_v32(struct rkisp_isp_params_vdev *params_vdev, void *param) { + struct rkisp_isp_params_val_v32 *priv_val = + (struct rkisp_isp_params_val_v32 *)params_vdev->priv_val; + memcpy(params_vdev->isp32_params, param, params_vdev->vdev_fmt.fmt.meta.buffersize); + tasklet_enable(&priv_val->lsc_tasklet); + rkisp_alloc_internal_buf(params_vdev, params_vdev->isp32_params); } static void rkisp_clear_first_param_v32(struct rkisp_isp_params_vdev *params_vdev) diff --git a/drivers/media/platform/rockchip/isp/isp_params_v3x.c b/drivers/media/platform/rockchip/isp/isp_params_v3x.c index ebb815f7cdce..0b09ffafe0a5 100644 --- a/drivers/media/platform/rockchip/isp/isp_params_v3x.c +++ b/drivers/media/platform/rockchip/isp/isp_params_v3x.c @@ -4244,9 +4244,7 @@ rkisp_params_first_cfg_v3x(struct rkisp_isp_params_vdev *params_vdev) (struct rkisp_isp_params_val_v3x *)params_vdev->priv_val; struct rkisp_hw_dev *hw = params_vdev->dev->hw_dev; - tasklet_enable(&priv_val->lsc_tasklet); dev->is_bigmode = rkisp_params_check_bigmode_v3x(params_vdev); - rkisp_alloc_internal_buf(params_vdev, params_vdev->isp3x_params); spin_lock(¶ms_vdev->config_lock); /* override the default things */ if (!params_vdev->isp3x_params->module_cfg_update && @@ -4285,7 +4283,12 @@ rkisp_params_first_cfg_v3x(struct rkisp_isp_params_vdev *params_vdev) static void rkisp_save_first_param_v3x(struct rkisp_isp_params_vdev *params_vdev, void *param) { + struct rkisp_isp_params_val_v3x *priv_val = + (struct rkisp_isp_params_val_v3x *)params_vdev->priv_val; + memcpy(params_vdev->isp3x_params, param, params_vdev->vdev_fmt.fmt.meta.buffersize); + tasklet_enable(&priv_val->lsc_tasklet); + rkisp_alloc_internal_buf(params_vdev, params_vdev->isp3x_params); } static void rkisp_clear_first_param_v3x(struct rkisp_isp_params_vdev *params_vdev)