RDMA/core: remove use of dma_virt_ops
authorChristoph Hellwig <hch@lst.de>
Fri, 6 Nov 2020 18:19:38 +0000 (19:19 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 Jan 2021 12:46:24 +0000 (13:46 +0100)
commit404fa093741e15e16fd522cc76cd9f86e9ef81d2
treeb52da2100b068477b39d8ed1df66b1e83dfaf8d5
parent2a54ad3066a810ffa8f5ee958def3dc3065d8cd6
RDMA/core: remove use of dma_virt_ops

[ Upstream commit 5a7a9e038b032137ae9c45d5429f18a2ffdf7d42 ]

Use the ib_dma_* helpers to skip the DMA translation instead.  This
removes the last user if dma_virt_ops and keeps the weird layering
violation inside the RDMA core instead of burderning the DMA mapping
subsystems with it.  This also means the software RDMA drivers now don't
have to mess with DMA parameters that are not relevant to them at all, and
that in the future we can use PCI P2P transfers even for software RDMA, as
there is no first fake layer of DMA mapping that the P2P DMA support.

Link: https://lore.kernel.org/r/20201106181941.1878556-8-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Tested-by: Mike Marciniszyn <mike.marciniszyn@cornelisnetworks.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
13 files changed:
drivers/infiniband/core/device.c
drivers/infiniband/core/rw.c
drivers/infiniband/sw/rdmavt/Kconfig
drivers/infiniband/sw/rdmavt/mr.c
drivers/infiniband/sw/rdmavt/vt.c
drivers/infiniband/sw/rxe/Kconfig
drivers/infiniband/sw/rxe/rxe_verbs.c
drivers/infiniband/sw/rxe/rxe_verbs.h
drivers/infiniband/sw/siw/Kconfig
drivers/infiniband/sw/siw/siw.h
drivers/infiniband/sw/siw/siw_main.c
drivers/nvme/target/rdma.c
include/rdma/ib_verbs.h