All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Hurley <peter@hurleysoftware.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>,
	Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>,
	Vinod Koul <vinod.koul@intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
	nsekhar@ti.com, linux-omap@vger.kernel.org,
	linux-serial@vger.kernel.org, john.ogness@linutronix.de,
	Greg KH <gregkh@linuxfoundation.org>
Subject: Re: [PATCH] dma: omap-dma: add support for pause of non-cyclic transfers
Date: Fri, 07 Aug 2015 13:23:20 -0400	[thread overview]
Message-ID: <55C4E988.8090605@hurleysoftware.com> (raw)
In-Reply-To: <20150807163921.GU7576@n2100.arm.linux.org.uk>

On 08/07/2015 12:39 PM, Russell King - ARM Linux wrote:
> On Fri, Aug 07, 2015 at 05:44:03PM +0200, Sebastian Andrzej Siewior wrote:
>> On 08/07/2015 05:29 PM, Russell King - ARM Linux wrote:
>>> On Fri, Aug 07, 2015 at 11:08:48AM -0400, Peter Hurley wrote:
>>>> [ + Greg KH ]
>>>>
>>>> On 08/07/2015 09:57 AM, Russell King - ARM Linux wrote:
>>>>> As it is something that the driver has _not_ supported, you are clearly
>>>>> adding a feature to an existing driver.  It's not a bug fix.
>>>>>
>>>>>>> If something else has been converted to pause channels and that is causing
>>>>>>> a problem, then _that_ conversion is where the bug lies, not the lack of
>>>>>>> support in the omap-dma.
>>>>
>>>> FWIW, the actual bug is the api that silently does nothing.
>>>
>>> Incorrect.
>>>
>>> static int omap_dma_pause(struct dma_chan *chan)
>>> {
>>>         struct omap_chan *c = to_omap_dma_chan(chan);
>>>
>>>         /* Pause/Resume only allowed with cyclic mode */
>>>         if (!c->cyclic)
>>>                 return -EINVAL;
>>>
>>> Asking for the channel to be paused will return an error code indicating
>>> that the request failed.  That will be propagated back through to the
>>> return code of dmaengine_pause().
>>>
>>> If we look at what 8250-dma.c is doing:
>>>
>>>                 if (dma->rx_running) {
>>>                         dmaengine_pause(dma->rxchan);
>>>
>>> It's 8250-dma.c which is silently _ignoring_ the return code, failing
>>> to check that the operation it requested worked.  Maybe this should be
>>> WARN_ON(dmaengine_pause(dma->rxchan)) or at least it should print a
>>> message?
>>
>> I think this is what Peter meant by saying "silently does nothing".
> 
> Maybe Peter should phrase his replies better.  "the actual bug is the
> api that silently does nothing." to me means he is complaining that
> dmaengine_pause() had no effect.  _That_ is what I'm objecting to,
> and claiming that Peter's comment is wrong.

Yes, I missed that the api included a return code which the 8250 dma
code should be checking.

> He's now blaming me for snide remarks.  I could call his one above an
> incorrect snide remark against the quality of DMA engine code.

You'd be reading a lot into my statement.

> He's
> totally wrong, and been proven wrong by my analysis above, plain and
> simple.
> 
> He should now accept that he's wrong

Done.

> and move along with sorting out
> this mess _without_ requiring optional features to be implemented in
> other subsystems to fix bugs in code he's supposed to be maintaining.

This is simply a bug that flew under the radar, much like every other
bug that gets fixed daily in mainline.

The omap-serial driver which doesn't use dma is still the preferred
stable driver for omap, for the moment.

One of the main features of the 8250_omap integration was the addition
of dma support. Without it, 8250_omap is ttyO in ttyS clothing.

Regards,
Peter Hurley

  reply	other threads:[~2015-08-07 17:23 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-07  8:41 [PATCH] dma: omap-dma: add support for pause of non-cyclic transfers Sebastian Andrzej Siewior
2015-08-07  9:44 ` Peter Ujfalusi
2015-08-07  9:44   ` Peter Ujfalusi
2015-08-07 10:36   ` Sebastian Andrzej Siewior
2015-08-07 11:44     ` Peter Ujfalusi
2015-08-07 11:44       ` Peter Ujfalusi
2015-08-07 12:47       ` Sebastian Andrzej Siewior
2015-08-07 13:22     ` Russell King - ARM Linux
2015-08-07 13:42       ` Sebastian Andrzej Siewior
2015-08-07 13:57         ` Russell King - ARM Linux
2015-08-07 15:08           ` Peter Hurley
2015-08-07 15:29             ` Russell King - ARM Linux
2015-08-07 15:44               ` Sebastian Andrzej Siewior
2015-08-07 16:39                 ` Russell King - ARM Linux
2015-08-07 17:23                   ` Peter Hurley [this message]
2015-08-07 17:42                     ` Russell King - ARM Linux
2015-08-07 16:07               ` Peter Hurley
2015-08-07 16:20                 ` Sebastian Andrzej Siewior
2015-08-07 16:35                   ` Russell King - ARM Linux
2015-08-07 16:33                 ` Russell King - ARM Linux
2015-08-07 18:21                   ` Peter Hurley
2015-08-07 18:32                     ` Russell King - ARM Linux
2015-08-08  1:41                       ` Peter Hurley
2015-08-08  9:07                         ` Russell King - ARM Linux
2015-08-07 10:55 ` Russell King - ARM Linux
2015-08-07 12:35   ` Sebastian Andrzej Siewior
2015-08-07 13:17     ` Russell King - ARM Linux
2015-08-07 13:22       ` Sebastian Andrzej Siewior
2015-08-07 13:25         ` Russell King - ARM Linux
2015-08-07 14:46           ` Peter Hurley
2015-08-07 17:55 ` Greg KH

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=55C4E988.8090605@hurleysoftware.com \
    --to=peter@hurleysoftware.com \
    --cc=bigeasy@linutronix.de \
    --cc=dan.j.williams@intel.com \
    --cc=dmaengine@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=john.ogness@linutronix.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux@arm.linux.org.uk \
    --cc=nsekhar@ti.com \
    --cc=peter.ujfalusi@ti.com \
    --cc=vinod.koul@intel.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 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.