IB/{core,hw}: Add constant for node_desc
Signed-off-by: Yuval Shaia <yuval.shaia@oracle.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
32f7451d1c
commit
bd99fdea42
|
@ -1193,7 +1193,7 @@ static ssize_t set_node_desc(struct device *device,
|
||||||
if (!dev->modify_device)
|
if (!dev->modify_device)
|
||||||
return -EIO;
|
return -EIO;
|
||||||
|
|
||||||
memcpy(desc.node_desc, buf, min_t(int, count, 64));
|
memcpy(desc.node_desc, buf, min_t(int, count, IB_DEVICE_NODE_DESC_MAX));
|
||||||
ret = ib_modify_device(dev, IB_DEVICE_MODIFY_NODE_DESC, &desc);
|
ret = ib_modify_device(dev, IB_DEVICE_MODIFY_NODE_DESC, &desc);
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
|
@ -1396,6 +1396,7 @@ int iwch_register_device(struct iwch_dev *dev)
|
||||||
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
||||||
(1ull << IB_USER_VERBS_CMD_POST_RECV);
|
(1ull << IB_USER_VERBS_CMD_POST_RECV);
|
||||||
dev->ibdev.node_type = RDMA_NODE_RNIC;
|
dev->ibdev.node_type = RDMA_NODE_RNIC;
|
||||||
|
BUILD_BUG_ON(sizeof(IWCH_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
|
||||||
memcpy(dev->ibdev.node_desc, IWCH_NODE_DESC, sizeof(IWCH_NODE_DESC));
|
memcpy(dev->ibdev.node_desc, IWCH_NODE_DESC, sizeof(IWCH_NODE_DESC));
|
||||||
dev->ibdev.phys_port_cnt = dev->rdev.port_info.nports;
|
dev->ibdev.phys_port_cnt = dev->rdev.port_info.nports;
|
||||||
dev->ibdev.num_comp_vectors = 1;
|
dev->ibdev.num_comp_vectors = 1;
|
||||||
|
|
|
@ -563,6 +563,7 @@ int c4iw_register_device(struct c4iw_dev *dev)
|
||||||
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
(1ull << IB_USER_VERBS_CMD_POST_SEND) |
|
||||||
(1ull << IB_USER_VERBS_CMD_POST_RECV);
|
(1ull << IB_USER_VERBS_CMD_POST_RECV);
|
||||||
dev->ibdev.node_type = RDMA_NODE_RNIC;
|
dev->ibdev.node_type = RDMA_NODE_RNIC;
|
||||||
|
BUILD_BUG_ON(sizeof(C4IW_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
|
||||||
memcpy(dev->ibdev.node_desc, C4IW_NODE_DESC, sizeof(C4IW_NODE_DESC));
|
memcpy(dev->ibdev.node_desc, C4IW_NODE_DESC, sizeof(C4IW_NODE_DESC));
|
||||||
dev->ibdev.phys_port_cnt = dev->rdev.lldi.nports;
|
dev->ibdev.phys_port_cnt = dev->rdev.lldi.nports;
|
||||||
dev->ibdev.num_comp_vectors = dev->rdev.lldi.nciq;
|
dev->ibdev.num_comp_vectors = dev->rdev.lldi.nciq;
|
||||||
|
|
|
@ -1423,7 +1423,8 @@ static int modify_device(struct ib_device *device,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device_modify_mask & IB_DEVICE_MODIFY_NODE_DESC) {
|
if (device_modify_mask & IB_DEVICE_MODIFY_NODE_DESC) {
|
||||||
memcpy(device->node_desc, device_modify->node_desc, 64);
|
memcpy(device->node_desc, device_modify->node_desc,
|
||||||
|
IB_DEVICE_NODE_DESC_MAX);
|
||||||
for (i = 0; i < dd->num_pports; i++) {
|
for (i = 0; i < dd->num_pports; i++) {
|
||||||
struct hfi1_ibport *ibp = &dd->pport[i].ibport_data;
|
struct hfi1_ibport *ibp = &dd->pport[i].ibport_data;
|
||||||
|
|
||||||
|
|
|
@ -345,7 +345,8 @@ static void node_desc_override(struct ib_device *dev,
|
||||||
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
|
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
|
||||||
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
|
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
|
||||||
spin_lock_irqsave(&to_mdev(dev)->sm_lock, flags);
|
spin_lock_irqsave(&to_mdev(dev)->sm_lock, flags);
|
||||||
memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64);
|
memcpy(((struct ib_smp *) mad)->data, dev->node_desc,
|
||||||
|
IB_DEVICE_NODE_DESC_MAX);
|
||||||
spin_unlock_irqrestore(&to_mdev(dev)->sm_lock, flags);
|
spin_unlock_irqrestore(&to_mdev(dev)->sm_lock, flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -886,7 +886,7 @@ static int mlx4_ib_modify_device(struct ib_device *ibdev, int mask,
|
||||||
return -EOPNOTSUPP;
|
return -EOPNOTSUPP;
|
||||||
|
|
||||||
spin_lock_irqsave(&to_mdev(ibdev)->sm_lock, flags);
|
spin_lock_irqsave(&to_mdev(ibdev)->sm_lock, flags);
|
||||||
memcpy(ibdev->node_desc, props->node_desc, 64);
|
memcpy(ibdev->node_desc, props->node_desc, IB_DEVICE_NODE_DESC_MAX);
|
||||||
spin_unlock_irqrestore(&to_mdev(ibdev)->sm_lock, flags);
|
spin_unlock_irqrestore(&to_mdev(ibdev)->sm_lock, flags);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -897,7 +897,7 @@ static int mlx4_ib_modify_device(struct ib_device *ibdev, int mask,
|
||||||
if (IS_ERR(mailbox))
|
if (IS_ERR(mailbox))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
memcpy(mailbox->buf, props->node_desc, 64);
|
memcpy(mailbox->buf, props->node_desc, IB_DEVICE_NODE_DESC_MAX);
|
||||||
mlx4_cmd(to_mdev(ibdev)->dev, mailbox->dma, 1, 0,
|
mlx4_cmd(to_mdev(ibdev)->dev, mailbox->dma, 1, 0,
|
||||||
MLX4_CMD_SET_NODE, MLX4_CMD_TIME_CLASS_A, MLX4_CMD_NATIVE);
|
MLX4_CMD_SET_NODE, MLX4_CMD_TIME_CLASS_A, MLX4_CMD_NATIVE);
|
||||||
|
|
||||||
|
@ -2025,7 +2025,7 @@ static int init_node_data(struct mlx4_ib_dev *dev)
|
||||||
if (err)
|
if (err)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
|
memcpy(dev->ib_dev.node_desc, out_mad->data, IB_DEVICE_NODE_DESC_MAX);
|
||||||
|
|
||||||
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
|
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
|
||||||
|
|
||||||
|
|
|
@ -394,7 +394,7 @@ int mlx5_query_mad_ifc_node_desc(struct mlx5_ib_dev *dev, char *node_desc)
|
||||||
if (err)
|
if (err)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
memcpy(node_desc, out_mad->data, 64);
|
memcpy(node_desc, out_mad->data, IB_DEVICE_NODE_DESC_MAX);
|
||||||
out:
|
out:
|
||||||
kfree(in_mad);
|
kfree(in_mad);
|
||||||
kfree(out_mad);
|
kfree(out_mad);
|
||||||
|
|
|
@ -472,7 +472,7 @@ static int mlx5_query_node_guid(struct mlx5_ib_dev *dev,
|
||||||
}
|
}
|
||||||
|
|
||||||
struct mlx5_reg_node_desc {
|
struct mlx5_reg_node_desc {
|
||||||
u8 desc[64];
|
u8 desc[IB_DEVICE_NODE_DESC_MAX];
|
||||||
};
|
};
|
||||||
|
|
||||||
static int mlx5_query_node_desc(struct mlx5_ib_dev *dev, char *node_desc)
|
static int mlx5_query_node_desc(struct mlx5_ib_dev *dev, char *node_desc)
|
||||||
|
@ -920,13 +920,13 @@ static int mlx5_ib_modify_device(struct ib_device *ibdev, int mask,
|
||||||
* If possible, pass node desc to FW, so it can generate
|
* If possible, pass node desc to FW, so it can generate
|
||||||
* a 144 trap. If cmd fails, just ignore.
|
* a 144 trap. If cmd fails, just ignore.
|
||||||
*/
|
*/
|
||||||
memcpy(&in, props->node_desc, 64);
|
memcpy(&in, props->node_desc, IB_DEVICE_NODE_DESC_MAX);
|
||||||
err = mlx5_core_access_reg(dev->mdev, &in, sizeof(in), &out,
|
err = mlx5_core_access_reg(dev->mdev, &in, sizeof(in), &out,
|
||||||
sizeof(out), MLX5_REG_NODE_DESC, 0, 1);
|
sizeof(out), MLX5_REG_NODE_DESC, 0, 1);
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
memcpy(ibdev->node_desc, props->node_desc, 64);
|
memcpy(ibdev->node_desc, props->node_desc, IB_DEVICE_NODE_DESC_MAX);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
|
@ -153,7 +153,8 @@ static void node_desc_override(struct ib_device *dev,
|
||||||
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
|
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
|
||||||
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
|
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
|
||||||
mutex_lock(&to_mdev(dev)->cap_mask_mutex);
|
mutex_lock(&to_mdev(dev)->cap_mask_mutex);
|
||||||
memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64);
|
memcpy(((struct ib_smp *) mad)->data, dev->node_desc,
|
||||||
|
IB_DEVICE_NODE_DESC_MAX);
|
||||||
mutex_unlock(&to_mdev(dev)->cap_mask_mutex);
|
mutex_unlock(&to_mdev(dev)->cap_mask_mutex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,7 +193,8 @@ static int mthca_modify_device(struct ib_device *ibdev,
|
||||||
if (mask & IB_DEVICE_MODIFY_NODE_DESC) {
|
if (mask & IB_DEVICE_MODIFY_NODE_DESC) {
|
||||||
if (mutex_lock_interruptible(&to_mdev(ibdev)->cap_mask_mutex))
|
if (mutex_lock_interruptible(&to_mdev(ibdev)->cap_mask_mutex))
|
||||||
return -ERESTARTSYS;
|
return -ERESTARTSYS;
|
||||||
memcpy(ibdev->node_desc, props->node_desc, 64);
|
memcpy(ibdev->node_desc, props->node_desc,
|
||||||
|
IB_DEVICE_NODE_DESC_MAX);
|
||||||
mutex_unlock(&to_mdev(ibdev)->cap_mask_mutex);
|
mutex_unlock(&to_mdev(ibdev)->cap_mask_mutex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1138,7 +1139,7 @@ static int mthca_init_node_data(struct mthca_dev *dev)
|
||||||
if (err)
|
if (err)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
|
memcpy(dev->ib_dev.node_desc, out_mad->data, IB_DEVICE_NODE_DESC_MAX);
|
||||||
|
|
||||||
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
|
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,7 @@ static int ocrdma_register_device(struct ocrdma_dev *dev)
|
||||||
{
|
{
|
||||||
strlcpy(dev->ibdev.name, "ocrdma%d", IB_DEVICE_NAME_MAX);
|
strlcpy(dev->ibdev.name, "ocrdma%d", IB_DEVICE_NAME_MAX);
|
||||||
ocrdma_get_guid(dev, (u8 *)&dev->ibdev.node_guid);
|
ocrdma_get_guid(dev, (u8 *)&dev->ibdev.node_guid);
|
||||||
|
BUILD_BUG_ON(sizeof(OCRDMA_NODE_DESC) > IB_DEVICE_NODE_DESC_MAX);
|
||||||
memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
|
memcpy(dev->ibdev.node_desc, OCRDMA_NODE_DESC,
|
||||||
sizeof(OCRDMA_NODE_DESC));
|
sizeof(OCRDMA_NODE_DESC));
|
||||||
dev->ibdev.owner = THIS_MODULE;
|
dev->ibdev.owner = THIS_MODULE;
|
||||||
|
|
|
@ -1370,7 +1370,8 @@ static int qib_modify_device(struct ib_device *device,
|
||||||
}
|
}
|
||||||
|
|
||||||
if (device_modify_mask & IB_DEVICE_MODIFY_NODE_DESC) {
|
if (device_modify_mask & IB_DEVICE_MODIFY_NODE_DESC) {
|
||||||
memcpy(device->node_desc, device_modify->node_desc, 64);
|
memcpy(device->node_desc, device_modify->node_desc,
|
||||||
|
IB_DEVICE_NODE_DESC_MAX);
|
||||||
for (i = 0; i < dd->num_pports; i++) {
|
for (i = 0; i < dd->num_pports; i++) {
|
||||||
struct qib_ibport *ibp = &dd->pport[i].ibport_data;
|
struct qib_ibport *ibp = &dd->pport[i].ibport_data;
|
||||||
|
|
||||||
|
|
|
@ -537,9 +537,11 @@ enum ib_device_modify_flags {
|
||||||
IB_DEVICE_MODIFY_NODE_DESC = 1 << 1
|
IB_DEVICE_MODIFY_NODE_DESC = 1 << 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define IB_DEVICE_NODE_DESC_MAX 64
|
||||||
|
|
||||||
struct ib_device_modify {
|
struct ib_device_modify {
|
||||||
u64 sys_image_guid;
|
u64 sys_image_guid;
|
||||||
char node_desc[64];
|
char node_desc[IB_DEVICE_NODE_DESC_MAX];
|
||||||
};
|
};
|
||||||
|
|
||||||
enum ib_port_modify_flags {
|
enum ib_port_modify_flags {
|
||||||
|
@ -2077,7 +2079,7 @@ struct ib_device {
|
||||||
u64 uverbs_cmd_mask;
|
u64 uverbs_cmd_mask;
|
||||||
u64 uverbs_ex_cmd_mask;
|
u64 uverbs_ex_cmd_mask;
|
||||||
|
|
||||||
char node_desc[64];
|
char node_desc[IB_DEVICE_NODE_DESC_MAX];
|
||||||
__be64 node_guid;
|
__be64 node_guid;
|
||||||
u32 local_dma_lkey;
|
u32 local_dma_lkey;
|
||||||
u16 is_switch:1;
|
u16 is_switch:1;
|
||||||
|
|
Loading…
Reference in a new issue