]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net/mlx5: DR, Replace local WIRE_PORT macro with the existing MLX5_VPORT_UPLINK
authorYevgeny Kliteynik <kliteyn@nvidia.com>
Wed, 22 Sep 2021 23:23:23 +0000 (02:23 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Feb 2024 07:54:28 +0000 (08:54 +0100)
[ Upstream commit 7ae8ac9a582088c85154970982766617c9ebf8dc ]

SW steering defines its own macro for uplink vport number.
Replace this macro with an already existing mlx5 macro.

Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Stable-dep-of: 5b2a2523eeea ("net/mlx5: DR, Can't go to uplink vport on RX rule")
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_rule.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h

index 380e3294df433e78fdcb625a4577987982729823..3f074d09a5fcdcf4af21b32822d3408d4dd47282 100644 (file)
@@ -670,7 +670,7 @@ int mlx5dr_actions_build_ste_arr(struct mlx5dr_matcher *matcher,
                        attr.hit_gvmi = action->vport->caps->vhca_gvmi;
                        dest_action = action;
                        if (rx_rule) {
-                               if (action->vport->caps->num == WIRE_PORT) {
+                               if (action->vport->caps->num == MLX5_VPORT_UPLINK) {
                                        mlx5dr_dbg(dmn, "Device doesn't support Loopback on WIRE vport\n");
                                        return -EOPNOTSUPP;
                                }
index ea1b8ca5bf3aa7bf82d184d1d933b8d9b47997d4..fe2c2b4113f5d304e1dff93658058e2c337d367f 100644 (file)
@@ -171,7 +171,7 @@ static int dr_domain_query_vports(struct mlx5dr_domain *dmn)
 
        /* Last vport is the wire port */
        wire_vport = &dmn->info.caps.vports_caps[vport];
-       wire_vport->num = WIRE_PORT;
+       wire_vport->num = MLX5_VPORT_UPLINK;
        wire_vport->icm_address_rx = esw_caps->uplink_icm_address_rx;
        wire_vport->icm_address_tx = esw_caps->uplink_icm_address_tx;
        wire_vport->vport_gvmi = 0;
index aca80efc28fa5e19cae06df27f98ef0f1d39655e..323ea138ad999e72524201b40f9c6506a4dd801d 100644 (file)
@@ -1042,10 +1042,10 @@ static bool dr_rule_skip(enum mlx5dr_domain_type domain,
                return false;
 
        if (mask->misc.source_port) {
-               if (rx && value->misc.source_port != WIRE_PORT)
+               if (rx && value->misc.source_port != MLX5_VPORT_UPLINK)
                        return true;
 
-               if (!rx && value->misc.source_port == WIRE_PORT)
+               if (!rx && value->misc.source_port == MLX5_VPORT_UPLINK)
                        return true;
        }
 
index 9e2102f8bed1c03f2ae365aaf5ae845a5179d91a..175b9450c9aab37c1c593c714e251783fe2707b7 100644 (file)
@@ -4,7 +4,7 @@
 #ifndef        _DR_TYPES_
 #define        _DR_TYPES_
 
-#include <linux/mlx5/driver.h>
+#include <linux/mlx5/vport.h>
 #include <linux/refcount.h>
 #include "fs_core.h"
 #include "wq.h"
@@ -14,7 +14,6 @@
 
 #define DR_RULE_MAX_STES 18
 #define DR_ACTION_MAX_STES 5
-#define WIRE_PORT 0xFFFF
 #define DR_STE_SVLAN 0x1
 #define DR_STE_CVLAN 0x2
 #define DR_SZ_MATCH_PARAM (MLX5_ST_SZ_DW_MATCH_PARAM * 4)
@@ -1116,10 +1115,10 @@ static inline struct mlx5dr_cmd_vport_cap *
 mlx5dr_get_vport_cap(struct mlx5dr_cmd_caps *caps, u32 vport)
 {
        if (!caps->vports_caps ||
-           (vport >= caps->num_vports && vport != WIRE_PORT))
+           (vport >= caps->num_vports && vport != MLX5_VPORT_UPLINK))
                return NULL;
 
-       if (vport == WIRE_PORT)
+       if (vport == MLX5_VPORT_UPLINK)
                vport = caps->num_vports;
 
        return &caps->vports_caps[vport];