OpenCloudOS-Kernel/drivers/infiniband/hw/vmw_pvrdma
Jason Gunthorpe e0477b34d9 RDMA: Explicitly pass in the dma_device to ib_register_device
The code in setup_dma_device has become rather convoluted, move all of
this to the drivers. Drives now pass in a DMA capable struct device which
will be used to setup DMA, or drivers must fully configure the ibdev for
DMA and pass in NULL.

Other than setting the masks in rvt all drivers were doing this already
anyhow.

mthca, mlx4 and mlx5 were already setting up maximum DMA segment size for
DMA based on their hardweare limits in:
__mthca_init_one()
  dma_set_max_seg_size (1G)

__mlx4_init_one()
  dma_set_max_seg_size (1G)

mlx5_pci_init()
  set_dma_caps()
    dma_set_max_seg_size (2G)

Other non software drivers (except usnic) were extended to UINT_MAX [1, 2]
instead of 2G as was before.

[1] https://lore.kernel.org/linux-rdma/20200924114940.GE9475@nvidia.com/
[2] https://lore.kernel.org/linux-rdma/20200924114940.GE9475@nvidia.com/

Link: https://lore.kernel.org/r/20201008082752.275846-1-leon@kernel.org
Link: https://lore.kernel.org/r/6b2ed339933d066622d5715903870676d8cc523a.1602590106.git.mchehab+huawei@kernel.org
Suggested-by: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Parav Pandit <parav@nvidia.com>
Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-10-16 13:53:46 -03:00
..
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
pvrdma.h RDMA/mlx5: Remove unused IB_WR_REG_SIG_MR code 2019-06-24 11:49:28 -03:00
pvrdma_cmd.c
pvrdma_cq.c RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() 2020-09-11 10:24:54 -03:00
pvrdma_dev_api.h RDMA/vmw_pvrdma: Use resource ids from physical device if available 2019-10-28 16:09:23 -03:00
pvrdma_doorbell.c
pvrdma_main.c RDMA: Explicitly pass in the dma_device to ib_register_device 2020-10-16 13:53:46 -03:00
pvrdma_misc.c RDMA/umem: Replace for_each_sg_dma_page with rdma_umem_for_each_dma_block 2020-09-09 15:33:17 -03:00
pvrdma_mr.c RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() 2020-09-11 10:24:53 -03:00
pvrdma_qp.c RDMA/drivers: Remove udata check from special QP 2020-09-29 13:11:06 -03:00
pvrdma_ring.h IB/pvrdma: Remove unused function 2017-08-22 15:42:57 -04:00
pvrdma_srq.c RDMA/pvrdma: Use ib_umem_num_dma_blocks() instead of ib_umem_page_count() 2020-09-11 10:24:54 -03:00
pvrdma_verbs.c RDMA: Restore ability to fail on AH destroy 2020-09-09 13:57:22 -03:00
pvrdma_verbs.h Merge branch 'mlx5_active_speed' into rdma.git for-next 2020-09-18 10:31:45 -03:00