On Wed, Jun 19, 2013 at 1:10 PM, Jon Mason <jon.ma...@intel.com> wrote: > On Wed, Jun 19, 2013 at 11:56:38AM -0700, Dan Williams wrote: >> On Wed, Jun 19, 2013 at 10:52 AM, Jon Mason <jon.ma...@intel.com> wrote: >> >> DMA_PRIVATE here keeps all channels private, so they couldn't be used >> >> elsewhere, for example raid offload. Do you need a private allocation >> >> or can you get away with a dynamically assigned channel? >> > >> > I would like to have a dedicated DMA engine. async_tx could cause the >> > copies to complete out of order. Do I need to add infrastructure to >> > allow for private channel usage, and when unused allow the channel to >> > be used by async_tx? >> >> Can NTB just call dma_find_channel() once and be done? Also, async_tx >> will only get things out of order if you allow it to pick a new >> channel for every operation, but as long as you specify a dependency >> chain it will keep things in order (same as remembering the result of >> dma_find_channel). > > Neither of these allow a device exclusive access to a channel. Is > this not something that is desired by other users of DMA Engines, or > do I have a unique usage model? >
Yes, ioatdma has never been used in a mixed model. Other platforms are either using devicetree bindings for specifying channels to their master devices or are exclusively slave channels. Other slave usage models require use of a dedicated channel, since NTB is alternating between cpu and dma it seems it could get away with using a "public" channel. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/