浏览代码

Merge "msm: camera: cdm: Update hang detect logic" into camera-kernel.lnx.5.0

Haritha Chintalapati 4 年之前
父节点
当前提交
e892f58b06
共有 1 个文件被更改,包括 6 次插入3 次删除
  1. 6 3
      drivers/cam_cdm/cam_cdm_hw_core.c

+ 6 - 3
drivers/cam_cdm/cam_cdm_hw_core.c

@@ -1589,6 +1589,8 @@ irqreturn_t cam_hw_cdm_irq(int irq_num, void *data)
 			if (payload[i]->irq_data ==
 				CAM_CDM_DBG_GEN_IRQ_USR_DATA)
 				CAM_INFO(CAM_CDM, "Debug gen_irq received");
+
+			atomic_inc(&cdm_core->bl_fifo[i].work_record);
 		}
 
 		CAM_DBG(CAM_CDM,
@@ -1615,7 +1617,6 @@ irqreturn_t cam_hw_cdm_irq(int irq_num, void *data)
 			return IRQ_HANDLED;
 		}
 
-		atomic_inc(&cdm_core->bl_fifo[i].work_record);
 		payload[i]->workq_scheduled_ts = ktime_get();
 
 		work_status = queue_work(
@@ -1952,15 +1953,17 @@ int cam_hw_cdm_hang_detect(
 	uint32_t            handle)
 {
 	struct cam_cdm *cdm_core = NULL;
+	struct cam_hw_soc_info *soc_info;
 	int i, rc = -1;
 
 	cdm_core = (struct cam_cdm *)cdm_hw->core_info;
+	soc_info = &cdm_hw->soc_info;
 
 	for (i = 0; i < cdm_core->offsets->reg_data->num_bl_fifo; i++)
 		if (atomic_read(&cdm_core->bl_fifo[i].work_record)) {
 			CAM_WARN(CAM_CDM,
-				"fifo: %d Workqueue got delayed, work_record :%u",
-				i,
+				"fifo: %d Workqueue got delayed for %s%u, work_record :%u",
+				i, soc_info->label_name, soc_info->index,
 				atomic_read(&cdm_core->bl_fifo[i].work_record));
 			rc = 0;
 			break;