IB/mlx5: DEVX cleanup mdev
No need any more to hold mlx5_core_dev on the devx_object, it can be accessed from ib_dev. Signed-off-by: Yishai Hadas <yishaih@mellanox.com> Signed-off-by: Leon Romanovsky <leonro@mellanox.com> Reviewed-by: Jason Gunthorpe <jgg@mellanox.com> Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
ef1659ade3
commit
5832fdd35e
@ -91,7 +91,6 @@ struct devx_async_event_file {
|
||||
|
||||
#define MLX5_MAX_DESTROY_INBOX_SIZE_DW MLX5_ST_SZ_DW(delete_fte_in)
|
||||
struct devx_obj {
|
||||
struct mlx5_core_dev *mdev;
|
||||
struct mlx5_ib_dev *ib_dev;
|
||||
u64 obj_id;
|
||||
u32 dinlen; /* destroy inbox length */
|
||||
@ -1291,7 +1290,7 @@ static void devx_free_indirect_mkey(struct rcu_head *rcu)
|
||||
*/
|
||||
static void devx_cleanup_mkey(struct devx_obj *obj)
|
||||
{
|
||||
xa_erase(&obj->mdev->priv.mkey_table,
|
||||
xa_erase(&obj->ib_dev->mdev->priv.mkey_table,
|
||||
mlx5_base_mkey(obj->devx_mr.mmkey.key));
|
||||
}
|
||||
|
||||
@ -1340,12 +1339,12 @@ static int devx_obj_cleanup(struct ib_uobject *uobject,
|
||||
devx_cleanup_mkey(obj);
|
||||
|
||||
if (obj->flags & DEVX_OBJ_FLAGS_DCT)
|
||||
ret = mlx5_core_destroy_dct(obj->mdev, &obj->core_dct);
|
||||
ret = mlx5_core_destroy_dct(obj->ib_dev->mdev, &obj->core_dct);
|
||||
else if (obj->flags & DEVX_OBJ_FLAGS_CQ)
|
||||
ret = mlx5_core_destroy_cq(obj->mdev, &obj->core_cq);
|
||||
ret = mlx5_core_destroy_cq(obj->ib_dev->mdev, &obj->core_cq);
|
||||
else
|
||||
ret = mlx5_cmd_exec(obj->mdev, obj->dinbox, obj->dinlen, out,
|
||||
sizeof(out));
|
||||
ret = mlx5_cmd_exec(obj->ib_dev->mdev, obj->dinbox,
|
||||
obj->dinlen, out, sizeof(out));
|
||||
if (ib_is_destroy_retryable(ret, why, uobject))
|
||||
return ret;
|
||||
|
||||
@ -1456,7 +1455,6 @@ static int UVERBS_HANDLER(MLX5_IB_METHOD_DEVX_OBJ_CREATE)(
|
||||
goto obj_free;
|
||||
|
||||
uobj->object = obj;
|
||||
obj->mdev = dev->mdev;
|
||||
INIT_LIST_HEAD(&obj->event_sub);
|
||||
obj->ib_dev = dev;
|
||||
devx_obj_build_destroy_cmd(cmd_in, cmd_out, obj->dinbox, &obj->dinlen,
|
||||
@ -1485,11 +1483,11 @@ err_copy:
|
||||
devx_cleanup_mkey(obj);
|
||||
obj_destroy:
|
||||
if (obj->flags & DEVX_OBJ_FLAGS_DCT)
|
||||
mlx5_core_destroy_dct(obj->mdev, &obj->core_dct);
|
||||
mlx5_core_destroy_dct(obj->ib_dev->mdev, &obj->core_dct);
|
||||
else if (obj->flags & DEVX_OBJ_FLAGS_CQ)
|
||||
mlx5_core_destroy_cq(obj->mdev, &obj->core_cq);
|
||||
mlx5_core_destroy_cq(obj->ib_dev->mdev, &obj->core_cq);
|
||||
else
|
||||
mlx5_cmd_exec(obj->mdev, obj->dinbox, obj->dinlen, out,
|
||||
mlx5_cmd_exec(obj->ib_dev->mdev, obj->dinbox, obj->dinlen, out,
|
||||
sizeof(out));
|
||||
obj_free:
|
||||
kfree(obj);
|
||||
|
Loading…
x
Reference in New Issue
Block a user