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)