Skip to content

Commit 0e6613b

Browse files
monis410dledford
authored andcommitted
IB/mlx5: Consolidate use_umr checks into single function
Introduce helper function to unify various use_umr checks. Signed-off-by: Moni Shoua <[email protected]> Signed-off-by: Leon Romanovsky <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Doug Ledford <[email protected]>
1 parent 60c7866 commit 0e6613b

File tree

2 files changed

+15
-3
lines changed

2 files changed

+15
-3
lines changed

drivers/infiniband/hw/mlx5/mlx5_ib.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,4 +1475,18 @@ int bfregn_to_uar_index(struct mlx5_ib_dev *dev,
14751475
bool dyn_bfreg);
14761476

14771477
int mlx5_ib_qp_set_counter(struct ib_qp *qp, struct rdma_counter *counter);
1478+
1479+
static inline bool mlx5_ib_can_use_umr(struct mlx5_ib_dev *dev,
1480+
bool do_modify_atomic)
1481+
{
1482+
if (MLX5_CAP_GEN(dev->mdev, umr_modify_entity_size_disabled))
1483+
return false;
1484+
1485+
if (do_modify_atomic &&
1486+
MLX5_CAP_GEN(dev->mdev, atomic) &&
1487+
MLX5_CAP_GEN(dev->mdev, umr_modify_atomic_disabled))
1488+
return false;
1489+
1490+
return true;
1491+
}
14781492
#endif /* MLX5_IB_H */

drivers/infiniband/hw/mlx5/mr.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1293,9 +1293,7 @@ struct ib_mr *mlx5_ib_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
12931293
if (err < 0)
12941294
return ERR_PTR(err);
12951295

1296-
use_umr = !MLX5_CAP_GEN(dev->mdev, umr_modify_entity_size_disabled) &&
1297-
(!MLX5_CAP_GEN(dev->mdev, umr_modify_atomic_disabled) ||
1298-
!MLX5_CAP_GEN(dev->mdev, atomic));
1296+
use_umr = mlx5_ib_can_use_umr(dev, true);
12991297

13001298
if (order <= mr_cache_max_order(dev) && use_umr) {
13011299
mr = alloc_mr_from_cache(pd, umem, virt_addr, length, ncont,

0 commit comments

Comments
 (0)