mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 16:44:58 +02:00
i3c: mipi-i3c-hci: Use own DMA bounce buffer management for I2C transfers
Stop using I2C DMA-safe API for two reasons: - Not needed if driver is using PIO mode. - DMA transfers needs a DWORD align sized receive bounce buffer when the device DMA is IOMMU mapped, which is causing needless double bounce buffering in that case. Cc: Billy Tsai <billy_tsai@aspeedtech.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Reviewed-by: Frank Li <Frank.Li@nxp.com> Link: https://lore.kernel.org/r/20250822105630.2820009-5-jarkko.nikula@linux.intel.com Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
parent
9e23897bca
commit
ec01115194
|
|
@ -348,7 +348,7 @@ static int i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
|
|||
return -ENOMEM;
|
||||
|
||||
for (i = 0; i < nxfers; i++) {
|
||||
xfer[i].data = i2c_get_dma_safe_msg_buf(&i2c_xfers[i], 1);
|
||||
xfer[i].data = i2c_xfers[i].buf;
|
||||
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]);
|
||||
|
|
@ -374,10 +374,6 @@ static int i3c_hci_i2c_xfers(struct i2c_dev_desc *dev,
|
|||
}
|
||||
|
||||
out:
|
||||
for (i = 0; i < nxfers; i++)
|
||||
i2c_put_dma_safe_msg_buf(xfer[i].data, &i2c_xfers[i],
|
||||
ret ? false : true);
|
||||
|
||||
hci_free_xfer(xfer, nxfers);
|
||||
return ret;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user