mirror of https://gitee.com/openkylin/linux.git
2d92865158
There was a bug in some versions of the mlx4 driver in mlx4_alloc_fmr(), which hardcoded the minimum acceptable page_shift to be 12. However, new ConnectX firmware can support a minimum page_shift of 9 (log_pg_sz of 9 returned by QUERY_DEV_LIM) -- so with old drivers, ib_fmr_alloc() would fail for ULPs using the device minimum when creating FMRs. To preserve firmware compatibility with released mlx4 drivers, the firmware will continue to return 12 as before for log_page_sz in QUERY_DEV_CAP for these drivers. However, to enable new drivers to take advantage of the available smaller page size, the mlx4 driver now first sets the log_pg_sz to the device minimum by setting a log_page_sz value to 0 via the MOD_STAT_CFG command and then reading the real minimum via QUERY_DEV_CAP. Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il> Signed-off-by: Vladimir Sokolovsky <vlad@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com> |
||
---|---|---|
.. | ||
Makefile | ||
alloc.c | ||
catas.c | ||
cmd.c | ||
cq.c | ||
eq.c | ||
fw.c | ||
fw.h | ||
icm.c | ||
icm.h | ||
intf.c | ||
main.c | ||
mcg.c | ||
mlx4.h | ||
mr.c | ||
pd.c | ||
profile.c | ||
qp.c | ||
reset.c | ||
srq.c |