Lines Matching refs:mpt_entry
297 struct mlx4_mpt_entry ***mpt_entry) in mlx4_mr_hw_get_mpt() argument
316 **mpt_entry = mlx4_table_find( in mlx4_mr_hw_get_mpt()
331 *mpt_entry = (struct mlx4_mpt_entry **)&mailbox->buf; in mlx4_mr_hw_get_mpt()
334 if (!(*mpt_entry) || !(**mpt_entry)) { in mlx4_mr_hw_get_mpt()
348 struct mlx4_mpt_entry **mpt_entry) in mlx4_mr_hw_write_mpt() argument
356 *(u8 *)(*mpt_entry) = MLX4_MPT_STATUS_HW; in mlx4_mr_hw_write_mpt()
366 container_of((void *)mpt_entry, struct mlx4_cmd_mailbox, in mlx4_mr_hw_write_mpt()
373 mmr->pd = be32_to_cpu((*mpt_entry)->pd_flags) & MLX4_MPT_PD_MASK; in mlx4_mr_hw_write_mpt()
381 struct mlx4_mpt_entry **mpt_entry) in mlx4_mr_hw_put_mpt() argument
385 container_of((void *)mpt_entry, struct mlx4_cmd_mailbox, in mlx4_mr_hw_put_mpt()
392 int mlx4_mr_hw_change_pd(struct mlx4_dev *dev, struct mlx4_mpt_entry *mpt_entry, in mlx4_mr_hw_change_pd() argument
395 u32 pd_flags = be32_to_cpu(mpt_entry->pd_flags) & ~MLX4_MPT_PD_MASK; in mlx4_mr_hw_change_pd()
400 mpt_entry->pd_flags = cpu_to_be32(pd_flags | in mlx4_mr_hw_change_pd()
408 struct mlx4_mpt_entry *mpt_entry, in mlx4_mr_hw_change_access() argument
411 u32 flags = (be32_to_cpu(mpt_entry->flags) & ~MLX4_PERM_MASK) | in mlx4_mr_hw_change_access()
414 mpt_entry->flags = cpu_to_be32(flags); in mlx4_mr_hw_change_access()
593 int page_shift, struct mlx4_mpt_entry *mpt_entry) in mlx4_mr_rereg_mem_write() argument
601 mpt_entry->start = cpu_to_be64(iova); in mlx4_mr_rereg_mem_write()
602 mpt_entry->length = cpu_to_be64(size); in mlx4_mr_rereg_mem_write()
603 mpt_entry->entity_size = cpu_to_be32(page_shift); in mlx4_mr_rereg_mem_write()
604 mpt_entry->flags &= ~(cpu_to_be32(MLX4_MPT_FLAG_FREE | in mlx4_mr_rereg_mem_write()
607 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_PHYSICAL); in mlx4_mr_rereg_mem_write()
608 mpt_entry->mtt_addr = 0; in mlx4_mr_rereg_mem_write()
610 mpt_entry->mtt_addr = cpu_to_be64(mlx4_mtt_addr(dev, in mlx4_mr_rereg_mem_write()
613 mpt_entry->mtt_sz = cpu_to_be32(1 << mr->mtt.order); in mlx4_mr_rereg_mem_write()
617 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_FREE); in mlx4_mr_rereg_mem_write()
618 mpt_entry->pd_flags |= cpu_to_be32(MLX4_MPT_PD_FLAG_FAST_REG | in mlx4_mr_rereg_mem_write()
621 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_SW_OWNS); in mlx4_mr_rereg_mem_write()
632 struct mlx4_mpt_entry *mpt_entry; in mlx4_mr_enable() local
644 mpt_entry = mailbox->buf; in mlx4_mr_enable()
645 mpt_entry->flags = cpu_to_be32(MLX4_MPT_FLAG_MIO | in mlx4_mr_enable()
649 mpt_entry->key = cpu_to_be32(key_to_hw_index(mr->key)); in mlx4_mr_enable()
650 mpt_entry->pd_flags = cpu_to_be32(mr->pd | MLX4_MPT_PD_FLAG_EN_INV); in mlx4_mr_enable()
651 mpt_entry->start = cpu_to_be64(mr->iova); in mlx4_mr_enable()
652 mpt_entry->length = cpu_to_be64(mr->size); in mlx4_mr_enable()
653 mpt_entry->entity_size = cpu_to_be32(mr->mtt.page_shift); in mlx4_mr_enable()
656 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_PHYSICAL); in mlx4_mr_enable()
657 mpt_entry->mtt_addr = 0; in mlx4_mr_enable()
659 mpt_entry->mtt_addr = cpu_to_be64(mlx4_mtt_addr(dev, in mlx4_mr_enable()
665 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_FREE); in mlx4_mr_enable()
666 mpt_entry->pd_flags |= cpu_to_be32(MLX4_MPT_PD_FLAG_FAST_REG | in mlx4_mr_enable()
668 mpt_entry->mtt_sz = cpu_to_be32(1 << mr->mtt.order); in mlx4_mr_enable()
670 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_SW_OWNS); in mlx4_mr_enable()
844 struct mlx4_mpt_entry *mpt_entry; in mlx4_mw_enable() local
856 mpt_entry = mailbox->buf; in mlx4_mw_enable()
861 mpt_entry->key = cpu_to_be32(key_to_hw_index(mw->key)); in mlx4_mw_enable()
862 mpt_entry->pd_flags = cpu_to_be32(mw->pd); in mlx4_mw_enable()
864 mpt_entry->flags |= cpu_to_be32(MLX4_MPT_FLAG_FREE); in mlx4_mw_enable()
865 mpt_entry->qpn = cpu_to_be32(MLX4_MPT_QP_FLAG_BOUND_QP); in mlx4_mw_enable()
866 mpt_entry->pd_flags |= cpu_to_be32(MLX4_MPT_PD_FLAG_EN_INV); in mlx4_mw_enable()