aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto
diff options
context:
space:
mode:
authorCyrille Pitchen <cyrille.pitchen@atmel.com>2015-12-17 17:48:44 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2015-12-23 18:19:53 +0800
commit13c7f876c2aac59863f6d28bd72e98bc45be3c9a (patch)
treed76daa1f5239e93147cba116748222341a37519b /drivers/crypto
parentcrypto: atmel-aes - remove unused 'err' member of struct atmel_aes_dev (diff)
downloadlinux-dev-13c7f876c2aac59863f6d28bd72e98bc45be3c9a.tar.xz
linux-dev-13c7f876c2aac59863f6d28bd72e98bc45be3c9a.zip
crypto: atmel-aes - reduce latency of DMA completion
atmel_aes_dma_callback() now directly calls the 'resume' callback instead of scheduling the done task, which in turn only calls the very same 'resume' callback. Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto')
-rw-r--r--drivers/crypto/atmel-aes.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/crypto/atmel-aes.c b/drivers/crypto/atmel-aes.c
index 25dc7bd73532..8a2b3e81c087 100644
--- a/drivers/crypto/atmel-aes.c
+++ b/drivers/crypto/atmel-aes.c
@@ -337,8 +337,8 @@ static void atmel_aes_dma_callback(void *data)
{
struct atmel_aes_dev *dd = data;
- /* dma_lch_out - completed */
- tasklet_schedule(&dd->done_task);
+ dd->is_async = true;
+ (void)dd->resume(dd);
}
static int atmel_aes_crypt_dma(struct atmel_aes_dev *dd,