Lines Matching refs:mca
295 struct rxe_mca *mca) in __rxe_init_mca() argument
316 mca->qp = qp; in __rxe_init_mca()
318 list_add_tail(&mca->qp_list, &mcg->qp_list); in __rxe_init_mca()
334 struct rxe_mca *mca, *tmp; in rxe_attach_mcg() local
339 list_for_each_entry(mca, &mcg->qp_list, qp_list) { in rxe_attach_mcg()
340 if (mca->qp == qp) { in rxe_attach_mcg()
348 mca = kzalloc(sizeof(*mca), GFP_KERNEL); in rxe_attach_mcg()
349 if (!mca) in rxe_attach_mcg()
356 kfree(mca); in rxe_attach_mcg()
362 err = __rxe_init_mca(qp, mcg, mca); in rxe_attach_mcg()
364 kfree(mca); in rxe_attach_mcg()
377 static void __rxe_cleanup_mca(struct rxe_mca *mca, struct rxe_mcg *mcg) in __rxe_cleanup_mca() argument
379 list_del(&mca->qp_list); in __rxe_cleanup_mca()
383 atomic_dec(&mca->qp->mcg_num); in __rxe_cleanup_mca()
384 rxe_put(mca->qp); in __rxe_cleanup_mca()
386 kfree(mca); in __rxe_cleanup_mca()
399 struct rxe_mca *mca, *tmp; in rxe_detach_mcg() local
402 list_for_each_entry_safe(mca, tmp, &mcg->qp_list, qp_list) { in rxe_detach_mcg()
403 if (mca->qp == qp) { in rxe_detach_mcg()
404 __rxe_cleanup_mca(mca, mcg); in rxe_detach_mcg()