All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@intel.com>
To: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Cc: "Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Laurent Pinchart" <laurent.pinchart@ideasonboard.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>,
	dmaengine@vger.kernel.org,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Hiroyuki Yokoyama" <hiroyuki.yokoyama.vx@renesas.com>
Subject: Re: [PATCH v3] dmaengine: rcar-dmac: use TCRB instead of TCR for residue
Date: Fri, 20 Oct 2017 11:45:16 +0530	[thread overview]
Message-ID: <20171020061516.GM30097@localhost> (raw)
In-Reply-To: <87bml4c5e0.wl%kuninori.morimoto.gx@renesas.com>

On Thu, Oct 19, 2017 at 01:15:13AM +0000, Kuninori Morimoto wrote:
> From: Hiroyuki Yokoyama <hiroyuki.yokoyama.vx@renesas.com>
> 
> SYS/RT/Audio DMAC includes independent data buffers for reading
> and writing. Therefore, the read transfer counter and write transfer
> counter have different values.
> TCR indicates read counter, and TCRB indicates write counter.
> The relationship is like below.
> 
>         TCR       TCRB
> [SOURCE] -> [DMAC] -> [SINK]
> 
> In the MEM_TO_DEV direction, what really matters is how much data has
> been written to the device. If the DMA is interrupted between read and
> write, then, the data doesn't end up in the destination, so shouldn't
> be counted. TCRB is thus the register we should use in this cases.
> 
> In the DEV_TO_MEM direction, the situation is more complex. Both the
> read and write side are important. What matters from a data consumer
> point of view is how much data has been written to memory.
> On the other hand, if the transfer is interrupted between read and
> write, we'll end up losing data. It can also be important to report.
> 
> In the MEM_TO_MEM direction, what matters is of course how much data
> has been written to memory from data consumer point of view.
> Here, because read and write have independent data buffers, it will
> take a while for TCR and TCRB to become equal. Thus we should check
> TCRB in this case, too.
> 
> Thus, all cases we should check TCRB instead of TCR.
> 
> Without this patch, Sound Capture has noise after PluseAudio support
> (= 07b7acb51d2 ("ASoC: rsnd: update pointer more accurate")), because
> the recorder will use wrong residue counter which indicates transferred
> from sound device, but in reality the data was not yet put to memory
> and recorder will record it.

Applied, thanks.

-- 
~Vinod

  parent reply	other threads:[~2017-10-20  6:11 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-19  1:15 [PATCH v3] dmaengine: rcar-dmac: use TCRB instead of TCR for residue Kuninori Morimoto
2017-10-19  7:41 ` Geert Uytterhoeven
2017-10-19 11:56 ` Laurent Pinchart
2017-10-20  6:15 ` Vinod Koul [this message]
2017-10-31 10:45   ` Geert Uytterhoeven
2017-10-31 10:46     ` Geert Uytterhoeven
2017-10-31 11:41       ` Vinod Koul
2017-11-01  3:07         ` Kuninori Morimoto
2017-11-06  1:24           ` Kuninori Morimoto
2017-11-06 13:27             ` Geert Uytterhoeven
2017-11-08  5:35         ` Vinod Koul
2017-11-08  6:33           ` Kuninori Morimoto
2017-11-08  8:37             ` Vinod Koul

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=20171020061516.GM30097@localhost \
    --to=vinod.koul@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=geert@linux-m68k.org \
    --cc=hiroyuki.yokoyama.vx@renesas.com \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=niklas.soderlund+renesas@ragnatech.se \
    /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.