linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Vinod Koul <vinod.koul@linaro.org>
To: Frank Mori Hess <fmh6jj@gmail.com>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>,
	dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
	Dan Williams <dan.j.williams@intel.com>,
	r.baldyga@hackerion.com, Krzysztof Kozlowski <krzk@kernel.org>,
	Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>,
	Linux Samsung SOC <linux-samsung-soc@vger.kernel.org>
Subject: Re: Revert "dmaengine: pl330: add DMA_PAUSE feature"
Date: Thu, 17 May 2018 09:49:46 +0530	[thread overview]
Message-ID: <20180517041946.GQ13271@vkoul-mobl> (raw)
In-Reply-To: <CAJz5Open++Dj=a4ty-JbnZBFoqbMQKU6qYumJKSRMRLp_3erSw@mail.gmail.com>

On 15-05-18, 11:50, Frank Mori Hess wrote:
> On Tue, May 15, 2018 at 2:21 AM, Vinod <vkoul@kernel.org> wrote:
> >
> > For Pause/resume data loss is _not_ expected.
> >
> >> > and some of the 8250 drivers like 8250_dw.c set a maxburst > 1.  If it
> >> > can't count on the pause/residue/terminate working without data loss
> >> > then it is just broken.  As is the 8250_omap.c driver.  Is the
> >> > description of dmaengine_pause in the documentation of "This pauses
> >> > activity on the DMA channel without data loss" to be interpreted as
> >> > "as long as you resume afterwards"?
> >>
> >> I assume that this requirement is for both - resuming and terminating.
> >
> > Terminate is abort, data loss may happen here.
> 
> Wait, are you saying if you do
> 
> dma pause

no data loss
> read residue

here as well
> dma terminate

Oh yes, we aborted...
> 
> then it is acceptable for there to be data loss, because it can be
> blamed on the terminate?  In that case the usage of dmaengine in all
> the 8250 serial drivers is broken.  Every time there is a break in the
> incoming rx data, the 8250 driver does pause/residue/terminate which
> could potentially cause data from the incoming data stream to be
> dropped.

As I said terminate is abort. It cleans up the channel and is supposed to
used for cleanup not for stopping. See Documentation:

- device_terminate_all

  - Aborts all the pending and ongoing transfers on the channel

  - For aborted transfers the complete callback should not be called

  - Can be called from atomic context or from within a complete
    callback of a descriptor. Must not sleep. Drivers must be able
    to handle this correctly.

  - Termination may be asynchronous. The driver does not have to
    wait until the currently active transfer has completely stopped.
    See device_synchronize.

Thanks
-- 
~Vinod

  reply	other threads:[~2018-05-17  4:19 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-28 21:50 [PATCH] Revert "dmaengine: pl330: add DMA_PAUSE feature" Frank Mori Hess
2018-05-02  4:32 ` Vinod Koul
2018-05-02 14:37   ` Frank Mori Hess
2018-05-03  9:01     ` Vinod Koul
2018-05-03 16:35 ` Vinod Koul
     [not found] ` <CGME20180508090407eucas1p13713284c2d3f5aa5c66f8d136be683c1@eucas1p1.samsung.com>
2018-05-08  9:04   ` Marek Szyprowski
2018-05-08 14:36     ` Frank Mori Hess
2018-05-09  6:59       ` Vinod Koul
2018-05-09 13:19       ` Marek Szyprowski
2018-05-09 17:48         ` Frank Mori Hess
2018-05-10  8:31           ` Marek Szyprowski
2018-05-10 16:04             ` Frank Mori Hess
2018-05-11 12:57               ` Marek Szyprowski
2018-05-11 15:57                 ` Frank Mori Hess
2018-05-15  6:21                 ` Vinod
2018-05-15 12:24                   ` Marek Szyprowski
2018-05-15 13:45                     ` Vinod
2018-05-15 15:50                   ` Frank Mori Hess
2018-05-17  4:19                     ` Vinod Koul [this message]
2018-05-17 16:20                       ` Frank Mori Hess
2018-05-17 17:22                         ` Lars-Peter Clausen
2018-05-18 19:01                           ` Frank Mori Hess
2018-05-18  4:03                         ` Vinod
2018-05-18  6:28                           ` Marek Szyprowski
2018-05-18  7:21                             ` Vinod
2018-05-29  5:17                               ` Marek Szyprowski
2018-05-29  7:09                                 ` Vinod
2018-05-18 18:56                           ` Frank Mori Hess
2018-05-21  9:16                             ` Vinod Koul
2018-05-22  0:56                               ` Frank Mori Hess
2018-05-22  3:37                                 ` Vinod Koul
2018-05-22 14:27                                   ` Frank Mori Hess
2018-05-23  5:39                                     ` 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=20180517041946.GQ13271@vkoul-mobl \
    --to=vinod.koul@linaro.org \
    --cc=b.zolnierkie@samsung.com \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=fmh6jj@gmail.com \
    --cc=krzk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=r.baldyga@hackerion.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).