.. | .. |
---|
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) |
---|