From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claude Code Review Bot To: dri-devel-reviews@example.com Subject: Claude review: i2c: qcom-geni: Avoid extra TX DMA TRE for single read message in GPI mode Date: Sun, 12 Apr 2026 09:50:25 +1000 Message-ID: In-Reply-To: <20260410101949.2315058-1-aniket.randive@oss.qualcomm.com> References: <20260410101949.2315058-1-aniket.randive@oss.qualcomm.com> X-Mailer: Claude Code Patch Reviewer Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 Overall Series Review Subject: i2c: qcom-geni: Avoid extra TX DMA TRE for single read message in GPI mode Author: Aniket Randive Patches: 3 Reviewed: 2026-04-12T09:50:25.095463 --- This is a single-patch series (v4) fixing a real bug in the Qualcomm GENI I2C GPI DMA path. The problem is that when `geni_i2c_gpi_xfer()` handles a read message, it always calls `geni_i2c_gpi()` with `op=I2C_WRITE` first (for the CONFIG+GO TREs on the TX channel), but on the first message (i=0), `peripheral.multi_msg` is initialized to `false`. This causes the GPI DMA driver (`gpi_create_i2c_tre()`) to generate a DMA data TRE alongside the CONFIG+GO TREs, resulting in a spurious write on the I2C bus before the intended read. The fix is conceptually correct: it sets `multi_msg = true` before `dmaengine_slave_config()` copies the peripheral config, which tells the GPI DMA driver to suppress the DMA data TRE and emit only CONFIG+GO. However, the implementation has some fragility and readability issues worth addressing. **Verdict:** The fix addresses a real bug but the approach could be cleaner. A few items need attention before merging. --- --- Generated by Claude Code Patch Reviewer