| .. | .. |
|---|
| 51 | 51 | CRYPTO_WRITE(rk_dev, CRYPTO_RST_CTL, tmp | tmp_mask); |
|---|
| 52 | 52 | |
|---|
| 53 | 53 | /* This is usually done in 20 clock cycles */ |
|---|
| 54 | | - ret = readl_poll_timeout_atomic(rk_dev->reg + CRYPTO_RST_CTL, |
|---|
| 55 | | - tmp, !tmp, 0, pool_timeout_us); |
|---|
| 54 | + ret = read_poll_timeout_atomic(CRYPTO_READ, tmp, !tmp, 0, pool_timeout_us, |
|---|
| 55 | + false, rk_dev, CRYPTO_RST_CTL); |
|---|
| 56 | 56 | if (ret) |
|---|
| 57 | 57 | dev_err(rk_dev->dev, "cipher reset pool timeout %ums.", |
|---|
| 58 | 58 | pool_timeout_us); |
|---|
| 59 | 59 | |
|---|
| 60 | 60 | CRYPTO_WRITE(rk_dev, CRYPTO_HASH_CTL, 0xffff0000); |
|---|
| 61 | + |
|---|
| 62 | + /* clear dma int status */ |
|---|
| 63 | + tmp = CRYPTO_READ(rk_dev, CRYPTO_DMA_INT_ST); |
|---|
| 64 | + CRYPTO_WRITE(rk_dev, CRYPTO_DMA_INT_ST, tmp); |
|---|
| 61 | 65 | } |
|---|
| 62 | 66 | |
|---|
| 63 | 67 | static int rk_crypto_irq_handle(int irq, void *dev_id) |
|---|
| .. | .. |
|---|
| 285 | 289 | int ret = 0; |
|---|
| 286 | 290 | u32 reg_ctrl = 0; |
|---|
| 287 | 291 | |
|---|
| 288 | | - ret = readl_poll_timeout_atomic(rk_dev->reg + CRYPTO_HASH_VALID, |
|---|
| 289 | | - reg_ctrl, |
|---|
| 290 | | - reg_ctrl & CRYPTO_HASH_IS_VALID, |
|---|
| 291 | | - RK_POLL_PERIOD_US, |
|---|
| 292 | | - RK_POLL_TIMEOUT_US); |
|---|
| 292 | + ret = read_poll_timeout_atomic(CRYPTO_READ, reg_ctrl, |
|---|
| 293 | + reg_ctrl & CRYPTO_HASH_IS_VALID, |
|---|
| 294 | + RK_POLL_PERIOD_US, |
|---|
| 295 | + RK_POLL_TIMEOUT_US, false, |
|---|
| 296 | + rk_dev, CRYPTO_HASH_VALID); |
|---|
| 293 | 297 | if (ret) |
|---|
| 294 | 298 | goto exit; |
|---|
| 295 | 299 | |
|---|