On 7 September 2011 12:53, Kukjin Kim <kgene.kim@xxxxxxxxxxx> wrote: > Jassi Brar wrote: >> >> On 6 September 2011 17:57, Russell King - ARM Linux >> <linux@xxxxxxxxxxxxxxxx> wrote: >> > 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. >> > >> Ok, thanks for the info. >> >> Boojin Kim, please re-write the changelog to state only preventing >> callbacks during DMA_TERMINATE_ALL as the reason. > > As above, we don't need callback as well start operation in DMA_TERMIANTE_ALL command and her patch just removed them for DMA_TERMINATE_ALL here. So current git message seems to have proper behavior of patch. > Nopes. No modification to current code is needed if only the following is to be the reason. { 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. } The patch, however, has unintended good effect of "preventing callbacks from DMA_TERMINATE_ALL". The only valid reason, and which is no way implied by the changelog. -- 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