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>
Este cometimento está contido em:

cometido por
Gerrit - the friendly Code Review server

ascendente
26ed5e38ae
cometimento
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.
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador