lkml.org 
[lkml]   [2019]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.0 25/66] net/mlx5: E-Switch, Fix esw manager vport indication for more vport commands
    Date
    From: Omri Kahalon <omrik@mellanox.com>

    [ Upstream commit eca4a928585ac08147e5cc8e2111ecbc6279ee31 ]

    Traditionally, the PF (Physical Function) which resides on vport 0 was
    the E-switch manager. Since the ECPF (Embedded CPU Physical Function),
    which resides on vport 0xfffe, was introduced as the E-Switch manager,
    the assumption that the E-switch manager is on vport 0 is incorrect.

    Since the eswitch code already uses the actual vport value, all we
    need is to always set other_vport=1.

    Signed-off-by: Omri Kahalon <omrik@mellanox.com>
    Reviewed-by: Max Gurtovoy <maxg@mellanox.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
    Signed-off-by: Sasha Levin (Microsoft) <sashal@kernel.org>
    ---
    drivers/net/ethernet/mellanox/mlx5/core/eswitch.c | 6 ++----
    1 file changed, 2 insertions(+), 4 deletions(-)

    diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
    index 13c48883ed61..619f96940b65 100644
    --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
    +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c
    @@ -81,8 +81,7 @@ static int arm_vport_context_events_cmd(struct mlx5_core_dev *dev, u16 vport,
    opcode, MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT);
    MLX5_SET(modify_nic_vport_context_in, in, field_select.change_event, 1);
    MLX5_SET(modify_nic_vport_context_in, in, vport_number, vport);
    - if (vport)
    - MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1);
    + MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1);
    nic_vport_ctx = MLX5_ADDR_OF(modify_nic_vport_context_in,
    in, nic_vport_context);

    @@ -110,8 +109,7 @@ static int modify_esw_vport_context_cmd(struct mlx5_core_dev *dev, u16 vport,
    MLX5_SET(modify_esw_vport_context_in, in, opcode,
    MLX5_CMD_OP_MODIFY_ESW_VPORT_CONTEXT);
    MLX5_SET(modify_esw_vport_context_in, in, vport_number, vport);
    - if (vport)
    - MLX5_SET(modify_esw_vport_context_in, in, other_vport, 1);
    + MLX5_SET(modify_esw_vport_context_in, in, other_vport, 1);
    return mlx5_cmd_exec(dev, in, inlen, out, sizeof(out));
    }

    --
    2.19.1
    \
     
     \ /
      Last update: 2019-04-24 16:46    [W:4.113 / U:0.060 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site