All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Cercueil <paul@crapouillou.net>
To: Vinod Koul <vkoul@kernel.org>, Ralf Baechle <ralf@linux-mips.org>,
	Paul Burton <paul.burton@mips.com>
Cc: od@zcrc.me, dmaengine@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@linux-mips.org, Daniel Silsby <dansilsby@gmail.com>,
	Paul Cercueil <paul@crapouillou.net>
Subject: [v5,11/18] dmaengine: dma-jz4780: Add missing residue DTC mask
Date: Wed, 29 Aug 2018 23:32:53 +0200	[thread overview]
Message-ID: <20180829213300.22829-12-paul@crapouillou.net> (raw)

From: Daniel Silsby <dansilsby@gmail.com>

The 'dtc' word in jz DMA descriptors contains two fields: The
lowest 24 bits are the transfer count, and upper 8 bits are the DOA
offset to next descriptor. The upper 8 bits are now correctly masked
off when computing residue in jz4780_dma_desc_residue(). Note that
reads of the DTCn hardware reg are automatically masked this way.

Signed-off-by: Daniel Silsby <dansilsby@gmail.com>
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: Mathieu Malaterre <malat@debian.org>
---

Notes:
     v2: No change
    
     v3: No change
    
     v4: Add my Signed-off-by
    
     v5: Use GENMASK macro

 drivers/dma/dma-jz4780.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c
