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 <jigar@codeaurora.org>
This commit is contained in:
@@ -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;
|
const struct cam_ife_csid_ver1_reg_info *csid_reg;
|
||||||
struct cam_hw_soc_info *soc_info;
|
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 <<
|
val = ((1 << csid_reg->csi2_reg->capture_short_pkt_en_shift) |
|
||||||
csid_reg->csi2_reg->capture_short_pkt_en_shift) |
|
(vc << csid_reg->csi2_reg->capture_short_pkt_vc_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 */
|
||||||
CAM_IFE_CSID_DEBUG_ENABLE_LONG_PKT_CAPTURE)
|
val |= ((1 << csid_reg->csi2_reg->capture_long_pkt_en_shift) |
|
||||||
val |= ((1 <<
|
(dt << csid_reg->csi2_reg->capture_long_pkt_dt_shift) |
|
||||||
csid_reg->csi2_reg->capture_long_pkt_en_shift) |
|
(vc << csid_reg->csi2_reg->capture_long_pkt_vc_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*/
|
||||||
CAM_IFE_CSID_DEBUG_ENABLE_CPHY_PKT_CAPTURE)
|
if (rx_cfg->lane_type == CAM_ISP_LANE_TYPE_CPHY) {
|
||||||
val |= ((1 <<
|
val |= ((1 << csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
|
||||||
csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
|
(dt << csid_reg->csi2_reg->capture_cphy_pkt_dt_shift) |
|
||||||
(dt <<
|
(vc << csid_reg->csi2_reg->capture_cphy_pkt_vc_shift));
|
||||||
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);
|
||||||
|
@@ -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;
|
const struct cam_ife_csid_ver2_reg_info *csid_reg;
|
||||||
struct cam_hw_soc_info *soc_info;
|
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_reg = (struct cam_ife_csid_ver2_reg_info *) csid_hw->core_info->csid_reg;
|
||||||
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 <<
|
val = ((1 << csid_reg->csi2_reg->capture_short_pkt_en_shift) |
|
||||||
csid_reg->csi2_reg->capture_short_pkt_en_shift) |
|
(vc << csid_reg->csi2_reg->capture_short_pkt_vc_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 */
|
||||||
CAM_IFE_CSID_DEBUG_ENABLE_LONG_PKT_CAPTURE)
|
val |= ((1 << csid_reg->csi2_reg->capture_long_pkt_en_shift) |
|
||||||
val |= ((1 <<
|
(dt << csid_reg->csi2_reg->capture_long_pkt_dt_shift) |
|
||||||
csid_reg->csi2_reg->capture_long_pkt_en_shift) |
|
(vc << csid_reg->csi2_reg->capture_long_pkt_vc_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 */
|
||||||
CAM_IFE_CSID_DEBUG_ENABLE_CPHY_PKT_CAPTURE)
|
if (rx_cfg->lane_type == CAM_ISP_LANE_TYPE_CPHY) {
|
||||||
val |= ((1 <<
|
val |= ((1 << csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
|
||||||
csid_reg->csi2_reg->capture_cphy_pkt_en_shift) |
|
(dt << csid_reg->csi2_reg->capture_cphy_pkt_dt_shift) |
|
||||||
(dt <<
|
(vc << csid_reg->csi2_reg->capture_cphy_pkt_vc_shift));
|
||||||
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);
|
|
||||||
|
|
||||||
CAM_DBG(CAM_ISP, "CSID[%d] rx capture_ctrl: 0x%x",
|
CAM_DBG(CAM_ISP, "CSID[%d] rx capture_ctrl: 0x%x", csid_hw->hw_intf->hw_idx, val);
|
||||||
csid_hw->hw_intf->hw_idx, val);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user