msm: camera: isp: Extend internal recovery scheme

This change extends internal scheme for certain specific
scenarios. If the mode switch is applied in between exposures
it could potentially lead to out_of_sync/hang. On the switching
frame if there is no sufficient common blanking among different
exposures, CSID HW flags it, internal recovery is triggered for this.
Also it's possible that due to packet delays, IFE & sensor go out of sync,
we can try internal recovery in this case as well on receiving
out of sync error consecutively for 3 frames.

CRs-Fixed: 3254775
Change-Id: I56b40bb9f73959e66174af382025c897c18ffed4
Signed-off-by: Karthik Anantha Ram <quic_kartanan@quicinc.com>
Šī revīzija ir iekļauta:
Karthik Anantha Ram
2022-07-12 17:38:33 -07:00
revīziju iesūtīja Camera Software Integration
vecāks 45d440634d
revīzija 404b983783
4 mainīti faili ar 114 papildinājumiem un 72 dzēšanām

Parādīt failu

@@ -7481,8 +7481,8 @@ static int __cam_isp_ctx_reset_and_recover(
__cam_isp_ctx_notify_v4l2_error_event(CAM_REQ_MGR_WARN_TYPE_KMD_RECOVERY,
0, req->request_id, ctx);
CAM_DBG(CAM_ISP, "Internal Start HW success ctx %u on link: 0x%x",
ctx->ctx_id, ctx->link_hdl);
CAM_INFO(CAM_ISP, "Internal Start HW success ctx %u on link: 0x%x for req: %llu",
ctx->ctx_id, ctx->link_hdl, req->request_id);
end:
return rc;