Re: [PATCH v2 2/2] Crypto: Talitos: Support for Async_tx XOR offload

From: Dan Williams
Date: Fri Dec 18 2009 - 17:17:55 EST


On Fri, Dec 18, 2009 at 8:02 AM, Li Yang-R58472 <r58472@xxxxxxxxxxxxx> wrote:
>
>>Subject: Re: [PATCH v2 2/2] Crypto: Talitos: Support for
>>Async_tx XOR offload
>>
>>Ira W. Snyder wrote:
>>> Yes, I have used the device_prep_dma_interrupt()
>>functionality quite a
>>> while back. However, I found it to be pretty much useless.
>>
>>The specific case it is needed for Talitos/raid is a channel
>>switch interrupt.  The interrupt causes the cleanup operation
>>to be run which will kick off any pending dependent operations
>>on the xor channel.  In the raid case we only have callbacks
>>at the end of a chain, so we need the interrupt to kick the
>>engine in an operation chain like
>>xor->copy->xor->callback.
>
> I am wondering if can use more callbacks to kick off pending dependent operations?
> Like xor->callback->copy->callback->xor->callback?
>

No, the callback field is reserved for clients of the api. What you want is:

xor->cleanupT->copy->cleanupF->xor->cleanupT->callback

Where cleanupT is the Talitos descriptor cleanup routine and cleanupF
is from fsldma. The assumption is that the interrupt kicks the
cleanup routine and that calls dma_run_dependencies().

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/