msm: camera: cdm: Improve error handling during cdm hang

Reduce logging as part of error handling to avoid
flooding kernel log with excessive log. Apart from
that send feedback to client irrespective of cdm
reset status.

CRs-Fixed: 2826285
Change-Id: I9b0d8c6f64ced4972bb20e26774508573c815e4f
Signed-off-by: Alok Chauhan <alokc@codeaurora.org>
This commit is contained in:
Alok Chauhan
2020-11-26 17:58:46 +05:30
부모 ce18cf3937
커밋 63bca8c33d
4개의 변경된 파일76개의 추가작업 그리고 66개의 파일을 삭제

파일 보기

@@ -686,9 +686,7 @@ static int32_t cam_ope_process_request_timer(void *priv, void *data)
}
CAM_ERR(CAM_OPE,
"pending requests means, issue is with HW for ctx %d",
ctx_data->ctx_id);
CAM_ERR(CAM_OPE, "ctx: %d, lrt: %llu, lct: %llu",
"pending req at HW, ctx %d lrt %llu lct %llu",
ctx_data->ctx_id, ctx_data->last_req_time,
ope_hw_mgr->last_callback_time);
hw_mgr->ope_dev_intf[i]->hw_ops.process_cmd(

파일 보기

@@ -31,14 +31,22 @@ static struct ope_top ope_top_info;
static int cam_ope_top_dump_debug_reg(struct ope_hw *ope_hw_info)
{
uint32_t i, val;
uint32_t i, val[3];
struct cam_ope_top_reg *top_reg;
top_reg = ope_hw_info->top_reg;
for (i = 0; i < top_reg->num_debug_registers; i++) {
val = cam_io_r_mb(top_reg->base +
for (i = 0; i < top_reg->num_debug_registers; i = i+3) {
val[0] = cam_io_r_mb(top_reg->base +
top_reg->debug_regs[i].offset);
CAM_INFO(CAM_OPE, "Debug_status_%d val: 0x%x", i, val);
val[1] = ((i+1) < top_reg->num_debug_registers) ?
cam_io_r_mb(top_reg->base +
top_reg->debug_regs[i+1].offset) : 0;
val[2] = ((i+2) < top_reg->num_debug_registers) ?
cam_io_r_mb(top_reg->base +
top_reg->debug_regs[i+2].offset) : 0;
CAM_INFO(CAM_OPE, "status[%d-%d] : 0x%x 0x%x 0x%x",
i, i+2, val[0], val[1], val[2]);
}
return 0;
}