]> git.itanic.dy.fi Git - linux-stable/commitdiff
net/mlx5: DR, Fix vport number data type to u16
authorYevgeny Kliteynik <kliteyn@nvidia.com>
Thu, 12 Aug 2021 00:15:11 +0000 (03:15 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Thu, 30 Sep 2021 23:18:58 +0000 (16:18 -0700)
According to the HW spec, vport number is a 16-bit value.
Fix vport usage all over the code to u16 data type.

Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Reviewed-by: Muhammad Sammar <muhammads@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_action.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_cmd.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_domain.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_fw.c
drivers/net/ethernet/mellanox/mlx5/core/steering/dr_types.h
drivers/net/ethernet/mellanox/mlx5/core/steering/mlx5dr.h

index a5b9f65db23c647d78b2e1e2db68b849f849f1ad..032b4a2546d36498dced8fa66469b3c9cbc95891 100644 (file)
@@ -1747,7 +1747,7 @@ mlx5dr_action_create_modify_header(struct mlx5dr_domain *dmn,
 
 struct mlx5dr_action *
 mlx5dr_action_create_dest_vport(struct mlx5dr_domain *dmn,
-                               u32 vport, u8 vhca_id_valid,
+                               u16 vport, u8 vhca_id_valid,
                                u16 vhca_id)
 {
        struct mlx5dr_cmd_vport_cap *vport_cap;
index 56307283bf9b359c536d66de4e51ea7f06d07b6f..0f69321b3269a008c6dcf1707a0ecac13bbe9c45 100644 (file)
@@ -272,7 +272,7 @@ int mlx5dr_cmd_set_fte_modify_and_vport(struct mlx5_core_dev *mdev,
                                        u32 table_id,
                                        u32 group_id,
                                        u32 modify_header_id,
-                                       u32 vport_id)
+                                       u16 vport)
 {
        u32 out[MLX5_ST_SZ_DW(set_fte_out)] = {};
        void *in_flow_context;
@@ -303,7 +303,7 @@ int mlx5dr_cmd_set_fte_modify_and_vport(struct mlx5_core_dev *mdev,
        in_dests = MLX5_ADDR_OF(flow_context, in_flow_context, destination);
        MLX5_SET(dest_format_struct, in_dests, destination_type,
                 MLX5_FLOW_DESTINATION_TYPE_VPORT);
-       MLX5_SET(dest_format_struct, in_dests, destination_id, vport_id);
+       MLX5_SET(dest_format_struct, in_dests, destination_id, vport);
 
        err = mlx5_cmd_exec(mdev, in, inlen, out, sizeof(out));
        kvfree(in);
index 0fe159809ba155a5de282f3819d8e7ec8e5dccf3..ca299d48057988c222ad15cc30cb2465193e9fa2 100644 (file)
@@ -38,7 +38,7 @@ static void dr_domain_uninit_cache(struct mlx5dr_domain *dmn)
 }
 
 int mlx5dr_domain_cache_get_recalc_cs_ft_addr(struct mlx5dr_domain *dmn,
-                                             u32 vport_num,
+                                             u16 vport_num,
                                              u64 *rx_icm_addr)
 {
        struct mlx5dr_fw_recalc_cs_ft *recalc_cs_ft;
index 0d6f86eb248b9a76cceb94a919420b2ebe180881..68a4c32d5f34c535f557cd199fb85dc011302527 100644 (file)
@@ -5,7 +5,7 @@
 #include "dr_types.h"
 
 struct mlx5dr_fw_recalc_cs_ft *
-mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u32 vport_num)
+mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u16 vport_num)
 {
        struct mlx5dr_cmd_create_flow_table_attr ft_attr = {};
        struct mlx5dr_fw_recalc_cs_ft *recalc_cs_ft;
index b20e8aabb861b6cd55cac43b9e7870eb643ed5cf..441c03e645dbdf9ce279aaab8ffd575acce91cd4 100644 (file)
@@ -752,9 +752,9 @@ struct mlx5dr_esw_caps {
 struct mlx5dr_cmd_vport_cap {
        u16 vport_gvmi;
        u16 vhca_gvmi;
+       u16 num;
        u64 icm_address_rx;
        u64 icm_address_tx;
-       u32 num;
 };
 
 struct mlx5dr_roce_cap {
@@ -1103,7 +1103,7 @@ mlx5dr_ste_htbl_may_grow(struct mlx5dr_ste_htbl *htbl)
 }
 
 static inline struct mlx5dr_cmd_vport_cap *
-mlx5dr_get_vport_cap(struct mlx5dr_cmd_caps *caps, u32 vport)
+mlx5dr_get_vport_cap(struct mlx5dr_cmd_caps *caps, u16 vport)
 {
        if (!caps->vports_caps ||
            (vport >= caps->num_vports && vport != WIRE_PORT))
@@ -1154,7 +1154,7 @@ int mlx5dr_cmd_set_fte_modify_and_vport(struct mlx5_core_dev *mdev,
                                        u32 table_id,
                                        u32 group_id,
                                        u32 modify_header_id,
-                                       u32 vport_id);
+                                       u16 vport_id);
 int mlx5dr_cmd_del_flow_table_entry(struct mlx5_core_dev *mdev,
                                    u32 table_type,
                                    u32 table_id);
@@ -1372,11 +1372,11 @@ struct mlx5dr_fw_recalc_cs_ft {
 };
 
 struct mlx5dr_fw_recalc_cs_ft *
-mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u32 vport_num);
+mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u16 vport_num);
 void mlx5dr_fw_destroy_recalc_cs_ft(struct mlx5dr_domain *dmn,
                                    struct mlx5dr_fw_recalc_cs_ft *recalc_cs_ft);
 int mlx5dr_domain_cache_get_recalc_cs_ft_addr(struct mlx5dr_domain *dmn,
-                                             u32 vport_num,
+                                             u16 vport_num,
                                              u64 *rx_icm_addr);
 int mlx5dr_fw_create_md_tbl(struct mlx5dr_domain *dmn,
                            struct mlx5dr_cmd_flow_destination_hw_info *dest,
index c5a8b160199911835512f41a64d170f74483ab32..c7c93131b762b64de9d11d2f71e44491f627788e 100644 (file)
@@ -89,7 +89,7 @@ mlx5dr_action_create_dest_flow_fw_table(struct mlx5dr_domain *domain,
 
 struct mlx5dr_action *
 mlx5dr_action_create_dest_vport(struct mlx5dr_domain *domain,
-                               u32 vport, u8 vhca_id_valid,
+                               u16 vport, u8 vhca_id_valid,
                                u16 vhca_id);
 
 struct mlx5dr_action *