spi: use non combined seq for split xfers

Add check to switch to non combined sequence for
transfers if transfer length is greater than
DMA buffer size. Combined sequence cannot handle
split transfers so anything above dma_buf_size fails.
In case the transfers are beyond 64KB add a mechanism to
switch to non combined sequence of transfers.

Bug 3754288

Change-Id: I4d4eda56dcefdd9e35c19cdaf770783b99650c2c
Signed-off-by: Vishwaroop A <va@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2886311
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Vishwaroop A
2023-04-11 21:00:18 +00:00
committed by mobile promotions
parent 6129bcc538
commit 9d101a46bb

View File

@@ -1355,6 +1355,9 @@ static bool tegra_qspi_validate_cmb_seq(struct tegra_qspi *tqspi,
if (!tqspi->soc_data->dma_mode && xfer->len > (QSPI_FIFO_DEPTH << 2)) if (!tqspi->soc_data->dma_mode && xfer->len > (QSPI_FIFO_DEPTH << 2))
return false; return false;
if (xfer->len > tqspi->dma_buf_size)
return false;
return true; return true;
} }