linux_dsm_epyc7002/drivers/infiniband/hw/mthca
Jason Gunthorpe a665aca89a RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks()
ib_umem_num_pages() should only be used by things working with the SGL in
CPU pages directly.

Drivers building DMA lists should use the new ib_num_dma_blocks() which
returns the number of blocks rdma_umem_for_each_block() will return.

To make this general for DMA drivers requires a different implementation.
Computing DMA block count based on umem->address only works if the
requested page size is < PAGE_SIZE and/or the IOVA == umem->address.

Instead the number of DMA pages should be computed in the IOVA address
space, not umem->address. Thus the IOVA has to be stored inside the umem
so it can be used for these calculations.

For now set it to umem->address by default and fix it up if
ib_umem_find_best_pgsz() was called. This allows drivers to be converted
to ib_umem_num_dma_blocks() safely.

Link: https://lore.kernel.org/r/6-v2-270386b7e60b+28f4-umem_1_jgg@nvidia.com
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
2020-09-11 10:24:53 -03:00
..
Kconfig treewide: replace '---help---' in Kconfig files with 'help' 2020-06-14 01:57:21 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mthca_allocator.c IB: Remove unneeded memset 2019-07-03 14:26:49 -03:00
mthca_av.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mthca_catas.c treewide: setup_timer() -> timer_setup() (2 field) 2017-11-21 15:57:09 -08:00
mthca_cmd.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
mthca_cmd.h IB/core cleanup: Add const on args - device->process_mad 2015-06-02 09:33:13 -04:00
mthca_config_reg.h
mthca_cq.c 5.2 Merge Window pull request 2019-05-09 09:02:46 -07:00
mthca_dev.h RDMA/mthca: Remove FMR support for memory registration 2020-06-02 20:32:54 -03:00
mthca_doorbell.h
mthca_eq.c RDMA: Use __packed annotation instead of __attribute__ ((packed)) 2019-03-25 21:14:12 -03:00
mthca_mad.c RDMA: Change MAD processing function to remove extra casting and parameter 2019-11-12 20:20:15 -04:00
mthca_main.c RDMA: Provide safe ib_alloc_device() function 2019-01-30 15:52:30 -07:00
mthca_mcg.c
mthca_memfree.c RDMA: Replace zero-length array with flexible-array member 2020-02-20 13:33:51 -04:00
mthca_memfree.h RDMA: Replace zero-length array with flexible-array member 2020-02-20 13:33:51 -04:00
mthca_mr.c RDMA/mthca: Remove FMR support for memory registration 2020-06-02 20:32:54 -03:00
mthca_pd.c
mthca_profile.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
mthca_profile.h
mthca_provider.c RDMA/umem: Split ib_umem_num_pages() into ib_umem_num_dma_blocks() 2020-09-11 10:24:53 -03:00
mthca_provider.h RDMA/mthca: Remove FMR support for memory registration 2020-06-02 20:32:54 -03:00
mthca_qp.c treewide: Remove uninitialized_var() usage 2020-07-16 12:35:15 -07:00
mthca_reset.c IB/mthca: Remove debug prints after allocation failure 2016-12-03 13:12:52 -05:00
mthca_srq.c drivers: Remove explicit invocations of mmiowb() 2019-04-08 12:01:02 +01:00
mthca_uar.c
mthca_wqe.h