Jelajahi Sumber

msm: camera: isp: Write Reg update cmd for slave in SDHR

This commit add support to write reg update command for slave TFE
RDIs in SHDR use case. HW sync is not applicable for RDIs. Slave and
Master TFEs should program reg update command for separately for RDIs.

CRs-Fixed: 3564213
Change-Id: I2775139acad8e95ae21d479a14392d4a13a03595
Signed-off-by: Ayush Kumar <[email protected]>
Ayush Kumar 1 tahun lalu
induk
melakukan
9589fe933e

+ 1 - 1
drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.c

@@ -4983,7 +4983,7 @@ static int cam_isp_tfe_packet_generic_blob_handler(void *user_data,
 		struct cam_isp_tfe_alignment_resource_info   *alignment_info =
 			(struct cam_isp_tfe_alignment_resource_info *)blob_data;
 
-		if (tfe_mgr_ctx->is_dual) {
+		if (tfe_mgr_ctx->is_dual || !tfe_mgr_ctx->is_shdr) {
 			CAM_ERR(CAM_ISP, "Alignment blob can't be use in dual mode ctx %d",
 				tfe_mgr_ctx->ctx_index);
 			return -EINVAL;

+ 4 - 0
drivers/cam_isp/isp_hw_mgr/isp_hw/tfe_hw/cam_tfe_core.c

@@ -1543,6 +1543,10 @@ static int cam_tfe_top_get_reg_update(
 
 	if (in_res->res_id == CAM_ISP_HW_TFE_IN_CAMIF) {
 		camif_rsrc_data =  in_res->res_priv;
+		if (camif_rsrc_data->shdr_en && !camif_rsrc_data->is_shdr_master) {
+			CAM_DBG(CAM_ISP, "Skip reg update cmd for slave camif");
+			goto end;
+		}
 		reg_val_pair[0] = camif_rsrc_data->camif_reg->reg_update_cmd;
 		reg_val_pair[1] =
 			camif_rsrc_data->reg_data->reg_update_cmd_data;