dmaengine: fsl-edma: correct calculation of 'nbytes' in multi-fifo scenario
commit 9ba17defd9edd87970b701085402bc8ecc3a11d4 upstream.
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: 72f5801a4e
("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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4e0fe154be
commit
91b001fb0b
|
@ -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) {
|
||||
|
|
Loading…
Reference in New Issue