Merge "msm: camera: isp: Change condition to dump SFE/IFE overflow debug info" into camera-kernel.lnx.6.0

Cette révision appartient à :
Camera Software Integration
2021-12-23 15:55:37 -08:00
révisé par Gerrit - the friendly Code Review server
révision 706319553c
4 fichiers modifiés avec 27 ajouts et 20 suppressions

Voir le fichier

@@ -980,13 +980,13 @@ static int cam_ife_csid_ver2_handle_event_err(
cam_ife_csid_ver2_print_debug_reg_status(csid_hw, res);
path_cfg = (struct cam_ife_csid_ver2_path_cfg *)res->res_priv;
evt.res_id = res->res_id;
CAM_ERR_RATE_LIMIT(CAM_ISP,
CAM_ERR(CAM_ISP,
"csid[%u] Res:%s Err 0x%x status 0x%x time_stamp: %lld:%lld",
csid_hw->hw_intf->hw_idx, res->res_name, err_type,
irq_status, path_cfg->error_ts.tv_sec,
path_cfg->error_ts.tv_nsec);
} else {
CAM_ERR_RATE_LIMIT(CAM_ISP,
CAM_ERR(CAM_ISP,
"csid[%u] Rx Err: 0x%x status 0x%x",
csid_hw->hw_intf->hw_idx, err_type, irq_status);
}
@@ -1520,7 +1520,7 @@ void cam_ife_csid_ver2_print_format_measure_info(
CAM_INFO(CAM_ISP, "CSID[%u] res [id :%d name : %s]",
csid_hw->hw_intf->hw_idx,
res->res_id, res->res_name);
CAM_ERR_RATE_LIMIT(CAM_ISP, "Frame Size Error Expected[h: %u w: %u] Actual[h: %u w: %u]",
CAM_ERR(CAM_ISP, "Frame Size Error Expected[h: %u w: %u] Actual[h: %u w: %u]",
((expected_frame >>
csid_reg->cmn_reg->format_measure_height_shift_val) &
csid_reg->cmn_reg->format_measure_height_mask_val),

Voir le fichier

@@ -763,7 +763,7 @@ static int cam_sfe_top_handle_overflow(
{
struct cam_sfe_top_common_data *common_data;
struct cam_hw_soc_info *soc_info;
uint32_t overflow_status, violation_status;
uint32_t overflow_status, violation_status, tmp;
uint32_t i = 0;
common_data = &top_priv->common_data;
@@ -774,22 +774,27 @@ static int cam_sfe_top_handle_overflow(
violation_status = cam_io_r(soc_info->reg_map[SFE_CORE_BASE_IDX].mem_base +
top_priv->common_data.common_reg->ipp_violation_status);
CAM_ERR_RATE_LIMIT(CAM_ISP,
CAM_ERR(CAM_ISP,
"SFE%d src_clk_rate:%luHz overflow:%s violation: %s",
soc_info->index, soc_info->applied_src_clk_rate,
CAM_BOOL_TO_YESNO(overflow_status), CAM_BOOL_TO_YESNO(violation_status));
while (overflow_status) {
if (overflow_status & 0x1)
tmp = overflow_status;
while (tmp) {
if (tmp & 0x1)
CAM_ERR(CAM_ISP, "SFE Overflow %s ",
top_priv->wr_client_desc[i].desc);
overflow_status = overflow_status >> 1;
tmp = tmp >> 1;
i++;
}
cam_sfe_top_print_ipp_violation_info(top_priv, violation_status);
if (violation_status)
cam_sfe_top_print_ipp_violation_info(top_priv, violation_status);
cam_sfe_top_print_debug_reg_info(top_priv);
if (overflow_status)
cam_cpas_log_votes();
return 0;
}

Voir le fichier

@@ -672,7 +672,7 @@ static void cam_vfe_bus_ver3_print_constraint_errors(
{
uint32_t i;
CAM_INFO_RATE_LIMIT(CAM_ISP, "Constraint violation bitflags: 0x%X",
CAM_INFO(CAM_ISP, "Constraint violation bitflags: 0x%X",
constraint_errors);
for (i = 0; i < bus_priv->num_cons_err; i++) {
@@ -2808,10 +2808,10 @@ static int cam_vfe_bus_ver3_err_irq_top_half(uint32_t evt_id,
th_payload->handler_priv;
struct cam_vfe_bus_irq_evt_payload *evt_payload;
CAM_ERR_RATE_LIMIT(CAM_ISP, "VFE:%d BUS Err IRQ",
CAM_ERR(CAM_ISP, "VFE:%d BUS Err IRQ",
bus_priv->common_data.core_index);
for (i = 0; i < th_payload->num_registers; i++) {
CAM_ERR_RATE_LIMIT(CAM_ISP, "VFE:%d BUS IRQ status_%d: 0x%X",
CAM_ERR(CAM_ISP, "VFE:%d BUS IRQ status_%d: 0x%X",
bus_priv->common_data.core_index, i,
th_payload->evt_status_arr[i]);
}

Voir le fichier

@@ -494,18 +494,20 @@ static int cam_vfe_top_ver4_print_overflow_debug_info(
violation_status = cam_io_r(soc_info->reg_map[VFE_CORE_BASE_IDX].mem_base +
common_data->common_reg->bus_violation_status);
CAM_ERR_RATE_LIMIT(CAM_ISP, "VFE[%d] sof_cnt:%d src_clk:%luMHz overflow:%s violation:%s",
CAM_ERR(CAM_ISP, "VFE[%d] sof_cnt:%d src_clk:%luMHz overflow:%s violation:%s",
top_priv->sof_cnt, soc_info->index, soc_info->applied_src_clk_rate / 1000000,
CAM_BOOL_TO_YESNO(bus_overflow_status), CAM_BOOL_TO_YESNO(violation_status));
if (bus_overflow_status)
CAM_INFO_RATE_LIMIT(CAM_ISP, "VFE[%d] Bus overflow status: 0x%x",
CAM_INFO(CAM_ISP, "VFE[%d] Bus overflow status: 0x%x",
soc_info->index, bus_overflow_status);
while (bus_overflow_status) {
if (bus_overflow_status & 0x1)
CAM_ERR_RATE_LIMIT(CAM_ISP, "VFE[%d] Bus Overflow %s",
tmp = bus_overflow_status;
while (tmp) {
if (tmp & 0x1)
CAM_ERR(CAM_ISP, "VFE[%d] Bus Overflow %s",
soc_info->index, common_data->hw_info->wr_client_desc[i].desc);
bus_overflow_status = bus_overflow_status >> 1;
tmp = tmp >> 1;
i++;
}
@@ -515,14 +517,14 @@ static int cam_vfe_top_ver4_print_overflow_debug_info(
cam_cpas_log_votes();
if (violation_status)
CAM_INFO_RATE_LIMIT(CAM_ISP, "VFE[%d] Bus violation status: 0x%x",
CAM_INFO(CAM_ISP, "VFE[%d] Bus violation status: 0x%x",
soc_info->index, violation_status);
i = 0;
tmp = violation_status;
while (tmp) {
if (tmp & 0x1)
CAM_ERR_RATE_LIMIT(CAM_ISP, "VFE[%d] Bus Violation %s",
CAM_ERR(CAM_ISP, "VFE[%d] Bus Violation %s",
soc_info->index, common_data->hw_info->wr_client_desc[i].desc);
tmp = tmp >> 1;
i++;