linux_dsm_epyc7002/drivers/infiniband/hw/hns
Wei Hu\(Xavier\) b1c1583509 RDMA/hns: Get rid of virt_to_page and vmap calls after dma_alloc_coherent
In general dma_alloc_coherent() returns a CPU virtual address and
a DMA address, and we have no guarantee that the virtual address
is either in the linear map or vmalloc. It could be in  some other special
place. We have no guarantee that the underlying memory even has
an associated struct page at all.

In current code, there are incorrect usage as below:
dma_alloc_coherent + virt_to_page + vmap. There will probably
introduce coherency problem. This patch fixes it to get rid of
virt_to_page and vmap calls at Leon's suggestion. The related
link: https://lkml.org/lkml/2017/11/7/34

Fixes: 9a44353("IB/hns: Add driver files for hns RoCE driver")
Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Signed-off-by: Shaobo Xu <xushaobo2@huawei.com>
Signed-off-by: Lijun Ou <oulijun@huawei.com>
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Xiping Zhang (Francis) <zhangxiping3@huawei.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
2017-12-01 12:21:27 -07:00
..
hns_roce_ah.c Merge branch 'for-next-early' into for-next 2017-10-18 13:07:13 -04:00
hns_roce_alloc.c RDMA/hns: Get rid of virt_to_page and vmap calls after dma_alloc_coherent 2017-12-01 12:21:27 -07:00
hns_roce_cmd.c RDMA/hns: Add mailbox's implementation for hip08 RoCE driver 2017-09-27 08:34:55 -04:00
hns_roce_cmd.h RDMA/hns: Add rereg mr support for hip08 2017-11-10 12:14:27 -05:00
hns_roce_common.h RDMA/hns: Configure mac&gid and user access region for hip08 RoCE driver 2017-09-27 08:34:56 -04:00
hns_roce_cq.c RDMA/hns: Modify the usage of cmd_sn in hip08 2017-11-10 12:32:43 -05:00
hns_roce_device.h RDMA/hns: Get rid of virt_to_page and vmap calls after dma_alloc_coherent 2017-12-01 12:21:27 -07:00
hns_roce_eq.c IB/hns: Annotate iomem pointers correctly 2017-10-14 20:47:06 -04:00
hns_roce_eq.h IB/hns: Optimize code of aeq and ceq interrupt handle and fix the bug of qpn 2016-10-03 11:43:15 -04:00
hns_roce_hem.c RDMA/hns: Unify the calculation for hem index in hip08 2017-11-10 12:32:18 -05:00
hns_roce_hem.h RDMA/hns: Configure TRRL field in hip08 RoCE device 2017-11-10 12:29:47 -05:00
hns_roce_hw_v1.c RDMA/hns: Configure sgid type for hip08 RoCE 2017-11-10 12:14:27 -05:00
hns_roce_hw_v1.h RDMA/hns: Update the IRRL table chunk size in hip08 2017-10-25 13:37:07 -04:00
hns_roce_hw_v2.c RDMA/hns: Fix the issue of IOVA not page continuous in hip08 2017-12-01 12:21:27 -07:00
hns_roce_hw_v2.h RDMA/hns: Add sq_invld_flg field in QP context 2017-11-10 12:31:52 -05:00
hns_roce_main.c RDMA/hns: Configure TRRL field in hip08 RoCE device 2017-11-10 12:29:47 -05:00
hns_roce_mr.c RDMA/hns: Add rereg mr support for hip08 2017-11-10 12:14:27 -05:00
hns_roce_pd.c RDMA/hns: Configure mac&gid and user access region for hip08 RoCE driver 2017-09-27 08:34:56 -04:00
hns_roce_qp.c RDMA/hns: Configure TRRL field in hip08 RoCE device 2017-11-10 12:29:47 -05:00
Kconfig RDMA/hns: Initialize the PCI device for hip08 RoCE 2017-09-27 08:34:55 -04:00
Makefile RDMA/hns: Initialize the PCI device for hip08 RoCE 2017-09-27 08:34:55 -04:00