Lines Matching refs:mpt
446 dev->quotas.mpt = dev->caps.num_mpts - dev->caps.reserved_mrws; in mlx4_init_quotas()
459 dev->quotas.mpt = in mlx4_init_quotas()
1332 enum res_mpt_states state, struct res_mpt **mpt) in mr_res_start_move_to() argument
1374 if (mpt) in mr_res_start_move_to()
1375 *mpt = r; in mr_res_start_move_to()
1653 struct res_mpt *mpt; in mpt_alloc_res() local
1680 RES_MPT_MAPPED, &mpt); in mpt_alloc_res()
1684 err = __mlx4_mpt_alloc_icm(dev, mpt->key, GFP_KERNEL); in mpt_alloc_res()
2186 struct res_mpt *mpt; in mpt_free_res() local
2192 err = get_res(dev, slave, id, RES_MPT, &mpt); in mpt_free_res()
2195 index = mpt->key; in mpt_free_res()
2208 RES_MPT_RESERVED, &mpt); in mpt_free_res()
2212 __mlx4_mpt_free_icm(dev, mpt->key); in mpt_free_res()
2430 static int mr_phys_mpt(struct mlx4_mpt_entry *mpt) in mr_phys_mpt() argument
2432 return (be32_to_cpu(mpt->flags) >> 9) & 1; in mr_phys_mpt()
2435 static int mr_get_mtt_addr(struct mlx4_mpt_entry *mpt) in mr_get_mtt_addr() argument
2437 return (int)be64_to_cpu(mpt->mtt_addr) & 0xfffffff8; in mr_get_mtt_addr()
2440 static int mr_get_mtt_size(struct mlx4_mpt_entry *mpt) in mr_get_mtt_size() argument
2442 return be32_to_cpu(mpt->mtt_sz); in mr_get_mtt_size()
2445 static u32 mr_get_pd(struct mlx4_mpt_entry *mpt) in mr_get_pd() argument
2447 return be32_to_cpu(mpt->pd_flags) & 0x00ffffff; in mr_get_pd()
2450 static int mr_is_fmr(struct mlx4_mpt_entry *mpt) in mr_is_fmr() argument
2452 return be32_to_cpu(mpt->pd_flags) & MLX4_MPT_PD_FLAG_FAST_REG; in mr_is_fmr()
2455 static int mr_is_bind_enabled(struct mlx4_mpt_entry *mpt) in mr_is_bind_enabled() argument
2457 return be32_to_cpu(mpt->flags) & MLX4_MPT_FLAG_BIND_ENABLE; in mr_is_bind_enabled()
2460 static int mr_is_region(struct mlx4_mpt_entry *mpt) in mr_is_region() argument
2462 return be32_to_cpu(mpt->flags) & MLX4_MPT_FLAG_REGION; in mr_is_region()
2522 struct res_mpt *mpt; in mlx4_SW2HW_MPT_wrapper() local
2530 err = mr_res_start_move_to(dev, slave, id, RES_MPT_HW, &mpt); in mlx4_SW2HW_MPT_wrapper()
2572 mpt->mtt = mtt; in mlx4_SW2HW_MPT_wrapper()
2604 struct res_mpt *mpt; in mlx4_HW2SW_MPT_wrapper() local
2608 err = mr_res_start_move_to(dev, slave, id, RES_MPT_MAPPED, &mpt); in mlx4_HW2SW_MPT_wrapper()
2616 if (mpt->mtt) in mlx4_HW2SW_MPT_wrapper()
2617 atomic_dec(&mpt->mtt->ref_count); in mlx4_HW2SW_MPT_wrapper()
2636 struct res_mpt *mpt; in mlx4_QUERY_MPT_wrapper() local
2640 err = get_res(dev, slave, id, RES_MPT, &mpt); in mlx4_QUERY_MPT_wrapper()
2644 if (mpt->com.from_state == RES_MPT_MAPPED) { in mlx4_QUERY_MPT_wrapper()
2655 mpt->key, NULL); in mlx4_QUERY_MPT_wrapper()
2665 } else if (mpt->com.from_state == RES_MPT_HW) { in mlx4_QUERY_MPT_wrapper()
4515 struct res_mpt *mpt; in rem_slave_mrs() local
4529 list_for_each_entry_safe(mpt, tmp, mpt_list, com.list) { in rem_slave_mrs()
4531 if (mpt->com.owner == slave) { in rem_slave_mrs()
4532 mptn = mpt->com.res_id; in rem_slave_mrs()
4533 state = mpt->com.from_state; in rem_slave_mrs()
4537 __mlx4_mpt_release(dev, mpt->key); in rem_slave_mrs()
4539 rb_erase(&mpt->com.node, in rem_slave_mrs()
4541 list_del(&mpt->com.list); in rem_slave_mrs()
4545 kfree(mpt); in rem_slave_mrs()
4550 __mlx4_mpt_free_icm(dev, mpt->key); in rem_slave_mrs()
4563 if (mpt->mtt) in rem_slave_mrs()
4564 atomic_dec(&mpt->mtt->ref_count); in rem_slave_mrs()