Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c772b9a7 authored by Karthik Anantha Ram's avatar Karthik Anantha Ram Committed by Gerrit - the friendly Code Review server
Browse files

msm: camera: isp: Reset bubble processing flag



Reset this flag as part of flush and release calls.

Change-Id: Ic3f14abe8555df83e3c8385cbec34227b3c74f99
Signed-off-by: default avatarKarthik Anantha Ram <kartanan@codeaurora.org>
parent 763429b2
Loading
Loading
Loading
Loading
+5 −0
Original line number Original line Diff line number Diff line
@@ -1863,7 +1863,9 @@ static int __cam_isp_ctx_flush_req_in_top_state(
	struct cam_req_mgr_flush_request *flush_req)
	struct cam_req_mgr_flush_request *flush_req)
{
{
	int rc = 0;
	int rc = 0;
	struct cam_isp_context *ctx_isp;


	ctx_isp = (struct cam_isp_context *) ctx->ctx_priv;
	if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_ALL) {
	if (flush_req->type == CAM_REQ_MGR_FLUSH_TYPE_ALL) {
		CAM_INFO(CAM_ISP, "Last request id to flush is %lld",
		CAM_INFO(CAM_ISP, "Last request id to flush is %lld",
			flush_req->req_id);
			flush_req->req_id);
@@ -1875,6 +1877,7 @@ static int __cam_isp_ctx_flush_req_in_top_state(
	rc = __cam_isp_ctx_flush_req(ctx, &ctx->pending_req_list, flush_req);
	rc = __cam_isp_ctx_flush_req(ctx, &ctx->pending_req_list, flush_req);
	spin_unlock_bh(&ctx->lock);
	spin_unlock_bh(&ctx->lock);


	atomic_set(&ctx_isp->process_bubble, 0);
	return rc;
	return rc;
}
}


@@ -3161,6 +3164,7 @@ static int __cam_isp_ctx_start_dev_in_ready(struct cam_context *ctx,
	start_isp.hw_config.init_packet = 1;
	start_isp.hw_config.init_packet = 1;
	start_isp.start_only = false;
	start_isp.start_only = false;


	atomic_set(&ctx_isp->process_bubble, 0);
	ctx_isp->frame_id = 0;
	ctx_isp->frame_id = 0;
	ctx_isp->active_req_cnt = 0;
	ctx_isp->active_req_cnt = 0;
	ctx_isp->reported_req_id = 0;
	ctx_isp->reported_req_id = 0;
@@ -3296,6 +3300,7 @@ static int __cam_isp_ctx_stop_dev_in_activated_unlock(
	ctx_isp->frame_id = 0;
	ctx_isp->frame_id = 0;
	ctx_isp->active_req_cnt = 0;
	ctx_isp->active_req_cnt = 0;
	ctx_isp->reported_req_id = 0;
	ctx_isp->reported_req_id = 0;
	atomic_set(&ctx_isp->process_bubble, 0);


	CAM_DBG(CAM_ISP, "Stop device success next state %d on ctx %u",
	CAM_DBG(CAM_ISP, "Stop device success next state %d on ctx %u",
		ctx->state, ctx->ctx_id);
		ctx->state, ctx->ctx_id);