linux/drivers/infiniband/hw/i40iw
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
..
i40iw_cm.c i40iw: Add support to make destroy QP synchronous 2020-09-22 20:23:18 -03:00
i40iw_cm.h RDMA: Replace zero-length array with flexible-array member 2020-02-20 13:33:51 -04:00
i40iw_ctrl.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
i40iw_d.h i40iw: Report correct firmware version 2020-03-18 13:53:44 -03:00
i40iw_hmc.c i40iw: add hmc resource files 2016-02-29 17:10:53 -05:00
i40iw_hmc.h i40iw: add hmc resource files 2016-02-29 17:10:53 -05:00
i40iw_hw.c i40iw: Add support to make destroy QP synchronous 2020-09-22 20:23:18 -03:00
i40iw_main.c RDMA/i40iw: Avoid typecast from void to pci_dev 2020-09-16 13:40:29 -03:00
i40iw_osdep.h i40iw: Redefine i40iw_mmiowb() to do nothing 2019-04-08 12:09:15 +01:00
i40iw_p.h i40iw: Report correct firmware version 2020-03-18 13:53:44 -03:00
i40iw_pble.c RDMA/i40iw: Avoid typecast from void to pci_dev 2020-09-16 13:40:29 -03:00
i40iw_pble.h i40iw: add pble resource files 2016-02-29 17:10:53 -05:00
i40iw_puda.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
i40iw_puda.h i40iw: Free IEQ resources 2018-01-16 20:38:18 -07:00
i40iw_register.h i40iw: add X722 register file 2016-03-16 13:50:53 -04:00
i40iw_status.h i40iw: Report correct firmware version 2020-03-18 13:53:44 -03:00
i40iw_type.h RDMA/i40iw: Avoid typecast from void to pci_dev 2020-09-16 13:40:29 -03:00
i40iw_uk.c i40iw: Use utility function roundup_pow_of_two() 2017-12-22 13:37:51 -07:00
i40iw_user.h i40iw: Remove limit on re-posting AEQ entries to HW 2018-01-16 20:38:18 -07:00
i40iw_utils.c i40iw: Add support to make destroy QP synchronous 2020-09-22 20:23:18 -03:00
i40iw_verbs.c RDMA: Explicitly pass in the dma_device to ib_register_device 2020-10-16 13:53:46 -03:00
i40iw_verbs.h i40iw: Add support to make destroy QP synchronous 2020-09-22 20:23:18 -03:00
i40iw_vf.c i40iw: constify i40iw_vf_cqp_ops structure 2016-05-13 13:47:07 -04:00
i40iw_vf.h i40iw: constify i40iw_vf_cqp_ops structure 2016-05-13 13:47:07 -04:00
i40iw_virtchnl.c RDMA/i40iw: fix duplicated code for different branches 2017-06-01 17:00:29 -04:00
i40iw_virtchnl.h i40iw: virtual channel handling files 2016-03-16 13:50:53 -04:00
i40iw.h i40iw: Add support to make destroy QP synchronous 2020-09-22 20:23:18 -03:00
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile i40e: Move client header location 2020-06-25 22:25:13 -07:00