From: Danielle Ratson <[email protected]>

Currently, port attributes like flavour, port number and whether the
port was split are set when initializing a port.

Set the width of the port as well so that it could be easily passed to
devlink in the next patch.

Signed-off-by: Danielle Ratson <[email protected]>
Reviewed-by: Jiri Pirko <[email protected]>
Signed-off-by: Ido Schimmel <[email protected]>
---
 drivers/net/ethernet/mellanox/mlxsw/core.c     | 6 ++++--
 drivers/net/ethernet/mellanox/mlxsw/core.h     | 1 +
 drivers/net/ethernet/mellanox/mlxsw/minimal.c  | 2 +-
 drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 1 +
 drivers/net/ethernet/mellanox/mlxsw/switchib.c | 2 +-
 drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 2 +-
 6 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c 
b/drivers/net/ethernet/mellanox/mlxsw/core.c
index e9ccd333f61d..8f1ef90c7f5a 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/core.c
@@ -2122,6 +2122,7 @@ static int __mlxsw_core_port_init(struct mlxsw_core 
*mlxsw_core, u8 local_port,
                                  enum devlink_port_flavour flavour,
                                  u32 port_number, bool split,
                                  u32 split_port_subnumber,
+                                 u32 width,
                                  const unsigned char *switch_id,
                                  unsigned char switch_id_len)
 {
@@ -2154,13 +2155,14 @@ static void __mlxsw_core_port_fini(struct mlxsw_core 
*mlxsw_core, u8 local_port)
 int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port,
                         u32 port_number, bool split,
                         u32 split_port_subnumber,
+                        u32 width,
                         const unsigned char *switch_id,
                         unsigned char switch_id_len)
 {
        return __mlxsw_core_port_init(mlxsw_core, local_port,
                                      DEVLINK_PORT_FLAVOUR_PHYSICAL,
                                      port_number, split, split_port_subnumber,
-                                     switch_id, switch_id_len);
+                                     width, switch_id, switch_id_len);
 }
 EXPORT_SYMBOL(mlxsw_core_port_init);
 
@@ -2181,7 +2183,7 @@ int mlxsw_core_cpu_port_init(struct mlxsw_core 
*mlxsw_core,
 
        err = __mlxsw_core_port_init(mlxsw_core, MLXSW_PORT_CPU_PORT,
                                     DEVLINK_PORT_FLAVOUR_CPU,
-                                    0, false, 0,
+                                    0, false, 0, 0,
                                     switch_id, switch_id_len);
        if (err)
                return err;
diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.h 
b/drivers/net/ethernet/mellanox/mlxsw/core.h
index 22b0dfa7cfae..28f7b1c156b0 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/core.h
+++ b/drivers/net/ethernet/mellanox/mlxsw/core.h
@@ -193,6 +193,7 @@ void *mlxsw_core_port_driver_priv(struct mlxsw_core_port 
*mlxsw_core_port);
 int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port,
                         u32 port_number, bool split,
                         u32 split_port_subnumber,
+                        u32 width,
                         const unsigned char *switch_id,
                         unsigned char switch_id_len);
 void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port);
diff --git a/drivers/net/ethernet/mellanox/mlxsw/minimal.c 
b/drivers/net/ethernet/mellanox/mlxsw/minimal.c
index c4caeeadcba9..f9c9d7baf3be 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/minimal.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/minimal.c
@@ -164,7 +164,7 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, 
u8 module)
        int err;
 
        err = mlxsw_core_port_init(mlxsw_m->core, local_port,
-                                  module + 1, false, 0,
+                                  module + 1, false, 0, 0,
                                   mlxsw_m->base_mac,
                                   sizeof(mlxsw_m->base_mac));
        if (err) {
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c 
b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
index f78bde8bc16e..52e1c8263963 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c
@@ -3250,6 +3250,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp 
*mlxsw_sp, u8 local_port,
        err = mlxsw_core_port_init(mlxsw_sp->core, local_port,
                                   port_mapping->module + 1, split,
                                   port_mapping->lane / port_mapping->width,
+                                  port_mapping->width,
                                   mlxsw_sp->base_mac,
                                   sizeof(mlxsw_sp->base_mac));
        if (err) {
diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchib.c 
b/drivers/net/ethernet/mellanox/mlxsw/switchib.c
index 4ff1e623aa76..1b446e6071b2 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/switchib.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/switchib.c
@@ -281,7 +281,7 @@ static int mlxsw_sib_port_create(struct mlxsw_sib 
*mlxsw_sib, u8 local_port,
        int err;
 
        err = mlxsw_core_port_init(mlxsw_sib->core, local_port,
-                                  module + 1, false, 0,
+                                  module + 1, false, 0, 0,
                                   mlxsw_sib->hw_id, sizeof(mlxsw_sib->hw_id));
        if (err) {
                dev_err(mlxsw_sib->bus_info->dev, "Port %d: Failed to init core 
port\n",
diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c 
b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c
index 90535820b559..5ec161409954 100644
--- a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c
+++ b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c
@@ -1107,7 +1107,7 @@ static int mlxsw_sx_port_eth_create(struct mlxsw_sx 
*mlxsw_sx, u8 local_port,
        int err;
 
        err = mlxsw_core_port_init(mlxsw_sx->core, local_port,
-                                  module + 1, false, 0,
+                                  module + 1, false, 0, 0,
                                   mlxsw_sx->hw_id, sizeof(mlxsw_sx->hw_id));
        if (err) {
                dev_err(mlxsw_sx->bus_info->dev, "Port %d: Failed to init core 
port\n",
-- 
2.26.2

Reply via email to