diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2015-10-18 13:31:00 -0400 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2015-10-20 10:13:55 -0400 |
commit | b150856152cc442050ed3041e912ff0258c50f87 (patch) | |
tree | daf0f55b2d6b9edb3caeedfa367e6ad4ae8bc06d | |
parent | 659f313dcfb9eaf4de7d415fe9fd1856252444f5 (diff) |
crypto: marvell/cesa - use readl_relaxed()/writel_relaxed()
Use relaxed IO accessors where appropriate.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
-rw-r--r-- | drivers/crypto/marvell/cesa.h | 2 | ||||
-rw-r--r-- | drivers/crypto/marvell/cipher.c | 2 | ||||
-rw-r--r-- | drivers/crypto/marvell/hash.c | 7 | ||||
-rw-r--r-- | drivers/crypto/marvell/tdma.c | 20 |
4 files changed, 15 insertions, 16 deletions
diff --git a/drivers/crypto/marvell/cesa.h b/drivers/crypto/marvell/cesa.h index 1103405354db..8b5c0477edba 100644 --- a/drivers/crypto/marvell/cesa.h +++ b/drivers/crypto/marvell/cesa.h | |||
@@ -677,7 +677,7 @@ static inline void mv_cesa_set_int_mask(struct mv_cesa_engine *engine, | |||
677 | if (int_mask == engine->int_mask) | 677 | if (int_mask == engine->int_mask) |
678 | return; | 678 | return; |
679 | 679 | ||
680 | writel(int_mask, engine->regs + CESA_SA_INT_MSK); | 680 | writel_relaxed(int_mask, engine->regs + CESA_SA_INT_MSK); |
681 | engine->int_mask = int_mask; | 681 | engine->int_mask = int_mask; |
682 | } | 682 | } |
683 | 683 | ||
diff --git a/drivers/crypto/marvell/cipher.c b/drivers/crypto/marvell/cipher.c index 0745cf3b9c0e..06dee02460f8 100644 --- a/drivers/crypto/marvell/cipher.c +++ b/drivers/crypto/marvell/cipher.c | |||
@@ -105,7 +105,7 @@ static void mv_cesa_ablkcipher_std_step(struct ablkcipher_request *req) | |||
105 | } | 105 | } |
106 | 106 | ||
107 | mv_cesa_set_int_mask(engine, CESA_SA_INT_ACCEL0_DONE); | 107 | mv_cesa_set_int_mask(engine, CESA_SA_INT_ACCEL0_DONE); |
108 | writel(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG); | 108 | writel_relaxed(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG); |
109 | writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD); | 109 | writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD); |
110 | } | 110 | } |
111 | 111 | ||
diff --git a/drivers/crypto/marvell/hash.c b/drivers/crypto/marvell/hash.c index d813de604b8f..a9bea0ba95fb 100644 --- a/drivers/crypto/marvell/hash.c +++ b/drivers/crypto/marvell/hash.c | |||
@@ -281,7 +281,7 @@ static void mv_cesa_ahash_std_step(struct ahash_request *req) | |||
281 | creq->cache_ptr = new_cache_ptr; | 281 | creq->cache_ptr = new_cache_ptr; |
282 | 282 | ||
283 | mv_cesa_set_int_mask(engine, CESA_SA_INT_ACCEL0_DONE); | 283 | mv_cesa_set_int_mask(engine, CESA_SA_INT_ACCEL0_DONE); |
284 | writel(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG); | 284 | writel_relaxed(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG); |
285 | writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD); | 285 | writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD); |
286 | } | 286 | } |
287 | 287 | ||
@@ -344,7 +344,7 @@ static int mv_cesa_ahash_process(struct crypto_async_request *req, u32 status) | |||
344 | 344 | ||
345 | digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq)); | 345 | digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq)); |
346 | for (i = 0; i < digsize / 4; i++) | 346 | for (i = 0; i < digsize / 4; i++) |
347 | creq->state[i] = readl(engine->regs + CESA_IVDIG(i)); | 347 | creq->state[i] = readl_relaxed(engine->regs + CESA_IVDIG(i)); |
348 | 348 | ||
349 | if (creq->cache_ptr) | 349 | if (creq->cache_ptr) |
350 | sg_pcopy_to_buffer(ahashreq->src, creq->src_nents, | 350 | sg_pcopy_to_buffer(ahashreq->src, creq->src_nents, |
@@ -390,8 +390,7 @@ static void mv_cesa_ahash_prepare(struct crypto_async_request *req, | |||
390 | 390 | ||
391 | digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq)); | 391 | digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq)); |
392 | for (i = 0; i < digsize / 4; i++) | 392 | for (i = 0; i < digsize / 4; i++) |
393 | writel(creq->state[i], | 393 | writel_relaxed(creq->state[i], engine->regs + CESA_IVDIG(i)); |
394 | engine->regs + CESA_IVDIG(i)); | ||
395 | } | 394 | } |
396 | 395 | ||
397 | static void mv_cesa_ahash_req_cleanup(struct crypto_async_request *req) | 396 | static void mv_cesa_ahash_req_cleanup(struct crypto_async_request *req) |
diff --git a/drivers/crypto/marvell/tdma.c b/drivers/crypto/marvell/tdma.c index 64a366c50174..e8e8a7f7659b 100644 --- a/drivers/crypto/marvell/tdma.c +++ b/drivers/crypto/marvell/tdma.c | |||
@@ -41,18 +41,18 @@ void mv_cesa_dma_step(struct mv_cesa_tdma_req *dreq) | |||
41 | { | 41 | { |
42 | struct mv_cesa_engine *engine = dreq->base.engine; | 42 | struct mv_cesa_engine *engine = dreq->base.engine; |
43 | 43 | ||
44 | writel(0, engine->regs + CESA_SA_CFG); | 44 | writel_relaxed(0, engine->regs + CESA_SA_CFG); |
45 | 45 | ||
46 | mv_cesa_set_int_mask(engine, CESA_SA_INT_ACC0_IDMA_DONE); | 46 | mv_cesa_set_int_mask(engine, CESA_SA_INT_ACC0_IDMA_DONE); |
47 | writel(CESA_TDMA_DST_BURST_128B | CESA_TDMA_SRC_BURST_128B | | 47 | writel_relaxed(CESA_TDMA_DST_BURST_128B | CESA_TDMA_SRC_BURST_128B | |
48 | CESA_TDMA_NO_BYTE_SWAP | CESA_TDMA_EN, | 48 | CESA_TDMA_NO_BYTE_SWAP | CESA_TDMA_EN, |
49 | engine->regs + CESA_TDMA_CONTROL); | 49 | engine->regs + CESA_TDMA_CONTROL); |
50 | 50 | ||
51 | writel(CESA_SA_CFG_ACT_CH0_IDMA | CESA_SA_CFG_MULTI_PKT | | 51 | writel_relaxed(CESA_SA_CFG_ACT_CH0_IDMA | CESA_SA_CFG_MULTI_PKT | |
52 | CESA_SA_CFG_CH0_W_IDMA | CESA_SA_CFG_PARA_DIS, | 52 | CESA_SA_CFG_CH0_W_IDMA | CESA_SA_CFG_PARA_DIS, |
53 | engine->regs + CESA_SA_CFG); | 53 | engine->regs + CESA_SA_CFG); |
54 | writel(dreq->chain.first->cur_dma, | 54 | writel_relaxed(dreq->chain.first->cur_dma, |
55 | engine->regs + CESA_TDMA_NEXT_ADDR); | 55 | engine->regs + CESA_TDMA_NEXT_ADDR); |
56 | writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD); | 56 | writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD); |
57 | } | 57 | } |
58 | 58 | ||