mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-30 22:26:55 +00:00
dmaengine: dw-edma: Revert fix scatter-gather address calculation
Reverting the applied patch because it caused a regression on
ARC700 platform (32 bits).
Fixes: 05655541c9
("dmaengine: dw-edma: Fix scatter-gather address calculation")
Signed-off-by: Gustavo Pimentel <gustavo.pimentel@synopsys.com>
Link: https://lore.kernel.org/r/1778422e389fe40032e216b59b1b992c61ec9887.1613674948.git.gustavo.pimentel@synopsys.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
cb498d7f3b
commit
b671d098a9
1 changed files with 4 additions and 4 deletions
|
@ -429,7 +429,8 @@ dw_edma_device_transfer(struct dw_edma_transfer *xfer)
|
|||
if (xfer->type == EDMA_XFER_CYCLIC) {
|
||||
burst->dar = xfer->xfer.cyclic.paddr;
|
||||
} else if (xfer->type == EDMA_XFER_SCATTER_GATHER) {
|
||||
burst->dar = dst_addr;
|
||||
src_addr += sg_dma_len(sg);
|
||||
burst->dar = sg_dma_address(sg);
|
||||
/* Unlike the typical assumption by other
|
||||
* drivers/IPs the peripheral memory isn't
|
||||
* a FIFO memory, in this case, it's a
|
||||
|
@ -443,7 +444,8 @@ dw_edma_device_transfer(struct dw_edma_transfer *xfer)
|
|||
if (xfer->type == EDMA_XFER_CYCLIC) {
|
||||
burst->sar = xfer->xfer.cyclic.paddr;
|
||||
} else if (xfer->type == EDMA_XFER_SCATTER_GATHER) {
|
||||
burst->sar = src_addr;
|
||||
dst_addr += sg_dma_len(sg);
|
||||
burst->sar = sg_dma_address(sg);
|
||||
/* Unlike the typical assumption by other
|
||||
* drivers/IPs the peripheral memory isn't
|
||||
* a FIFO memory, in this case, it's a
|
||||
|
@ -455,8 +457,6 @@ dw_edma_device_transfer(struct dw_edma_transfer *xfer)
|
|||
}
|
||||
|
||||
if (xfer->type == EDMA_XFER_SCATTER_GATHER) {
|
||||
src_addr += sg_dma_len(sg);
|
||||
dst_addr += sg_dma_len(sg);
|
||||
sg = sg_next(sg);
|
||||
} else if (xfer->type == EDMA_XFER_INTERLEAVED &&
|
||||
xfer->xfer.il->frame_size > 0) {
|
||||
|
|
Loading…
Reference in a new issue