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 <riteshk@codeaurora.org>
This commit is contained in:
Ritesh Kumar
2021-11-02 17:17:37 +05:30
committed by Gerrit - the friendly Code Review server
parent 13f4082d58
commit 986c7b1028
3 changed files with 15 additions and 3 deletions

View File

@@ -1502,7 +1502,7 @@ static int dsi_message_tx(struct dsi_ctrl *dsi_ctrl, struct dsi_cmd_desc *cmd_de
goto error; 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) { if (*flags & DSI_CTRL_CMD_NON_EMBEDDED_MODE) {
cmd_mem.offset = dsi_ctrl->cmd_buffer_iova; 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) intr_idx >= DSI_STATUS_INTERRUPT_COUNT)
return; 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); spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags);
if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx] == 0) { 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) if (!dsi_ctrl || intr_idx >= DSI_STATUS_INTERRUPT_COUNT)
return; 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); spin_lock_irqsave(&dsi_ctrl->irq_info.irq_lock, flags);
if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx]) if (dsi_ctrl->irq_info.irq_stat_refcount[intr_idx])

View File

@@ -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)) if (!(flags & DSI_CTRL_HW_CMD_WAIT_FOR_TRIGGER))
DSI_W32(ctrl, DSI_CMD_MODE_DMA_SW_TRIGGER, 0x1); DSI_W32(ctrl, DSI_CMD_MODE_DMA_SW_TRIGGER, 0x1);
SDE_EVT32(ctrl->index, cmd->length, flags);
} }
/** /**

View File

@@ -1124,6 +1124,8 @@ int dsi_display_cmd_transfer(struct drm_connector *connector,
goto end; goto end;
} }
SDE_EVT32(dsi_display->tx_cmd_buf_ndx, cmd_buf_len);
/* /*
* Reset the dbgfs buffer if the commands sent exceed the available * Reset the dbgfs buffer if the commands sent exceed the available
* buffer size. For video mode, limiting the buffer size to 2K to * 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; goto end;
} }
SDE_EVT32(cmd_buf_len, recv_buf_len);
rc = dsi_display_cmd_rx(dsi_display, &cmd); rc = dsi_display_cmd_rx(dsi_display, &cmd);
if (rc <= 0) if (rc <= 0)
DSI_ERR("[DSI] Display command receive failed, rc=%d\n", rc); DSI_ERR("[DSI] Display command receive failed, rc=%d\n", rc);