| .. | .. |
|---|
| 135 | 135 | if (tag_len > RK_MAX_TAG_SIZE) |
|---|
| 136 | 136 | return -EINVAL; |
|---|
| 137 | 137 | |
|---|
| 138 | | - ret = readl_poll_timeout_atomic(rk_dev->reg + CRYPTO_TAG_VALID, |
|---|
| 138 | + ret = read_poll_timeout_atomic(CRYPTO_READ, |
|---|
| 139 | 139 | reg_ctrl, |
|---|
| 140 | 140 | reg_ctrl & CRYPTO_CH0_TAG_VALID, |
|---|
| 141 | | - RK_POLL_PERIOD_US, |
|---|
| 142 | | - RK_POLL_TIMEOUT_US); |
|---|
| 141 | + 0, |
|---|
| 142 | + RK_POLL_TIMEOUT_US, |
|---|
| 143 | + false, |
|---|
| 144 | + rk_dev, CRYPTO_TAG_VALID); |
|---|
| 143 | 145 | if (ret) |
|---|
| 144 | 146 | goto exit; |
|---|
| 145 | 147 | |
|---|
| .. | .. |
|---|
| 187 | 189 | CRYPTO_WRITE(rk_dev, CRYPTO_RST_CTL, tmp | tmp_mask); |
|---|
| 188 | 190 | |
|---|
| 189 | 191 | /* This is usually done in 20 clock cycles */ |
|---|
| 190 | | - ret = readl_poll_timeout_atomic(rk_dev->reg + CRYPTO_RST_CTL, |
|---|
| 191 | | - tmp, !tmp, 0, pool_timeout_us); |
|---|
| 192 | + ret = read_poll_timeout_atomic(CRYPTO_READ, tmp, !tmp, 0, |
|---|
| 193 | + pool_timeout_us, false, rk_dev, CRYPTO_RST_CTL); |
|---|
| 192 | 194 | if (ret) |
|---|
| 193 | 195 | dev_err(rk_dev->dev, "cipher reset pool timeout %ums.", |
|---|
| 194 | 196 | pool_timeout_us); |
|---|
| 195 | 197 | |
|---|
| 196 | 198 | CRYPTO_WRITE(rk_dev, CRYPTO_BC_CTL, 0xffff0000); |
|---|
| 199 | + |
|---|
| 200 | + /* clear dma int status */ |
|---|
| 201 | + tmp = CRYPTO_READ(rk_dev, CRYPTO_DMA_INT_ST); |
|---|
| 202 | + CRYPTO_WRITE(rk_dev, CRYPTO_DMA_INT_ST, tmp); |
|---|
| 197 | 203 | } |
|---|
| 198 | 204 | |
|---|
| 199 | 205 | static void rk_crypto_complete(struct crypto_async_request *base, int err) |
|---|