Commit 318e125a authored by Hans de Goede's avatar Hans de Goede Committed by Mauro Carvalho Chehab
Browse files

media: atomisp: use atomisp_css_update_stream() in more places

Use atomisp_css_update_stream() in 2 more places,
instead of open coding it.

Link: https://lore.kernel.org/linux-media/20220615205037.16549-38-hdegoede@redhat.com


Reviewed-by: default avatarAndy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent 507e72a2
Loading
Loading
Loading
Loading
+6 −31
Original line number Diff line number Diff line
@@ -1105,21 +1105,10 @@ int atomisp_css_start(struct atomisp_sub_device *asd,
	int ret = 0, i = 0;

	if (in_reset) {
		if (__destroy_streams(asd, true))
			dev_warn(isp->dev, "destroy stream failed.\n");

		if (__destroy_pipes(asd, true))
			dev_warn(isp->dev, "destroy pipe failed.\n");
		ret = atomisp_css_update_stream(asd);
		if (ret)
			return ret;

		if (__create_pipes(asd)) {
			dev_err(isp->dev, "create pipe error.\n");
			return -EINVAL;
		}
		if (__create_streams(asd)) {
			dev_err(isp->dev, "create stream error.\n");
			ret = -EINVAL;
			goto stream_err;
		}
		/* Invalidate caches. FIXME: should flush only necessary buffers */
		wbinvd();
	}
@@ -1178,7 +1167,6 @@ int atomisp_css_start(struct atomisp_sub_device *asd,

start_err:
	__destroy_streams(asd, true);
stream_err:
	__destroy_pipes(asd, true);

	/* css 2.0 API limitation: ia_css_stop_sp() could be only called after
@@ -2630,21 +2618,9 @@ static int __get_frame_info(struct atomisp_sub_device *asd,
	struct ia_css_pipe_info p_info;

	/* FIXME! No need to destroy/recreate all streams */
	if (__destroy_streams(asd, true))
		dev_warn(isp->dev, "destroy stream failed.\n");

	if (__destroy_pipes(asd, true))
		dev_warn(isp->dev, "destroy pipe failed.\n");

	if (__create_pipes(asd)) {
		dev_err(isp->dev, "can't create pipes\n");
		return -EINVAL;
	}

	if (__create_streams(asd)) {
		dev_err(isp->dev, "can't create streams\n");
		goto stream_err;
	}
	ret = atomisp_css_update_stream(asd);
	if (ret)
		return ret;

	ret = ia_css_pipe_get_info(asd->stream_env[stream_index].pipes[pipe_id],
				   &p_info);
@@ -2683,7 +2659,6 @@ static int __get_frame_info(struct atomisp_sub_device *asd,

get_info_err:
	__destroy_streams(asd, true);
stream_err:
	__destroy_pipes(asd, true);
	return -EINVAL;
}