mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 04:06:46 +00:00 
			
		
		
		
	 14c74f7207
			
		
	
	
		14c74f7207
		
	
	
	
	
		
			
			Device supports only one port, let's remove a dead code that handles more than one port. Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Reviewed-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com> Signed-off-by: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
		
			
				
	
	
		
			86 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			4.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * RDMA device: Definitions of Resource Manager functions
 | |
|  *
 | |
|  * Copyright (C) 2018 Oracle
 | |
|  * Copyright (C) 2018 Red Hat Inc
 | |
|  *
 | |
|  * Authors:
 | |
|  *     Yuval Shaia <yuval.shaia@oracle.com>
 | |
|  *     Marcel Apfelbaum <marcel@redhat.com>
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | |
|  * See the COPYING file in the top-level directory.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef RDMA_RM_H
 | |
| #define RDMA_RM_H
 | |
| 
 | |
| #include "qapi/error.h"
 | |
| #include "rdma_backend_defs.h"
 | |
| #include "rdma_rm_defs.h"
 | |
| 
 | |
| int rdma_rm_init(RdmaDeviceResources *dev_res, struct ibv_device_attr *dev_attr,
 | |
|                  Error **errp);
 | |
| void rdma_rm_fini(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                   const char *ifname);
 | |
| 
 | |
| int rdma_rm_alloc_pd(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                      uint32_t *pd_handle, uint32_t ctx_handle);
 | |
| RdmaRmPD *rdma_rm_get_pd(RdmaDeviceResources *dev_res, uint32_t pd_handle);
 | |
| void rdma_rm_dealloc_pd(RdmaDeviceResources *dev_res, uint32_t pd_handle);
 | |
| 
 | |
| int rdma_rm_alloc_mr(RdmaDeviceResources *dev_res, uint32_t pd_handle,
 | |
|                      uint64_t guest_start, size_t guest_length, void *host_virt,
 | |
|                      int access_flags, uint32_t *mr_handle, uint32_t *lkey,
 | |
|                      uint32_t *rkey);
 | |
| RdmaRmMR *rdma_rm_get_mr(RdmaDeviceResources *dev_res, uint32_t mr_handle);
 | |
| void rdma_rm_dealloc_mr(RdmaDeviceResources *dev_res, uint32_t mr_handle);
 | |
| 
 | |
| int rdma_rm_alloc_uc(RdmaDeviceResources *dev_res, uint32_t pfn,
 | |
|                      uint32_t *uc_handle);
 | |
| RdmaRmUC *rdma_rm_get_uc(RdmaDeviceResources *dev_res, uint32_t uc_handle);
 | |
| void rdma_rm_dealloc_uc(RdmaDeviceResources *dev_res, uint32_t uc_handle);
 | |
| 
 | |
| int rdma_rm_alloc_cq(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                      uint32_t cqe, uint32_t *cq_handle, void *opaque);
 | |
| RdmaRmCQ *rdma_rm_get_cq(RdmaDeviceResources *dev_res, uint32_t cq_handle);
 | |
| void rdma_rm_req_notify_cq(RdmaDeviceResources *dev_res, uint32_t cq_handle,
 | |
|                            bool notify);
 | |
| void rdma_rm_dealloc_cq(RdmaDeviceResources *dev_res, uint32_t cq_handle);
 | |
| 
 | |
| int rdma_rm_alloc_qp(RdmaDeviceResources *dev_res, uint32_t pd_handle,
 | |
|                      uint8_t qp_type, uint32_t max_send_wr,
 | |
|                      uint32_t max_send_sge, uint32_t send_cq_handle,
 | |
|                      uint32_t max_recv_wr, uint32_t max_recv_sge,
 | |
|                      uint32_t recv_cq_handle, void *opaque, uint32_t *qpn);
 | |
| RdmaRmQP *rdma_rm_get_qp(RdmaDeviceResources *dev_res, uint32_t qpn);
 | |
| int rdma_rm_modify_qp(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                       uint32_t qp_handle, uint32_t attr_mask, uint8_t sgid_idx,
 | |
|                       union ibv_gid *dgid, uint32_t dqpn,
 | |
|                       enum ibv_qp_state qp_state, uint32_t qkey,
 | |
|                       uint32_t rq_psn, uint32_t sq_psn);
 | |
| int rdma_rm_query_qp(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                      uint32_t qp_handle, struct ibv_qp_attr *attr,
 | |
|                      int attr_mask, struct ibv_qp_init_attr *init_attr);
 | |
| void rdma_rm_dealloc_qp(RdmaDeviceResources *dev_res, uint32_t qp_handle);
 | |
| 
 | |
| int rdma_rm_alloc_cqe_ctx(RdmaDeviceResources *dev_res, uint32_t *cqe_ctx_id,
 | |
|                           void *ctx);
 | |
| void *rdma_rm_get_cqe_ctx(RdmaDeviceResources *dev_res, uint32_t cqe_ctx_id);
 | |
| void rdma_rm_dealloc_cqe_ctx(RdmaDeviceResources *dev_res, uint32_t cqe_ctx_id);
 | |
| 
 | |
| int rdma_rm_add_gid(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                     const char *ifname, union ibv_gid *gid, int gid_idx);
 | |
| int rdma_rm_del_gid(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
 | |
|                     const char *ifname, int gid_idx);
 | |
| int rdma_rm_get_backend_gid_index(RdmaDeviceResources *dev_res,
 | |
|                                   RdmaBackendDev *backend_dev, int sgid_idx);
 | |
| static inline union ibv_gid *rdma_rm_get_gid(RdmaDeviceResources *dev_res,
 | |
|                                              int sgid_idx)
 | |
| {
 | |
|     return &dev_res->port.gid_tbl[sgid_idx].gid;
 | |
| }
 | |
| 
 | |
| #endif
 |