net/mlx5: Refactor mlx5_core_mr to mkey
[cascardo/linux.git] / drivers / net / ethernet / mellanox / mlx5 / core / mr.c
index 6fa22b5..77a7293 100644 (file)
 #include <linux/mlx5/cmd.h>
 #include "mlx5_core.h"
 
-void mlx5_init_mr_table(struct mlx5_core_dev *dev)
+void mlx5_init_mkey_table(struct mlx5_core_dev *dev)
 {
-       struct mlx5_mr_table *table = &dev->priv.mr_table;
+       struct mlx5_mkey_table *table = &dev->priv.mkey_table;
 
        memset(table, 0, sizeof(*table));
        rwlock_init(&table->lock);
        INIT_RADIX_TREE(&table->tree, GFP_ATOMIC);
 }
 
-void mlx5_cleanup_mr_table(struct mlx5_core_dev *dev)
+void mlx5_cleanup_mkey_table(struct mlx5_core_dev *dev)
 {
 }
 
-int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
+int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
+                         struct mlx5_core_mkey *mkey,
                          struct mlx5_create_mkey_mbox_in *in, int inlen,
                          mlx5_cmd_cbk_t callback, void *context,
                          struct mlx5_create_mkey_mbox_out *out)
 {
-       struct mlx5_mr_table *table = &dev->priv.mr_table;
+       struct mlx5_mkey_table *table = &dev->priv.mkey_table;
        struct mlx5_create_mkey_mbox_out lout;
        int err;
        u8 key;
@@ -83,34 +84,35 @@ int mlx5_core_create_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
                return mlx5_cmd_status_to_err(&lout.hdr);
        }
 
-       mr->iova = be64_to_cpu(in->seg.start_addr);
-       mr->size = be64_to_cpu(in->seg.len);
-       mr->key = mlx5_idx_to_mkey(be32_to_cpu(lout.mkey) & 0xffffff) | key;
-       mr->pd = be32_to_cpu(in->seg.flags_pd) & 0xffffff;
+       mkey->iova = be64_to_cpu(in->seg.start_addr);
+       mkey->size = be64_to_cpu(in->seg.len);
+       mkey->key = mlx5_idx_to_mkey(be32_to_cpu(lout.mkey) & 0xffffff) | key;
+       mkey->pd = be32_to_cpu(in->seg.flags_pd) & 0xffffff;
 
        mlx5_core_dbg(dev, "out 0x%x, key 0x%x, mkey 0x%x\n",
-                     be32_to_cpu(lout.mkey), key, mr->key);
+                     be32_to_cpu(lout.mkey), key, mkey->key);
 
-       /* connect to MR tree */
+       /* connect to mkey tree */
        write_lock_irq(&table->lock);
-       err = radix_tree_insert(&table->tree, mlx5_base_mkey(mr->key), mr);
+       err = radix_tree_insert(&table->tree, mlx5_base_mkey(mkey->key), mkey);
        write_unlock_irq(&table->lock);
        if (err) {
-               mlx5_core_warn(dev, "failed radix tree insert of mr 0x%x, %d\n",
-                              mlx5_base_mkey(mr->key), err);
-               mlx5_core_destroy_mkey(dev, mr);
+               mlx5_core_warn(dev, "failed radix tree insert of mkey 0x%x, %d\n",
+                              mlx5_base_mkey(mkey->key), err);
+               mlx5_core_destroy_mkey(dev, mkey);
        }
 
        return err;
 }
 EXPORT_SYMBOL(mlx5_core_create_mkey);
 
-int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr)
+int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev,
+                          struct mlx5_core_mkey *mkey)
 {
-       struct mlx5_mr_table *table = &dev->priv.mr_table;
+       struct mlx5_mkey_table *table = &dev->priv.mkey_table;
        struct mlx5_destroy_mkey_mbox_in in;
        struct mlx5_destroy_mkey_mbox_out out;
-       struct mlx5_core_mr *deleted_mr;
+       struct mlx5_core_mkey *deleted_mkey;
        unsigned long flags;
        int err;
 
@@ -118,16 +120,16 @@ int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr)
        memset(&out, 0, sizeof(out));
 
        write_lock_irqsave(&table->lock, flags);
-       deleted_mr = radix_tree_delete(&table->tree, mlx5_base_mkey(mr->key));
+       deleted_mkey = radix_tree_delete(&table->tree, mlx5_base_mkey(mkey->key));
        write_unlock_irqrestore(&table->lock, flags);
-       if (!deleted_mr) {
-               mlx5_core_warn(dev, "failed radix tree delete of mr 0x%x\n",
-                              mlx5_base_mkey(mr->key));
+       if (!deleted_mkey) {
+               mlx5_core_warn(dev, "failed radix tree delete of mkey 0x%x\n",
+                              mlx5_base_mkey(mkey->key));
                return -ENOENT;
        }
 
        in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_DESTROY_MKEY);
-       in.mkey = cpu_to_be32(mlx5_mkey_to_idx(mr->key));
+       in.mkey = cpu_to_be32(mlx5_mkey_to_idx(mkey->key));
        err = mlx5_cmd_exec(dev, &in, sizeof(in), &out, sizeof(out));
        if (err)
                return err;
@@ -139,7 +141,7 @@ int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr)
 }
 EXPORT_SYMBOL(mlx5_core_destroy_mkey);
 
-int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
+int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *mkey,
                         struct mlx5_query_mkey_mbox_out *out, int outlen)
 {
        struct mlx5_query_mkey_mbox_in in;
@@ -149,7 +151,7 @@ int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
        memset(out, 0, outlen);
 
        in.hdr.opcode = cpu_to_be16(MLX5_CMD_OP_QUERY_MKEY);
-       in.mkey = cpu_to_be32(mlx5_mkey_to_idx(mr->key));
+       in.mkey = cpu_to_be32(mlx5_mkey_to_idx(mkey->key));
        err = mlx5_cmd_exec(dev, &in, sizeof(in), out, outlen);
        if (err)
                return err;
@@ -161,7 +163,7 @@ int mlx5_core_query_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
 }
 EXPORT_SYMBOL(mlx5_core_query_mkey);
 
-int mlx5_core_dump_fill_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mr *mr,
+int mlx5_core_dump_fill_mkey(struct mlx5_core_dev *dev, struct mlx5_core_mkey *_mkey,
                             u32 *mkey)
 {
        struct mlx5_query_special_ctxs_mbox_in in;