{IB,net}/mlx5: Move asynchronous mkey creation to mlx5_ib
authorMichael Guralnik <michaelgur@mellanox.com>
Tue, 10 Mar 2020 08:22:30 +0000 (10:22 +0200)
committerLeon Romanovsky <leonro@mellanox.com>
Fri, 13 Mar 2020 13:48:10 +0000 (15:48 +0200)
As mlx5_ib is the only user of the mlx5_core_create_mkey_cb, move the
logic inside mlx5_ib and cleanup the code in mlx5_core.

Signed-off-by: Michael Guralnik <michaelgur@mellanox.com>
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
drivers/infiniband/hw/mlx5/mr.c
drivers/net/ethernet/mellanox/mlx5/core/mr.c
include/linux/mlx5/driver.h

index 1b83d00..8508af5 100644 (file)
@@ -81,10 +81,10 @@ mlx5_ib_create_mkey_cb(struct mlx5_ib_dev *dev,
                       u32 *in, int inlen, u32 *out, int outlen,
                       struct mlx5_async_work *context)
 {
+       MLX5_SET(create_mkey_in, in, opcode, MLX5_CMD_OP_CREATE_MKEY);
        assign_mkey_variant(dev, mkey, in);
-       return mlx5_core_create_mkey_cb(dev->mdev, mkey, async_ctx,
-                                       in, inlen, out, outlen,
-                                       create_mkey_callback, context);
+       return mlx5_cmd_exec_cb(async_ctx, in, inlen, out, outlen,
+                               create_mkey_callback, context);
 }
 
 static void clean_mr(struct mlx5_ib_dev *dev, struct mlx5_ib_mr *mr);
index 51814d0..fd3e6d2 100644 (file)
 #include <linux/mlx5/cmd.h>
 #include "mlx5_core.h"
 
-int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev,
-                            struct mlx5_core_mkey *mkey,
-                            struct mlx5_async_ctx *async_ctx, u32 *in,
-                            int inlen, u32 *out, int outlen,
-                            mlx5_async_cbk_t callback,
-                            struct mlx5_async_work *context)
+int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
+                         struct mlx5_core_mkey *mkey,
+                         u32 *in, int inlen)
 {
        u32 lout[MLX5_ST_SZ_DW(create_mkey_out)] = {0};
        u32 mkey_index;
@@ -51,10 +48,6 @@ int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev,
 
        MLX5_SET(create_mkey_in, in, opcode, MLX5_CMD_OP_CREATE_MKEY);
 
-       if (callback)
-               return mlx5_cmd_exec_cb(async_ctx, in, inlen, out, outlen,
-                                       callback, context);
-
        err = mlx5_cmd_exec(dev, in, inlen, lout, sizeof(lout));
        if (err)
                return err;
@@ -70,15 +63,6 @@ int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev,
                      mkey_index, key, mkey->key);
        return 0;
 }
-EXPORT_SYMBOL(mlx5_core_create_mkey_cb);
-
-int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
-                         struct mlx5_core_mkey *mkey,
-                         u32 *in, int inlen)
-{
-       return mlx5_core_create_mkey_cb(dev, mkey, NULL, in, inlen,
-                                       NULL, 0, NULL, NULL);
-}
 EXPORT_SYMBOL(mlx5_core_create_mkey);
 
 int mlx5_core_destroy_mkey(struct mlx5_core_dev *dev,
index e044703..1de78f0 100644 (file)
@@ -943,12 +943,6 @@ struct mlx5_cmd_mailbox *mlx5_alloc_cmd_mailbox_chain(struct mlx5_core_dev *dev,
                                                      gfp_t flags, int npages);
 void mlx5_free_cmd_mailbox_chain(struct mlx5_core_dev *dev,
                                 struct mlx5_cmd_mailbox *head);
-int mlx5_core_create_mkey_cb(struct mlx5_core_dev *dev,
-                            struct mlx5_core_mkey *mkey,
-                            struct mlx5_async_ctx *async_ctx, u32 *in,
-                            int inlen, u32 *out, int outlen,
-                            mlx5_async_cbk_t callback,
-                            struct mlx5_async_work *context);
 int mlx5_core_create_mkey(struct mlx5_core_dev *dev,
                          struct mlx5_core_mkey *mkey,
                          u32 *in, int inlen);