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

Commit 2fba97c3 authored by Venu Yeshala's avatar Venu Yeshala
Browse files

msm-camera:isp: Handle interrupts with zero values



Do not process VFE interrupts if they are genernated with
zero values. Also rate limit error message. This will avoid
unnecessary watchdog timeouts.

Change-Id: I14a433d86f207be7e00992a75e317b24ba31a84b
CRs-fixed: 675181
Signed-off-by: default avatarVenu Yeshala <vyeshala@codeaurora.org>
parent 65c7182d
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1251,6 +1251,12 @@ irqreturn_t msm_isp_process_irq(int irq_num, void *data)

	vfe_dev->hw_info->vfe_ops.irq_ops.
		read_irq_status(vfe_dev, &irq_status0, &irq_status1);

	if ((irq_status0 == 0) && (irq_status1 == 0)) {
		pr_err_ratelimited("%s: irq_status0 & 1 are both 0\n",
			__func__);
		return IRQ_HANDLED;
	}
	vfe_dev->hw_info->vfe_ops.core_ops.
		get_error_mask(&error_mask0, &error_mask1);
	error_mask0 &= irq_status0;
@@ -1264,7 +1270,7 @@ irqreturn_t msm_isp_process_irq(int irq_num, void *data)
	if ((irq_status0 == 0) && (irq_status1 == 0) &&
		(!((error_mask0 != 0) || (error_mask1 != 0)) &&
		 vfe_dev->error_info.error_count == 1)) {
		ISP_DBG("%s: irq_status0 & 1 are both 0!\n", __func__);
		ISP_DBG("%s: error_mask0/1 & error_count are set!\n", __func__);
		return IRQ_HANDLED;
	}