mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
dmaengine: axi-dmac: Don't check the number of frames for alignment
[ Upstream commit648865a79d] In 2D transfers (for the AXI DMAC), the number of frames (numf) represents Y_LENGTH, and the length of a frame is X_LENGTH. 2D transfers are useful for video transfers where screen resolutions ( X * Y ) are typically aligned for X, but not for Y. There is no requirement for Y_LENGTH to be aligned to the bus-width (or anything), and this is also true for AXI DMAC. Checking the Y_LENGTH for alignment causes false errors when initiating DMA transfers. This change fixes this by checking only that the Y_LENGTH is non-zero. Fixes:0e3b67b348("dmaengine: Add support for the Analog Devices AXI-DMAC DMA controller") Signed-off-by: Alexandru Ardelean <alexandru.ardelean@analog.com> Signed-off-by: Vinod Koul <vkoul@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Chris
parent
92775e64a2
commit
93be0b299b
@@ -451,7 +451,7 @@ static struct dma_async_tx_descriptor *axi_dmac_prep_interleaved(
|
||||
|
||||
if (chan->hw_2d) {
|
||||
if (!axi_dmac_check_len(chan, xt->sgl[0].size) ||
|
||||
!axi_dmac_check_len(chan, xt->numf))
|
||||
xt->numf == 0)
|
||||
return NULL;
|
||||
if (xt->sgl[0].size + dst_icg > chan->max_length ||
|
||||
xt->sgl[0].size + src_icg > chan->max_length)
|
||||
|
||||
Reference in New Issue
Block a user