layerscape: add patches-5.4
[openwrt/staging/wigyori.git] / target / linux / layerscape / patches-5.4 / 701-net-0026-sdk_dpaa-ls1043a-errata-fix-arm32-build.patch
diff --git a/target/linux/layerscape/patches-5.4/701-net-0026-sdk_dpaa-ls1043a-errata-fix-arm32-build.patch b/target/linux/layerscape/patches-5.4/701-net-0026-sdk_dpaa-ls1043a-errata-fix-arm32-build.patch
new file mode 100644 (file)
index 0000000..3799f8a
--- /dev/null
@@ -0,0 +1,39 @@
+From 211d0b5127a468cf0e2db20b4854252e6784cf08 Mon Sep 17 00:00:00 2001
+From: Camelia Groza <camelia.groza@nxp.com>
+Date: Mon, 4 Sep 2017 14:35:21 +0300
+Subject: [PATCH] sdk_dpaa: ls1043a errata: fix arm32 build
+
+Signed-off-by: Camelia Groza <camelia.groza@nxp.com>
+---
+ drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h    | 6 ++----
+ drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c | 2 +-
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h
++++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth.h
+@@ -689,12 +689,10 @@ static inline void _dpa_bp_free_pf(void
+ #ifndef CONFIG_PPC
+ extern bool dpaa_errata_a010022; /* SoC affected by A010022 errata */
+-
+ #define NONREC_MARK   0x01
+ #define HAS_DMA_ISSUE(start, size) \
+-      (((u64)(start) + (size)) > (((u64)(start) + 0x1000) & ~0xFFF))
+-#define BOUNDARY_4K(start, size) (((u64)(start) + (u64)(size)) & ~0xFFF)
+-
++      (((uintptr_t)(start) + (size)) > \
++       (((uintptr_t)(start) + 0x1000) & ~0xFFF))
+ #endif  /* !CONFIG_PPC */
+ #endif        /* __DPA_H */
+--- a/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
++++ b/drivers/net/ethernet/freescale/sdk_dpaa/dpaa_eth_sg.c
+@@ -757,7 +757,7 @@ static bool a010022_check_skb(struct sk_
+       skb_frag_t *frag;
+       /* Check if the headroom is aligned */
+-      if (((u16)skb->data - priv->tx_headroom) %
++      if (((uintptr_t)skb->data - priv->tx_headroom) %
+           priv->buf_layout[TX].data_align != 0)
+               return true;