Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1225105

[PATCH 2/4] dmaengine: at_xdmac: change block increment addressing mode

From Ludovic Desroches <ludovic.desroches@atmel.com>
Newsgroups linux.kernel
Subject [PATCH 2/4] dmaengine: at_xdmac: change block increment addressing mode
Date 2015-09-15 15:40 +0200
Message-ID <q8YCK-6fP-25@gated-at.bofh.it> (permalink)
References <q8Yt4-64o-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: Maxime Ripard <maxime.ripard@free-electrons.com>

The addressing mode we were using was not only incrementing the address at
each microblock, but also at each data boundary, which was severely slowing
the transfer, without any benefit since we were not using the data stride.

Switch to the micro block increment only in order to get back to an
acceptable performance level.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Fixes: 6007ccb57744 ("dmaengine: xdmac: Add interleaved transfer support")
Cc: stable@vger.kernel.org #4.2
---
 drivers/dma/at_xdmac.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/at_xdmac.c b/drivers/dma/at_xdmac.c
index 0190d1c..3952bff 100644
--- a/drivers/dma/at_xdmac.c
+++ b/drivers/dma/at_xdmac.c
@@ -875,14 +875,14 @@ at_xdmac_interleaved_queue_desc(struct dma_chan *chan,
 
 	if (xt->src_inc) {
 		if (xt->src_sgl)
-			chan_cc |=  AT_XDMAC_CC_SAM_UBS_DS_AM;
+			chan_cc |=  AT_XDMAC_CC_SAM_UBS_AM;
 		else
 			chan_cc |=  AT_XDMAC_CC_SAM_INCREMENTED_AM;
 	}
 
 	if (xt->dst_inc) {
 		if (xt->dst_sgl)
-			chan_cc |=  AT_XDMAC_CC_DAM_UBS_DS_AM;
+			chan_cc |=  AT_XDMAC_CC_DAM_UBS_AM;
 		else
 			chan_cc |=  AT_XDMAC_CC_DAM_INCREMENTED_AM;
 	}
-- 
2.5.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 0/4] at_xdmac: improvment and fixes for the interleaved mode Ludovic Desroches <ludovic.desroches@atmel.com> - 2015-09-15 15:30 +0200
  [PATCH 1/4] dmaengine: at_xdmac: handle numf > 1 Ludovic Desroches <ludovic.desroches@atmel.com> - 2015-09-15 15:30 +0200
  [PATCH 4/4] dmaengine: at_xdmac: clean used descriptor Ludovic Desroches <ludovic.desroches@atmel.com> - 2015-09-15 15:40 +0200
  [PATCH 2/4] dmaengine: at_xdmac: change block increment addressing mode Ludovic Desroches <ludovic.desroches@atmel.com> - 2015-09-15 15:40 +0200
  [PATCH 3/4] dmaengine: at_xdmac: fix memory leak in interleaved mode Ludovic Desroches <ludovic.desroches@atmel.com> - 2015-09-15 15:40 +0200

csiph-web