Re: [PATCH] dma: mdc: Correct terminate_all handling

From: Vinod Koul
Date: Wed Dec 09 2015 - 23:17:25 EST


On Mon, Dec 07, 2015 at 04:59:41PM +0000, Damien Horsley wrote:
> On 05/12/15 08:43, Vinod Koul wrote:
> > On Mon, Nov 23, 2015 at 02:22:04PM +0000, Damien Horsley wrote:
> >> From: "Damien.Horsley" <Damien.Horsley@xxxxxxxxxx>
> >>
> >> Use of the CANCEL bit in mdc_terminate_all creates an
> >> additional 'command done' to appear in the registers (in
> >> addition to an interrupt).
> >>
> >> In addition, there is a potential race between
> >> mdc_terminate_all and the irq handler if a transfer
> >> completes at the same time as the terminate all (presently
> >> this results in an inappropriate warning).
> >>
> >> To handle these issues, any outstanding 'command done'
> >> events are cleared during mdc_terminate_all and the irq
> >> handler takes no action when there are no new 'command done'
> >> events.
> >
> > SO what does 'command done' event represent, and what would be the behaviour
> > of ignoring those
> >
>
> The 'command done' event occurs whenever a new descriptor is loaded from
> memory, and once when the whole transfer is completed. Use of the CANCEL
> bit can cause additional 'command done' events to occur, which need to
> be cleared.

Okay, btw please fix the subsystem name. I'ts dmaengine

--
~Vinod
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/