RDMA: use dma_resv_wait() instead of extracting the fence

Use dma_resv_wait() instead of extracting the exclusive fence and
waiting on it manually.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Acked-by: Jason Gunthorpe <jgg@nvidia.com>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Maor Gottlieb <maorg@nvidia.com>
Cc: Gal Pressman <galpress@amazon.com>
Cc: linux-media@vger.kernel.org
Cc: linaro-mm-sig@lists.linaro.org
Link: https://patchwork.freedesktop.org/patch/msgid/20220321135856.1331-4-christian.koenig@amd.com
This commit is contained in:
Christian König 2021-09-22 13:01:04 +02:00
parent 0941a4e3c6
commit f30bceab16

View File

@ -16,7 +16,6 @@ int ib_umem_dmabuf_map_pages(struct ib_umem_dmabuf *umem_dmabuf)
{ {
struct sg_table *sgt; struct sg_table *sgt;
struct scatterlist *sg; struct scatterlist *sg;
struct dma_fence *fence;
unsigned long start, end, cur = 0; unsigned long start, end, cur = 0;
unsigned int nmap = 0; unsigned int nmap = 0;
int i; int i;
@ -68,11 +67,8 @@ wait_fence:
* may be not up-to-date. Wait for the exporter to finish * may be not up-to-date. Wait for the exporter to finish
* the migration. * the migration.
*/ */
fence = dma_resv_excl_fence(umem_dmabuf->attach->dmabuf->resv); return dma_resv_wait_timeout(umem_dmabuf->attach->dmabuf->resv, false,
if (fence) false, MAX_SCHEDULE_TIMEOUT);
return dma_fence_wait(fence, false);
return 0;
} }
EXPORT_SYMBOL(ib_umem_dmabuf_map_pages); EXPORT_SYMBOL(ib_umem_dmabuf_map_pages);