ソースを参照

msm: camera: isp: Acquire PIX ports for SFE sHDR use-case

In case of sHDR for second and third exposure there is no
associated pixel path. Acquire PIX ports along with SFE RDI0-2
for sHDR use-cases.

CRs-Fixed: 2841729
Change-Id: I9962479e3fc43c8b3dc00ed9150076d8dc6d0a10
Signed-off-by: Karthik Anantha Ram <[email protected]>
Karthik Anantha Ram 4 年 前
コミット
73aed57a59
1 ファイル変更10 行追加15 行削除
  1. 10 15
      drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c

+ 10 - 15
drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c

@@ -1769,20 +1769,6 @@ static int cam_ife_hw_mgr_acquire_res_sfe_out(
 	int rc = -EINVAL;
 	struct cam_isp_hw_mgr_res *sfe_res_iterator;
 
-	if (!list_empty(&ife_ctx->res_list_ife_in_rd)) {
-		sfe_res_iterator = list_first_entry(
-			&ife_ctx->res_list_ife_in_rd,
-			struct cam_isp_hw_mgr_res, list);
-		if (sfe_res_iterator->num_children)
-			goto out_for_sfe_src;
-		rc = cam_ife_hw_mgr_acquire_res_sfe_out_pix(
-			ife_ctx, sfe_res_iterator, in_port);
-		if (rc)
-			goto err;
-	}
-
-out_for_sfe_src:
-
 	list_for_each_entry(sfe_res_iterator,
 		&ife_ctx->res_list_sfe_src, list) {
 		if (sfe_res_iterator->num_children)
@@ -1796,9 +1782,18 @@ out_for_sfe_src:
 		case CAM_ISP_HW_SFE_IN_RDI0:
 		case CAM_ISP_HW_SFE_IN_RDI1:
 		case CAM_ISP_HW_SFE_IN_RDI2:
+			/* for sHDR acquire both RDI and PIX ports */
+			rc = cam_ife_hw_mgr_acquire_res_sfe_out_rdi(ife_ctx,
+				sfe_res_iterator, in_port);
+			if (rc)
+				goto err;
+
+			rc = cam_ife_hw_mgr_acquire_res_sfe_out_pix(ife_ctx,
+				sfe_res_iterator, in_port);
+			break;
 		case CAM_ISP_HW_SFE_IN_RDI3:
 		case CAM_ISP_HW_SFE_IN_RDI4:
-		rc = cam_ife_hw_mgr_acquire_res_sfe_out_rdi(ife_ctx,
+			rc = cam_ife_hw_mgr_acquire_res_sfe_out_rdi(ife_ctx,
 				sfe_res_iterator, in_port);
 			break;
 		default: