Messages in this thread | | | Subject | RE: [PATCH 2/2] Add device_prep_dma_interrupt support to fsldma.c | Date | Wed, 12 Mar 2008 10:28:49 +0800 | From | "Zhang Wei" <> |
| |
Hi, Dan,
> -----Original Message----- > From: dan.j.williams@gmail.com > > + > > + /* Set End-of-link to the last link descriptor of > new list*/ > > + set_ld_eol(fsl_chan, new); > > Question, is 'set_ld_eol' safe to call on descriptors that may not be > the last in the list? For example what about the following sequence:
set_ld_eol() is a safe function, which is only for preparing the tx descriptors lists. When adding prepared tx descriptior list to DMA channel tx list, the function append_ld_queue() should be called.
> > /* prepare two descriptors */ > tx1 = fsl_dma_prep_interrupt(chan); > tx2 = fsl_dma_prep_memcpy(chan); > > /* submit out of order */ > tx2->tx_submit(tx2); > tx1->tx_submit(tx1); > > This is only a concern if you plan to support channel switching at > some point. For example, switching from a memcpy channel to an xor > channel. > It's no problem. :) In fact, I've added out of order testing codes in fsl_dma_self_test() function.
But I have a question about device_prep_dma_interrupt(), which is no way to assign dest and src address. Is it a null tx action dma_async_tx_descriptor except to trigger an interrupt?
Thanks! Wei.
| |