aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2015-10-18 13:31:00 -0400
committerHerbert Xu <herbert@gondor.apana.org.au>2015-10-20 10:13:55 -0400
commitb150856152cc442050ed3041e912ff0258c50f87 (patch)
treedaf0f55b2d6b9edb3caeedfa367e6ad4ae8bc06d
parent659f313dcfb9eaf4de7d415fe9fd1856252444f5 (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.h2
-rw-r--r--drivers/crypto/marvell/cipher.c2
-rw-r--r--drivers/crypto/marvell/hash.c7
-rw-r--r--drivers/crypto/marvell/tdma.c20
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
397static void mv_cesa_ahash_req_cleanup(struct crypto_async_request *req) 396static 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