linux_dsm_epyc7002/drivers/infiniband/hw/mlx5
Ilya Lesokhin d67bc5d4e3 IB/mlx5: Simplify mlx5_ib_cont_pages
The patch simplifies mlx5_ib_cont_pages and fixes the following
issues in the original implementation:

First issues is related to alignment of the PFNs. After the check
base + p != PFN, the alignment of the PFN wasn't checked. So the PFN
sequence 0, 1, 1, 2 would result in a page_shift of 13 even though
the 3rd PFN is not 8KB aligned.

This wasn't actually a bug because it was supported by all the
existing mlx5 compatible device, but we don't want to require
this support in all future devices.

Another issue is because the inner loop didn't advance PFN so
the test "if (base + p != pfn)" always failed for SGE with
len > (1<<page_shift).

Fixes: e126ba97db ("mlx5: Add driver for Mellanox Connect-IB adapters")
Signed-off-by: Ilya Lesokhin <ilyal@mellanox.com>
Reviewed-by: Eli Cohen <eli@mellanox.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
Signed-off-by: Doug Ledford <dledford@redhat.com>
2017-09-25 11:47:24 -04:00
..
ah.c IB/core: Define 'ib' and 'roce' rdma_ah_attr types 2017-05-01 14:32:43 -04:00
cmd.c IB/mlx5: Add debug control parameters for congestion control 2017-07-24 10:34:28 -04:00
cmd.h IB/mlx5: Add debug control parameters for congestion control 2017-07-24 10:34:28 -04:00
cong.c IB/mlx5: Add debug control parameters for congestion control 2017-07-24 10:34:28 -04:00
cq.c IB/mlx5: Fix some spelling mistakes 2017-08-24 16:27:11 -04:00
doorbell.c IB/mlx5: Fix Mellanox copyright note 2015-04-02 16:33:42 -04:00
gsi.c IB/mlx5: Fix iteration overrun in GSI qps 2016-08-02 14:32:51 -04:00
ib_virt.c IB/mlx5: Restore IB guid/policy for virtual functions 2017-07-24 10:34:28 -04:00
Kconfig net/mlx5: Extend mlx5_core to support ConnectX-4 Ethernet functionality 2015-05-30 18:24:51 -07:00
mad.c IB/mlx5: Fix some spelling mistakes 2017-08-24 16:27:11 -04:00
main.c IB/core: Fix typo in the name of the tag-matching cap struct 2017-09-25 11:47:23 -04:00
Makefile IB/mlx5: Add debug control parameters for congestion control 2017-07-24 10:34:28 -04:00
mem.c IB/mlx5: Simplify mlx5_ib_cont_pages 2017-09-25 11:47:24 -04:00
mlx5_ib.h IB/mlx5: Fill XRQ capabilities 2017-08-29 08:30:19 -04:00
mr.c IB/mlx5: Fix integer overflow when page_shift == 31 2017-08-24 17:47:34 -04:00
odp.c RDMA/mlx5: Fix existence check for extended address vector 2017-08-04 14:24:05 -04:00
qp.c IB/mlx5: Support IB_SRQT_TM 2017-08-29 08:30:20 -04:00
srq.c IB/mlx5: Support IB_SRQT_TM 2017-08-29 08:30:20 -04:00