Updated backports with RHEL8.0 support
authorVladimir Sokolovsky <vlad@mellanox.com>
Wed, 4 Sep 2019 20:49:12 +0000 (15:49 -0500)
committerVladimir Sokolovsky <vlad@mellanox.com>
Wed, 4 Sep 2019 20:49:12 +0000 (15:49 -0500)
Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
patches/0002-BACKPORT-ib_core.patch
patches/0004-BACKPORT-mlx4.patch
patches/0008-BACKPORT-mlxfw.patch

index 3020e08..3ce7fa8 100644 (file)
@@ -979,7 +979,7 @@ index xxxxxxx..xxxxxxx 100644
  #ifdef CONFIG_TRACEPOINTS
  static void create_mad_addr_info(struct ib_mad_send_wr_private *mad_send_wr,
                          struct ib_mad_qp_info *qp_info,
-+#ifdef HAVE_TRACE_EVENT_RAW_IB_MAD_SEND_TEMPLATE
++#ifdef HAVE_TRACE_EVENTS_H
                          struct trace_event_raw_ib_mad_send_template *entry)
 +#else
 +                        struct ftrace_raw_ib_mad_send_template *entry)
@@ -3861,7 +3861,7 @@ index xxxxxxx..xxxxxxx 100644
  #include <rdma/ib_mad.h>
  
  #ifdef CONFIG_TRACEPOINTS
-+#ifdef HAVE_TRACE_EVENT_RAW_IB_MAD_SEND_TEMPLATE
++#ifdef HAVE_TRACE_EVENTS_H
  struct trace_event_raw_ib_mad_send_template;
  static void create_mad_addr_info(struct ib_mad_send_wr_private *mad_send_wr,
                          struct ib_mad_qp_info *qp_info,
index c96ad75..236aef8 100644 (file)
@@ -10,13 +10,13 @@ Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
  .../net/ethernet/mellanox/mlx4/en_netdev.c    | 425 +++++++++++++++++-
  drivers/net/ethernet/mellanox/mlx4/en_rx.c    |  74 ++-
  .../net/ethernet/mellanox/mlx4/en_selftest.c  |   4 +-
- drivers/net/ethernet/mellanox/mlx4/en_tx.c    |  40 ++
+ drivers/net/ethernet/mellanox/mlx4/en_tx.c    |  42 +-
  drivers/net/ethernet/mellanox/mlx4/eq.c       |   4 +
  drivers/net/ethernet/mellanox/mlx4/icm.c      |   2 +
  drivers/net/ethernet/mellanox/mlx4/main.c     |  35 ++
  drivers/net/ethernet/mellanox/mlx4/mlx4.h     |   4 +
- drivers/net/ethernet/mellanox/mlx4/mlx4_en.h  |  29 ++
- 13 files changed, 683 insertions(+), 8 deletions(-)
+ drivers/net/ethernet/mellanox/mlx4/mlx4_en.h  |  31 +-
+ 13 files changed, 685 insertions(+), 10 deletions(-)
 
 diff --git a/drivers/net/ethernet/mellanox/mlx4/catas.c b/drivers/net/ethernet/mellanox/mlx4/catas.c
 index xxxxxxx..xxxxxxx 100644
@@ -1610,6 +1610,7 @@ index xxxxxxx..xxxxxxx 100644
  
 +#ifdef NDO_SELECT_QUEUE_HAS_3_PARMS_NO_FALLBACK
  u16 mlx4_en_select_queue(struct net_device *dev, struct sk_buff *skb,
+-                       struct net_device *sb_dev)
 +                     struct net_device *sb_dev)
 +
 +#elif defined(NDO_SELECT_QUEUE_HAS_ACCEL_PRIV) || defined(HAVE_SELECT_QUEUE_FALLBACK_T)