index 3a4d0a4b550d..bd3cecb800c5 100644
--- a/drivers/dma/dma-jz4780.c
+++ b/drivers/dma/dma-jz4780.c
@@ -616,7 +616,8 @@ static size_t jz4780_dma_desc_residue(struct jz4780_dma_chan *jzchan,
 	residue = 0;
 
 	for (i = next_sg; i < desc->count; i++)
-		residue += desc->desc[i].dtc << jzchan->transfer_shift;
+		residue += (desc->desc[i].dtc & GENMASK(23, 0)) <<
+			jzchan->transfer_shift;
 
 	if (next_sg != 0) {
 		count = jz4780_dma_chn_readl(jzdma, jzchan->id,

WARNING: multiple messages have this Message-ID (diff)
From: Paul Cercueil <paul@crapouillou.net>
To: Vinod Koul <vkoul@kernel.org>, Ralf Baechle <ralf@linux-mips.org>,
	Paul Burton <paul.burton@mips.com>
Cc: od@zcrc.me, dmaengine@vger.kernel.org,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-mips@linux-mips.org, Daniel Silsby <dansilsby@gmail.com>,
	Paul Cercueil <paul@crapouillou.net>
Subject: [PATCH v5 11/18] dmaengine: dma-jz4780: Add missing residue DTC mask
Date: Wed, 29 Aug 2018 23:32:53 +0200	[thread overview]
Message-ID: <20180829213300.22829-12-paul@crapouillou.net> (raw)
In-Reply-To: <20180829213300.22829-1-paul@crapouillou.net>

From: Daniel Silsby <dansilsby@gmail.com>

The 'dtc' word in jz DMA descriptors contains two fields: The
lowest 24 bits are the transfer count, and upper 8 bits are the DOA
offset to next descriptor. The upper 8 bits are now correctly masked
off when computing residue in jz4780_dma_desc_residue(). Note that
reads of the DTCn hardware reg are automatically masked this way.

Signed-off-by: Daniel Silsby <dansilsby@gmail.com>
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: Mathieu Malaterre <malat@debian.org>
---

Notes:
     v2: No change
    
     v3: No change
    
     v4: Add my Signed-off-by
    
     v5: Use GENMASK macro

 drivers/dma/dma-jz4780.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/dma/dma-jz4780.c b/drivers/dma/dma-jz4780.c
index 3a4d0a4b550d..bd3cecb800c5 100644
--- a/drivers/dma/dma-jz4780.c
+++ b/drivers/dma/dma-jz4780.c
@@ -616,7 +616,8 @@ static size_t jz4780_dma_desc_residue(struct jz4780_dma_chan *jzchan,
 	residue = 0;
 
 	for (i = next_sg; i < desc->count; i++)
-		residue += desc->desc[i].dtc << jzchan->transfer_shift;
+		residue += (desc->desc[i].dtc & GENMASK(23, 0)) <<
+			jzchan->transfer_shift;
 
 	if (next_sg != 0) {
 		count = jz4780_dma_chn_readl(jzdma, jzchan->id,
-- 
2.11.0


             reply	other threads:[~2018-08-29 21:32 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-29 21:32 Paul Cercueil [this message]
2018-08-29 21:32 ` [PATCH v5 11/18] dmaengine: dma-jz4780: Add missing residue DTC mask Paul Cercueil
  -- strict thread matches above, loose matches on Subject: below --
2018-08-29 21:33 [v5,18/18] MIPS: JZ4740: DTS: Add DMA nodes Paul Cercueil
2018-08-29 21:33 ` [PATCH v5 18/18] " Paul Cercueil
2018-08-29 21:32 [v5,17/18] MIPS: JZ4770: " Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 17/18] " Paul Cercueil
2018-08-29 21:32 [v5,16/18] MIPS: JZ4780: DTS: Update DMA node to match driver changes Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 16/18] " Paul Cercueil
2018-08-29 21:32 [v5,15/18] dmaengine: dma-jz4780: Use dma_set_residue() Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 15/18] " Paul Cercueil
2018-08-29 21:32 [v5,14/18] dmaengine: dma-jz4780: Further residue status fix Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 14/18] " Paul Cercueil
2018-08-29 21:32 [v5,13/18] dmaengine: dma-jz4780: Set DTCn register explicitly Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 13/18] " Paul Cercueil
2018-08-29 21:32 [v5,12/18] dmaengine: dma-jz4780: Simplify jz4780_dma_desc_residue() Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 12/18] " Paul Cercueil
2018-08-29 21:32 [v5,10/18] dmaengine: dma-jz4780: Enable Fast DMA to the AIC Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 10/18] " Paul Cercueil
2018-08-29 21:32 [v5,09/18] dmaengine: dma-jz4780: Add support for the JZ4725B SoC Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 09/18] " Paul Cercueil
2018-08-29 21:32 [v5,08/18] dmaengine: dma-jz4780: Add support for the JZ4740 SoC Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 08/18] " Paul Cercueil
2018-08-29 21:32 [v5,07/18] dmaengine: dma-jz4780: Add support for the JZ4770 SoC Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 07/18] " Paul Cercueil
2018-08-29 21:32 [v5,06/18] dmaengine: dma-jz4780: Don't depend on MACH_JZ4780 Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 06/18] " Paul Cercueil
2018-08-29 21:32 [v5,05/18] dmaengine: dma-jz4780: Use 4-word descriptors Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 05/18] " Paul Cercueil
2018-08-29 21:32 [v5,04/18] dmaengine: dma-jz4780: Separate chan/ctrl registers Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 04/18] " Paul Cercueil
2018-08-29 21:32 [v5,03/18] dmaengine: dma-jz4780: Avoid hardcoding number of channels Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 03/18] " Paul Cercueil
2018-08-29 21:32 [v5,02/18] dmaengine: dma-jz4780: Return error if not probed from DT Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 02/18] " Paul Cercueil
2018-08-29 21:32 [v5,01/18] dt-bindings: jz4780-dma: Update bindings to reflect driver changes Paul Cercueil
2018-08-29 21:32 ` [PATCH v5 01/18] " Paul Cercueil
2018-08-29 21:32 [PATCH v5 00/18] JZ4780 DMA patchset v5 Paul Cercueil
2018-09-11  7:29 ` Vinod

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180829213300.22829-12-paul@crapouillou.net \
    --to=paul@crapouillou.net \
    --cc=dansilsby@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmaengine@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=od@zcrc.me \
    --cc=paul.burton@mips.com \
    --cc=ralf@linux-mips.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.