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 <<