Explorar el Código

msm: camera: cdm: Enhance CSID logs for debug purpose

Enable the csid long packet and cphy packet capture
feature to log the VC, DT and WC info during the error IRQ.

CRs-fixed: 3029730
Change-Id: I86c3400b58ecd5243d93b0fbbe0d4a38f895320e
Signed-off-by: Jigar Agrawal <[email protected]>
Jigar Agrawal hace 3 años
padre
commit
4896462b8d

+ 16 - 22
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver1.c

@@ -1156,8 +1156,9 @@ static int cam_ife_csid_hw_ver1_path_cfg(
 static int cam_ife_csid_ver1_rx_capture_config(
 static int cam_ife_csid_ver1_rx_capture_config(
 	struct cam_ife_csid_ver1_hw *csid_hw)
 	struct cam_ife_csid_ver1_hw *csid_hw)
 {
 {
-	const struct cam_ife_csid_ver1_reg_info *csid_reg;
-	struct cam_hw_soc_info                   *soc_info;
+	const struct cam_ife_csid_ver1_reg_info   *csid_reg;
+	struct cam_hw_soc_info                    *soc_info;
+	struct cam_ife_csid_rx_cfg                *rx_cfg;
 	uint32_t vc, dt, i;
 	uint32_t vc, dt, i;
 	uint32_t val = 0;
 	uint32_t val = 0;
 
 
@@ -1170,6 +1171,7 @@ static int cam_ife_csid_ver1_rx_capture_config(
 			csid_hw->hw_intf->hw_idx);
 			csid_hw->hw_intf->hw_idx);
 		return 0;
 		return 0;
 	}
 	}
+	rx_cfg = &csid_hw->rx_cfg;
 
 
 	vc  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].vc;
 	vc  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].vc;
 	dt  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].dt;
 	dt  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].dt;
