Lines Matching defs:dct
13 struct mlx5_core_dct *dct);
93 struct mlx5_core_dct *dct;
97 qpn = be32_to_cpu(eqe->data.dct.dctn) & 0xFFFFFF;
99 dct = xa_load(&dev->qp_table.dct_xa, qpn);
100 if (dct)
101 complete(&dct->drained);
196 struct mlx5_core_dct *dct)
199 struct mlx5_core_qp *qp = &dct->mqp;
207 int mlx5_core_create_dct(struct mlx5_ib_dev *dev, struct mlx5_core_dct *dct,
210 struct mlx5_core_qp *qp = &dct->mqp;
213 init_completion(&dct->drained);
222 err = xa_err(xa_store_irq(&dev->qp_table.dct_xa, qp->qpn, dct, GFP_KERNEL));
228 _mlx5_core_destroy_dct(dev, dct);
265 struct mlx5_core_dct *dct)
268 struct mlx5_core_qp *qp = &dct->mqp;
277 struct mlx5_core_dct *dct)
283 err = mlx5_core_drain_dct(dev, dct);
290 wait_for_completion(&dct->drained);
293 tmp = xa_cmpxchg_irq(&table->dct_xa, dct->mqp.qpn, dct, XA_ZERO_ENTRY, GFP_KERNEL);
294 if (WARN_ON(tmp != dct))
297 err = _mlx5_core_destroy_dct(dev, dct);
299 xa_cmpxchg_irq(&table->dct_xa, dct->mqp.qpn, XA_ZERO_ENTRY, dct, 0);
302 xa_erase_irq(&table->dct_xa, dct->mqp.qpn);
535 int mlx5_core_dct_query(struct mlx5_ib_dev *dev, struct mlx5_core_dct *dct,
539 struct mlx5_core_qp *qp = &dct->mqp;