Răsfoiți Sursa

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 <[email protected]>
Yuan Zhao 5 ani în urmă
părinte
comite
922e8addd8
2 a modificat fișierele cu 15 adăugiri și 9 ștergeri
  1. 3 6
      msm/dsi/dsi_ctrl.c
  2. 12 3
      msm/dsi/dsi_display.c

+ 3 - 6
msm/dsi/dsi_ctrl.c

@@ -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
msm/dsi/dsi_display.c

@@ -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);
 }