crypto: rockchip: mask lock_step error int flag

lock_step will accidentally triggered sometimes.

Change-Id: I401c662d515cf17e6c89dfb2dfa4b33b6866b8a5
Signed-off-by: Lin Jinhan <troy.lin@rock-chips.com>
This commit is contained in:
Lin Jinhan
2021-05-11 16:09:25 +08:00
committed by Tao Huang
parent e2fb7bc2c3
commit 31bd563fc7
3 changed files with 6 additions and 0 deletions

View File

@@ -44,6 +44,8 @@ static int rk_crypto_irq_handle(int irq, void *dev_id)
interrupt_status = CRYPTO_READ(dev, CRYPTO_DMA_INT_ST);
CRYPTO_WRITE(dev, CRYPTO_DMA_INT_ST, interrupt_status);
interrupt_status &= CRYPTO_LOCKSTEP_MASK;
if (interrupt_status != CRYPTO_DST_ITEM_DONE_INT_ST) {
dev_err(dev->dev, "DMA desc = %p\n", hw_info->desc);
dev_err(dev->dev, "DMA addr_in = %08x\n",

View File

@@ -159,6 +159,8 @@ static int rk_crypto_irq_handle(int irq, void *dev_id)
interrupt_status = CRYPTO_READ(dev, CRYPTO_DMA_INT_ST);
CRYPTO_WRITE(dev, CRYPTO_DMA_INT_ST, interrupt_status);
interrupt_status &= CRYPTO_LOCKSTEP_MASK;
if (interrupt_status != CRYPTO_SRC_ITEM_DONE_INT_ST) {
dev_err(dev->dev, "DMA desc = %p\n", hw_info->desc);
dev_err(dev->dev, "DMA addr_in = %08x\n",

View File

@@ -32,6 +32,7 @@
#define CRYPTO_LIST_DONE_INT_EN BIT(0)
#define CRYPTO_DMA_INT_ST 0x000C
#define CRYPTO_LOCKSTEP_INT_ST BIT(7)
#define CRYPTO_ZERO_LEN_INT_ST BIT(6)
#define CRYPTO_LIST_ERR_INT_ST BIT(5)
#define CRYPTO_SRC_ERR_INT_ST BIT(4)
@@ -40,6 +41,7 @@
#define CRYPTO_DST_ITEM_DONE_INT_ST BIT(1)
#define CRYPTO_LIST_DONE_INT_ST BIT(0)
#define CRYPTO_LOCKSTEP_MASK (~((u32)CRYPTO_LOCKSTEP_INT_ST))
#define CRYPTO_DMA_CTL 0x0010
#define CRYPTO_DMA_RESTART BIT(1)
#define CRYPTO_DMA_START BIT(0)