Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1481218 > unrolled thread

Re: [PATCH for-next 03/10] IB/hns: Add & initialize "node_guid" parameter for RDMA CM

Started byLeon Romanovsky <leon@kernel.org>
First post2016-09-12 14:40 +0200
Last post2016-09-12 18:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH for-next 03/10] IB/hns: Add & initialize "node_guid"  parameter for RDMA CM Leon Romanovsky <leon@kernel.org> - 2016-09-12 14:40 +0200
    RE: [PATCH for-next 03/10] IB/hns: Add & initialize "node_guid"  parameter for RDMA CM Salil Mehta <salil.mehta@huawei.com> - 2016-09-12 18:00 +0200

#1481218 — Re: [PATCH for-next 03/10] IB/hns: Add & initialize "node_guid" parameter for RDMA CM

FromLeon Romanovsky <leon@kernel.org>
Date2016-09-12 14:40 +0200
SubjectRe: [PATCH for-next 03/10] IB/hns: Add & initialize "node_guid" parameter for RDMA CM
Message-ID<sgyGK-3jx-23@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

On Fri, Sep 02, 2016 at 05:37:18AM +0800, Salil Mehta wrote:
> From: Lijun Ou <oulijun@huawei.com>
>
> According to the Infiniband spec, NodeGUID uniquely identifies a
> node. This must be initialized to some unique value. This patch
> adds the support to the HNS RoCE driver to fetch the NodeGUID
> value from DT or ACPI and then use this value to initialize the
> node_guid parameter of IB device. This value shall be used by
> RDMA CM.
>
> Signed-off-by: Lijun Ou <oulijun@huawei.com>
> Reviewed-by: Wei Hu <xavier.huwei@huawei.com>
> Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
> ---
>  drivers/infiniband/hw/hns/hns_roce_device.h |    1 +
>  drivers/infiniband/hw/hns/hns_roce_main.c   |    7 +++++++
>  2 files changed, 8 insertions(+)
>
> diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h b/drivers/infiniband/hw/hns/hns_roce_device.h
> index ea73580..e943b98 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_device.h
> +++ b/drivers/infiniband/hw/hns/hns_roce_device.h
> @@ -74,6 +74,7 @@
>  #define MR_TYPE_DMA				0x03
>
>  #define PKEY_ID					0xffff
> +#define GUID_LEN				8
>  #define NODE_DESC_SIZE				64
>
>  #define SERV_TYPE_RC				0
> diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c b/drivers/infiniband/hw/hns/hns_roce_main.c
> index 4e93120..ec27f0c 100644
> --- a/drivers/infiniband/hw/hns/hns_roce_main.c
> +++ b/drivers/infiniband/hw/hns/hns_roce_main.c
> @@ -812,6 +812,13 @@ static int hns_roce_get_cfg(struct hns_roce_dev *hr_dev)
>  	if (IS_ERR(hr_dev->reg_base))
>  		return PTR_ERR(hr_dev->reg_base);
>
> +	/* read the node_guid of IB device from the DT or ACPI */
> +	ret = device_property_read_u8_array(dev, "node-guid",
> +					    (u8 *)&hr_dev->ib_dev.node_guid,
> +					    GUID_LEN);
> +	if (ret)
> +		dev_err(dev, "couldn't get node_guid from DT or ACPI!\n");

Is it error? If yes, you need to implement proper error folding. If not,
this error shouldn't be error.

> +
>  	/* get the RoCE associated ethernet ports or netdevices */
>  	for (i = 0; i < HNS_ROCE_MAX_PORTS; i++) {
>  		if (dev_of_node(dev)) {
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[toc] | [next] | [standalone]


#1481508

FromSalil Mehta <salil.mehta@huawei.com>
Date2016-09-12 18:00 +0200
Message-ID<sgBOh-5gk-5@gated-at.bofh.it>
In reply to#1481218

> -----Original Message-----
> From: Leon Romanovsky [mailto:leon@kernel.org]
> Sent: Monday, September 12, 2016 1:36 PM
> To: Salil Mehta
> Cc: dledford@redhat.com; Huwei (Xavier); oulijun; Zhuangyuzeng (Yisen);
> mehta.salil.lnk@gmail.com; linux-rdma@vger.kernel.org; linux-
> kernel@vger.kernel.org; Linuxarm
> Subject: Re: [PATCH for-next 03/10] IB/hns: Add & initialize
> "node_guid" parameter for RDMA CM
> 
> On Fri, Sep 02, 2016 at 05:37:18AM +0800, Salil Mehta wrote:
> > From: Lijun Ou <oulijun@huawei.com>
> >
> > According to the Infiniband spec, NodeGUID uniquely identifies a
> > node. This must be initialized to some unique value. This patch
> > adds the support to the HNS RoCE driver to fetch the NodeGUID
> > value from DT or ACPI and then use this value to initialize the
> > node_guid parameter of IB device. This value shall be used by
> > RDMA CM.
> >
> > Signed-off-by: Lijun Ou <oulijun@huawei.com>
> > Reviewed-by: Wei Hu <xavier.huwei@huawei.com>
> > Signed-off-by: Salil Mehta <salil.mehta@huawei.com>
> > ---
> >  drivers/infiniband/hw/hns/hns_roce_device.h |    1 +
> >  drivers/infiniband/hw/hns/hns_roce_main.c   |    7 +++++++
> >  2 files changed, 8 insertions(+)
> >
> > diff --git a/drivers/infiniband/hw/hns/hns_roce_device.h
> b/drivers/infiniband/hw/hns/hns_roce_device.h
> > index ea73580..e943b98 100644
> > --- a/drivers/infiniband/hw/hns/hns_roce_device.h
> > +++ b/drivers/infiniband/hw/hns/hns_roce_device.h
> > @@ -74,6 +74,7 @@
> >  #define MR_TYPE_DMA				0x03
> >
> >  #define PKEY_ID					0xffff
> > +#define GUID_LEN				8
> >  #define NODE_DESC_SIZE				64
> >
> >  #define SERV_TYPE_RC				0
> > diff --git a/drivers/infiniband/hw/hns/hns_roce_main.c
> b/drivers/infiniband/hw/hns/hns_roce_main.c
> > index 4e93120..ec27f0c 100644
> > --- a/drivers/infiniband/hw/hns/hns_roce_main.c
> > +++ b/drivers/infiniband/hw/hns/hns_roce_main.c
> > @@ -812,6 +812,13 @@ static int hns_roce_get_cfg(struct hns_roce_dev
> *hr_dev)
> >  	if (IS_ERR(hr_dev->reg_base))
> >  		return PTR_ERR(hr_dev->reg_base);
> >
> > +	/* read the node_guid of IB device from the DT or ACPI */
> > +	ret = device_property_read_u8_array(dev, "node-guid",
> > +					    (u8 *)&hr_dev->ib_dev.node_guid,
> > +					    GUID_LEN);
> > +	if (ret)
> > +		dev_err(dev, "couldn't get node_guid from DT or ACPI!\n");
> 
> Is it error? If yes, you need to implement proper error folding. If
> not,
> this error shouldn't be error.
Yes, that's correct. This is a merge error. Thanks for catching this.
Above statement should have been like below:

/* read the node_guid of IB device from the DT or ACPI */
	ret = device_property_read_u8_array(dev, "node-guid",
					    (u8 *)&hr_dev->ib_dev.node_guid,
					    GUID_LEN);
	if (ret) {
		dev_err(dev, "couldn't get node_guid from DT or ACPI!\n");
		return ret;
      }

Will fix this. Thanks!

Best regards
Salil Mehta
> 
> > +
> >  	/* get the RoCE associated ethernet ports or netdevices */
> >  	for (i = 0; i < HNS_ROCE_MAX_PORTS; i++) {
> >  		if (dev_of_node(dev)) {
> > --
> > 1.7.9.5
> >
> > --
> > To unsubscribe from this list: send the line "unsubscribe linux-rdma"
> in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web