mlx4_core: Support creation of FMRs with pages smaller than 4K
Don't hard code a test against a minimum page shift of 12, since the device may support smaller pages. Test against the actual smallest page size from the device capabilities. Signed-off-by: Oren Duer <oren@mellanox.co.il> Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
cf04690885
commit
c5057ddccb
|
@ -551,7 +551,7 @@ int mlx4_fmr_alloc(struct mlx4_dev *dev, u32 pd, u32 access, int max_pages,
|
||||||
u64 mtt_seg;
|
u64 mtt_seg;
|
||||||
int err = -ENOMEM;
|
int err = -ENOMEM;
|
||||||
|
|
||||||
if (page_shift < 12 || page_shift >= 32)
|
if (page_shift < (ffs(dev->caps.page_size_cap) - 1) || page_shift >= 32)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
/* All MTTs must fit in the same page */
|
/* All MTTs must fit in the same page */
|
||||||
|
|
Loading…
Reference in New Issue