Browse Source

msm: camera: isp: Remove needless member of struct event_info

When encountering errors on vfe bus, there is no need to set
a param to mark all the error out ports, using existig member
res_id is enough to deal with cases. Thus removing the newly
added member out_port_id of struct event_info to avoid burdensome
code.

CRs-Fixed: 3506350
Change-Id: I44a10b578a867a73509f1458ae182ceb7373b4a3
Signed-off-by: Stark Lin <[email protected]>
Stark Lin 1 year ago
parent
commit
b45055890c

+ 14 - 23
drivers/cam_isp/isp_hw_mgr/cam_ife_hw_mgr.c

@@ -4337,11 +4337,11 @@ static int cam_ife_mgr_check_and_update_fe(
 	return 0;
 	return 0;
 }
 }
 
 
-static int cam_ife_hw_mgr_convert_out_port_to_csid_path(uint64_t port_id)
+static int cam_ife_hw_mgr_convert_out_port_to_csid_path(uint32_t port_id)
 {
 {
 	uint32_t path_id = CAM_IFE_PIX_PATH_RES_MAX;
 	uint32_t path_id = CAM_IFE_PIX_PATH_RES_MAX;
 
 
-	if (port_id == max_ife_out_res)
+	if (port_id >= (CAM_ISP_IFE_OUT_RES_BASE + max_ife_out_res))
 		goto end;
 		goto end;
 
 
 	path_id = cam_ife_hw_mgr_get_ife_csid_rdi_res_type(port_id);
 	path_id = cam_ife_hw_mgr_get_ife_csid_rdi_res_type(port_id);
@@ -14044,29 +14044,20 @@ static void cam_ife_hw_mgr_trigger_crop_reg_dump(
 	struct cam_hw_intf                      *hw_intf,
 	struct cam_hw_intf                      *hw_intf,
 	struct cam_isp_hw_event_info            *event_info)
 	struct cam_isp_hw_event_info            *event_info)
 {
 {
-	int rc = 0, path_id = 0, idx = -1;
+	int rc = 0, path_id = 0;
 
 
-	while (event_info->out_port_id) {
-		idx++;
-		if (!(event_info->out_port_id & 0x1)) {
-			event_info->out_port_id >>= 1;
-			continue;
-		}
+	path_id = cam_ife_hw_mgr_convert_out_port_to_csid_path(
+		event_info->res_id);
 
 
-		path_id = cam_ife_hw_mgr_convert_out_port_to_csid_path(
-				CAM_ISP_IFE_OUT_RES_BASE + idx);
-		if (hw_intf->hw_ops.process_cmd) {
-			rc = hw_intf->hw_ops.process_cmd(
-				hw_intf->hw_priv,
-				CAM_ISP_HW_CMD_CSID_DUMP_CROP_REG,
-				&path_id,
-				sizeof(path_id));
-			if (rc)
-				CAM_ERR(CAM_ISP, "CSID:%d Reg Dump failed for path=%u",
-					event_info->hw_idx, path_id);
-		}
-
-		event_info->out_port_id >>= 1;
+	if (hw_intf->hw_ops.process_cmd) {
+		rc = hw_intf->hw_ops.process_cmd(
+			hw_intf->hw_priv,
+			CAM_ISP_HW_CMD_CSID_DUMP_CROP_REG,
+			&path_id,
+			sizeof(path_id));
+		if (rc)
+			CAM_ERR(CAM_ISP, "CSID:%d Reg Dump failed for path=%u",
+				event_info->hw_idx, path_id);
 	}
 	}
 }
 }
 
 

+ 0 - 2
drivers/cam_isp/isp_hw_mgr/isp_hw/include/cam_isp_hw.h

@@ -346,7 +346,6 @@ struct cam_isp_hw_bufdone_event_info {
  *
  *
  * @Brief:             Structure to pass event details to hw mgr
  * @Brief:             Structure to pass event details to hw mgr
  *
  *
- * @out_port_id        Out port id on which event occurred
  * @res_type:          Type of IFE resource
  * @res_type:          Type of IFE resource
  * @is_secondary_evt:  Indicates if event was requested by hw mgr
  * @is_secondary_evt:  Indicates if event was requested by hw mgr
  * @res_id:            Unique resource ID
  * @res_id:            Unique resource ID
@@ -358,7 +357,6 @@ struct cam_isp_hw_bufdone_event_info {
  *
  *
  */
  */
 struct cam_isp_hw_event_info {
 struct cam_isp_hw_event_info {
-	uint64_t                       out_port_id;
 	enum cam_isp_resource_type     res_type;
 	enum cam_isp_resource_type     res_type;
 	bool                           is_secondary_evt;
 	bool                           is_secondary_evt;
 	uint32_t                       res_id;
 	uint32_t                       res_id;

+ 0 - 1
drivers/cam_isp/isp_hw_mgr/isp_hw/vfe_hw/vfe_bus/cam_vfe_bus_ver3.c

@@ -2915,7 +2915,6 @@ static int cam_vfe_bus_ver3_handle_err_irq_bottom_half(
 	evt_info.hw_type = CAM_ISP_HW_TYPE_VFE;
 	evt_info.hw_type = CAM_ISP_HW_TYPE_VFE;
 	err_evt_info.err_type = CAM_VFE_IRQ_STATUS_VIOLATION;
 	err_evt_info.err_type = CAM_VFE_IRQ_STATUS_VIOLATION;
 	evt_info.event_data = (void *)&err_evt_info;
 	evt_info.event_data = (void *)&err_evt_info;
-	evt_info.out_port_id = out_port_mask;
 
 
 	if (!common_data->event_cb)
 	if (!common_data->event_cb)
 		return 0;
 		return 0;