]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
crypto: marvell/cesa - use readl_relaxed()/writel_relaxed()
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 18 Oct 2015 17:31:00 +0000 (18:31 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 20 Oct 2015 14:13:55 +0000 (22:13 +0800)
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>
drivers/crypto/marvell/cesa.h
drivers/crypto/marvell/cipher.c
drivers/crypto/marvell/hash.c
drivers/crypto/marvell/tdma.c

index 1103405354db5f66e6c356025f8aa94549db22bc..8b5c0477edba9b5b3eddaeb9b6333efa1a7bc15c 100644 (file)
@@ -677,7 +677,7 @@ static inline void mv_cesa_set_int_mask(struct mv_cesa_engine *engine,
        if (int_mask == engine->int_mask)
                return;
 
-       writel(int_mask, engine->regs + CESA_SA_INT_MSK);
+       writel_relaxed(int_mask, engine->regs + CESA_SA_INT_MSK);
        engine->int_mask = int_mask;
 }
 
index 0745cf3b9c0e43de808270b396cb8c1ff06a821d..06dee02460f88799e8aafc82b437cd07cad0d99e 100644 (file)
@@ -105,7 +105,7 @@ static void mv_cesa_ablkcipher_std_step(struct ablkcipher_request *req)
        }
 
        mv_cesa_set_int_mask(engine, CESA_SA_INT_ACCEL0_DONE);
-       writel(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG);
+       writel_relaxed(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG);
        writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD);
 }
 
index d813de604b8fa1ffc9d479d66ccbb45accffb1f2..a9bea0ba95fbc265ea24f0e0fb390dce24e27f30 100644 (file)
@@ -281,7 +281,7 @@ static void mv_cesa_ahash_std_step(struct ahash_request *req)
        creq->cache_ptr = new_cache_ptr;
 
        mv_cesa_set_int_mask(engine, CESA_SA_INT_ACCEL0_DONE);
-       writel(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG);
+       writel_relaxed(CESA_SA_CFG_PARA_DIS, engine->regs + CESA_SA_CFG);
        writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD);
 }
 
@@ -344,7 +344,7 @@ static int mv_cesa_ahash_process(struct crypto_async_request *req, u32 status)
 
        digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq));
        for (i = 0; i < digsize / 4; i++)
-               creq->state[i] = readl(engine->regs + CESA_IVDIG(i));
+               creq->state[i] = readl_relaxed(engine->regs + CESA_IVDIG(i));
 
        if (creq->cache_ptr)
                sg_pcopy_to_buffer(ahashreq->src, creq->src_nents,
@@ -390,8 +390,7 @@ static void mv_cesa_ahash_prepare(struct crypto_async_request *req,
 
        digsize = crypto_ahash_digestsize(crypto_ahash_reqtfm(ahashreq));
        for (i = 0; i < digsize / 4; i++)
-               writel(creq->state[i],
-                      engine->regs + CESA_IVDIG(i));
+               writel_relaxed(creq->state[i], engine->regs + CESA_IVDIG(i));
 }
 
 static void mv_cesa_ahash_req_cleanup(struct crypto_async_request *req)
index 64a366c501744303984c3bfd5e36a1bf6bbb55c6..e8e8a7f7659bc347fb2f2740ed0474ea0a9ba5b0 100644 (file)
@@ -41,18 +41,18 @@ void mv_cesa_dma_step(struct mv_cesa_tdma_req *dreq)
 {
        struct mv_cesa_engine *engine = dreq->base.engine;
 
-       writel(0, engine->regs + CESA_SA_CFG);
+       writel_relaxed(0, engine->regs + CESA_SA_CFG);
 
        mv_cesa_set_int_mask(engine, CESA_SA_INT_ACC0_IDMA_DONE);
-       writel(CESA_TDMA_DST_BURST_128B | CESA_TDMA_SRC_BURST_128B |
-              CESA_TDMA_NO_BYTE_SWAP | CESA_TDMA_EN,
-              engine->regs + CESA_TDMA_CONTROL);
-
-       writel(CESA_SA_CFG_ACT_CH0_IDMA | CESA_SA_CFG_MULTI_PKT |
-              CESA_SA_CFG_CH0_W_IDMA | CESA_SA_CFG_PARA_DIS,
-              engine->regs + CESA_SA_CFG);
-       writel(dreq->chain.first->cur_dma,
-              engine->regs + CESA_TDMA_NEXT_ADDR);
+       writel_relaxed(CESA_TDMA_DST_BURST_128B | CESA_TDMA_SRC_BURST_128B |
+                      CESA_TDMA_NO_BYTE_SWAP | CESA_TDMA_EN,
+                      engine->regs + CESA_TDMA_CONTROL);
+
+       writel_relaxed(CESA_SA_CFG_ACT_CH0_IDMA | CESA_SA_CFG_MULTI_PKT |
+                      CESA_SA_CFG_CH0_W_IDMA | CESA_SA_CFG_PARA_DIS,
+                      engine->regs + CESA_SA_CFG);
+       writel_relaxed(dreq->chain.first->cur_dma,
+                      engine->regs + CESA_TDMA_NEXT_ADDR);
        writel(CESA_SA_CMD_EN_CESA_SA_ACCL0, engine->regs + CESA_SA_CMD);
 }