msm: camera: isp: Moving req to active list first
Sometimes, all the buf dones of bubble req have been received, but they are deferred buf done. If we handle the deferred buf done before moving the req to active list, the req will be moved to pending list first during processing the buf done of bubble req, then moved to active req list in the processing of epoch_in_applied. This change moves the bubble req to active list first, then handle the deferred buffer done. CRs-Fixed: 3096361 Change-Id: I1e9b1ba5a46509b1c08ec92bbca0c2d7fbde679c Signed-off-by: Depeng Shao <quic_depengs@quicinc.com>
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
parent
26ed5e38ae
commit
30c59c7aa6
@@ -2697,9 +2697,6 @@ static int __cam_isp_ctx_epoch_in_applied(struct cam_isp_context *ctx_isp,
|
||||
CAM_INFO_RATE_LIMIT(CAM_ISP, "ctx:%d Report Bubble flag %d req id:%lld",
|
||||
ctx->ctx_id, req_isp->bubble_report, req->request_id);
|
||||
|
||||
__cam_isp_ctx_handle_deferred_buf_done_in_bubble(
|
||||
ctx_isp, req);
|
||||
|
||||
if (req_isp->bubble_report) {
|
||||
__cam_isp_ctx_notify_error_util(CAM_TRIGGER_POINT_SOF, CRM_KMD_ERR_BUBBLE,
|
||||
req->request_id, ctx_isp);
|
||||
@@ -2724,6 +2721,13 @@ static int __cam_isp_ctx_epoch_in_applied(struct cam_isp_context *ctx_isp,
|
||||
CAM_DBG(CAM_REQ, "move request %lld to active list(cnt = %d), ctx %u",
|
||||
req->request_id, ctx_isp->active_req_cnt, ctx->ctx_id);
|
||||
|
||||
/*
|
||||
* Handle the deferred buf done after moving
|
||||
* the bubble req to active req list.
|
||||
*/
|
||||
__cam_isp_ctx_handle_deferred_buf_done_in_bubble(
|
||||
ctx_isp, req);
|
||||
|
||||
/*
|
||||
* Update the record before req pointer to
|
||||
* other invalid req.
|
||||
|
||||
Reference in New Issue
Block a user