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