瀏覽代碼

msm: camera: reqmgr: Wait for the streaming of sync link

We should make sure the sync link has streamed on
when current req bigger than or equal to the next
req of sync link.

CRs-Fixed: 3305718
Change-Id: I571d0d7ce4ced723c8a4885a475e555f667fd923
Signed-off-by: Depeng Shao <[email protected]>
Depeng Shao 2 年之前
父節點
當前提交
b3545d7f20
共有 1 個文件被更改,包括 4 次插入1 次删除
  1. 4 1
      drivers/cam_req_mgr/cam_req_mgr_core.c

+ 4 - 1
drivers/cam_req_mgr/cam_req_mgr_core.c

@@ -1593,7 +1593,8 @@ static int __cam_req_mgr_check_sync_req_is_ready(
 		"link_hdl %x sync link_hdl %x req %lld",
 		link->link_hdl, sync_link->link_hdl, req_id);
 
-	if (sync_link->initial_skip) {
+	if ((sync_link->initial_skip) &&
+		(req_id >= sync_req_id)) {
 		link->initial_skip = false;
 		CAM_DBG(CAM_CRM,
 			"sync link %x not streamed on",
@@ -5134,6 +5135,8 @@ int cam_req_mgr_link_control(struct cam_req_mgr_link_control *control)
 					link->link_hdl);
 				rc = -EFAULT;
 			}
+			/* Wait for the streaming of sync link */
+			link->initial_skip = true;
 			/* Pause the timer before sensor stream on */
 			link->watchdog->pause_timer = true;
 			/* notify nodes */