Re: [PATCH v8 04/16] DMA: PL330: Remove the start operation for handling DMA_TERMINATE_ALL command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 06, 2011 at 05:52:19PM +0530, Jassi Brar wrote:
> On Fri, Sep 2, 2011 at 6:14 AM, Boojin Kim <boojin.kim@xxxxxxxxxxx> wrote:
> > Origianl code carries out the start operation after flush operation.
> > But start operation is not required for DMA_TERMINATE_ALL command.
> > So, This patch removes the unnecessary start operation and only carries out
> > the flush oeration for handling DMA_TERMINATE_ALL command.
> 
> Not exactly. The 'start' is impotent when called from this path because there
> is nothing left queued after the call to 'flush'.
> pl330_tasklet() is called because that is a common function that does the
> house-keeping acc to what's presently in 'work' and 'done' lists.
> 
> Though as a side-effect, your patch does avoid doing callbacks on submitted
> xfers during DMA_TERMINATE_ALL - which may or may not be the right thing
> to do.

It is defined that DMA_TERMINATE_ALL does not call the callbacks:

1. int dmaengine_terminate_all(struct dma_chan *chan)

   This causes all activity for the DMA channel to be stopped, and may
   discard data in the DMA FIFO which hasn't been fully transferred.
   No callback functions will be called for any incomplete transfers.
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux SoC Development]     [Linux Rockchip Development]     [Linux USB Development]     [Video for Linux]     [Linux Audio Users]     [Linux SCSI]     [Yosemite News]

  Powered by Linux