On Tue, Apr 24, 2012 at 04:05:29PM +0530, Laxman Dewangan wrote: > On Wednesday 18 April 2012 03:41 PM, Russell King wrote: >> +/** >> + * vchan_cookie_complete - report completion of a descriptor >> + * vd: virtual descriptor to update >> + * >> + * vc.lock must be held by caller >> + */ >> +static inline void vchan_cookie_complete(struct virt_dma_desc *vd) >> +{ >> + struct virt_dma_chan *vc = to_virt_chan(vd->tx.chan); >> + >> + dma_cookie_complete(&vd->tx); >> + dev_vdbg(vc->chan.device->dev, "txd %p[%x]: marked complete\n", >> + vd, vd->tx.cookie); >> + list_add_tail(&vd->node,&vc->desc_completed); >> + >> + tasklet_schedule(&vc->task); >> +} > > For cyclic case, we will not like to call the dma_cookie_complete() but > want to put the desc in callback list. > So can we have one more arg on this function which byspass the call of > dma_cookie_complete() See the discussion on what's supposed to happen with cyclic transfers. Cyclic transfers don't complete, so adding them to the completed list and marking them complete is the wrong thing to be doing. So arguably calling this function is also the wrong thing to be doing because you're not completing the transfer. I'll be addressing the issue of cyclic transfers when I eventually get to sorting out the OMAP ASoC driver. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html