From 73aed57a59d8a592fccdcf6e0532d6547c875854 Mon Sep 17 00:00:00 2001 From: Karthik Anantha Ram Date: Mon, 11 Jan 2021 18:43:13 -0800 Subject: [PATCH] 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 --- drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c | 25 +++++++++------------ 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c b/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c index 13470346ad..e39ac19100 100644 --- a/drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c +++ b/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: