* [PATCH 1/6] ib/mad: Add function to support format specifiers for node description
[not found] ` <1414713021-12175-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
@ 2014-10-30 23:50 ` ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2014-10-30 23:50 ` [PATCH 2/6] ib/ipath: change default node description processing ira.weiny-ral2JQCrhuEAvxtiuMwx3w
` (4 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: ira.weiny-ral2JQCrhuEAvxtiuMwx3w @ 2014-10-30 23:50 UTC (permalink / raw)
To: roland-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb,
jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/, Ira Weiny
From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
ib_build_node_desc - prints src node description into dest while mapping format
specifiers
Specifiers supported:
%h system hostname
%d device name
Define a default Node Description format to be "%h %d"
Original work done by Mike Heinz.
The function signature is generic to support some devices which are not
processing an ib_smp object when calling this function.
Reviewed-by: John Fleck <john.fleck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Michael Heinz <michael.william.heinz-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/core/mad.c | 38 ++++++++++++++++++++++++++++++++++++++
include/rdma/ib_mad.h | 17 +++++++++++++++++
include/rdma/ib_verbs.h | 6 ++++--
3 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/drivers/infiniband/core/mad.c b/drivers/infiniband/core/mad.c
index 74c30f4..a7ed0ada 100644
--- a/drivers/infiniband/core/mad.c
+++ b/drivers/infiniband/core/mad.c
@@ -39,7 +39,9 @@
#include <linux/dma-mapping.h>
#include <linux/slab.h>
#include <linux/module.h>
+#include <linux/utsname.h>
#include <rdma/ib_cache.h>
+#include <rdma/ib_smi.h>
#include "mad_priv.h"
#include "mad_rmpp.h"
@@ -996,6 +998,42 @@ int ib_get_mad_data_offset(u8 mgmt_class)
}
EXPORT_SYMBOL(ib_get_mad_data_offset);
+void ib_build_node_desc(char *dest, char *src, int dest_len,
+ struct ib_device *dev)
+{
+ char *end = dest + dest_len-1;
+ char *field;
+
+ while (*src && (dest < end)) {
+ if (*src != '%') {
+ *dest++ = *src++;
+ } else {
+ src++;
+ switch (*src) {
+ case 'h':
+ field = init_utsname()->nodename;
+ src++;
+ while (*field && (*field != '.') && (dest < end))
+ *dest++ = *field++;
+ break;
+ case 'd':
+ field = dev->name;
+ src++;
+ while (*field && (dest < end))
+ *dest++ = *field++;
+ break;
+ default:
+ src++;
+ }
+ }
+ }
+ if (dest < end)
+ *dest = 0;
+ else
+ *end = 0;
+}
+EXPORT_SYMBOL(ib_build_node_desc);
+
int ib_is_mad_class_rmpp(u8 mgmt_class)
{
if ((mgmt_class == IB_MGMT_CLASS_SUBN_ADM) ||
diff --git a/include/rdma/ib_mad.h b/include/rdma/ib_mad.h
index 9bb99e9..975642e 100644
--- a/include/rdma/ib_mad.h
+++ b/include/rdma/ib_mad.h
@@ -677,4 +677,21 @@ void ib_free_send_mad(struct ib_mad_send_buf *send_buf);
*/
int ib_mad_kernel_rmpp_agent(struct ib_mad_agent *agent);
+#define IB_DEFAULT_ND_FORMAT "%h %d"
+/**
+ * ib_build_node_desc - prints src node description into dest while mapping
+ * format specifiers
+ *
+ * Specifiers supported:
+ * %h system hostname
+ * %d device name
+ *
+ * @dest: destination buffer
+ * @src: source buffer
+ * @dest_len: destination buffer length
+ * @dev: ib_device
+ */
+void ib_build_node_desc(char *dest, char *src, int dest_len,
+ struct ib_device *dev);
+
#endif /* IB_MAD_H */
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 470a011..f3ec6de 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -55,6 +55,8 @@
extern struct workqueue_struct *ib_wq;
+#define IB_DEVICE_DESC_MAX 64
+
union ib_gid {
u8 raw[16];
struct {
@@ -351,7 +353,7 @@ enum ib_device_modify_flags {
struct ib_device_modify {
u64 sys_image_guid;
- char node_desc[64];
+ char node_desc[IB_DEVICE_DESC_MAX];
};
enum ib_port_modify_flags {
@@ -1625,7 +1627,7 @@ struct ib_device {
u64 uverbs_cmd_mask;
u64 uverbs_ex_cmd_mask;
- char node_desc[64];
+ char node_desc[IB_DEVICE_DESC_MAX];
__be64 node_guid;
u32 local_dma_lkey;
u8 node_type;
--
1.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/6] ib/ipath: change default node description processing
[not found] ` <1414713021-12175-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-10-30 23:50 ` [PATCH 1/6] ib/mad: Add function to support format specifiers for node description ira.weiny-ral2JQCrhuEAvxtiuMwx3w
@ 2014-10-30 23:50 ` ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2014-10-30 23:50 ` [PATCH 3/6] ib/mlx4: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
` (3 subsequent siblings)
5 siblings, 0 replies; 10+ messages in thread
From: ira.weiny-ral2JQCrhuEAvxtiuMwx3w @ 2014-10-30 23:50 UTC (permalink / raw)
To: roland-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb,
jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/, Ira Weiny
From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Change the default node description string to IB_DEFAULT_ND_FORMAT
Use ib_build_node_desc to dynamically map this string when queried
Reviewed-by: John Fleck <john.fleck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Michael Heinz <michael.william.heinz-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/ipath/ipath_mad.c | 3 ++-
drivers/infiniband/hw/ipath/ipath_verbs.c | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/hw/ipath/ipath_mad.c b/drivers/infiniband/hw/ipath/ipath_mad.c
index e890e5b..1ec0afd 100644
--- a/drivers/infiniband/hw/ipath/ipath_mad.c
+++ b/drivers/infiniband/hw/ipath/ipath_mad.c
@@ -61,7 +61,8 @@ static int recv_subn_get_nodedescription(struct ib_smp *smp,
if (smp->attr_mod)
smp->status |= IB_SMP_INVALID_FIELD;
- memcpy(smp->data, ibdev->node_desc, sizeof(smp->data));
+ ib_build_node_desc(smp->data, ibdev->node_desc, IB_DEVICE_DESC_MAX,
+ ibdev);
return reply(smp);
}
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c
index 44ea939..bec61d6 100644
--- a/drivers/infiniband/hw/ipath/ipath_verbs.c
+++ b/drivers/infiniband/hw/ipath/ipath_verbs.c
@@ -2180,8 +2180,8 @@ int ipath_register_ib_device(struct ipath_devdata *dd)
dev->mmap = ipath_mmap;
dev->dma_ops = &ipath_dma_mapping_ops;
- snprintf(dev->node_desc, sizeof(dev->node_desc),
- IPATH_IDSTR " %s", init_utsname()->nodename);
+ snprintf(dev->node_desc, sizeof(dev->node_desc)-1, "%s",
+ IB_DEFAULT_ND_FORMAT);
ret = ib_register_device(dev, NULL);
if (ret)
--
1.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 3/6] ib/mlx4: change default node description processing
[not found] ` <1414713021-12175-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-10-30 23:50 ` [PATCH 1/6] ib/mad: Add function to support format specifiers for node description ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2014-10-30 23:50 ` [PATCH 2/6] ib/ipath: change default node description processing ira.weiny-ral2JQCrhuEAvxtiuMwx3w
@ 2014-10-30 23:50 ` ira.weiny-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1414713021-12175-4-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-10-30 23:50 ` [PATCH 4/6] ib/mthca: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
` (2 subsequent siblings)
5 siblings, 1 reply; 10+ messages in thread
From: ira.weiny-ral2JQCrhuEAvxtiuMwx3w @ 2014-10-30 23:50 UTC (permalink / raw)
To: roland-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb,
jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/, Ira Weiny
From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Change the default node description string to IB_DEFAULT_ND_FORMAT
Use ib_build_node_desc to dynamically map this string when queried and to set
the Node Description in FW
Reviewed-by: John Fleck <john.fleck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Michael Heinz <michael.william.heinz-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/mlx4/mad.c | 3 ++-
drivers/infiniband/hw/mlx4/main.c | 14 ++++++--------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/infiniband/hw/mlx4/mad.c b/drivers/infiniband/hw/mlx4/mad.c
index 82a7dd8..0d736d6 100644
--- a/drivers/infiniband/hw/mlx4/mad.c
+++ b/drivers/infiniband/hw/mlx4/mad.c
@@ -343,7 +343,8 @@ static void node_desc_override(struct ib_device *dev,
mad->mad_hdr.method == IB_MGMT_METHOD_GET_RESP &&
mad->mad_hdr.attr_id == IB_SMP_ATTR_NODE_DESC) {
spin_lock_irqsave(&to_mdev(dev)->sm_lock, flags);
- memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64);
+ ib_build_node_desc(((struct ib_smp *)mad)->data, dev->node_desc,
+ IB_DEVICE_DESC_MAX, dev);
spin_unlock_irqrestore(&to_mdev(dev)->sm_lock, flags);
}
}
diff --git a/drivers/infiniband/hw/mlx4/main.c b/drivers/infiniband/hw/mlx4/main.c
index bda5994..6327ee5 100644
--- a/drivers/infiniband/hw/mlx4/main.c
+++ b/drivers/infiniband/hw/mlx4/main.c
@@ -553,7 +553,7 @@ static int mlx4_ib_modify_device(struct ib_device *ibdev, int mask,
if (IS_ERR(mailbox))
return 0;
- memcpy(mailbox->buf, props->node_desc, 64);
+ ib_build_node_desc(mailbox->buf, props->node_desc, 64, ibdev);
mlx4_cmd(to_mdev(ibdev)->dev, mailbox->dma, 1, 0,
MLX4_CMD_SET_NODE, MLX4_CMD_TIME_CLASS_A, MLX4_CMD_NATIVE);
@@ -1332,23 +1332,21 @@ static int init_node_data(struct mlx4_ib_dev *dev)
struct ib_smp *out_mad = NULL;
int mad_ifc_flags = MLX4_MAD_IFC_IGNORE_KEYS;
int err = -ENOMEM;
+ struct ib_device_modify props;
in_mad = kzalloc(sizeof *in_mad, GFP_KERNEL);
out_mad = kmalloc(sizeof *out_mad, GFP_KERNEL);
if (!in_mad || !out_mad)
goto out;
+ snprintf(props.node_desc, sizeof(props.node_desc)-1, "%s",
+ IB_DEFAULT_ND_FORMAT);
+ mlx4_ib_modify_device(&dev->ib_dev, IB_DEVICE_MODIFY_NODE_DESC, &props);
+
init_query_mad(in_mad);
- in_mad->attr_id = IB_SMP_ATTR_NODE_DESC;
if (mlx4_is_master(dev->dev))
mad_ifc_flags |= MLX4_MAD_IFC_NET_VIEW;
- err = mlx4_MAD_IFC(dev, mad_ifc_flags, 1, NULL, NULL, in_mad, out_mad);
- if (err)
- goto out;
-
- memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
-
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
err = mlx4_MAD_IFC(dev, mad_ifc_flags, 1, NULL, NULL, in_mad, out_mad);
--
1.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 4/6] ib/mthca: change default node description processing
[not found] ` <1414713021-12175-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
` (2 preceding siblings ...)
2014-10-30 23:50 ` [PATCH 3/6] ib/mlx4: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
@ 2014-10-30 23:50 ` ira.weiny-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1414713021-12175-5-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-10-30 23:50 ` [PATCH 5/6] ib/qib: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2014-10-30 23:50 ` [PATCH 6/6] ib/mlx5: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
5 siblings, 1 reply; 10+ messages in thread
From: ira.weiny-ral2JQCrhuEAvxtiuMwx3w @ 2014-10-30 23:50 UTC (permalink / raw)
To: roland-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb,
jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/, Ira Weiny
From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Change the default node description string to IB_DEFAULT_ND_FORMAT
Use ib_build_node_desc to dynamically map this string when queried
Reviewed-by: John Fleck <john.fleck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Michael Heinz <michael.william.heinz-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/mthca/mthca_mad.c | 3 ++-
drivers/infiniband/hw/mthca/mthca_provider.c | 12 +++---------
2 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/drivers/infiniband/hw/mthca/mthca_mad.c b/drivers/infiniband/hw/mthca/mthca_mad.c
index 8881fa3..2c15359 100644
--- a/drivers/infiniband/hw/mthca/mthca_mad.c
+++ b/drivers/infiniband/hw/mthca/mthca_mad.c
@@ -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.attr_id == IB_SMP_ATTR_NODE_DESC) {
mutex_lock(&to_mdev(dev)->cap_mask_mutex);
- memcpy(((struct ib_smp *) mad)->data, dev->node_desc, 64);
+ ib_build_node_desc(((struct ib_smp *)mad)->data, dev->node_desc,
+ 64, dev);
mutex_unlock(&to_mdev(dev)->cap_mask_mutex);
}
}
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c
index 415f8e1..c8e3d23 100644
--- a/drivers/infiniband/hw/mthca/mthca_provider.c
+++ b/drivers/infiniband/hw/mthca/mthca_provider.c
@@ -1217,16 +1217,10 @@ static int mthca_init_node_data(struct mthca_dev *dev)
if (!in_mad || !out_mad)
goto out;
- init_query_mad(in_mad);
- in_mad->attr_id = IB_SMP_ATTR_NODE_DESC;
-
- err = mthca_MAD_IFC(dev, 1, 1,
- 1, NULL, NULL, in_mad, out_mad);
- if (err)
- goto out;
-
- memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
+ snprintf(dev->ib_dev.node_desc, sizeof(dev->ib_dev.node_desc)-1, "%s",
+ IB_DEFAULT_ND_FORMAT);
+ init_query_mad(in_mad);
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
err = mthca_MAD_IFC(dev, 1, 1,
--
1.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 5/6] ib/qib: change default node description processing
[not found] ` <1414713021-12175-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
` (3 preceding siblings ...)
2014-10-30 23:50 ` [PATCH 4/6] ib/mthca: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
@ 2014-10-30 23:50 ` ira.weiny-ral2JQCrhuEAvxtiuMwx3w
2014-10-30 23:50 ` [PATCH 6/6] ib/mlx5: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
5 siblings, 0 replies; 10+ messages in thread
From: ira.weiny-ral2JQCrhuEAvxtiuMwx3w @ 2014-10-30 23:50 UTC (permalink / raw)
To: roland-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb,
jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/, Ira Weiny
From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Change the default node description string to IB_DEFAULT_ND_FORMAT
Use ib_build_node_desc to dynamically map this string when queried
Reviewed-by: John Fleck <john.fleck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Michael Heinz <michael.william.heinz-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/qib/qib_mad.c | 3 ++-
drivers/infiniband/hw/qib/qib_verbs.c | 4 ++--
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/infiniband/hw/qib/qib_mad.c b/drivers/infiniband/hw/qib/qib_mad.c
index 636be11..4db794f 100644
--- a/drivers/infiniband/hw/qib/qib_mad.c
+++ b/drivers/infiniband/hw/qib/qib_mad.c
@@ -268,7 +268,8 @@ static int subn_get_nodedescription(struct ib_smp *smp,
if (smp->attr_mod)
smp->status |= IB_SMP_INVALID_FIELD;
- memcpy(smp->data, ibdev->node_desc, sizeof(smp->data));
+ ib_build_node_desc(smp->data, ibdev->node_desc, IB_DEVICE_DESC_MAX,
+ ibdev);
return reply(smp);
}
diff --git a/drivers/infiniband/hw/qib/qib_verbs.c b/drivers/infiniband/hw/qib/qib_verbs.c
index 9bcfbd8..2c36808 100644
--- a/drivers/infiniband/hw/qib/qib_verbs.c
+++ b/drivers/infiniband/hw/qib/qib_verbs.c
@@ -2225,8 +2225,8 @@ int qib_register_ib_device(struct qib_devdata *dd)
ibdev->mmap = qib_mmap;
ibdev->dma_ops = &qib_dma_mapping_ops;
- snprintf(ibdev->node_desc, sizeof(ibdev->node_desc),
- "Intel Infiniband HCA %s", init_utsname()->nodename);
+ snprintf(ibdev->node_desc, sizeof(ibdev->node_desc)-1, "%s",
+ IB_DEFAULT_ND_FORMAT);
ret = ib_register_device(ibdev, qib_create_port_files);
if (ret)
--
1.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 6/6] ib/mlx5: change default node description processing
[not found] ` <1414713021-12175-1-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
` (4 preceding siblings ...)
2014-10-30 23:50 ` [PATCH 5/6] ib/qib: " ira.weiny-ral2JQCrhuEAvxtiuMwx3w
@ 2014-10-30 23:50 ` ira.weiny-ral2JQCrhuEAvxtiuMwx3w
[not found] ` <1414713021-12175-7-git-send-email-ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
5 siblings, 1 reply; 10+ messages in thread
From: ira.weiny-ral2JQCrhuEAvxtiuMwx3w @ 2014-10-30 23:50 UTC (permalink / raw)
To: roland-DgEjT+Ai2ygdnm+yROfE0A
Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA,
hal-LDSdmyG8hGV8YrgS2mwiifqBs+8SCbDb,
jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/, Ira Weiny
From: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Change the default node description string to IB_DEFAULT_ND_FORMAT
Use ib_build_node_desc to dynamically map this string to set Node Description
in FW
Reviewed-by: John Fleck <john.fleck-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Michael Heinz <michael.william.heinz-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Reviewed-by: Mike Marciniszyn <mike.marciniszyn-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Ira Weiny <ira.weiny-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
---
drivers/infiniband/hw/mlx5/main.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/infiniband/hw/mlx5/main.c b/drivers/infiniband/hw/mlx5/main.c
index a244317..a8bf1de 100644
--- a/drivers/infiniband/hw/mlx5/main.c
+++ b/drivers/infiniband/hw/mlx5/main.c
@@ -424,11 +424,12 @@ static int mlx5_ib_modify_device(struct ib_device *ibdev, int mask,
if (!(mask & IB_DEVICE_MODIFY_NODE_DESC))
return 0;
+ ib_build_node_desc(in.desc, props->node_desc, 64, ibdev);
+
/*
* If possible, pass node desc to FW, so it can generate
* a 144 trap. If cmd fails, just ignore.
*/
- memcpy(&in, props->node_desc, 64);
err = mlx5_core_access_reg(dev->mdev, &in, sizeof(in), &out,
sizeof(out), MLX5_REG_NODE_DESC, 0, 1);
if (err)
@@ -806,20 +807,18 @@ static int init_node_data(struct mlx5_ib_dev *dev)
struct ib_smp *in_mad = NULL;
struct ib_smp *out_mad = NULL;
int err = -ENOMEM;
+ struct ib_device_modify props;
in_mad = kzalloc(sizeof(*in_mad), GFP_KERNEL);
out_mad = kmalloc(sizeof(*out_mad), GFP_KERNEL);
if (!in_mad || !out_mad)
goto out;
- init_query_mad(in_mad);
- in_mad->attr_id = IB_SMP_ATTR_NODE_DESC;
+ snprintf(props.node_desc, sizeof(props.node_desc)-1, "%s",
+ IB_DEFAULT_ND_FORMAT);
+ mlx5_ib_modify_device(&dev->ib_dev, IB_DEVICE_MODIFY_NODE_DESC, &props);
- err = mlx5_MAD_IFC(dev, 1, 1, 1, NULL, NULL, in_mad, out_mad);
- if (err)
- goto out;
-
- memcpy(dev->ib_dev.node_desc, out_mad->data, 64);
+ init_query_mad(in_mad);
in_mad->attr_id = IB_SMP_ATTR_NODE_INFO;
--
1.8.2
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply related [flat|nested] 10+ messages in thread