@@ -1617,7 +1618,7 @@ index xxxxxxx..xxxxxxx 100644
 +u16 mlx4_en_select_queue(struct net_device *dev, struct sk_buff *skb,
 +#ifdef HAVE_SELECT_QUEUE_FALLBACK_T
 +#ifdef HAVE_SELECT_QUEUE_NET_DEVICE
-                        struct net_device *sb_dev)
++                       struct net_device *sb_dev,
 +#else
 +                     void *accel_priv,
 +#endif /* HAVE_SELECT_QUEUE_NET_DEVICE */
@@ -1951,13 +1952,14 @@ index xxxxxxx..xxxxxxx 100644
  void mlx4_en_tx_irq(struct mlx4_cq *mcq);
 +#ifdef NDO_SELECT_QUEUE_HAS_3_PARMS_NO_FALLBACK
  u16 mlx4_en_select_queue(struct net_device *dev, struct sk_buff *skb,
+-                       struct net_device *sb_dev);
 +                     struct net_device *sb_dev);
 +#elif defined(NDO_SELECT_QUEUE_HAS_ACCEL_PRIV) || defined(HAVE_SELECT_QUEUE_FALLBACK_T)
 +
 +u16 mlx4_en_select_queue(struct net_device *dev, struct sk_buff *skb,
 +#ifdef HAVE_SELECT_QUEUE_FALLBACK_T
 +#ifdef HAVE_SELECT_QUEUE_NET_DEVICE
-                        struct net_device *sb_dev);
++                       struct net_device *sb_dev,
 +#else
 +                     void *accel_priv,
 +#endif /* HAVE_SELECT_QUEUE_NET_DEVICE */
index b34f14d..f72fcb3 100644 (file)
@@ -4,9 +4,9 @@ Subject: [PATCH] BACKPORT: mlxfw
 Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.com>
 ---
  drivers/net/ethernet/mellanox/mlxfw/mlxfw.h   |  5 ++
- .../net/ethernet/mellanox/mlxfw/mlxfw_fsm.c   | 59 +++++++++++++++++++
+ .../net/ethernet/mellanox/mlxfw/mlxfw_fsm.c   | 62 +++++++++++++++++++
  .../net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c  |  3 +
- 3 files changed, 67 insertions(+)
+ 3 files changed, 70 insertions(+)
 
 diff --git a/drivers/net/ethernet/mellanox/mlxfw/mlxfw.h b/drivers/net/ethernet/mellanox/mlxfw/mlxfw.h
 index xxxxxxx..xxxxxxx 100644
@@ -32,7 +32,17 @@ diff --git a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c b/drivers/net/ether
 index xxxxxxx..xxxxxxx 100644
 --- a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
 +++ b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_fsm.c
-@@ -49,9 +49,14 @@ static void mlxfw_status_notify(struct mlxfw_dev *mlxfw_dev,
+@@ -1,6 +1,9 @@
+ // SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0
+ /* Copyright (c) 2017-2019 Mellanox Technologies. All rights reserved */
++#ifdef pr_fmt
++#undef pr_fmt
++#endif
+ #define pr_fmt(fmt) "mlxfw: " fmt
+ #include <linux/kernel.h>
+@@ -49,9 +52,14 @@ static void mlxfw_status_notify(struct mlxfw_dev *mlxfw_dev,
                                      done_bytes, total_bytes);
  }
  
