From 9d77db3c730780c8ef5ccd4b66403ff5675cfe4e Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Mon, 13 May 2024 10:30:14 +0000
Subject: [PATCH] modify sin led gpio
---
kernel/drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c | 22 ++++++++--------------
1 files changed, 8 insertions(+), 14 deletions(-)
diff --git a/kernel/drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c b/kernel/drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c
index fb0c5c0..ba43ad0 100644
--- a/kernel/drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c
+++ b/kernel/drivers/infiniband/hw/vmw_pvrdma/pvrdma_misc.c
@@ -182,26 +182,20 @@
int pvrdma_page_dir_insert_umem(struct pvrdma_page_dir *pdir,
struct ib_umem *umem, u64 offset)
{
+ struct ib_block_iter biter;
u64 i = offset;
- int j, entry;
- int ret = 0, len = 0;
- struct scatterlist *sg;
+ int ret = 0;
if (offset >= pdir->npages)
return -EINVAL;
- for_each_sg(umem->sg_head.sgl, sg, umem->nmap, entry) {
- len = sg_dma_len(sg) >> PAGE_SHIFT;
- for (j = 0; j < len; j++) {
- dma_addr_t addr = sg_dma_address(sg) +
- (j << umem->page_shift);
+ rdma_umem_for_each_dma_block (umem, &biter, PAGE_SIZE) {
+ ret = pvrdma_page_dir_insert_dma(
+ pdir, i, rdma_block_iter_dma_address(&biter));
+ if (ret)
+ goto exit;
- ret = pvrdma_page_dir_insert_dma(pdir, i, addr);
- if (ret)
- goto exit;
-
- i++;
- }
+ i++;
}
exit:
--
Gitblit v1.6.2