linux/drivers/infiniband/hw/usnic
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 infiniband: prefix header search paths with $(srctree)/ 2019-01-25 15:28:50 -07:00
usnic_abi.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_common_pkt_hdr.h RDMA: Adding ethertype ETH_P_IBOE 2017-01-10 14:05:11 -05:00
usnic_common_util.h {net,IB}/{rxe,usnic}: Utilize generic mac to eui32 function 2017-04-25 14:21:34 -04:00
usnic_debugfs.c infiniband: usnic: no need to check return value of debugfs_create functions 2019-01-24 09:22:30 -07:00
usnic_debugfs.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_fwd.c RDMA/usnic: switch from 'pci_' to 'dma_' API 2020-07-16 15:42:05 -03:00
usnic_fwd.h RDMA/usnic: Suppress a compiler warning 2018-07-26 11:39:06 -06:00
usnic_ib_main.c RDMA: Explicitly pass in the dma_device to ib_register_device 2020-10-16 13:53:46 -03:00
usnic_ib_qp_grp.c IB/usnic: fix spelling mistake "miniumum" -> "minimum" 2018-11-29 15:59:40 -07:00
usnic_ib_qp_grp.h RDMA/usnic: Instantiate data structures once 2017-10-14 20:47:07 -04:00
usnic_ib_sysfs.c RDMA: Introduce and use rdma_device_to_ibdev() 2019-01-14 13:12:03 -07:00
usnic_ib_sysfs.h RDMA/drivers: Use core provided API for registering device attributes 2018-10-17 03:45:01 -06:00
usnic_ib_verbs.c RDMA: Allow fail of destroy CQ 2020-09-09 14:14:29 -03:00
usnic_ib_verbs.h RDMA: Allow fail of destroy CQ 2020-09-09 14:14:29 -03:00
usnic_ib.h RDMA: Convert CQ allocations to be under core responsibility 2019-06-11 16:39:49 -04:00
usnic_log.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_transport.c IB/usnic: fix spelling mistake "unvalid" -> "invalid" 2018-09-25 14:35:06 -06:00
usnic_transport.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic_uiom_interval_tree.c lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
usnic_uiom_interval_tree.h lib/interval_tree: fast overlap detection 2017-09-08 18:26:49 -07:00
usnic_uiom.c mmap locking API: use coccinelle to convert mmap_sem rwsem call sites 2020-06-09 09:39:14 -07:00
usnic_uiom.h RDMA: Replace zero-length array with flexible-array member 2020-02-20 13:33:51 -04:00
usnic_vnic.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
usnic_vnic.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00
usnic.h usnic: add missing clauses to BSD license 2015-10-06 13:43:25 -04:00