Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e268f631 authored by Shubhraprakash Das's avatar Shubhraprakash Das
Browse files

msm: camera: isp: Print overflow information



When overflow interrupts is generated print the overflow mask
and the bus error to help debug.

CRs-Fixed: 1066392
Change-Id: If550b500f7f0b21b134b424c39ebb6bc4a5a40d5
Signed-off-by: default avatarShubhraprakash Das <sadas@codeaurora.org>
parent 9e2d528d
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@
#include "msm_isp_stats_util.h"
#include "msm_camera_io_util.h"
#include "cam_smmu_api.h"
#include "msm_isp48.h"

#define MAX_ISP_V4l2_EVENTS 100
static DEFINE_MUTEX(bandwidth_mgr_mutex);
@@ -1739,6 +1740,9 @@ static void msm_isp_process_overflow_irq(
	if (overflow_mask) {
		struct msm_isp_event_data error_event;
		struct msm_vfe_axi_halt_cmd halt_cmd;
		uint32_t val = 0;
		int i;
		struct msm_vfe_axi_shared_data *axi_data = &vfe_dev->axi_data;

		if (vfe_dev->reset_pending == 1) {
			pr_err("%s:%d failed: overflow %x during reset\n",
@@ -1747,6 +1751,16 @@ static void msm_isp_process_overflow_irq(
			*irq_status1 &= ~overflow_mask;
			return;
		}
		if (msm_vfe_is_vfe48(vfe_dev))
			val = msm_camera_io_r(vfe_dev->vfe_base + 0xC94);
		pr_err("%s: vfe %d overflow mask %x, bus_error %x\n",
			__func__, vfe_dev->pdev->id, overflow_mask, val);
		for (i = 0; i < axi_data->hw_info->num_wm; i++) {
			if (!axi_data->free_wm[i])
				continue;
			pr_err("%s: wm %d assigned to stream handle %x\n",
				__func__, i, axi_data->free_wm[i]);
		}

		halt_cmd.overflow_detected = 1;
		halt_cmd.stop_camif = 1;