qp.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */
  2. /*
  3. * Copyright (c) 2013-2020, Mellanox Technologies inc. All rights reserved.
  4. */
  5. #ifndef _MLX5_IB_QP_H
  6. #define _MLX5_IB_QP_H
  7. #include "mlx5_ib.h"
  8. int mlx5_init_qp_table(struct mlx5_ib_dev *dev);
  9. void mlx5_cleanup_qp_table(struct mlx5_ib_dev *dev);
  10. int mlx5_core_create_dct(struct mlx5_ib_dev *dev, struct mlx5_core_dct *qp,
  11. u32 *in, int inlen, u32 *out, int outlen);
  12. int mlx5_qpc_create_qp(struct mlx5_ib_dev *dev, struct mlx5_core_qp *qp,
  13. u32 *in, int inlen, u32 *out);
  14. int mlx5_core_qp_modify(struct mlx5_ib_dev *dev, u16 opcode, u32 opt_param_mask,
  15. void *qpc, struct mlx5_core_qp *qp, u32 *ece);
  16. int mlx5_core_destroy_qp(struct mlx5_ib_dev *dev, struct mlx5_core_qp *qp);
  17. int mlx5_core_destroy_dct(struct mlx5_ib_dev *dev, struct mlx5_core_dct *dct);
  18. int mlx5_core_qp_query(struct mlx5_ib_dev *dev, struct mlx5_core_qp *qp,
  19. u32 *out, int outlen);
  20. int mlx5_core_dct_query(struct mlx5_ib_dev *dev, struct mlx5_core_dct *dct,
  21. u32 *out, int outlen);
  22. int mlx5_core_set_delay_drop(struct mlx5_ib_dev *dev, u32 timeout_usec);
  23. int mlx5_core_destroy_rq_tracked(struct mlx5_ib_dev *dev,
  24. struct mlx5_core_qp *rq);
  25. int mlx5_core_create_sq_tracked(struct mlx5_ib_dev *dev, u32 *in, int inlen,
  26. struct mlx5_core_qp *sq);
  27. void mlx5_core_destroy_sq_tracked(struct mlx5_ib_dev *dev,
  28. struct mlx5_core_qp *sq);
  29. int mlx5_core_create_rq_tracked(struct mlx5_ib_dev *dev, u32 *in, int inlen,
  30. struct mlx5_core_qp *rq);
  31. struct mlx5_core_rsc_common *mlx5_core_res_hold(struct mlx5_ib_dev *dev,
  32. int res_num,
  33. enum mlx5_res_type res_type);
  34. void mlx5_core_res_put(struct mlx5_core_rsc_common *res);
  35. int mlx5_core_xrcd_alloc(struct mlx5_ib_dev *dev, u32 *xrcdn);
  36. int mlx5_core_xrcd_dealloc(struct mlx5_ib_dev *dev, u32 xrcdn);
  37. int mlx5_ib_qp_set_counter(struct ib_qp *qp, struct rdma_counter *counter);
  38. #endif /* _MLX5_IB_QP_H */