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
next 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: linkBe 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.