All of lore.kernel.org
 help / color / mirror / Atom feed
From: oulijun <oulijun@huawei.com>
To: "Yankejian (Hackim Yim)" <yankejian@huawei.com>,
	dledford@redhat.com, sean.hefty@intel.com,
	hal.rosenstock@gmail.com, davem@davemloft.net,
	jeffrey.t.kirsher@intel.com, jiri@mellanox.com,
	ogerlitz@mellanox.com, linux-rdma@vger.kernel.org,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	gongyangming@huawei.com, xiaokun@huawei.com,
	tangchaofei@huawei.com, haifeng.wei@huawei.com,
	yisen.zhuang@huawei.com, lisheng011@huawei.com,
	charles.chenxin@huawei.com, linuxarm@huawei.com
Subject: Re: [PATCH 2/3] net: hns: add Hisilicon RoCE support
Date: Sat, 19 Mar 2016 19:17:49 +0800	[thread overview]
Message-ID: <56ED355D.7050604@huawei.com> (raw)
In-Reply-To: <20160314064921.GA26456@leon.nu>

On 2016/3/14 14:49, Leon Romanovsky wrote:
> On Mon, Mar 14, 2016 at 09:12:28AM +0800, Yankejian (Hackim Yim) wrote:
>>
>>
>> On 2016/3/12 18:43, Leon Romanovsky wrote:
>>> On Fri, Mar 11, 2016 at 06:37:10PM +0800, Lijun Ou wrote:
>>>> It added hns_dsaf_roce_reset routine for roce driver.
>>>> RoCE is a feature of hns.
>>>> In hip06 SOC, in roce reset process, it's needed to configure
>>>> dsaf channel reset,port and sl map info.
>>>>
>>>> Signed-off-by: Lijun Ou <oulijun@huawei.com>
>>>> Signed-off-by: Wei Hu(Xavier) <xavier.huwei@huawei.com>
>>>> Signed-off-by: Lisheng <lisheng011@huawei.com>
>>>> ---
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 84 ++++++++++++++++++++++
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h | 14 ++++
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c | 62 +++++++++++++---
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  | 13 ++++
>>>>  4 files changed, 163 insertions(+), 10 deletions(-)
>>>>
>>>> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
>>>> index 38fc5be..a0f0d4f 100644
>>>> --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
>>>> +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
>>>> @@ -12,6 +12,7 @@
>>>>  #include <linux/init.h>
>>>>  #include <linux/interrupt.h>
>>>>  #include <linux/netdevice.h>
>>>> +#include <linux/of_platform.h>
>>>>  #include <linux/platform_device.h>
>>>>  #include <linux/of.h>
>>>>  #include <linux/of_address.h>
>>>> @@ -2593,6 +2594,89 @@ static struct platform_driver g_dsaf_driver = {
>>>>  
>>>>  module_platform_driver(g_dsaf_driver);
>>>>  
>>>> +/**
>>>> + * hns_dsaf_roce_reset - reset dsaf and roce
>>>> + * @dsaf_fwnode: Pointer to framework node for the dasf
>>>> + * @val: 0 - request reset , 1 - drop reset
>>>> + * retuen 0 - success , negative --fail
>>>> + */
>>>> +int hns_dsaf_roce_reset(struct fwnode_handle *dsaf_fwnode, u32 val)
>>>> +{
>>>> +	struct dsaf_device *dsaf_dev;
>>>> +	struct platform_device *pdev;
>>>> +	unsigned int mp;
>>>> +	unsigned int sl;
>>>> +	unsigned int credit;
>>>> +	int i;
>>>> +	const u32 port_map[DSAF_ROCE_CREDIT_CHN][DSAF_ROCE_CHAN_MODE] = {
>>>> +		{0, 0, 0},
>>>> +		{1, 0, 0},
>>>> +		{2, 1, 0},
>>>> +		{3, 1, 0},
>>>> +		{4, 2, 1},
>>>> +		{4, 2, 1},
>>>> +		{5, 3, 1},
>>>> +		{5, 3, 1},
>>>> +	};
>>>> +	const u32 sl_map[DSAF_ROCE_CREDIT_CHN][DSAF_ROCE_CHAN_MODE] = {
>>>> +		{0, 0, 0},
>>>> +		{0, 1, 1},
>>>> +		{0, 0, 2},
>>>> +		{0, 1, 3},
>>>> +		{0, 0, 0},
>>>> +		{1, 1, 1},
>>>> +		{0, 0, 2},
>>>> +		{1, 1, 3},
>>>> +	};
>>> Do you have a plan to send a version with enums/defines for this
>>> numbers? Especially for _CHAN_MODE.
>>>
>>> .
>>
>> Hi leon,
>>
>>     it seems the enums is added in hns_dsaf_main.h, as belows:
>>
>> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h
>> index 5fea226..c917b9a 100644
>> --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h
>> +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h
>> @@ -40,6 +40,16 @@ struct hns_mac_cb;
>>  #define DSAF_DUMP_REGS_NUM 504
>>  #define DSAF_STATIC_NUM 28
>>  
>> +#define DSAF_ROCE_CREDIT_CHN 8
>> +#define DSAF_ROCE_CHAN_MODE 3
>> +
>> +enum dsaf_roce_port_port_mode {
>> +	DSAF_ROCE_6PORT_MODE,
>> +	DSAF_ROCE_4PORT_MODE,
>> +	DSAF_ROCE_2PORT_MODE,
>> +	DSAF_ROCE_CHAN_MODE_NUM
>> +};
>> +
> 
> These defines are used as an index entry into si_map and port_map arrays
> and seems as not related to the actual data.
> 
> I suggest you to take this code back to drawing table, redesign it,
> clean unused functions and defines and resubmit it.
> 
> Thanks.
>

Hi Leon Romanovsky

   I have redesigned the port_map and sl_map structures. Please refer to the
hns_dsaf_main.c and hns_dsaf_main.h.

thanks
Lijun Ou

>>
>> MBR, Kejian
>>
>>
>>
>>
>>
>>
>> --
>> 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
> 
> .
> 

WARNING: multiple messages have this Message-ID (diff)
From: oulijun <oulijun@huawei.com>
To: "Yankejian (Hackim Yim)" <yankejian@huawei.com>,
	<dledford@redhat.com>, <sean.hefty@intel.com>,
	<hal.rosenstock@gmail.com>, <davem@davemloft.net>,
	<jeffrey.t.kirsher@intel.com>, <jiri@mellanox.com>,
	<ogerlitz@mellanox.com>, <linux-rdma@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>,
	<gongyangming@huawei.com>, <xiaokun@huawei.com>,
	<tangchaofei@huawei.com>, <haifeng.wei@huawei.com>,
	<yisen.zhuang@huawei.com>, <lisheng011@huawei.com>,
	<charles.chenxin@huawei.com>, <linuxarm@huawei.com>
Subject: Re: [PATCH 2/3] net: hns: add Hisilicon RoCE support
Date: Sat, 19 Mar 2016 19:17:49 +0800	[thread overview]
Message-ID: <56ED355D.7050604@huawei.com> (raw)
In-Reply-To: <20160314064921.GA26456@leon.nu>

On 2016/3/14 14:49, Leon Romanovsky wrote:
> On Mon, Mar 14, 2016 at 09:12:28AM +0800, Yankejian (Hackim Yim) wrote:
>>
>>
>> On 2016/3/12 18:43, Leon Romanovsky wrote:
>>> On Fri, Mar 11, 2016 at 06:37:10PM +0800, Lijun Ou wrote:
>>>> It added hns_dsaf_roce_reset routine for roce driver.
>>>> RoCE is a feature of hns.
>>>> In hip06 SOC, in roce reset process, it's needed to configure
>>>> dsaf channel reset,port and sl map info.
>>>>
>>>> Signed-off-by: Lijun Ou <oulijun@huawei.com>
>>>> Signed-off-by: Wei Hu(Xavier) <xavier.huwei@huawei.com>
>>>> Signed-off-by: Lisheng <lisheng011@huawei.com>
>>>> ---
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c | 84 ++++++++++++++++++++++
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h | 14 ++++
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_misc.c | 62 +++++++++++++---
>>>>  drivers/net/ethernet/hisilicon/hns/hns_dsaf_reg.h  | 13 ++++
>>>>  4 files changed, 163 insertions(+), 10 deletions(-)
>>>>
>>>> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
>>>> index 38fc5be..a0f0d4f 100644
>>>> --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
>>>> +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.c
>>>> @@ -12,6 +12,7 @@
>>>>  #include <linux/init.h>
>>>>  #include <linux/interrupt.h>
>>>>  #include <linux/netdevice.h>
>>>> +#include <linux/of_platform.h>
>>>>  #include <linux/platform_device.h>
>>>>  #include <linux/of.h>
>>>>  #include <linux/of_address.h>
>>>> @@ -2593,6 +2594,89 @@ static struct platform_driver g_dsaf_driver = {
>>>>  
>>>>  module_platform_driver(g_dsaf_driver);
>>>>  
>>>> +/**
>>>> + * hns_dsaf_roce_reset - reset dsaf and roce
>>>> + * @dsaf_fwnode: Pointer to framework node for the dasf
>>>> + * @val: 0 - request reset , 1 - drop reset
>>>> + * retuen 0 - success , negative --fail
>>>> + */
>>>> +int hns_dsaf_roce_reset(struct fwnode_handle *dsaf_fwnode, u32 val)
>>>> +{
>>>> +	struct dsaf_device *dsaf_dev;
>>>> +	struct platform_device *pdev;
>>>> +	unsigned int mp;
>>>> +	unsigned int sl;
>>>> +	unsigned int credit;
>>>> +	int i;
>>>> +	const u32 port_map[DSAF_ROCE_CREDIT_CHN][DSAF_ROCE_CHAN_MODE] = {
>>>> +		{0, 0, 0},
>>>> +		{1, 0, 0},
>>>> +		{2, 1, 0},
>>>> +		{3, 1, 0},
>>>> +		{4, 2, 1},
>>>> +		{4, 2, 1},
>>>> +		{5, 3, 1},
>>>> +		{5, 3, 1},
>>>> +	};
>>>> +	const u32 sl_map[DSAF_ROCE_CREDIT_CHN][DSAF_ROCE_CHAN_MODE] = {
>>>> +		{0, 0, 0},
>>>> +		{0, 1, 1},
>>>> +		{0, 0, 2},
>>>> +		{0, 1, 3},
>>>> +		{0, 0, 0},
>>>> +		{1, 1, 1},
>>>> +		{0, 0, 2},
>>>> +		{1, 1, 3},
>>>> +	};
>>> Do you have a plan to send a version with enums/defines for this
>>> numbers? Especially for _CHAN_MODE.
>>>
>>> .
>>
>> Hi leon,
>>
>>     it seems the enums is added in hns_dsaf_main.h, as belows:
>>
>> diff --git a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h
>> index 5fea226..c917b9a 100644
>> --- a/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h
>> +++ b/drivers/net/ethernet/hisilicon/hns/hns_dsaf_main.h
>> @@ -40,6 +40,16 @@ struct hns_mac_cb;
>>  #define DSAF_DUMP_REGS_NUM 504
>>  #define DSAF_STATIC_NUM 28
>>  
>> +#define DSAF_ROCE_CREDIT_CHN 8
>> +#define DSAF_ROCE_CHAN_MODE 3
>> +
>> +enum dsaf_roce_port_port_mode {
>> +	DSAF_ROCE_6PORT_MODE,
>> +	DSAF_ROCE_4PORT_MODE,
>> +	DSAF_ROCE_2PORT_MODE,
>> +	DSAF_ROCE_CHAN_MODE_NUM
>> +};
>> +
> 
> These defines are used as an index entry into si_map and port_map arrays
> and seems as not related to the actual data.
> 
> I suggest you to take this code back to drawing table, redesign it,
> clean unused functions and defines and resubmit it.
> 
> Thanks.
>

Hi Leon Romanovsky

   I have redesigned the port_map and sl_map structures. Please refer to the
hns_dsaf_main.c and hns_dsaf_main.h.

thanks
Lijun Ou

>>
>> MBR, Kejian
>>
>>
>>
>>
>>
>>
>> --
>> 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
> 
> .
> 

  reply	other threads:[~2016-03-19 11:17 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-11 10:37 [PATCH 0/3] infiniband: IB/hns: Hisilicon RoCE support Lijun Ou
2016-03-11 10:37 ` Lijun Ou
2016-03-11 10:37 ` [PATCH 1/3] infiniband: IB/hns: add " Lijun Ou
2016-03-11 10:37   ` Lijun Ou
     [not found]   ` <1457692631-9290-2-git-send-email-oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-03-11 10:42     ` Jiri Pirko
2016-03-11 10:42       ` Jiri Pirko
     [not found]       ` <20160311104239.GD3931-6KJVSR23iU488b5SBfVpbw@public.gmane.org>
2016-03-16 10:23         ` oulijun
2016-03-16 10:23           ` oulijun
2016-03-16 10:23           ` oulijun
     [not found]           ` <56E9340E.3040207-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-03-16 10:36             ` Jiri Pirko
2016-03-16 10:36               ` Jiri Pirko
2016-03-17  6:43               ` Leon Romanovsky
2016-03-19 11:11                 ` oulijun
2016-03-19 11:11                   ` oulijun
2016-03-12 10:39   ` Leon Romanovsky
     [not found]     ` <20160312103940.GA15703-2ukJVAZIZ/Y@public.gmane.org>
2016-03-16 10:26       ` oulijun
2016-03-16 10:26         ` oulijun
2016-03-16 10:26         ` oulijun
2016-03-11 10:37 ` [PATCH 2/3] net: hns: " Lijun Ou
2016-03-11 10:37   ` Lijun Ou
2016-03-12 10:43   ` Leon Romanovsky
     [not found]     ` <20160312104301.GB15703-2ukJVAZIZ/Y@public.gmane.org>
2016-03-14  1:12       ` Yankejian (Hackim Yim)
2016-03-14  1:12         ` Yankejian (Hackim Yim)
2016-03-14  1:12         ` Yankejian (Hackim Yim)
     [not found]         ` <56E60FFC.3000007-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-03-14  6:49           ` Leon Romanovsky
2016-03-14  6:49             ` Leon Romanovsky
2016-03-19 11:17             ` oulijun [this message]
2016-03-19 11:17               ` oulijun
     [not found] ` <1457692631-9290-1-git-send-email-oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-03-11 10:37   ` [PATCH 3/3] infiniband: IB/hns: add Hisilicon RoCE support with bindings Lijun Ou
2016-03-11 10:37     ` Lijun Ou
2016-03-11 10:37     ` Lijun Ou
     [not found]     ` <1457692631-9290-4-git-send-email-oulijun-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2016-03-11 13:39       ` Sergei Shtylyov
2016-03-11 13:39         ` Sergei Shtylyov
     [not found]         ` <56E2CA90.9020401-M4DtvfQ/ZS1MRgGoP+s0PdBPR1lH4CV8@public.gmane.org>
2016-03-19 11:14           ` oulijun
2016-03-19 11:14             ` oulijun
2016-03-19 11:14             ` oulijun
2016-03-12 10:20 ` [PATCH 0/3] infiniband: IB/hns: Hisilicon RoCE support Leon Romanovsky
2016-03-19 11:13   ` oulijun
2016-03-19 11:13     ` oulijun

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56ED355D.7050604@huawei.com \
    --to=oulijun@huawei.com \
    --cc=charles.chenxin@huawei.com \
    --cc=davem@davemloft.net \
    --cc=dledford@redhat.com \
    --cc=gongyangming@huawei.com \
    --cc=haifeng.wei@huawei.com \
    --cc=hal.rosenstock@gmail.com \
    --cc=jeffrey.t.kirsher@intel.com \
    --cc=jiri@mellanox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=lisheng011@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=ogerlitz@mellanox.com \
    --cc=sean.hefty@intel.com \
    --cc=tangchaofei@huawei.com \
    --cc=xiaokun@huawei.com \
    --cc=yankejian@huawei.com \
    --cc=yisen.zhuang@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.