@@ -545,7 +545,7 @@ int rdma_rm_add_gid(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
return -EINVAL;
}
- memcpy(&dev_res->ports[0].gid_tbl[gid_idx].gid, gid, sizeof(*gid));
+ memcpy(&dev_res->port.gid_tbl[gid_idx].gid, gid, sizeof(*gid));
return 0;
}
@@ -556,14 +556,14 @@ void rdma_rm_del_gid(RdmaDeviceResources *dev_res, RdmaBackendDev *backend_dev,
int rc;
rc = rdma_backend_del_gid(backend_dev, ifname,
- &dev_res->ports[0].gid_tbl[gid_idx].gid);
+ &dev_res->port.gid_tbl[gid_idx].gid);
if (rc < 0) {
pr_dbg("Fail to delete gid\n");
}
- memset(dev_res->ports[0].gid_tbl[gid_idx].gid.raw, 0,
- sizeof(dev_res->ports[0].gid_tbl[gid_idx].gid));
- dev_res->ports[0].gid_tbl[gid_idx].backend_gid_index = -1;
+ memset(dev_res->port.gid_tbl[gid_idx].gid.raw, 0,
+ sizeof(dev_res->port.gid_tbl[gid_idx].gid));
+ dev_res->port.gid_tbl[gid_idx].backend_gid_index = -1;
}
int rdma_rm_get_backend_gid_index(RdmaDeviceResources *dev_res,
@@ -574,16 +574,16 @@ int rdma_rm_get_backend_gid_index(RdmaDeviceResources *dev_res,
return -EINVAL;
}
- if (unlikely(dev_res->ports[0].gid_tbl[sgid_idx].backend_gid_index == -1)) {
- dev_res->ports[0].gid_tbl[sgid_idx].backend_gid_index =
+ if (unlikely(dev_res->port.gid_tbl[sgid_idx].backend_gid_index == -1)) {
+ dev_res->port.gid_tbl[sgid_idx].backend_gid_index =
rdma_backend_get_gid_index(backend_dev,
- &dev_res->ports[0].gid_tbl[sgid_idx].gid);
+ &dev_res->port.gid_tbl[sgid_idx].gid);
}
pr_dbg("backend_gid_index=%d\n",
- dev_res->ports[0].gid_tbl[sgid_idx].backend_gid_index);
+ dev_res->port.gid_tbl[sgid_idx].backend_gid_index);
- return dev_res->ports[0].gid_tbl[sgid_idx].backend_gid_index;
+ return dev_res->port.gid_tbl[sgid_idx].backend_gid_index;
}
static void destroy_qp_hash_key(gpointer data)
@@ -593,15 +593,13 @@ static void destroy_qp_hash_key(gpointer data)
static void init_ports(RdmaDeviceResources *dev_res)
{
- int i, j;
+ int i;
- memset(dev_res->ports, 0, sizeof(dev_res->ports));
+ memset(&dev_res->port, 0, sizeof(dev_res->port));
- for (i = 0; i < MAX_PORTS; i++) {
- dev_res->ports[i].state = IBV_PORT_DOWN;
- for (j = 0; j < MAX_PORT_GIDS; j++) {
- dev_res->ports[i].gid_tbl[j].backend_gid_index = -1;
- }
+ dev_res->port.state = IBV_PORT_DOWN;
+ for (i = 0; i < MAX_PORT_GIDS; i++) {
+ dev_res->port.gid_tbl[i].backend_gid_index = -1;
}
}
@@ -610,7 +608,7 @@ static void fini_ports(RdmaDeviceResources *dev_res,
{
int i;
- dev_res->ports[0].state = IBV_PORT_DOWN;
+ dev_res->port.state = IBV_PORT_DOWN;
for (i = 0; i < MAX_PORT_GIDS; i++) {
rdma_rm_del_gid(dev_res, backend_dev, ifname, i);
}
@@ -79,7 +79,7 @@ int rdma_rm_get_backend_gid_index(RdmaDeviceResources *dev_res,
static inline union ibv_gid *rdma_rm_get_gid(RdmaDeviceResources *dev_res,
int sgid_idx)
{
- return &dev_res->ports[0].gid_tbl[sgid_idx].gid;
+ return &dev_res->port.gid_tbl[sgid_idx].gid;
}
#endif
@@ -18,7 +18,7 @@
#include "rdma_backend_defs.h"
-#define MAX_PORTS 1
+#define MAX_PORTS 1 /* Do not change - we support only one port */
#define MAX_PORT_GIDS 255
#define MAX_GIDS MAX_PORT_GIDS
#define MAX_PORT_PKEYS 1
@@ -97,7 +97,7 @@ typedef struct RdmaRmPort {
} RdmaRmPort;
typedef struct RdmaDeviceResources {
- RdmaRmPort ports[MAX_PORTS];
+ RdmaRmPort port;
RdmaRmResTbl pd_tbl;
RdmaRmResTbl mr_tbl;
RdmaRmResTbl uc_tbl;
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> --- hw/rdma/rdma_rm.c | 34 ++++++++++++++++------------------ hw/rdma/rdma_rm.h | 2 +- hw/rdma/rdma_rm_defs.h | 4 ++-- 3 files changed, 19 insertions(+), 21 deletions(-)