diff options
author | Joy Zou <joy.zou@nxp.com> | 2024-01-31 19:33:18 +0300 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2024-02-07 11:34:59 +0300 |
commit | 9ba17defd9edd87970b701085402bc8ecc3a11d4 (patch) | |
tree | cd5fcbbc782f0edc30d08ffb23aa5db0bd84cf51 | |
parent | 87a39071e0b639f45e05d296cc0538eef44ec0bd (diff) | |
download | linux-9ba17defd9edd87970b701085402bc8ecc3a11d4.tar.xz |
dmaengine: fsl-edma: correct calculation of 'nbytes' in multi-fifo scenario
The 'nbytes' should be equivalent to burst * width in audio multi-fifo
setups. Given that the FIFO width is fixed at 32 bits, adjusts the burst
size for multi-fifo configurations to match the slave maxburst in the
configuration.
Cc: stable@vger.kernel.org
Fixes: 72f5801a4e2b ("dmaengine: fsl-edma: integrate v3 support")
Signed-off-by: Joy Zou <joy.zou@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20240131163318.360315-1-Frank.Li@nxp.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
-rw-r--r-- | drivers/dma/fsl-edma-common.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/dma/fsl-edma-common.c b/drivers/dma/fsl-edma-common.c index b53f46245c37..793f1a7ad5e3 100644 --- a/drivers/dma/fsl-edma-common.c +++ b/drivers/dma/fsl-edma-common.c @@ -503,7 +503,7 @@ void fsl_edma_fill_tcd(struct fsl_edma_chan *fsl_chan, if (fsl_chan->is_multi_fifo) { /* set mloff to support multiple fifo */ burst = cfg->direction == DMA_DEV_TO_MEM ? - cfg->src_addr_width : cfg->dst_addr_width; + cfg->src_maxburst : cfg->dst_maxburst; nbytes |= EDMA_V3_TCD_NBYTES_MLOFF(-(burst * 4)); /* enable DMLOE/SMLOE */ if (cfg->direction == DMA_MEM_TO_DEV) { |