Lines Matching refs:uuarn
497 int uuarn = -EINVAL; in alloc_uuar() local
502 uuarn = 0; in alloc_uuar()
503 uuari->count[uuarn]++; in alloc_uuar()
508 uuarn = -ENOMEM; in alloc_uuar()
510 uuarn = alloc_med_class_uuar(uuari); in alloc_uuar()
515 uuarn = -ENOMEM; in alloc_uuar()
517 uuarn = alloc_high_class_uuar(uuari); in alloc_uuar()
521 uuarn = 2; in alloc_uuar()
526 return uuarn; in alloc_uuar()
529 static void free_med_class_uuar(struct mlx5_uuar_info *uuari, int uuarn) in free_med_class_uuar() argument
531 clear_bit(uuarn, uuari->bitmap); in free_med_class_uuar()
532 --uuari->count[uuarn]; in free_med_class_uuar()
535 static void free_high_class_uuar(struct mlx5_uuar_info *uuari, int uuarn) in free_high_class_uuar() argument
537 clear_bit(uuarn, uuari->bitmap); in free_high_class_uuar()
538 --uuari->count[uuarn]; in free_high_class_uuar()
541 static void free_uuar(struct mlx5_uuar_info *uuari, int uuarn) in free_uuar() argument
547 if (uuarn == 0) { in free_uuar()
548 --uuari->count[uuarn]; in free_uuar()
552 if (uuarn < high_uuar) { in free_uuar()
553 free_med_class_uuar(uuari, uuarn); in free_uuar()
557 free_high_class_uuar(uuari, uuarn); in free_uuar()
596 static int uuarn_to_uar_index(struct mlx5_uuar_info *uuari, int uuarn) in uuarn_to_uar_index() argument
598 return uuari->uars[uuarn / MLX5_BF_REGS_PER_PAGE].index; in uuarn_to_uar_index()
612 int uuarn; in create_user_qp() local
626 uuarn = alloc_uuar(&context->uuari, MLX5_IB_LATENCY_CLASS_HIGH); in create_user_qp()
627 if (uuarn < 0) { in create_user_qp()
630 uuarn = alloc_uuar(&context->uuari, MLX5_IB_LATENCY_CLASS_MEDIUM); in create_user_qp()
631 if (uuarn < 0) { in create_user_qp()
634 uuarn = alloc_uuar(&context->uuari, MLX5_IB_LATENCY_CLASS_LOW); in create_user_qp()
635 if (uuarn < 0) { in create_user_qp()
637 return uuarn; in create_user_qp()
642 uar_index = uuarn_to_uar_index(&context->uuari, uuarn); in create_user_qp()
643 mlx5_ib_dbg(dev, "uuarn 0x%x, uar_index 0x%x\n", uuarn, uar_index); in create_user_qp()
690 resp->uuar_index = uuarn; in create_user_qp()
691 qp->uuarn = uuarn; in create_user_qp()
719 free_uuar(&context->uuari, uuarn); in create_user_qp()
731 free_uuar(&context->uuari, qp->uuarn); in destroy_qp_user()
742 int uuarn; in create_kernel_qp() local
752 uuarn = alloc_uuar(uuari, lc); in create_kernel_qp()
753 if (uuarn < 0) { in create_kernel_qp()
758 qp->bf = &uuari->bfs[uuarn]; in create_kernel_qp()
829 free_uuar(&dev->mdev->priv.uuari, uuarn); in create_kernel_qp()
842 free_uuar(&dev->mdev->priv.uuari, qp->bf->uuarn); in destroy_qp_kernel()
2867 if (0 && nreq == 1 && bf->uuarn && inl && size > 1 && size <= bf->buf_size / 16) { in mlx5_ib_post_send()