layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 804-crypto-0011-MLK-20204-crypto-caam-remove-deadcode-on-32-bit-plat.patch
diff --git a/target/linux/layerscape/patches-5.4/804-crypto-0011-MLK-20204-crypto-caam-remove-deadcode-on-32-bit-plat.patch b/target/linux/layerscape/patches-5.4/804-crypto-0011-MLK-20204-crypto-caam-remove-deadcode-on-32-bit-plat.patch
new file mode 100644 (file)
index 0000000..1adf634
--- /dev/null
@@ -0,0 +1,42 @@
+From 4269eb560ac34c5974559fe256811c1ac5d764ed Mon Sep 17 00:00:00 2001
+From: Franck LENORMAND <franck.lenormand@nxp.com>
+Date: Fri, 23 Nov 2018 16:06:45 +0100
+Subject: [PATCH] MLK-20204 crypto: caam - remove deadcode on 32-bit platforms
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+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>
+(cherry picked from commit d3346aaa3fbfaf9b7f827d8554f076e3fc82c35b)
+
+-replace ifdeffery with IS_ENABLED() macro
+-change commit headline prefix
+
+Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
+---
+ drivers/crypto/caam/regs.h | 11 ++++++++---
+ 1 file changed, 8 insertions(+), 3 deletions(-)
+
+--- a/drivers/crypto/caam/regs.h
++++ b/drivers/crypto/caam/regs.h
+@@ -173,9 +173,14 @@ static inline u64 rd_reg64(void __iomem
+ 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);
+ }