OSDN Git Service

crypto: ccree - use existing helpers to split 64-bit addresses
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 11 Feb 2020 18:19:04 +0000 (19:19 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 22 Feb 2020 01:25:43 +0000 (09:25 +0800)
Use the existing lower_32_bits() and upper_32_bits() macros instead of
explicit casts and shifts to split a 64-bit address in its two 32-bit
parts.
Drop the superfluous cast to "u16", as the FIELD_PREP() macro already
masks it to the specified field width.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/ccree/cc_hw_queue_defs.h

index 9f4db99..e3ec2a8 100644 (file)
@@ -239,9 +239,9 @@ static inline void set_din_type(struct cc_hw_desc *pdesc,
                                enum cc_dma_mode dma_mode, dma_addr_t addr,
                                u32 size, enum cc_axi_sec axi_sec)
 {
-       pdesc->word[0] = (u32)addr;
+       pdesc->word[0] = lower_32_bits(addr);
 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
-       pdesc->word[5] |= FIELD_PREP(WORD5_DIN_ADDR_HIGH, ((u16)(addr >> 32)));
+       pdesc->word[5] |= FIELD_PREP(WORD5_DIN_ADDR_HIGH, upper_32_bits(addr));
 #endif
        pdesc->word[1] |= FIELD_PREP(WORD1_DIN_DMA_MODE, dma_mode) |
                                FIELD_PREP(WORD1_DIN_SIZE, size) |
@@ -336,9 +336,9 @@ static inline void set_dout_type(struct cc_hw_desc *pdesc,
                                 enum cc_dma_mode dma_mode, dma_addr_t addr,
                                 u32 size, enum cc_axi_sec axi_sec)
 {
-       pdesc->word[2] = (u32)addr;
+       pdesc->word[2] = lower_32_bits(addr);
 #ifdef CONFIG_ARCH_DMA_ADDR_T_64BIT
-       pdesc->word[5] |= FIELD_PREP(WORD5_DOUT_ADDR_HIGH, ((u16)(addr >> 32)));
+       pdesc->word[5] |= FIELD_PREP(WORD5_DOUT_ADDR_HIGH, upper_32_bits(addr));
 #endif
        pdesc->word[3] |= FIELD_PREP(WORD3_DOUT_DMA_MODE, dma_mode) |
                                FIELD_PREP(WORD3_DOUT_SIZE, size) |