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: Yuan Zhao <yzhao@codeaurora.org>
Dieser Commit ist enthalten in:

committet von
Gerrit - the friendly Code Review server

Ursprung
d78fbd1952
Commit
922e8addd8
@@ -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 */
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren