RDMA/mlx5: Add support to get MR resource in RAW format
authorMaor Gottlieb <maorg@mellanox.com>
Tue, 23 Jun 2020 11:30:43 +0000 (14:30 +0300)
committerJason Gunthorpe <jgg@nvidia.com>
Wed, 24 Jun 2020 11:52:29 +0000 (08:52 -0300)
Add support to get MR (mkey) resource dump in RAW format.

Link: https://lore.kernel.org/r/20200623113043.1228482-12-leon@kernel.org
Signed-off-by: Maor Gottlieb <maorg@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/infiniband/hw/mlx5/main.c
drivers/infiniband/hw/mlx5/mlx5_ib.h
drivers/infiniband/hw/mlx5/restrack.c

index 30e0645..9dbc87c 100644 (file)
@@ -6600,6 +6600,7 @@ static const struct ib_device_ops mlx5_ib_dev_ops = {
        .enable_driver = mlx5_ib_enable_driver,
        .fill_res_cq_entry_raw = mlx5_ib_fill_res_cq_entry_raw,
        .fill_res_mr_entry = mlx5_ib_fill_res_mr_entry,
+       .fill_res_mr_entry_raw = mlx5_ib_fill_res_mr_entry_raw,
        .fill_res_qp_entry_raw = mlx5_ib_fill_res_qp_entry_raw,
        .fill_stat_mr_entry = mlx5_ib_fill_stat_mr_entry,
        .get_dev_fw_str = get_dev_fw_str,
index c6b2102..2fd199c 100644 (file)
@@ -1376,6 +1376,7 @@ struct mlx5_core_dev *mlx5_ib_get_native_port_mdev(struct mlx5_ib_dev *dev,
 void mlx5_ib_put_native_port_mdev(struct mlx5_ib_dev *dev,
                                  u8 port_num);
 int mlx5_ib_fill_res_mr_entry(struct sk_buff *msg, struct ib_mr *ib_mr);
+int mlx5_ib_fill_res_mr_entry_raw(struct sk_buff *msg, struct ib_mr *ib_mr);
 int mlx5_ib_fill_res_qp_entry_raw(struct sk_buff *msg, struct ib_qp *ibqp);
 int mlx5_ib_fill_res_cq_entry_raw(struct sk_buff *msg, struct ib_cq *ibcq);
 int mlx5_ib_fill_stat_mr_entry(struct sk_buff *msg, struct ib_mr *ib_mr);
index 7db4965..224a639 100644 (file)
@@ -109,6 +109,14 @@ err:
        return -EMSGSIZE;
 }
 
+int mlx5_ib_fill_res_mr_entry_raw(struct sk_buff *msg, struct ib_mr *ibmr)
+{
+       struct mlx5_ib_mr *mr = to_mmr(ibmr);
+
+       return fill_res_raw(msg, mr->dev, MLX5_SGMT_TYPE_PRM_QUERY_MKEY,
+                           mlx5_mkey_to_idx(mr->mmkey.key));
+}
+
 int mlx5_ib_fill_res_mr_entry(struct sk_buff *msg,
                              struct ib_mr *ibmr)
 {