Re: [PATCH v6 2/2] i2c: i2c-qcom-geni: Add Block event interrupt support

From: Jyothi Kumar Seerapu
Date: Fri May 09 2025 - 02:17:45 EST




On 5/7/2025 7:51 AM, ALOK TIWARI wrote:


On 06-05-2025 16:48, Jyothi Kumar Seerapu wrote:
+/**
+ * struct geni_i2c_dev - I2C Geni device specific structure
+ *
+ * @se: geni serial engine
+ * @tx_wm: Tx watermark level
+ * @irq: i2c serial engine interrupt
+ * @err: specifies error codes in i2c transfer failures
+ * @adap: i2c geni adapter
+ * @done: completion variable
+ * @cur: pointer to the i2c_msg mentioning current i2c message in use
+ * @cur_wr: variable used for i2c write opertions

typo opertions -> operations
Sure, thanks will correct it.

+ * @cur_rd: variable used for i2c read operations
+ * @lock: spinlock variable used for synchronization
+ * @core_clk: pointer to clk
+ * @clk_freq_out: contains the i2c clock frequency
+ * @clk_fld: pointer to geni_i2c_clk_fld
+ * @suspended: flag used for system supend status

typo supend -> suspend
sure, will correct it.

+ * @dma_buf: virtual address of the buffer
+ * @xfer_len: holds length for the dma operation
+ * @dma_addr: dma address of the buffer
+ * @tx_c: Tx dma channel
+ * @rx_c: Rx dma channel
+ * @gpi_mode: GPI DMA mode of operation
+ * @abort_done: true for marking i2c abort transfer
+ * @is_tx_multi_desc_xfer: true for i2c multi transfer support
+ * @num_msgs: number of i2c messages in a transfer
+ * @tx_irq_cnt: flag used for tx irq count in i2c multi transfer
+ * @i2c_multi_desc_config: used for multi transfer support
+ */
  struct geni_i2c_dev {
      struct geni_se se;
      u32 tx_wm;
@@ -100,6 +156,10 @@ struct geni_i2c_dev {
      struct dma_chan *rx_c;
      bool gpi_mode;
      bool abort_done;
+    bool is_tx_multi_desc_xfer;
+    u32 num_msgs;
+    u32 tx_irq_cnt;
+    struct geni_i2c_gpi_multi_desc_xfer i2c_multi_desc_config;
  };


Thanks,
Alok