diff --git a/drivers/media/platform/rockchip/isp/capture_v32.c b/drivers/media/platform/rockchip/isp/capture_v32.c index b3b35eb327bf..6ef94a149be3 100644 --- a/drivers/media/platform/rockchip/isp/capture_v32.c +++ b/drivers/media/platform/rockchip/isp/capture_v32.c @@ -1357,7 +1357,8 @@ static int rkisp_start(struct rkisp_stream *stream) if (ret) return ret; } - stream_self_update(stream); + if (dev->hw_dev->is_single) + stream_self_update(stream); if (stream->ops->enable_mi) stream->ops->enable_mi(stream); diff --git a/drivers/media/platform/rockchip/isp/isp_rockit.c b/drivers/media/platform/rockchip/isp/isp_rockit.c index 149fbda73376..32fed276e21f 100644 --- a/drivers/media/platform/rockchip/isp/isp_rockit.c +++ b/drivers/media/platform/rockchip/isp/isp_rockit.c @@ -369,6 +369,10 @@ int rkisp_rockit_resume_stream(struct rockit_cfg *input_rockit_cfg) pr_err("stream id %d start failed\n", stream->id); return -EINVAL; } + if (stream->ispdev->isp_state == ISP_STOP) { + stream->ispdev->isp_state = ISP_START; + rkisp_rdbk_trigger_event(stream->ispdev, T_CMD_QUEUE, NULL); + } return 0; }