RDMA/mlx5: Support querying per-plane IB PortCounters
authorMark Zhang <markzhang@nvidia.com>
Thu, 31 Oct 2024 09:48:14 +0000 (11:48 +0200)
committerLeon Romanovsky <leon@kernel.org>
Mon, 4 Nov 2024 11:57:20 +0000 (06:57 -0500)
On a SMI device, set requested plane_num when querying PPCNT register
with the PortCounters Attribute group.

Signed-off-by: Mark Zhang <markzhang@nvidia.com>
Reviewed-by: Maher Sanalla <msanalla@nvidia.com>
Link: https://patch.msgid.link/828d57444a0a41042556bb0a4394ecf2fcaed639.1730368052.git.leon@kernel.org
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/mlx5/mad.c

index 1b6c5e3..2453ae4 100644 (file)
@@ -278,7 +278,13 @@ static int process_pma_cmd(struct mlx5_ib_dev *dev, u32 port_num,
                        goto done;
                }
 
-               err = query_ib_ppcnt(mdev, mdev_port_num, 0, out_cnt, sz, 0);
+               if (dev->ib_dev.type == RDMA_DEVICE_TYPE_SMI)
+                       err = query_ib_ppcnt(mdev, mdev_port_num, port_num,
+                                            out_cnt, sz, 0);
+               else
+                       err = query_ib_ppcnt(mdev, mdev_port_num, 0,
+                                            out_cnt, sz, 0);
+
                if (!err)
                        pma_cnt_assign(pma_cnt, out_cnt);
        }