From 300660fb3b5ce0011003f738436d7daa91e38dd0 Mon Sep 17 00:00:00 2001 From: Lin Jinhan Date: Wed, 2 Sep 2020 17:05:48 +0800 Subject: [PATCH] crypto: rockchip: add dma_wmb for hw_info->desc_dma fix cache inconsistent bug on some cases. Change-Id: I6666a461570e9b6f53428762245b546a18fa26ed Signed-off-by: Lin Jinhan --- drivers/crypto/rockchip/rk_crypto_v2_ablkcipher.c | 2 ++ drivers/crypto/rockchip/rk_crypto_v2_ahash.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/drivers/crypto/rockchip/rk_crypto_v2_ablkcipher.c b/drivers/crypto/rockchip/rk_crypto_v2_ablkcipher.c index a3da9e181b0b..9e5034b1a73b 100644 --- a/drivers/crypto/rockchip/rk_crypto_v2_ablkcipher.c +++ b/drivers/crypto/rockchip/rk_crypto_v2_ablkcipher.c @@ -389,6 +389,8 @@ static void crypto_dma_start(struct rk_crypto_info *dev) hw_info->desc->dma_ctrl = 0x00000201; hw_info->desc->user_define = 0x7; + dma_wmb(); + CRYPTO_WRITE(dev, CRYPTO_DMA_LLI_ADDR, hw_info->desc_dma); CRYPTO_WRITE(dev, CRYPTO_DMA_CTL, 0x00010001);/* start */ } diff --git a/drivers/crypto/rockchip/rk_crypto_v2_ahash.c b/drivers/crypto/rockchip/rk_crypto_v2_ahash.c index a8f15b94ad0f..5149c5443865 100644 --- a/drivers/crypto/rockchip/rk_crypto_v2_ahash.c +++ b/drivers/crypto/rockchip/rk_crypto_v2_ahash.c @@ -433,6 +433,8 @@ static void rk_ahash_dma_start(struct rk_crypto_info *dev) hw_info->desc->dma_ctrl = 0x00000401; hw_info->desc->user_define = 0x7; + dma_wmb(); + CRYPTO_WRITE(dev, CRYPTO_DMA_LLI_ADDR, hw_info->desc_dma); CRYPTO_WRITE(dev, CRYPTO_HASH_CTL, (CRYPTO_HASH_ENABLE <<