Commit 0661cef6 authored by Marek Szyprowski's avatar Marek Szyprowski Committed by Vinod Koul
Browse files

dmaengine: pl330: Fix burst length if burst size is smaller than bus width



Move the burst len fixup after setting the generic value for it. This
finally enables the fixup introduced by commit 137bd110 ("dmaengine:
pl330: Align DMA memcpy operations to MFIFO width"), which otherwise was
overwritten by the generic value.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Fixes: 137bd110 ("dmaengine: pl330: Align DMA memcpy operations to MFIFO width")
Signed-off-by: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20200825064617.16193-1-m.szyprowski@samsung.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent e097eb74
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2801,6 +2801,7 @@ pl330_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dst,
	while (burst != (1 << desc->rqcfg.brst_size))
		desc->rqcfg.brst_size++;

	desc->rqcfg.brst_len = get_burst_len(desc, len);
	/*
	 * If burst size is smaller than bus width then make sure we only
	 * transfer one at a time to avoid a burst stradling an MFIFO entry.
@@ -2808,7 +2809,6 @@ pl330_prep_dma_memcpy(struct dma_chan *chan, dma_addr_t dst,
	if (desc->rqcfg.brst_size * 8 < pl330->pcfg.data_bus_width)
		desc->rqcfg.brst_len = 1;

	desc->rqcfg.brst_len = get_burst_len(desc, len);
	desc->bytes_requested = len;

	desc->txd.flags = flags;