Lines Matching refs:mpt
449 dev->quotas.mpt = dev->caps.num_mpts - dev->caps.reserved_mrws; in mlx4_init_quotas()
462 dev->quotas.mpt = in mlx4_init_quotas()
1493 enum res_mpt_states state, struct res_mpt **mpt) in mr_res_start_move_to() argument
1535 if (mpt) in mr_res_start_move_to()
1536 *mpt = r; in mr_res_start_move_to()
1814 struct res_mpt *mpt; in mpt_alloc_res() local
1841 RES_MPT_MAPPED, &mpt); in mpt_alloc_res()
1845 err = __mlx4_mpt_alloc_icm(dev, mpt->key, GFP_KERNEL); in mpt_alloc_res()
2347 struct res_mpt *mpt; in mpt_free_res() local
2353 err = get_res(dev, slave, id, RES_MPT, &mpt); in mpt_free_res()
2356 index = mpt->key; in mpt_free_res()
2369 RES_MPT_RESERVED, &mpt); in mpt_free_res()
2373 __mlx4_mpt_free_icm(dev, mpt->key); in mpt_free_res()
2594 static int mr_phys_mpt(struct mlx4_mpt_entry *mpt) in mr_phys_mpt() argument
2596 return (be32_to_cpu(mpt->flags) >> 9) & 1; in mr_phys_mpt()
2599 static int mr_get_mtt_addr(struct mlx4_mpt_entry *mpt) in mr_get_mtt_addr() argument
2601 return (int)be64_to_cpu(mpt->mtt_addr) & 0xfffffff8; in mr_get_mtt_addr()
2604 static int mr_get_mtt_size(struct mlx4_mpt_entry *mpt) in mr_get_mtt_size() argument
2606 return be32_to_cpu(mpt->mtt_sz); in mr_get_mtt_size()
2609 static u32 mr_get_pd(struct mlx4_mpt_entry *mpt) in mr_get_pd() argument
2611 return be32_to_cpu(mpt->pd_flags) & 0x00ffffff; in mr_get_pd()
2614 static int mr_is_fmr(struct mlx4_mpt_entry *mpt) in mr_is_fmr() argument
2616 return be32_to_cpu(mpt->pd_flags) & MLX4_MPT_PD_FLAG_FAST_REG; in mr_is_fmr()
2619 static int mr_is_bind_enabled(struct mlx4_mpt_entry *mpt) in mr_is_bind_enabled() argument
2621 return be32_to_cpu(mpt->flags) & MLX4_MPT_FLAG_BIND_ENABLE; in mr_is_bind_enabled()
2624 static int mr_is_region(struct mlx4_mpt_entry *mpt) in mr_is_region() argument
2626 return be32_to_cpu(mpt->flags) & MLX4_MPT_FLAG_REGION; in mr_is_region()
2686 struct res_mpt *mpt; in mlx4_SW2HW_MPT_wrapper() local
2694 err = mr_res_start_move_to(dev, slave, id, RES_MPT_HW, &mpt); in mlx4_SW2HW_MPT_wrapper()
2736 mpt->mtt = mtt; in mlx4_SW2HW_MPT_wrapper()
2768 struct res_mpt *mpt; in mlx4_HW2SW_MPT_wrapper() local
2772 err = mr_res_start_move_to(dev, slave, id, RES_MPT_MAPPED, &mpt); in mlx4_HW2SW_MPT_wrapper()
2780 if (mpt->mtt) in mlx4_HW2SW_MPT_wrapper()
2781 atomic_dec(&mpt->mtt->ref_count); in mlx4_HW2SW_MPT_wrapper()
2800 struct res_mpt *mpt; in mlx4_QUERY_MPT_wrapper() local
2804 err = get_res(dev, slave, id, RES_MPT, &mpt); in mlx4_QUERY_MPT_wrapper()
2808 if (mpt->com.from_state == RES_MPT_MAPPED) { in mlx4_QUERY_MPT_wrapper()
2819 mpt->key, NULL); in mlx4_QUERY_MPT_wrapper()
2829 } else if (mpt->com.from_state == RES_MPT_HW) { in mlx4_QUERY_MPT_wrapper()
4725 struct res_mpt *mpt; in rem_slave_mrs() local
4739 list_for_each_entry_safe(mpt, tmp, mpt_list, com.list) { in rem_slave_mrs()
4741 if (mpt->com.owner == slave) { in rem_slave_mrs()
4742 mptn = mpt->com.res_id; in rem_slave_mrs()
4743 state = mpt->com.from_state; in rem_slave_mrs()
4747 __mlx4_mpt_release(dev, mpt->key); in rem_slave_mrs()
4749 rb_erase(&mpt->com.node, in rem_slave_mrs()
4751 list_del(&mpt->com.list); in rem_slave_mrs()
4755 kfree(mpt); in rem_slave_mrs()
4760 __mlx4_mpt_free_icm(dev, mpt->key); in rem_slave_mrs()
4773 if (mpt->mtt) in rem_slave_mrs()
4774 atomic_dec(&mpt->mtt->ref_count); in rem_slave_mrs()