mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2026-09-22 09:34:56 +02:00
spi: spi-fsl-dspi: Avoid setup_accel logic for DMA transfers
[ Upstream commit cac7e50541 ]
Repacking multiple smaller words into larger ones to make use of the
full FIFO doesn't save anything in DMA mode, so don't bother doing it.
Signed-off-by: Larisa Grigore <larisa.grigore@nxp.com>
Signed-off-by: James Clark <james.clark@linaro.org>
Link: https://patch.msgid.link/20250522-james-nxp-spi-v2-8-bea884630cfb@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
1232fd8cc2
commit
a74a3bc424
@@ -751,8 +751,12 @@ static void dspi_setup_accel(struct fsl_dspi *dspi)
|
||||
struct spi_transfer *xfer = dspi->cur_transfer;
|
||||
bool odd = !!(dspi->len & 1);
|
||||
|
||||
/* No accel for frames not multiple of 8 bits at the moment */
|
||||
if (xfer->bits_per_word % 8)
|
||||
/*
|
||||
* No accel for DMA transfers or frames not multiples of 8 bits at the
|
||||
* moment.
|
||||
*/
|
||||
if (dspi->devtype_data->trans_mode == DSPI_DMA_MODE ||
|
||||
xfer->bits_per_word % 8)
|
||||
goto no_accel;
|
||||
|
||||
if (!odd && dspi->len <= dspi->devtype_data->fifo_size * 2) {
|
||||
@@ -761,10 +765,7 @@ static void dspi_setup_accel(struct fsl_dspi *dspi)
|
||||
dspi->oper_bits_per_word = 8;
|
||||
} else {
|
||||
/* Start off with maximum supported by hardware */
|
||||
if (dspi->devtype_data->trans_mode == DSPI_XSPI_MODE)
|
||||
dspi->oper_bits_per_word = 32;
|
||||
else
|
||||
dspi->oper_bits_per_word = 16;
|
||||
dspi->oper_bits_per_word = 32;
|
||||
|
||||
/*
|
||||
* And go down only if the buffer can't be sent with
|
||||
|
||||
Reference in New Issue
Block a user