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

Commit 922e8add authored by Yuan Zhao's avatar Yuan Zhao Committed by Gerrit - the friendly Code Review server
Browse files

disp: msm: dsi: remove dsi FIFO error logs from dsi ISR



Lots of dsi FIFO error logs were printed into serial in
dsi ISR. It will make device stuck or deadlock. Remove
these logs from dsi ISR, and enable the log in FIFO error
workqueue handler.

Change-Id: I0e9b2312cb76d345ec5a9b9628c52b47d5163fde
Signed-off-by: default avatarYuan Zhao <yzhao@codeaurora.org>
parent d78fbd19
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -2419,7 +2419,9 @@ static bool dsi_ctrl_check_for_spurious_error_interrupts(

	if ((jiffies_now - dsi_ctrl->jiffies_start) < intr_check_interval) {
		if (dsi_ctrl->error_interrupt_count > interrupt_threshold) {
			DSI_CTRL_WARN(dsi_ctrl, "Detected spurious interrupts on dsi ctrl\n");
			SDE_EVT32_IRQ(dsi_ctrl->cell_index,
				      dsi_ctrl->error_interrupt_count,
				      interrupt_threshold);
			return true;
		}
	} else {
@@ -2467,7 +2469,6 @@ static void dsi_ctrl_handle_error_status(struct dsi_ctrl *dsi_ctrl,
							0, 0, 0, 0);
			}
		}
		DSI_CTRL_ERR(dsi_ctrl, "tx timeout error: 0x%lx\n", error);
	}

	/* DSI FIFO OVERFLOW error */
@@ -2483,8 +2484,6 @@ static void dsi_ctrl_handle_error_status(struct dsi_ctrl *dsi_ctrl,
						cb_info.event_idx,
						dsi_ctrl->cell_index,
						0, 0, 0, 0);
			DSI_CTRL_ERR(dsi_ctrl, "dsi FIFO OVERFLOW error: 0x%lx\n",
					error);
		}
	}

@@ -2497,8 +2496,6 @@ static void dsi_ctrl_handle_error_status(struct dsi_ctrl *dsi_ctrl,
						dsi_ctrl->cell_index,
						0, 0, 0, 0);
		}
		DSI_CTRL_ERR(dsi_ctrl, "dsi FIFO UNDERFLOW error: 0x%lx\n",
				error);
	}

	/* DSI PLL UNLOCK error */
+12 −3
Original line number Diff line number Diff line
@@ -6801,13 +6801,15 @@ static void dsi_display_handle_fifo_underflow(struct work_struct *work)
		return;
	}

	DSI_DEBUG("handle DSI FIFO underflow error\n");
	DSI_INFO("handle DSI FIFO underflow error\n");
	SDE_EVT32(SDE_EVTLOG_FUNC_ENTRY);

	dsi_display_clk_ctrl(display->dsi_clk_handle,
			DSI_ALL_CLKS, DSI_CLK_ON);
	dsi_display_soft_reset(display);
	dsi_display_clk_ctrl(display->dsi_clk_handle,
			DSI_ALL_CLKS, DSI_CLK_OFF);
	SDE_EVT32(SDE_EVTLOG_FUNC_EXIT);

	mutex_unlock(&display->display_lock);
}
@@ -6840,7 +6842,9 @@ static void dsi_display_handle_fifo_overflow(struct work_struct *work)
		return;
	}

	DSI_DEBUG("handle DSI FIFO overflow error\n");
	DSI_INFO("handle DSI FIFO overflow error\n");
	SDE_EVT32(SDE_EVTLOG_FUNC_ENTRY);

	dsi_display_clk_ctrl(display->dsi_clk_handle,
			DSI_ALL_CLKS, DSI_CLK_ON);

@@ -6886,6 +6890,8 @@ static void dsi_display_handle_fifo_overflow(struct work_struct *work)
end:
	dsi_display_clk_ctrl(display->dsi_clk_handle,
			DSI_ALL_CLKS, DSI_CLK_OFF);
	SDE_EVT32(SDE_EVTLOG_FUNC_EXIT);

	mutex_unlock(&display->display_lock);
}

@@ -6917,7 +6923,8 @@ static void dsi_display_handle_lp_rx_timeout(struct work_struct *work)
		return;
	}

	DSI_DEBUG("handle DSI LP RX Timeout error\n");
	DSI_INFO("handle DSI LP RX Timeout error\n");
	SDE_EVT32(SDE_EVTLOG_FUNC_ENTRY);

	dsi_display_clk_ctrl(display->dsi_clk_handle,
			DSI_ALL_CLKS, DSI_CLK_ON);
@@ -6964,6 +6971,8 @@ static void dsi_display_handle_lp_rx_timeout(struct work_struct *work)
end:
	dsi_display_clk_ctrl(display->dsi_clk_handle,
			DSI_ALL_CLKS, DSI_CLK_OFF);
	SDE_EVT32(SDE_EVTLOG_FUNC_EXIT);

	mutex_unlock(&display->display_lock);
}