You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
1.2 KiB
Diff
31 lines
1.2 KiB
Diff
5 years ago
|
From 67d8208fba1324fa0198f9fc58a9edbe09596947 Mon Sep 17 00:00:00 2001
|
||
|
From: Christoph Hellwig <hch@lst.de>
|
||
|
Date: Sun, 16 Dec 2018 18:19:46 +0100
|
||
|
Subject: [PATCH 04/15] crypto4xx_core: don't abuse __dma_sync_page
|
||
|
|
||
|
This function is internal to the DMA API implementation. Instead use
|
||
|
the DMA API to properly unmap. Note that the DMA API usage in this
|
||
|
driver is a disaster and urgently needs some work - it is missing all
|
||
|
the unmaps, seems to do a secondary map where it looks like it should
|
||
|
to a unmap in one place to work around cache coherency and the
|
||
|
directions passed in seem to be partially wrong.
|
||
|
|
||
|
Signed-off-by: Christoph Hellwig <hch@lst.de>
|
||
|
Tested-by: Christian Lamparter <chunkeey@gmail.com>
|
||
|
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
||
|
---
|
||
|
drivers/crypto/amcc/crypto4xx_core.c | 2 +-
|
||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/crypto/amcc/crypto4xx_core.c
|
||
|
+++ b/drivers/crypto/amcc/crypto4xx_core.c
|
||
|
@@ -596,7 +596,7 @@ static void crypto4xx_aead_done(struct c
|
||
|
pd->pd_ctl_len.bf.pkt_len,
|
||
|
dst);
|
||
|
} else {
|
||
|
- __dma_sync_page(sg_page(dst), dst->offset, dst->length,
|
||
|
+ dma_unmap_page(dev->core_dev->device, pd->dest, dst->length,
|
||
|
DMA_FROM_DEVICE);
|
||
|
}
|
||
|
|