Lines Matching refs:mw
658 struct mlx4_mw *mw) in mlx4_mw_alloc() argument
672 mw->key = hw_index_to_key(index); in mlx4_mw_alloc()
673 mw->pd = pd; in mlx4_mw_alloc()
674 mw->type = type; in mlx4_mw_alloc()
675 mw->enabled = MLX4_MPT_DISABLED; in mlx4_mw_alloc()
681 int mlx4_mw_enable(struct mlx4_dev *dev, struct mlx4_mw *mw) in mlx4_mw_enable() argument
687 err = mlx4_mpt_alloc_icm(dev, key_to_hw_index(mw->key)); in mlx4_mw_enable()
703 mpt_entry->key = cpu_to_be32(key_to_hw_index(mw->key)); in mlx4_mw_enable()
704 mpt_entry->pd_flags = cpu_to_be32(mw->pd); in mlx4_mw_enable()
705 if (mw->type == MLX4_MW_TYPE_2) { in mlx4_mw_enable()
712 key_to_hw_index(mw->key) & in mlx4_mw_enable()
718 mw->enabled = MLX4_MPT_EN_HW; in mlx4_mw_enable()
728 mlx4_mpt_free_icm(dev, key_to_hw_index(mw->key)); in mlx4_mw_enable()
733 void mlx4_mw_free(struct mlx4_dev *dev, struct mlx4_mw *mw) in mlx4_mw_free() argument
737 if (mw->enabled == MLX4_MPT_EN_HW) { in mlx4_mw_free()
739 key_to_hw_index(mw->key) & in mlx4_mw_free()
744 mw->enabled = MLX4_MPT_EN_SW; in mlx4_mw_free()
746 if (mw->enabled) in mlx4_mw_free()
747 mlx4_mpt_free_icm(dev, key_to_hw_index(mw->key)); in mlx4_mw_free()
748 mlx4_mpt_release(dev, key_to_hw_index(mw->key)); in mlx4_mw_free()