Lines Matching refs:mtt
106 struct res_mtt *mtt; member
154 struct res_mtt *mtt; member
166 struct res_mtt *mtt; member
177 struct res_mtt *mtt; member
189 struct res_mtt *mtt; member
445 dev->quotas.mtt = dev->caps.num_mtts - dev->caps.reserved_mtts; in mlx4_init_quotas()
457 dev->quotas.mtt = in mlx4_init_quotas()
2503 int size, struct res_mtt *mtt) in check_mtt_range() argument
2505 int res_start = mtt->com.res_id; in check_mtt_range()
2506 int res_size = (1 << mtt->order); in check_mtt_range()
2521 struct res_mtt *mtt; in mlx4_SW2HW_MPT_wrapper() local
2563 err = get_res(dev, slave, mtt_base, RES_MTT, &mtt); in mlx4_SW2HW_MPT_wrapper()
2568 mr_get_mtt_size(inbox->buf), mtt); in mlx4_SW2HW_MPT_wrapper()
2572 mpt->mtt = mtt; in mlx4_SW2HW_MPT_wrapper()
2580 atomic_inc(&mtt->ref_count); in mlx4_SW2HW_MPT_wrapper()
2581 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_MPT_wrapper()
2589 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_MPT_wrapper()
2616 if (mpt->mtt) in mlx4_HW2SW_MPT_wrapper()
2617 atomic_dec(&mpt->mtt->ref_count); in mlx4_HW2SW_MPT_wrapper()
2714 struct res_mtt *mtt; in mlx4_RST2INIT_QP_wrapper() local
2741 err = get_res(dev, slave, mtt_base, RES_MTT, &mtt); in mlx4_RST2INIT_QP_wrapper()
2745 err = check_mtt_range(dev, slave, mtt_base, mtt_size, mtt); in mlx4_RST2INIT_QP_wrapper()
2771 atomic_inc(&mtt->ref_count); in mlx4_RST2INIT_QP_wrapper()
2772 qp->mtt = mtt; in mlx4_RST2INIT_QP_wrapper()
2853 struct res_mtt *mtt; in mlx4_SW2HW_EQ_wrapper() local
2862 err = get_res(dev, slave, mtt_base, RES_MTT, &mtt); in mlx4_SW2HW_EQ_wrapper()
2866 err = check_mtt_range(dev, slave, mtt_base, mtt_size, mtt); in mlx4_SW2HW_EQ_wrapper()
2874 atomic_inc(&mtt->ref_count); in mlx4_SW2HW_EQ_wrapper()
2875 eq->mtt = mtt; in mlx4_SW2HW_EQ_wrapper()
2876 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_EQ_wrapper()
2881 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_EQ_wrapper()
2911 struct res_mtt *mtt; in get_containing_mtt() local
2915 list_for_each_entry(mtt, &tracker->slave_list[slave].res_list[RES_MTT], in get_containing_mtt()
2917 if (!check_mtt_range(dev, slave, start, len, mtt)) { in get_containing_mtt()
2918 *res = mtt; in get_containing_mtt()
2919 mtt->com.from_state = mtt->com.state; in get_containing_mtt()
2920 mtt->com.state = RES_MTT_BUSY; in get_containing_mtt()
3015 struct mlx4_mtt mtt; in mlx4_WRITE_MTT_wrapper() local
3031 mtt.offset = 0; /* TBD this is broken but I don't handle it since in mlx4_WRITE_MTT_wrapper()
3033 mtt.order = 0; in mlx4_WRITE_MTT_wrapper()
3034 mtt.page_shift = 0; in mlx4_WRITE_MTT_wrapper()
3038 err = __mlx4_write_mtt(dev, &mtt, be64_to_cpu(page_list[0]), npages, in mlx4_WRITE_MTT_wrapper()
3062 err = get_res(dev, slave, eq->mtt->com.res_id, RES_MTT, NULL); in mlx4_HW2SW_EQ_wrapper()
3070 atomic_dec(&eq->mtt->ref_count); in mlx4_HW2SW_EQ_wrapper()
3071 put_res(dev, slave, eq->mtt->com.res_id, RES_MTT); in mlx4_HW2SW_EQ_wrapper()
3078 put_res(dev, slave, eq->mtt->com.res_id, RES_MTT); in mlx4_HW2SW_EQ_wrapper()
3191 struct res_mtt *mtt; in mlx4_SW2HW_CQ_wrapper() local
3196 err = get_res(dev, slave, mtt_base, RES_MTT, &mtt); in mlx4_SW2HW_CQ_wrapper()
3199 err = check_mtt_range(dev, slave, mtt_base, cq_get_mtt_size(cqc), mtt); in mlx4_SW2HW_CQ_wrapper()
3205 atomic_inc(&mtt->ref_count); in mlx4_SW2HW_CQ_wrapper()
3206 cq->mtt = mtt; in mlx4_SW2HW_CQ_wrapper()
3207 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_CQ_wrapper()
3212 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_CQ_wrapper()
3234 atomic_dec(&cq->mtt->ref_count); in mlx4_HW2SW_CQ_wrapper()
3276 struct res_mtt *mtt; in handle_resize() local
3280 err = get_res(dev, slave, cq->mtt->com.res_id, RES_MTT, &orig_mtt); in handle_resize()
3284 if (orig_mtt != cq->mtt) { in handle_resize()
3289 err = get_res(dev, slave, mtt_base, RES_MTT, &mtt); in handle_resize()
3293 err = check_mtt_range(dev, slave, mtt_base, cq_get_mtt_size(cqc), mtt); in handle_resize()
3301 atomic_inc(&mtt->ref_count); in handle_resize()
3302 cq->mtt = mtt; in handle_resize()
3303 put_res(dev, slave, mtt->com.res_id, RES_MTT); in handle_resize()
3307 put_res(dev, slave, mtt->com.res_id, RES_MTT); in handle_resize()
3364 struct res_mtt *mtt; in mlx4_SW2HW_SRQ_wrapper() local
3375 err = get_res(dev, slave, mtt_base, RES_MTT, &mtt); in mlx4_SW2HW_SRQ_wrapper()
3379 mtt); in mlx4_SW2HW_SRQ_wrapper()
3387 atomic_inc(&mtt->ref_count); in mlx4_SW2HW_SRQ_wrapper()
3388 srq->mtt = mtt; in mlx4_SW2HW_SRQ_wrapper()
3389 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_SRQ_wrapper()
3394 put_res(dev, slave, mtt->com.res_id, RES_MTT); in mlx4_SW2HW_SRQ_wrapper()
3417 atomic_dec(&srq->mtt->ref_count); in mlx4_HW2SW_SRQ_wrapper()
3749 atomic_dec(&qp->mtt->ref_count); in mlx4_2RST_QP_wrapper()
4365 atomic_dec(&qp->mtt->ref_count); in rem_slave_qps()
4430 atomic_dec(&srq->mtt->ref_count); in rem_slave_srqs()
4495 atomic_dec(&cq->mtt->ref_count); in rem_slave_cqs()
4563 if (mpt->mtt) in rem_slave_mrs()
4564 atomic_dec(&mpt->mtt->ref_count); in rem_slave_mrs()
4584 struct res_mtt *mtt; in rem_slave_mtts() local
4597 list_for_each_entry_safe(mtt, tmp, mtt_list, com.list) { in rem_slave_mtts()
4599 if (mtt->com.owner == slave) { in rem_slave_mtts()
4600 base = mtt->com.res_id; in rem_slave_mtts()
4601 state = mtt->com.from_state; in rem_slave_mtts()
4606 mtt->order); in rem_slave_mtts()
4608 rb_erase(&mtt->com.node, in rem_slave_mtts()
4610 list_del(&mtt->com.list); in rem_slave_mtts()
4613 1 << mtt->order, 0); in rem_slave_mtts()
4614 kfree(mtt); in rem_slave_mtts()
4724 atomic_dec(&eq->mtt->ref_count); in rem_slave_eqs()