Re: [PATCH] serial: qcom-geni: Add tracepoints for SE reg dump

From: Konrad Dybcio

Date: Fri Oct 23 2026 - 08:03:06 EST


On 10/19/26 5:32 AM, Praveen Talari wrote:
> The GENI serial driver reports various transfer failures such as
> M_CMD abort/cancel timeouts, DMA TX/RX FSM reset timeouts, RX FIFO
> write errors, illegal command interrupts, and DMA parity errors.
> However, diagnosing the root cause of these failures is difficult as
> the hardware state is not captured when the error occurs.
>
> Add trace_geni_se_regs() calls at critical serial error handling paths
> to automatically capture GENI serial engine debug registers when
> failures are detected. This includes:
>
> - M_CMD abort/cancel timeout
> - DMA TX/RX FSM reset timeout
> - Unexpected zero-byte RX DMA completion
> - RX FIFO write error and illegal command interrupt status
> - RX DMA parity error
>
> Dumping the SE debug registers at the time of failure provides
> additional hardware context and significantly improves post-mortem
> analysis of serial transfer issues without affecting normal
> operation.
>
> Signed-off-by: Praveen Talari <praveen.talari@xxxxxxxxxxxxxxxx>
> ---

The commit message should mention the additional logging changes
too

[...]

> - if (WARN_ON(m_irq_status & M_ILLEGAL_CMD_EN))
> + if (m_irq_status & M_ILLEGAL_CMD_EN) {

if (WARN_ON(m_irq...))

Konrad

> + trace_geni_se_regs(&port->se);
> + WARN_ON(1);
> goto handle_rx;
> + }
>
> if (dma) {
> if (dma_tx_status & TX_DMA_DONE) {
> @@ -1270,6 +1285,7 @@ static irqreturn_t qcom_geni_serial_isr(int isr, void *dev)
> if (dma_rx_status & RX_DMA_PARITY_ERR) {
> uport->icount.parity++;
> drop_rx = true;
> + trace_geni_se_regs(&port->se);
> }
>
> if (dma_rx_status & RX_DMA_BREAK)
>
> ---
> base-commit: 2efb7a11f1aa4d2dc285fe2680cca22cb9f72f64
> change-id: 20260927-add-tracepoints-for-se-reg-dump-uart-30d93639447a
>
> Best regards,
> --
> Praveen Talari <praveen.talari@xxxxxxxxxxxxxxxx>