net/mlx5: Introduce other vport query for Q-counters
authorPatrisious Haddad <phaddad@nvidia.com>
Thu, 23 Mar 2023 10:13:51 +0000 (12:13 +0200)
committerLeon Romanovsky <leon@kernel.org>
Wed, 29 Mar 2023 07:08:40 +0000 (10:08 +0300)
These new fields in QUERY_Q_COUNTER command allow us to access
another vport counters during the query command, which is specially
useful to query representor vports.

In addition also add the required caps to check if this capability
is actually supported.

Signed-off-by: Patrisious Haddad <phaddad@nvidia.com>
Reviewed-by: Michael Guralnik <michaelgur@nvidia.com>
Link: https://lore.kernel.org/r/75c73a4a0e60f18c37b35a4a11ca2e2415e4a6f3.1679566038.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
include/linux/mlx5/mlx5_ifc.h

index 62039b1..e4306cd 100644 (file)
@@ -1729,7 +1729,9 @@ struct mlx5_ifc_cmd_hca_cap_bits {
        u8         log_max_transport_domain[0x5];
        u8         reserved_at_328[0x3];
        u8         log_max_pd[0x5];
-       u8         reserved_at_330[0xb];
+       u8         reserved_at_330[0x9];
+       u8         q_counter_aggregation[0x1];
+       u8         q_counter_other_vport[0x1];
        u8         log_max_xrcd[0x5];
 
        u8         nic_receive_steering_discard[0x1];
@@ -5603,10 +5605,15 @@ struct mlx5_ifc_query_q_counter_in_bits {
        u8         reserved_at_20[0x10];
        u8         op_mod[0x10];
 
-       u8         reserved_at_40[0x80];
+       u8         other_vport[0x1];
+       u8         reserved_at_41[0xf];
+       u8         vport_number[0x10];
+
+       u8         reserved_at_60[0x60];
 
        u8         clear[0x1];
-       u8         reserved_at_c1[0x1f];
+       u8         aggregate[0x1];
+       u8         reserved_at_c2[0x1e];
 
        u8         reserved_at_e0[0x18];
        u8         counter_set_id[0x8];