net/mlx5: Introduce ifc bits for using software vhca id
authorYishai Hadas <yishaih@nvidia.com>
Thu, 2 Jun 2022 09:41:00 +0000 (12:41 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 13 Jul 2022 22:56:45 +0000 (15:56 -0700)
Introduce ifc related stuff to enable using software vhca id
functionality.

Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Reviewed-by: Mark Bloch <mbloch@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
include/linux/mlx5/mlx5_ifc.h

index 8e87eb4..254cc22 100644 (file)
@@ -1826,7 +1826,14 @@ struct mlx5_ifc_cmd_hca_cap_2_bits {
        u8         max_reformat_remove_size[0x8];
        u8         max_reformat_remove_offset[0x8];
 
-       u8         reserved_at_c0[0x740];
+       u8         reserved_at_c0[0x160];
+
+       u8         reserved_at_220[0x1];
+       u8         sw_vhca_id_valid[0x1];
+       u8         sw_vhca_id[0xe];
+       u8         reserved_at_230[0x10];
+
+       u8         reserved_at_240[0x5c0];
 };
 
 enum mlx5_ifc_flow_destination_type {
@@ -3782,6 +3789,11 @@ struct mlx5_ifc_rmpc_bits {
        struct mlx5_ifc_wq_bits wq;
 };
 
+enum {
+       VHCA_ID_TYPE_HW = 0,
+       VHCA_ID_TYPE_SW = 1,
+};
+
 struct mlx5_ifc_nic_vport_context_bits {
        u8         reserved_at_0[0x5];
        u8         min_wqe_inline_mode[0x3];
@@ -3798,8 +3810,8 @@ struct mlx5_ifc_nic_vport_context_bits {
        u8         event_on_mc_address_change[0x1];
        u8         event_on_uc_address_change[0x1];
 
-       u8         reserved_at_40[0xc];
-
+       u8         vhca_id_type[0x1];
+       u8         reserved_at_41[0xb];
        u8         affiliation_criteria[0x4];
        u8         affiliated_vhca_id[0x10];
 
@@ -7259,7 +7271,12 @@ struct mlx5_ifc_init_hca_in_bits {
        u8         reserved_at_20[0x10];
        u8         op_mod[0x10];
 
-       u8         reserved_at_40[0x40];
+       u8         reserved_at_40[0x20];
+
+       u8         reserved_at_60[0x2];
+       u8         sw_vhca_id[0xe];
+       u8         reserved_at_70[0x10];
+
        u8         sw_owner_id[4][0x20];
 };