crypto: marvell/cesa - use __le32 for hardware descriptors
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 18 Oct 2015 17:31:26 +0000 (18:31 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Tue, 20 Oct 2015 14:13:58 +0000 (22:13 +0800)
Much of the driver uses cpu_to_le32() to convert values for descriptors
to little endian before writing.  Use __le32 to define the hardware-
accessed parts of the descriptors, and ensure most places where it's
reasonable to do so use cpu_to_le32() when assigning to these.

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/tdma.c

index aa1949a..186868e 100644 (file)
 
 #define CESA_SA_DESC_MAC_DATA(offset)                                  \
        cpu_to_le32(CESA_SA_DATA_SRAM_OFFSET + (offset))
-#define CESA_SA_DESC_MAC_DATA_MSK              GENMASK(15, 0)
+#define CESA_SA_DESC_MAC_DATA_MSK              cpu_to_le32(GENMASK(15, 0))
 
 #define CESA_SA_DESC_MAC_TOTAL_LEN(total_len)  cpu_to_le32((total_len) << 16)
-#define CESA_SA_DESC_MAC_TOTAL_LEN_MSK         GENMASK(31, 16)
+#define CESA_SA_DESC_MAC_TOTAL_LEN_MSK         cpu_to_le32(GENMASK(31, 16))
 
 #define CESA_SA_DESC_MAC_SRC_TOTAL_LEN_MAX     0xffff
 
 #define CESA_SA_DESC_MAC_DIGEST(offset)                                        \
        cpu_to_le32(CESA_SA_MAC_DIG_SRAM_OFFSET + (offset))
-#define CESA_SA_DESC_MAC_DIGEST_MSK            GENMASK(15, 0)
+#define CESA_SA_DESC_MAC_DIGEST_MSK            cpu_to_le32(GENMASK(15, 0))
 
 #define CESA_SA_DESC_MAC_FRAG_LEN(frag_len)    cpu_to_le32((frag_len) << 16)
-#define CESA_SA_DESC_MAC_FRAG_LEN_MSK          GENMASK(31, 16)
+#define CESA_SA_DESC_MAC_FRAG_LEN_MSK          cpu_to_le32(GENMASK(31, 16))
 
 #define CESA_SA_DESC_MAC_IV(offset)                                    \
        cpu_to_le32((CESA_SA_MAC_IIV_SRAM_OFFSET + (offset)) |          \
  * to be executed.
  */
 struct mv_cesa_sec_accel_desc {
-       u32 config;
-       u32 enc_p;
-       u32 enc_len;
-       u32 enc_key_p;
-       u32 enc_iv;
-       u32 mac_src_p;
-       u32 mac_digest;
-       u32 mac_iv;
+       __le32 config;
+       __le32 enc_p;
+       __le32 enc_len;
+       __le32 enc_key_p;
+       __le32 enc_iv;
+       __le32 mac_src_p;
+       __le32 mac_digest;
+       __le32 mac_iv;
 };
 
 /**
@@ -293,10 +293,10 @@ struct mv_cesa_op_ctx {
  * operation.
  */
 struct mv_cesa_tdma_desc {
-       u32 byte_cnt;
-       u32 src;
-       u32 dst;
-       u32 next_dma;
+       __le32 byte_cnt;
+       __le32 src;
+       __le32 dst;
+       __le32 next_dma;
 
        /* Software state */
        dma_addr_t cur_dma;
index 06bdeac..7642798 100644 (file)
@@ -126,6 +126,7 @@ struct mv_cesa_op_ctx *mv_cesa_dma_add_op(struct mv_cesa_tdma_chain *chain,
        struct mv_cesa_tdma_desc *tdma;
        struct mv_cesa_op_ctx *op;
        dma_addr_t dma_handle;
+       unsigned int size;
 
        tdma = mv_cesa_dma_add_desc(chain, flags);
        if (IS_ERR(tdma))
@@ -137,9 +138,11 @@ struct mv_cesa_op_ctx *mv_cesa_dma_add_op(struct mv_cesa_tdma_chain *chain,
 
        *op = *op_templ;
 
+       size = skip_ctx ? sizeof(op->desc) : sizeof(*op);
+
        tdma = chain->last;
        tdma->op = op;
-       tdma->byte_cnt = (skip_ctx ? sizeof(op->desc) : sizeof(*op)) | BIT(31);
+       tdma->byte_cnt = cpu_to_le32(size | BIT(31));
        tdma->src = cpu_to_le32(dma_handle);
        tdma->flags = CESA_TDMA_DST_IN_SRAM | CESA_TDMA_OP;
 
@@ -156,7 +159,7 @@ int mv_cesa_dma_add_data_transfer(struct mv_cesa_tdma_chain *chain,
        if (IS_ERR(tdma))
                return PTR_ERR(tdma);
 
-       tdma->byte_cnt = size | BIT(31);
+       tdma->byte_cnt = cpu_to_le32(size | BIT(31));
        tdma->src = src;
        tdma->dst = dst;
 
@@ -185,7 +188,7 @@ int mv_cesa_dma_add_dummy_end(struct mv_cesa_tdma_chain *chain, gfp_t flags)
        if (IS_ERR(tdma))
                return PTR_ERR(tdma);
 
-       tdma->byte_cnt = BIT(31);
+       tdma->byte_cnt = cpu_to_le32(BIT(31));
 
        return 0;
 }