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:
Yuval Shaia 2016-08-25 10:57:07 -07:00 committed by Doug Ledford
parent 32f7451d1c
commit bd99fdea42
13 changed files with 26 additions and 16 deletions

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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);
} }
} }

View File

@ -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;

View File

@ -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);

View File

@ -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;
} }

View File

@ -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);
} }
} }

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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;