From cde9070d9970eef1f7ec2360586c802a16230ad8 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Fri, 10 May 2024 07:43:50 +0000 Subject: [PATCH] rtl88x2CE_WiFi_linux driver --- 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