Re: [PATCH v2 2/2] i3c: mipi-i3c-hci: Use I2C DMA-safe api
From: Frank Li
Date: Wed Feb 05 2025 - 11:54:16 EST
On Tue, Feb 04, 2025 at 05:17:02PM +0800, Billy Tsai wrote:
> Use the i2c_get/put_dma_safe_msg_buf for I2C transfers instead of using
> the I3C-specific API.
>
> Signed-off-by: Billy Tsai <billy_tsai@xxxxxxxxxxxxxx>
> ---
> drivers/i3c/master/mipi-i3c-hci/core.c | 8 +++-----
> 1 file changed, 3 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/i3c/master/mipi-i3c-hci/core.c b/drivers/i3c/master/mipi-i3c-hci/core.c
> index a408feac3e9e..4f3738beb0f2 100644
> --- a/drivers/i3c/master/mipi-i3c-hci/core.c
> +++ b/drivers/i3c/master/mipi-i3c-hci/core.c
> @@ -382,14 +382,11 @@ static int i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
> return -ENOMEM;
>
> for (i = 0; i < nxfers; i++) {
> - xfer[i].data = i2c_xfers[i].buf;
> + xfer[i].data = i2c_get_dma_safe_msg_buf(&i2c_xfers[i], 1);
1 should true?
Frank
> xfer[i].data_len = i2c_xfers[i].len;
> xfer[i].rnw = i2c_xfers[i].flags & I2C_M_RD;
> hci->cmd->prep_i2c_xfer(hci, dev, &xfer[i]);
> xfer[i].cmd_desc[0] |= CMD_0_ROC;
> - ret = i3c_hci_alloc_safe_xfer_buf(hci, &xfer[i]);
> - if (ret)
> - goto out;
> }
> last = i - 1;
> xfer[last].cmd_desc[0] |= CMD_0_TOC;
> @@ -412,7 +409,8 @@ static int i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
>
> out:
> for (i = 0; i < nxfers; i++)
> - i3c_hci_free_safe_xfer_buf(hci, &xfer[i]);
> + i2c_put_dma_safe_msg_buf(xfer[i].data, &i2c_xfers[i],
> + ret ? false : true);
>
> hci_free_xfer(xfer, nxfers);
> return ret;
> --
> 2.25.1
>
>
> --
> linux-i3c mailing list
> linux-i3c@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-i3c