From 986c7b1028f9d5b0d6330ac4d26acac5ae21d289 Mon Sep 17 00:00:00 2001 From: Ritesh Kumar Date: Tue, 2 Nov 2021 17:17:37 +0530 Subject: [PATCH] disp: msm: dsi: Logging Improvement in dsi driver This change adds additional logs in dsi driver for easy debugging of issues related to command transfer. Change-Id: Ica784bed6c360b2760d6606d625837e23a22410c Signed-off-by: Ritesh Kumar --- msm/dsi/dsi_ctrl.c | 12 +++++++++--- msm/dsi/dsi_ctrl_hw_cmn.c | 2 ++ msm/dsi/dsi_display.c | 4 ++++ 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/msm/dsi/dsi_ctrl.c b/msm/dsi/dsi_ctrl.c index 1e740a5395..659d2dacda 100644 --- a/msm/dsi/dsi_ctrl.c +++ b/msm/dsi/dsi_ctrl.c @@ -1502,7 +1502,7 @@ static int dsi_message_tx(struct dsi_ctrl *dsi_ctrl, struct dsi_cmd_desc *cmd_de goto error; } - SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, *flags); + SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, *flags, dsi_ctrl->cmd_len); if (*flags & DSI_CTRL_CMD_NON_EMBEDDED_MODE) { cmd_mem.offset = dsi_ctrl->cmd_buffer_iova; @@ -2952,7 +2952,10 @@ void dsi_ctrl_enable_status_interrupt(struct dsi_ctrl *dsi_ctrl, intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; - SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx); + SDE_EVT32(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx, + dsi_ctrl->irq_info.irq_num, dsi_ctrl->irq_info.irq_stat_mask, + dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]); + spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags); if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx] == 0) { @@ -2985,7 +2988,10 @@ void dsi_ctrl_disable_status_interrupt(struct dsi_ctrl *dsi_ctrl, if (!dsi_ctrl || intr_idx >= DSI_STATUS_INTERRUPT_COUNT) return; - SDE_EVT32_IRQ(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx); + SDE_EVT32_IRQ(dsi_ctrl->cell_index, SDE_EVTLOG_FUNC_ENTRY, intr_idx, + dsi_ctrl->irq_info.irq_num, dsi_ctrl->irq_info.irq_stat_mask, + dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]); + spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags); if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]) diff --git a/msm/dsi/dsi_ctrl_hw_cmn.c b/msm/dsi/dsi_ctrl_hw_cmn.c index b4589ce770..efc5bc0c9b 100644 --- a/msm/dsi/dsi_ctrl_hw_cmn.c +++ b/msm/dsi/dsi_ctrl_hw_cmn.c @@ -882,6 +882,8 @@ void dsi_ctrl_hw_cmn_kickoff_command(struct dsi_ctrl_hw *ctrl, if (!(flags & DSI_CTRL_HW_CMD_WAIT_FOR_TRIGGER)) DSI_W32(ctrl, DSI_CMD_MODE_DMA_SW_TRIGGER, 0x1); + + SDE_EVT32(ctrl->index, cmd->length, flags); } /** diff --git a/msm/dsi/dsi_display.c b/msm/dsi/dsi_display.c index fe9b9317cb..821805dc3a 100644 --- a/msm/dsi/dsi_display.c +++ b/msm/dsi/dsi_display.c @@ -1124,6 +1124,8 @@ int dsi_display_cmd_transfer(struct drm_connector *connector, goto end; } + SDE_EVT32(dsi_display->tx_cmd_buf_ndx, cmd_buf_len); + /* * Reset the dbgfs buffer if the commands sent exceed the available * buffer size. For video mode, limiting the buffer size to 2K to @@ -1256,6 +1258,8 @@ int dsi_display_cmd_receive(void *display, const char *cmd_buf, goto end; } + SDE_EVT32(cmd_buf_len, recv_buf_len); + rc = dsi_display_cmd_rx(dsi_display, &cmd); if (rc <= 0) DSI_ERR("[DSI] Display command receive failed, rc=%d\n", rc);