linux/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
mthca_allocator.c
mthca_av.c treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
mthca_catas.c
mthca_cmd.c
mthca_cmd.h
mthca_config_reg.h
mthca_cq.c
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
mthca_mad.c
mthca_main.c
mthca_mcg.c
mthca_memfree.c
mthca_memfree.h
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
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
mthca_srq.c
mthca_uar.c
mthca_wqe.h