@@ -1180,28 +1182,20 @@ static int cam_ife_csid_ver1_rx_capture_config(
 
 
 	if (csid_hw->debug_info.debug_val &
 	if (csid_hw->debug_info.debug_val &
 			CAM_IFE_CSID_DEBUG_ENABLE_SHORT_PKT_CAPTURE)
 			CAM_IFE_CSID_DEBUG_ENABLE_SHORT_PKT_CAPTURE)
-		val = ((1 <<
-			csid_reg->csi2_reg->capture_short_pkt_en_shift) |
-			(vc <<
-			csid_reg->csi2_reg->capture_short_pkt_vc_shift));
+		val = ((1 << csid_reg->csi2_reg->capture_short_pkt_en_shift) |
+			(vc << csid_reg->csi2_reg->capture_short_pkt_vc_shift));
 
 
-	if (csid_hw->debug_info.debug_val &
-			CAM_IFE_CSID_DEBUG_ENABLE_LONG_PKT_CAPTURE)
-		val |= ((1 <<
-			csid_reg->csi2_reg->capture_long_pkt_en_shift) |
-			(dt <<
-			csid_reg->csi2_reg->capture_long_pkt_dt_shift) |
-			(vc <<
-			csid_reg->csi2_reg->capture_long_pkt_vc_shift));
+	/* CAM_IFE_CSID_DEBUG_ENABLE_LONG_PKT_CAPTURE */
+	val |= ((1 << csid_reg->csi2_reg->capture_long_pkt_en_shift) |
+		(dt << csid_reg->csi2_reg->capture_long_pkt_dt_shift) |
+		(vc << csid_reg->csi2_reg->capture_long_pkt_vc_shift));
 
 
-	if (csid_hw->debug_info.debug_val &
-			CAM_IFE_CSID_DEBUG_ENABLE_CPHY_PKT_CAPTURE)
-		val |= ((1 <<
-			csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
-			(dt <<
-			csid_reg->csi2_reg->capture_cphy_pkt_dt_shift) |
-			(vc <<
-			csid_reg->csi2_reg->capture_cphy_pkt_vc_shift));
+	/* CAM_IFE_CSID_DEBUG_ENABLE_CPHY_PKT_CAPTURE*/
+	if (rx_cfg->lane_type == CAM_ISP_LANE_TYPE_CPHY) {
+		val |= ((1 << csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
+			(dt << csid_reg->csi2_reg->capture_cphy_pkt_dt_shift) |
+			(vc << csid_reg->csi2_reg->capture_cphy_pkt_vc_shift));
+	}
 
 
 	cam_io_w_mb(val, soc_info->reg_map[0].mem_base +
 	cam_io_w_mb(val, soc_info->reg_map[0].mem_base +
 		csid_reg->csi2_reg->capture_ctrl_addr);
 		csid_reg->csi2_reg->capture_ctrl_addr);

+ 22 - 30
drivers/cam_isp/isp_hw_mgr/isp_hw/ife_csid_hw/cam_ife_csid_hw_ver2.c

@@ -3488,8 +3488,9 @@ end:
 static int cam_ife_csid_ver2_rx_capture_config(
 static int cam_ife_csid_ver2_rx_capture_config(
 	struct cam_ife_csid_ver2_hw *csid_hw)
 	struct cam_ife_csid_ver2_hw *csid_hw)
 {
 {
-	const struct cam_ife_csid_ver2_reg_info *csid_reg;
-	struct cam_hw_soc_info                   *soc_info;
+	const struct cam_ife_csid_ver2_reg_info   *csid_reg;
+	struct cam_hw_soc_info                    *soc_info;
+	struct cam_ife_csid_rx_cfg                *rx_cfg;
 	uint32_t vc, dt, i;
 	uint32_t vc, dt, i;
 	uint32_t val = 0;
 	uint32_t val = 0;
 
 
@@ -3503,43 +3504,34 @@ static int cam_ife_csid_ver2_rx_capture_config(
 		return 0;
 		return 0;
 	}
 	}
 
 
+	rx_cfg = &csid_hw->rx_cfg;
+
 	vc  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].vc;
 	vc  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].vc;
 	dt  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].dt;
 	dt  = csid_hw->cid_data[i].vc_dt[CAM_IFE_CSID_MULTI_VC_DT_GRP_0].dt;
 
 
-	csid_reg = (struct cam_ife_csid_ver2_reg_info *)
-			csid_hw->core_info->csid_reg;
+	csid_reg = (struct cam_ife_csid_ver2_reg_info *) csid_hw->core_info->csid_reg;
 	soc_info = &csid_hw->hw_info->soc_info;
 	soc_info = &csid_hw->hw_info->soc_info;
 
 
 	if (csid_hw->debug_info.debug_val &
 	if (csid_hw->debug_info.debug_val &
 			CAM_IFE_CSID_DEBUG_ENABLE_SHORT_PKT_CAPTURE)
 			CAM_IFE_CSID_DEBUG_ENABLE_SHORT_PKT_CAPTURE)
-		val = ((1 <<
-			csid_reg->csi2_reg->capture_short_pkt_en_shift) |
-			(vc <<
-			csid_reg->csi2_reg->capture_short_pkt_vc_shift));
+		val = ((1 << csid_reg->csi2_reg->capture_short_pkt_en_shift) |
+			(vc << csid_reg->csi2_reg->capture_short_pkt_vc_shift));
 
 
-	if (csid_hw->debug_info.debug_val &
-			CAM_IFE_CSID_DEBUG_ENABLE_LONG_PKT_CAPTURE)
-		val |= ((1 <<
-			csid_reg->csi2_reg->capture_long_pkt_en_shift) |
-			(dt <<
-			csid_reg->csi2_reg->capture_long_pkt_dt_shift) |
-			(vc <<
-			csid_reg->csi2_reg->capture_long_pkt_vc_shift));
+	/* CAM_IFE_CSID_DEBUG_ENABLE_LONG_PKT_CAPTURE */
+	val |= ((1 << csid_reg->csi2_reg->capture_long_pkt_en_shift) |
+		(dt << csid_reg->csi2_reg->capture_long_pkt_dt_shift) |
+		(vc << csid_reg->csi2_reg->capture_long_pkt_vc_shift));
 
 
-	if (csid_hw->debug_info.debug_val &
-			CAM_IFE_CSID_DEBUG_ENABLE_CPHY_PKT_CAPTURE)
-		val |= ((1 <<
-			csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
-			(dt <<
-			csid_reg->csi2_reg->capture_cphy_pkt_dt_shift) |
-			(vc <<
-			csid_reg->csi2_reg->capture_cphy_pkt_vc_shift));
-
-	cam_io_w_mb(val, soc_info->reg_map[0].mem_base +
-		csid_reg->csi2_reg->capture_ctrl_addr);
-
-	CAM_DBG(CAM_ISP, "CSID[%d] rx capture_ctrl: 0x%x",
-		csid_hw->hw_intf->hw_idx, val);
+	/* CAM_IFE_CSID_DEBUG_ENABLE_CPHY_PKT_CAPTURE */
+	if (rx_cfg->lane_type == CAM_ISP_LANE_TYPE_CPHY) {
+		val |= ((1 << csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
+			(dt << csid_reg->csi2_reg->capture_cphy_pkt_dt_shift) |
+			(vc << csid_reg->csi2_reg->capture_cphy_pkt_vc_shift));
+	}
+
+	cam_io_w_mb(val, soc_info->reg_map[0].mem_base + csid_reg->csi2_reg->capture_ctrl_addr);
+
+	CAM_DBG(CAM_ISP, "CSID[%d] rx capture_ctrl: 0x%x", csid_hw->hw_intf->hw_idx, val);
 
 
 	return 0;
 	return 0;
 }
 }