Re: [PATCH v3 1/2] soc: qcom: geni-se: trace: Add trace event support for GENI SE registers dump

Steven Rostedt <[email protected]> Tue, 21 Jul 2026 16:52:20 -0400
Newsgroups org.kernel.vger.linux-spi,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-kernel,org.kernel.vger.linux-trace-kernel
Message-ID <[email protected]>
On Wed, 15 Jul 2026 10:50:47 +0530
Praveen Talari <[email protected]> wrote:

> +	    TP_fast_assign(__assign_str(geni_se_name);
> +		__entry->geni_se_m_cmd0		  = readl(se->base + SE_GENI_M_CMD0);
> +		__entry->geni_se_m_irq_status	  = readl(se->base + SE_GENI_M_IRQ_STATUS);
> +		__entry->geni_se_s_cmd0		  = readl(se->base + SE_GENI_S_CMD0);
> +		__entry->geni_se_s_irq_status	  = readl(se->base + SE_GENI_S_IRQ_STATUS);
> +		__entry->geni_se_status		  = readl(se->base + SE_GENI_STATUS);
> +		__entry->geni_se_ios		  = readl(se->base + SE_GENI_IOS);
> +		__entry->geni_se_m_cmd_ctrl	  = readl(se->base + SE_GENI_M_CMD_CTRL_REG);
> +		__entry->geni_se_m_cmd_err	  = readl(se->base + M_CMD_ERR_STATUS);
> +		__entry->geni_se_m_fw_err	  = readl(se->base + M_FW_ERR_STATUS);
> +		__entry->geni_se_tx_fifo_status	  = readl(se->base + SE_GENI_TX_FIFO_STATUS);
> +		__entry->geni_se_rx_fifo_status	  = readl(se->base + SE_GENI_RX_FIFO_STATUS);
> +		__entry->geni_se_tx_watermark	  = readl(se->base + SE_GENI_TX_WATERMARK_REG);
> +		__entry->geni_se_rx_watermark	  = readl(se->base + SE_GENI_RX_WATERMARK_REG);
> +		__entry->geni_se_rx_watermark_rfr = readl(se->base + SE_GENI_RX_RFR_WATERMARK_REG);
> +		__entry->geni_se_m_gp_length	  = readl(se->base + SE_GENI_M_GP_LENGTH);
> +		__entry->geni_se_s_gp_length	  = readl(se->base + SE_GENI_S_GP_LENGTH);
> +		__entry->geni_se_dma_tx_irq	  = readl(se->base + SE_DMA_TX_IRQ_STAT);
> +		__entry->geni_se_dma_rx_irq	  = readl(se->base + SE_DMA_RX_IRQ_STAT);
> +		__entry->geni_se_dma_tx_irq_en	  = readl(se->base + SE_DMA_TX_IRQ_EN);
> +		__entry->geni_se_dma_rx_irq_en	  = readl(se->base + SE_DMA_RX_IRQ_EN);
> +		__entry->geni_se_dma_rx_len	  = readl(se->base + SE_DMA_RX_LEN);
> +		__entry->geni_se_dma_rx_len_in	  = readl(se->base + SE_DMA_RX_LEN_IN);
> +		__entry->geni_se_dma_tx_len	  = readl(se->base + SE_DMA_TX_LEN);
> +		__entry->geni_se_dma_tx_len_in	  = readl(se->base + SE_DMA_TX_LEN_IN);
> +		__entry->geni_se_dma_tx_ptr_l	  = readl(se->base + SE_DMA_TX_PTR_L);
> +		__entry->geni_se_dma_tx_ptr_h	  = readl(se->base + SE_DMA_TX_PTR_H);
> +		__entry->geni_se_dma_rx_ptr_l	  = readl(se->base + SE_DMA_RX_PTR_L);
> +		__entry->geni_se_dma_rx_ptr_h	  = readl(se->base + SE_DMA_RX_PTR_H);
> +		__entry->geni_se_dma_tx_attr	  = readl(se->base + SE_DMA_TX_ATTR);
> +		__entry->geni_se_dma_tx_max_burst = readl(se->base + SE_DMA_TX_MAX_BURST);
> +		__entry->geni_se_dma_rx_attr	  = readl(se->base + SE_DMA_RX_ATTR);
> +		__entry->geni_se_dma_rx_max_burst = readl(se->base + SE_DMA_RX_MAX_BURST);
> +		__entry->geni_se_dma_if_en	  = readl(se->base + SE_DMA_IF_EN);
> +		__entry->geni_se_dma_if_en_ro	  = readl(se->base + DMA_IF_EN_RO);
> +		__entry->geni_se_dma_general_cfg  = readl(se->base + DMA_GENERAL_CFG);
> +		__entry->geni_se_dma_qsb_trans_cfg = readl(se->base + SE_DMA_QSB_TRANS_CFG);
> +		__entry->geni_se_dma_dbg	  = readl(se->base + SE_DMA_DEBUG_REG0);
> +		__entry->geni_se_m_irq_en	  = readl(se->base + SE_GENI_M_IRQ_EN);
> +		__entry->geni_se_s_irq_en	  = readl(se->base + SE_GENI_S_IRQ_EN);
> +		__entry->geni_se_gsi_event_en	  = readl(se->base + SE_GSI_EVENT_EN);
> +		__entry->geni_se_irq_en		  = readl(se->base + SE_IRQ_EN);
> +		__entry->geni_se_ser_m_clk_cfg	  = readl(se->base + GENI_SER_M_CLK_CFG);
> +		__entry->geni_se_ser_s_clk_cfg	  = readl(se->base + GENI_SER_S_CLK_CFG);
> +		__entry->geni_se_general_cfg	  = readl(se->base + GENI_GENERAL_CFG);
> +		__entry->geni_se_output_ctrl	  = readl(se->base + GENI_OUTPUT_CTRL);
> +		__entry->geni_se_clk_ctrl_ro	  = readl(se->base + GENI_CLK_CTRL_RO);
> +		__entry->geni_se_fifo_if_disable  = readl(se->base + GENI_IF_DISABLE_RO);
> +		__entry->geni_se_fw_multilock_msa = readl(se->base + GENI_FW_MULTILOCK_MSA_RO);
> +		__entry->geni_se_clk_sel	  = readl(se->base + SE_GENI_CLK_SEL);
> +	    ),
> +

I think this is the first time I've seen a trace event read IO directly.
Hmm, will this have any side effects?

If not, I have no problem with this:

 Acked-by: Steven Rostedt <[email protected]>

-- Steve