Browse Source

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 năm trước cách đây
mục cha
commit
922e8addd8
2 tập tin đã thay đổi với 15 bổ sung9 xóa
  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);
 }