@@ -47,7 +57,7 @@ index xxxxxxx..xxxxxxx 100644
  {
        enum mlxfw_fsm_state_err fsm_state_err;
        enum mlxfw_fsm_state curr_fsm_state;
-@@ -68,13 +73,17 @@ retry:
+@@ -68,13 +76,17 @@ retry:
        if (fsm_state_err != MLXFW_FSM_STATE_ERR_OK) {
                pr_err("Firmware flash failed: %s\n",
                       mlxfw_fsm_state_err_str[fsm_state_err]);
@@ -65,7 +75,7 @@ index xxxxxxx..xxxxxxx 100644
                        return -ETIMEDOUT;
                }
                msleep(MLXFW_FSM_STATE_WAIT_CYCLE_MS);
-@@ -87,10 +96,16 @@ retry:
+@@ -87,10 +99,16 @@ retry:
  #define MLXFW_ALIGN_UP(x, align_bits) \
                MLXFW_ALIGN_DOWN((x) + ((1 << (align_bits)) - 1), (align_bits))
  
@@ -82,7 +92,7 @@ index xxxxxxx..xxxxxxx 100644
  {
        u16 comp_max_write_size;
        u8 comp_align_bits;
-@@ -113,7 +128,9 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
+@@ -113,7 +131,9 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
        if (comp->data_size > comp_max_size) {
                pr_err("Component %d is of size %d which is bigger than limit %d\n",
                       comp->index, comp->data_size, comp_max_size);
@@ -92,7 +102,7 @@ index xxxxxxx..xxxxxxx 100644
                return -EINVAL;
        }
  
-@@ -129,7 +146,11 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
+@@ -129,7 +149,11 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
                return err;
  
        err = mlxfw_fsm_state_wait(mlxfw_dev, fwhandle,
@@ -104,7 +114,7 @@ index xxxxxxx..xxxxxxx 100644
        if (err)
                goto err_out;
  
-@@ -160,7 +181,11 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
+@@ -160,7 +184,11 @@ static int mlxfw_flash_component(struct mlxfw_dev *mlxfw_dev,
                goto err_out;
  
        err = mlxfw_fsm_state_wait(mlxfw_dev, fwhandle,
@@ -116,7 +126,7 @@ index xxxxxxx..xxxxxxx 100644
        if (err)
                goto err_out;
        return 0;
-@@ -170,9 +195,14 @@ err_out:
+@@ -170,9 +198,14 @@ err_out:
        return err;
  }
  
@@ -131,7 +141,7 @@ index xxxxxxx..xxxxxxx 100644
  {
        u32 component_count;
        int err;
-@@ -183,7 +213,9 @@ static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
+@@ -183,7 +216,9 @@ static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
                                              &component_count);
        if (err) {
                pr_err("Could not find device PSID in MFA2 file\n");
@@ -141,7 +151,7 @@ index xxxxxxx..xxxxxxx 100644
                return err;
        }
  
-@@ -196,7 +228,11 @@ static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
+@@ -196,7 +231,11 @@ static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
                        return PTR_ERR(comp);
  
                pr_info("Flashing component type %d\n", comp->index);
@@ -153,7 +163,7 @@ index xxxxxxx..xxxxxxx 100644
                mlxfw_mfa2_file_component_put(comp);
                if (err)
                        return err;
-@@ -204,9 +240,14 @@ static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
+@@ -204,9 +243,14 @@ static int mlxfw_flash_components(struct mlxfw_dev *mlxfw_dev, u32 fwhandle,
        return 0;
  }
  
@@ -168,7 +178,7 @@ index xxxxxxx..xxxxxxx 100644
  {
        struct mlxfw_mfa2_file *mfa2_file;
        u32 fwhandle;
-@@ -214,7 +255,9 @@ int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
+@@ -214,7 +258,9 @@ int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
  
        if (!mlxfw_mfa2_check(firmware)) {
                pr_err("Firmware file is not MFA2\n");
@@ -178,7 +188,7 @@ index xxxxxxx..xxxxxxx 100644
                return -EINVAL;
        }
  
-@@ -228,16 +271,26 @@ int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
+@@ -228,16 +274,26 @@ int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
        err = mlxfw_dev->ops->fsm_lock(mlxfw_dev, &fwhandle);
        if (err) {
                pr_err("Could not lock the firmware FSM\n");
@@ -205,7 +215,7 @@ index xxxxxxx..xxxxxxx 100644
        if (err)
                goto err_flash_components;
  
-@@ -246,12 +299,18 @@ int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
+@@ -246,12 +302,18 @@ int mlxfw_firmware_flash(struct mlxfw_dev *mlxfw_dev,
        err = mlxfw_dev->ops->fsm_activate(mlxfw_dev, fwhandle);
        if (err) {
                pr_err("Could not activate the downloaded image\n");