From f9004dbfff8a3fbbd7e2a88c8a4327c7f2f8e5b2 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Wed, 31 Jan 2024 01:04:47 +0000 Subject: [PATCH] add driver 5G --- kernel/drivers/crypto/rockchip/rk_crypto_v2_skcipher.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/kernel/drivers/crypto/rockchip/rk_crypto_v2_skcipher.c b/kernel/drivers/crypto/rockchip/rk_crypto_v2_skcipher.c index 4a5ade6..2bfff0d 100644 --- a/kernel/drivers/crypto/rockchip/rk_crypto_v2_skcipher.c +++ b/kernel/drivers/crypto/rockchip/rk_crypto_v2_skcipher.c @@ -136,11 +136,13 @@ if (tag_len > RK_MAX_TAG_SIZE) return -EINVAL; - ret = readl_poll_timeout_atomic(rk_dev->reg + CRYPTO_TAG_VALID, + ret = read_poll_timeout_atomic(CRYPTO_READ, reg_ctrl, reg_ctrl & CRYPTO_CH0_TAG_VALID, - RK_POLL_PERIOD_US, - RK_POLL_TIMEOUT_US); + 0, + RK_POLL_TIMEOUT_US, + false, + rk_dev, CRYPTO_TAG_VALID); if (ret) goto exit; @@ -188,13 +190,17 @@ CRYPTO_WRITE(rk_dev, CRYPTO_RST_CTL, tmp | tmp_mask); /* This is usually done in 20 clock cycles */ - ret = readl_poll_timeout_atomic(rk_dev->reg + CRYPTO_RST_CTL, - tmp, !tmp, 0, pool_timeout_us); + ret = read_poll_timeout_atomic(CRYPTO_READ, tmp, !tmp, 0, + pool_timeout_us, false, rk_dev, CRYPTO_RST_CTL); if (ret) dev_err(rk_dev->dev, "cipher reset pool timeout %ums.", pool_timeout_us); CRYPTO_WRITE(rk_dev, CRYPTO_BC_CTL, 0xffff0000); + + /* clear dma int status */ + tmp = CRYPTO_READ(rk_dev, CRYPTO_DMA_INT_ST); + CRYPTO_WRITE(rk_dev, CRYPTO_DMA_INT_ST, tmp); } static void rk_crypto_complete(struct crypto_async_request *base, int err) -- Gitblit v1.6.2