aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Shaia <yuval.shaia@oracle.com>2018-08-05 18:35:11 +0300
committerMarcel Apfelbaum <marcel.apfelbaum@gmail.com>2018-08-18 18:00:06 +0300
commit7f99daadbddfee16f3ee77c413bd4a34366a3dad (patch)
treef50716e1c6b36682c7f696c60453ea1b5d6b5918
parent6e7dba23af1a8f30eac42022cfb94d8693ed20e2 (diff)
hw/rdma: Delete useless structure RdmaRmUserMR
The structure RdmaRmUserMR has no benefits, remove it an move all its fields to struct RdmaRmMR. Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Message-Id: <20180805153518.2983-7-yuval.shaia@oracle.com> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
-rw-r--r--hw/rdma/rdma_backend.c3
-rw-r--r--hw/rdma/rdma_rm.c16
-rw-r--r--hw/rdma/rdma_rm_defs.h10
3 files changed, 12 insertions, 17 deletions
diff --git a/hw/rdma/rdma_backend.c b/hw/rdma/rdma_backend.c
index 647e16399f..52981d652d 100644
--- a/hw/rdma/rdma_backend.c
+++ b/hw/rdma/rdma_backend.c
@@ -271,8 +271,7 @@ static int build_host_sge_array(RdmaDeviceResources *rdma_dev_res,
return VENDOR_ERR_INVLKEY | ssge[ssge_idx].lkey;
}
- dsge->addr = (uintptr_t)mr->user_mr.host_virt + ssge[ssge_idx].addr -
- mr->user_mr.guest_start;
+ dsge->addr = (uintptr_t)mr->virt + ssge[ssge_idx].addr - mr->start;
dsge->length = ssge[ssge_idx].length;
dsge->lkey = rdma_backend_mr_lkey(&mr->backend_mr);
diff --git a/hw/rdma/rdma_rm.c b/hw/rdma/rdma_rm.c
index 415da15efe..7403d24674 100644
--- a/hw/rdma/rdma_rm.c
+++ b/hw/rdma/rdma_rm.c
@@ -165,15 +165,15 @@ int rdma_rm_alloc_mr(RdmaDeviceResources *dev_res, uint32_t pd_handle,
length = TARGET_PAGE_SIZE;
addr = g_malloc(length);
} else {
- mr->user_mr.host_virt = host_virt;
- pr_dbg("host_virt=0x%p\n", mr->user_mr.host_virt);
- mr->user_mr.length = guest_length;
+ mr->virt = host_virt;
+ pr_dbg("host_virt=0x%p\n", mr->virt);
+ mr->length = guest_length;
pr_dbg("length=%zu\n", guest_length);
- mr->user_mr.guest_start = guest_start;
- pr_dbg("guest_start=0x%" PRIx64 "\n", mr->user_mr.guest_start);
+ mr->start = guest_start;
+ pr_dbg("guest_start=0x%" PRIx64 "\n", mr->start);
- length = mr->user_mr.length;
- addr = mr->user_mr.host_virt;
+ length = mr->length;
+ addr = mr->virt;
}
ret = rdma_backend_create_mr(&mr->backend_mr, &pd->backend_pd, addr, length,
@@ -214,7 +214,7 @@ void rdma_rm_dealloc_mr(RdmaDeviceResources *dev_res, uint32_t mr_handle)
if (mr) {
rdma_backend_destroy_mr(&mr->backend_mr);
- munmap(mr->user_mr.host_virt, mr->user_mr.length);
+ munmap(mr->virt, mr->length);
res_tbl_dealloc(&dev_res->mr_tbl, mr_handle);
}
}
diff --git a/hw/rdma/rdma_rm_defs.h b/hw/rdma/rdma_rm_defs.h
index 226011176d..7228151239 100644
--- a/hw/rdma/rdma_rm_defs.h
+++ b/hw/rdma/rdma_rm_defs.h
@@ -55,16 +55,12 @@ typedef struct RdmaRmCQ {
bool notify;
} RdmaRmCQ;
-typedef struct RdmaRmUserMR {
- void *host_virt;
- uint64_t guest_start;
- size_t length;
-} RdmaRmUserMR;
-
/* MR (DMA region) */
typedef struct RdmaRmMR {
RdmaBackendMR backend_mr;
- RdmaRmUserMR user_mr;
+ void *virt;
+ uint64_t start;
+ size_t length;
uint32_t pd_handle;
uint32_t lkey;
uint32_t rkey;