Messages in this thread | | | Date | Thu, 10 Dec 2015 09:50:29 +0530 | From | Vinod Koul <> | Subject | Re: [PATCH] dma: mdc: Correct terminate_all handling |
| |
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@imgtec.com> > >> > >> 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
| |