From: Joel Fernandes Date: Sun, 18 Aug 2013 02:42:26 +0000 (-0500) Subject: crypto: omap-aes - Sync SG before DMA operation X-Git-Tag: next-20130822~68^2~14 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0a641712ef9459df5d8c19fc19e686887257b3e3;p=karo-tx-linux.git crypto: omap-aes - Sync SG before DMA operation Earlier functions that did a similar sync are replaced by the dma_sync_sg_* which can operate on entire SG list. Signed-off-by: Joel Fernandes Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/omap-aes.c b/drivers/crypto/omap-aes.c index 114c55a59efe..4ed2a8c40394 100644 --- a/drivers/crypto/omap-aes.c +++ b/drivers/crypto/omap-aes.c @@ -484,6 +484,8 @@ static int omap_aes_crypt_dma(struct crypto_tfm *tfm, struct dma_slave_config cfg; int ret; + dma_sync_sg_for_device(dd->dev, dd->in_sg, in_sg_len, DMA_TO_DEVICE); + memset(&cfg, 0, sizeof(cfg)); cfg.src_addr = dd->phys_base + AES_REG_DATA_N(dd, 0); @@ -670,6 +672,8 @@ static void omap_aes_done_task(unsigned long data) pr_debug("enter done_task\n"); + dma_sync_sg_for_cpu(dd->dev, dd->in_sg, dd->in_sg_len, DMA_FROM_DEVICE); + omap_aes_crypt_dma_stop(dd); omap_aes_finish_req(dd, 0); omap_aes_handle_queue(dd, NULL);