aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/caam/regs.h
diff options
context:
space:
mode:
authorFranck LENORMAND <franck.lenormand@nxp.com>2020-07-22 15:14:52 +0300
committerHerbert Xu <herbert@gondor.apana.org.au>2020-07-31 18:25:27 +1000
commit81f2288805ca7f00f8f10e249488f0c6c2abf2aa (patch)
tree36cfbf71dfbe3c2de9e8e492c8ff8f7dd73b1a1a /drivers/crypto/caam/regs.h
parentcrypto: ccp - use generic power management (diff)
downloadlinux-dev-81f2288805ca7f00f8f10e249488f0c6c2abf2aa.tar.xz
linux-dev-81f2288805ca7f00f8f10e249488f0c6c2abf2aa.zip
crypto: caam - remove deadcode on 32-bit platforms
When building on a platform with a 32bit DMA address, taking the upper 32 bits makes no sense. Signed-off-by: Franck LENORMAND <franck.lenormand@nxp.com> Signed-off-by: Horia Geantă <horia.geanta@nxp.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'drivers/crypto/caam/regs.h')
-rw-r--r--drivers/crypto/caam/regs.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/crypto/caam/regs.h b/drivers/crypto/caam/regs.h
index 0f810bc13b2b..af61f3a2c0d4 100644
--- a/drivers/crypto/caam/regs.h
+++ b/drivers/crypto/caam/regs.h
@@ -173,9 +173,14 @@ static inline u64 rd_reg64(void __iomem *reg)
static inline u64 cpu_to_caam_dma64(dma_addr_t value)
{
- if (caam_imx)
- return (((u64)cpu_to_caam32(lower_32_bits(value)) << 32) |
- (u64)cpu_to_caam32(upper_32_bits(value)));
+ if (caam_imx) {
+ u64 ret_val = (u64)cpu_to_caam32(lower_32_bits(value)) << 32;
+
+ if (IS_ENABLED(CONFIG_ARCH_DMA_ADDR_T_64BIT))
+ ret_val |= (u64)cpu_to_caam32(upper_32_bits(value));
+
+ return ret_val;
+ }
return cpu_to_caam64(value);
}