DPDK patches and discussions
 help / color / mirror / Atom feed
* Re: [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem
  2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem Xiaoyun wang
@ 2020-04-01  9:28   ` Kevin Traynor
  2020-04-03 17:24   ` Ferruh Yigit
  1 sibling, 0 replies; 6+ messages in thread
From: Kevin Traynor @ 2020-04-01  9:28 UTC (permalink / raw)
  To: Xiaoyun wang, dev
  Cc: ferruh.yigit, bluca, luoxianjun, luoxingyu, zhouguoyang,
	xuanziyang2, shahar.belkar, yin.yinshi

On 01/04/2020 10:30, Xiaoyun wang wrote:
> When PF detects FW is hotactive, up returns HINIC_DEV_BUSY_ACTIVE_FW for
> pf driver, when cmdq reinit at txrx flush, cmdq will fail, driver should
> reinit the cmdq when port start.
> 
> Fixes: d9ce1917941c ("net/hinic/base: add hardware operation")

Hi. Please add tag below if you are requesting this for backport.
(http://doc.dpdk.org/guides/contributing/patches.html#patch-for-stable-releases)

Cc: stable@dpdk.org

> Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
> ---
>  drivers/net/hinic/base/hinic_pmd_cmdq.c  |  7 ++++--
>  drivers/net/hinic/base/hinic_pmd_hwdev.c |  4 ++--
>  drivers/net/hinic/base/hinic_pmd_mgmt.c  | 40 ++++++++++++++++++--------------
>  drivers/net/hinic/base/hinic_pmd_mgmt.h  |  2 ++
>  drivers/net/hinic/base/hinic_pmd_nicio.c |  2 +-
>  drivers/net/hinic/hinic_pmd_ethdev.c     |  7 +-----
>  6 files changed, 33 insertions(+), 29 deletions(-)
> 
> diff --git a/drivers/net/hinic/base/hinic_pmd_cmdq.c b/drivers/net/hinic/base/hinic_pmd_cmdq.c
> index 685498e..2e98b9c 100644
> --- a/drivers/net/hinic/base/hinic_pmd_cmdq.c
> +++ b/drivers/net/hinic/base/hinic_pmd_cmdq.c
> @@ -440,9 +440,12 @@ static int hinic_set_cmdq_ctxts(struct hinic_hwdev *hwdev)
>  					     cmdq_ctxt, in_size, NULL,
>  					     NULL, 0);
>  		if (err) {
> -			if (err == HINIC_MBOX_PF_BUSY_ACTIVE_FW)
> +			if (err == HINIC_MBOX_PF_BUSY_ACTIVE_FW ||
> +				err == HINIC_DEV_BUSY_ACTIVE_FW) {
>  				cmdqs->status |= HINIC_CMDQ_SET_FAIL;
> -			PMD_DRV_LOG(ERR, "Set cmdq ctxt failed");
> +				PMD_DRV_LOG(ERR, "PF or VF fw is hot active");
> +			}
> +			PMD_DRV_LOG(ERR, "Set cmdq ctxt failed, err: %d", err);
>  			return -EFAULT;
>  		}
>  	}
> diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
> index cf2a970..fc11ecd 100644
> --- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
> +++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
> @@ -529,7 +529,7 @@ static int hinic_vf_rx_tx_flush(struct hinic_hwdev *hwdev)
>  
>  	err = hinic_reinit_cmdq_ctxts(hwdev);
>  	if (err)
> -		PMD_DRV_LOG(WARNING, "Reinit cmdq failed");
> +		PMD_DRV_LOG(WARNING, "Reinit cmdq failed when vf flush");
>  
>  	return err;
>  }
> @@ -587,7 +587,7 @@ static int hinic_pf_rx_tx_flush(struct hinic_hwdev *hwdev)
>  
>  	err = hinic_reinit_cmdq_ctxts(hwdev);
>  	if (err)
> -		PMD_DRV_LOG(WARNING, "Reinit cmdq failed");
> +		PMD_DRV_LOG(WARNING, "Reinit cmdq failed when pf flush");
>  
>  	return 0;
>  }
> diff --git a/drivers/net/hinic/base/hinic_pmd_mgmt.c b/drivers/net/hinic/base/hinic_pmd_mgmt.c
> index addc9d2..06c9b68 100644
> --- a/drivers/net/hinic/base/hinic_pmd_mgmt.c
> +++ b/drivers/net/hinic/base/hinic_pmd_mgmt.c
> @@ -248,6 +248,19 @@ static void free_msg_buf(struct hinic_msg_pf_to_mgmt *pf_to_mgmt)
>  	free_recv_msg(&pf_to_mgmt->recv_msg_from_mgmt);
>  }
>  
> +static int hinic_get_mgmt_channel_status(void *hwdev)
> +{
> +	struct hinic_hwif *hwif = ((struct hinic_hwdev *)hwdev)->hwif;
> +	u32 val;
> +
> +	if (hinic_func_type((struct hinic_hwdev *)hwdev) == TYPE_VF)
> +		return false;
> +
> +	val = hinic_hwif_read_reg(hwif, HINIC_ICPL_RESERVD_ADDR);
> +
> +	return HINIC_GET_MGMT_CHANNEL_STATUS(val, MGMT_CHANNEL_STATUS);
> +}
> +
>  /**
>   * send_msg_to_mgmt_async - send async message
>   * @pf_to_mgmt: PF to MGMT channel
> @@ -309,6 +322,14 @@ static int send_msg_to_mgmt_sync(struct hinic_msg_pf_to_mgmt *pf_to_mgmt,
>  	u64 header;
>  	u16 cmd_size = mgmt_msg_len(msg_len);
>  
> +	/* If fw is hot active, return failed */
> +	if (hinic_get_mgmt_channel_status(pf_to_mgmt->hwdev)) {
> +		if (mod == HINIC_MOD_COMM || mod == HINIC_MOD_L2NIC)
> +			return HINIC_DEV_BUSY_ACTIVE_FW;
> +		else
> +			return -EBUSY;
> +	}
> +
>  	if (direction == HINIC_MSG_RESPONSE)
>  		prepare_header(pf_to_mgmt, &header, msg_len, mod, ack_type,
>  			       direction, cmd, resp_msg_id);
> @@ -449,7 +470,7 @@ static void hinic_pf_to_mgmt_free(struct hinic_hwdev *hwdev)
>  			       recv_msg->msg_len);
>  			*out_size = recv_msg->msg_len;
>  		} else {
> -			PMD_DRV_LOG(ERR, "Mgmt rsp's msg len: %u overflow.",
> +			PMD_DRV_LOG(ERR, "Mgmt rsp's msg len:%u overflow.",
>  				recv_msg->msg_len);
>  			err = -ERANGE;
>  		}
> @@ -462,19 +483,6 @@ static void hinic_pf_to_mgmt_free(struct hinic_hwdev *hwdev)
>  	return err;
>  }
>  
> -static int hinic_get_mgmt_channel_status(void *hwdev)
> -{
> -	struct hinic_hwif *hwif = ((struct hinic_hwdev *)hwdev)->hwif;
> -	u32 val;
> -
> -	if (hinic_func_type((struct hinic_hwdev *)hwdev) == TYPE_VF)
> -		return false;
> -
> -	val = hinic_hwif_read_reg(hwif, HINIC_ICPL_RESERVD_ADDR);
> -
> -	return HINIC_GET_MGMT_CHANNEL_STATUS(val, MGMT_CHANNEL_STATUS);
> -}
> -
>  int hinic_msg_to_mgmt_sync(void *hwdev, enum hinic_mod_type mod, u8 cmd,
>  			   void *buf_in, u16 in_size,
>  			   void *buf_out, u16 *out_size, u32 timeout)
> @@ -484,10 +492,6 @@ int hinic_msg_to_mgmt_sync(void *hwdev, enum hinic_mod_type mod, u8 cmd,
>  	if (!hwdev || in_size > HINIC_MSG_TO_MGMT_MAX_LEN)
>  		return -EINVAL;
>  
> -	/* If status is hot upgrading, don't send message to mgmt */
> -	if (hinic_get_mgmt_channel_status(hwdev))
> -		return -EPERM;
> -
>  	if (hinic_func_type(hwdev) == TYPE_VF) {
>  		rc = hinic_mbox_to_pf(hwdev, mod, cmd, buf_in, in_size,
>  					buf_out, out_size, timeout);
> diff --git a/drivers/net/hinic/base/hinic_pmd_mgmt.h b/drivers/net/hinic/base/hinic_pmd_mgmt.h
> index cc18843..52b319e 100644
> --- a/drivers/net/hinic/base/hinic_pmd_mgmt.h
> +++ b/drivers/net/hinic/base/hinic_pmd_mgmt.h
> @@ -34,6 +34,8 @@
>  #define HINIC_MSG_HEADER_P2P_IDX_MASK				0xF
>  #define HINIC_MSG_HEADER_MSG_ID_MASK				0x3FF
>  
> +#define HINIC_DEV_BUSY_ACTIVE_FW				0xFE
> +
>  #define HINIC_MSG_HEADER_GET(val, member)			\
>  		(((val) >> HINIC_MSG_HEADER_##member##_SHIFT) & \
>  		HINIC_MSG_HEADER_##member##_MASK)
> diff --git a/drivers/net/hinic/base/hinic_pmd_nicio.c b/drivers/net/hinic/base/hinic_pmd_nicio.c
> index fd34b03..60c4e14 100644
> --- a/drivers/net/hinic/base/hinic_pmd_nicio.c
> +++ b/drivers/net/hinic/base/hinic_pmd_nicio.c
> @@ -537,7 +537,7 @@ int hinic_init_qp_ctxts(struct hinic_hwdev *hwdev)
>  	if (hwdev->cmdqs->status & HINIC_CMDQ_SET_FAIL) {
>  		err = hinic_reinit_cmdq_ctxts(hwdev);
>  		if (err) {
> -			PMD_DRV_LOG(ERR, "Reinit cmdq context failed, rc: %d",
> +			PMD_DRV_LOG(ERR, "Reinit cmdq context failed when dev start, err: %d",
>  				err);
>  			return err;
>  		}
> diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
> index 23724a0..239a78c 100644
> --- a/drivers/net/hinic/hinic_pmd_ethdev.c
> +++ b/drivers/net/hinic/hinic_pmd_ethdev.c
> @@ -1862,11 +1862,6 @@ static int hinic_flow_ctrl_get(struct rte_eth_dev *dev,
>  	else
>  		fc_conf->mode = RTE_FC_NONE;
>  
> -	PMD_DRV_LOG(INFO, "Get pause options, tx: %s, rx: %s, auto: %s\n",
> -		nic_pause.tx_pause ? "on" : "off",
> -		nic_pause.rx_pause ? "on" : "off",
> -		nic_pause.auto_neg ? "on" : "off");
> -
>  	return 0;
>  }
>  
> @@ -1900,7 +1895,7 @@ static int hinic_flow_ctrl_set(struct rte_eth_dev *dev,
>  	nic_dev->nic_pause.rx_pause = nic_pause.rx_pause;
>  	nic_dev->nic_pause.tx_pause = nic_pause.tx_pause;
>  
> -	PMD_DRV_LOG(INFO, "Get pause options, tx: %s, rx: %s, auto: %s\n",
> +	PMD_DRV_LOG(INFO, "Set pause options, tx: %s, rx: %s, auto: %s\n",
>  		nic_pause.tx_pause ? "on" : "off",
>  		nic_pause.rx_pause ? "on" : "off",
>  		nic_pause.auto_neg ? "on" : "off");
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v3 0/2] bug fixes
@ 2020-04-01  9:29 Xiaoyun wang
  2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem Xiaoyun wang
  2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 2/2] net/hinic/base: optimize log style Xiaoyun wang
  0 siblings, 2 replies; 6+ messages in thread
From: Xiaoyun wang @ 2020-04-01  9:29 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, bluca, luoxianjun, luoxingyu, zhouguoyang,
	xuanziyang2, shahar.belkar, yin.yinshi, Xiaoyun wang

This patch fixes PF firmware hotactive problem, and optimize
log style. 

--
v2->v3:
  - fix-FW-hotactive-problem
  - optimize-log-style
  
v1->v2:
  - Fix LRO problems
  - Fix hotupdate firmware problem
  - Optimize doorbell area initialization 
  - Remove 40GE Mezz card id
  - Add Fdir filter type
  - Optimize log files
  - Support pause flow control

v1:
  - Allocate IO memory with socketid


Xiaoyun wang (2):
  net/hinic/base: fix FW hotactive problem
  net/hinic/base: optimize log style

 drivers/net/hinic/base/hinic_pmd_cmdq.c   |  7 ++++--
 drivers/net/hinic/base/hinic_pmd_hwdev.c  |  8 +++----
 drivers/net/hinic/base/hinic_pmd_hwif.c   |  4 ++--
 drivers/net/hinic/base/hinic_pmd_mgmt.c   | 38 +++++++++++++++++--------------
 drivers/net/hinic/base/hinic_pmd_mgmt.h   |  2 ++
 drivers/net/hinic/base/hinic_pmd_niccfg.c |  3 +--
 drivers/net/hinic/base/hinic_pmd_nicio.c  |  2 +-
 drivers/net/hinic/hinic_pmd_ethdev.c      | 15 ++++--------
 drivers/net/hinic/hinic_pmd_flow.c        |  5 ++--
 9 files changed, 43 insertions(+), 41 deletions(-)

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem
  2020-04-01  9:29 [dpdk-dev] [PATCH v3 0/2] bug fixes Xiaoyun wang
@ 2020-04-01  9:30 ` Xiaoyun wang
  2020-04-01  9:28   ` Kevin Traynor
  2020-04-03 17:24   ` Ferruh Yigit
  2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 2/2] net/hinic/base: optimize log style Xiaoyun wang
  1 sibling, 2 replies; 6+ messages in thread
From: Xiaoyun wang @ 2020-04-01  9:30 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, bluca, luoxianjun, luoxingyu, zhouguoyang,
	xuanziyang2, shahar.belkar, yin.yinshi, Xiaoyun wang

When PF detects FW is hotactive, up returns HINIC_DEV_BUSY_ACTIVE_FW for
pf driver, when cmdq reinit at txrx flush, cmdq will fail, driver should
reinit the cmdq when port start.

Fixes: d9ce1917941c ("net/hinic/base: add hardware operation")
Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
---
 drivers/net/hinic/base/hinic_pmd_cmdq.c  |  7 ++++--
 drivers/net/hinic/base/hinic_pmd_hwdev.c |  4 ++--
 drivers/net/hinic/base/hinic_pmd_mgmt.c  | 40 ++++++++++++++++++--------------
 drivers/net/hinic/base/hinic_pmd_mgmt.h  |  2 ++
 drivers/net/hinic/base/hinic_pmd_nicio.c |  2 +-
 drivers/net/hinic/hinic_pmd_ethdev.c     |  7 +-----
 6 files changed, 33 insertions(+), 29 deletions(-)

diff --git a/drivers/net/hinic/base/hinic_pmd_cmdq.c b/drivers/net/hinic/base/hinic_pmd_cmdq.c
index 685498e..2e98b9c 100644
--- a/drivers/net/hinic/base/hinic_pmd_cmdq.c
+++ b/drivers/net/hinic/base/hinic_pmd_cmdq.c
@@ -440,9 +440,12 @@ static int hinic_set_cmdq_ctxts(struct hinic_hwdev *hwdev)
 					     cmdq_ctxt, in_size, NULL,
 					     NULL, 0);
 		if (err) {
-			if (err == HINIC_MBOX_PF_BUSY_ACTIVE_FW)
+			if (err == HINIC_MBOX_PF_BUSY_ACTIVE_FW ||
+				err == HINIC_DEV_BUSY_ACTIVE_FW) {
 				cmdqs->status |= HINIC_CMDQ_SET_FAIL;
-			PMD_DRV_LOG(ERR, "Set cmdq ctxt failed");
+				PMD_DRV_LOG(ERR, "PF or VF fw is hot active");
+			}
+			PMD_DRV_LOG(ERR, "Set cmdq ctxt failed, err: %d", err);
 			return -EFAULT;
 		}
 	}
diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
index cf2a970..fc11ecd 100644
--- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
+++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
@@ -529,7 +529,7 @@ static int hinic_vf_rx_tx_flush(struct hinic_hwdev *hwdev)
 
 	err = hinic_reinit_cmdq_ctxts(hwdev);
 	if (err)
-		PMD_DRV_LOG(WARNING, "Reinit cmdq failed");
+		PMD_DRV_LOG(WARNING, "Reinit cmdq failed when vf flush");
 
 	return err;
 }
@@ -587,7 +587,7 @@ static int hinic_pf_rx_tx_flush(struct hinic_hwdev *hwdev)
 
 	err = hinic_reinit_cmdq_ctxts(hwdev);
 	if (err)
-		PMD_DRV_LOG(WARNING, "Reinit cmdq failed");
+		PMD_DRV_LOG(WARNING, "Reinit cmdq failed when pf flush");
 
 	return 0;
 }
diff --git a/drivers/net/hinic/base/hinic_pmd_mgmt.c b/drivers/net/hinic/base/hinic_pmd_mgmt.c
index addc9d2..06c9b68 100644
--- a/drivers/net/hinic/base/hinic_pmd_mgmt.c
+++ b/drivers/net/hinic/base/hinic_pmd_mgmt.c
@@ -248,6 +248,19 @@ static void free_msg_buf(struct hinic_msg_pf_to_mgmt *pf_to_mgmt)
 	free_recv_msg(&pf_to_mgmt->recv_msg_from_mgmt);
 }
 
+static int hinic_get_mgmt_channel_status(void *hwdev)
+{
+	struct hinic_hwif *hwif = ((struct hinic_hwdev *)hwdev)->hwif;
+	u32 val;
+
+	if (hinic_func_type((struct hinic_hwdev *)hwdev) == TYPE_VF)
+		return false;
+
+	val = hinic_hwif_read_reg(hwif, HINIC_ICPL_RESERVD_ADDR);
+
+	return HINIC_GET_MGMT_CHANNEL_STATUS(val, MGMT_CHANNEL_STATUS);
+}
+
 /**
  * send_msg_to_mgmt_async - send async message
  * @pf_to_mgmt: PF to MGMT channel
@@ -309,6 +322,14 @@ static int send_msg_to_mgmt_sync(struct hinic_msg_pf_to_mgmt *pf_to_mgmt,
 	u64 header;
 	u16 cmd_size = mgmt_msg_len(msg_len);
 
+	/* If fw is hot active, return failed */
+	if (hinic_get_mgmt_channel_status(pf_to_mgmt->hwdev)) {
+		if (mod == HINIC_MOD_COMM || mod == HINIC_MOD_L2NIC)
+			return HINIC_DEV_BUSY_ACTIVE_FW;
+		else
+			return -EBUSY;
+	}
+
 	if (direction == HINIC_MSG_RESPONSE)
 		prepare_header(pf_to_mgmt, &header, msg_len, mod, ack_type,
 			       direction, cmd, resp_msg_id);
@@ -449,7 +470,7 @@ static void hinic_pf_to_mgmt_free(struct hinic_hwdev *hwdev)
 			       recv_msg->msg_len);
 			*out_size = recv_msg->msg_len;
 		} else {
-			PMD_DRV_LOG(ERR, "Mgmt rsp's msg len: %u overflow.",
+			PMD_DRV_LOG(ERR, "Mgmt rsp's msg len:%u overflow.",
 				recv_msg->msg_len);
 			err = -ERANGE;
 		}
@@ -462,19 +483,6 @@ static void hinic_pf_to_mgmt_free(struct hinic_hwdev *hwdev)
 	return err;
 }
 
-static int hinic_get_mgmt_channel_status(void *hwdev)
-{
-	struct hinic_hwif *hwif = ((struct hinic_hwdev *)hwdev)->hwif;
-	u32 val;
-
-	if (hinic_func_type((struct hinic_hwdev *)hwdev) == TYPE_VF)
-		return false;
-
-	val = hinic_hwif_read_reg(hwif, HINIC_ICPL_RESERVD_ADDR);
-
-	return HINIC_GET_MGMT_CHANNEL_STATUS(val, MGMT_CHANNEL_STATUS);
-}
-
 int hinic_msg_to_mgmt_sync(void *hwdev, enum hinic_mod_type mod, u8 cmd,
 			   void *buf_in, u16 in_size,
 			   void *buf_out, u16 *out_size, u32 timeout)
@@ -484,10 +492,6 @@ int hinic_msg_to_mgmt_sync(void *hwdev, enum hinic_mod_type mod, u8 cmd,
 	if (!hwdev || in_size > HINIC_MSG_TO_MGMT_MAX_LEN)
 		return -EINVAL;
 
-	/* If status is hot upgrading, don't send message to mgmt */
-	if (hinic_get_mgmt_channel_status(hwdev))
-		return -EPERM;
-
 	if (hinic_func_type(hwdev) == TYPE_VF) {
 		rc = hinic_mbox_to_pf(hwdev, mod, cmd, buf_in, in_size,
 					buf_out, out_size, timeout);
diff --git a/drivers/net/hinic/base/hinic_pmd_mgmt.h b/drivers/net/hinic/base/hinic_pmd_mgmt.h
index cc18843..52b319e 100644
--- a/drivers/net/hinic/base/hinic_pmd_mgmt.h
+++ b/drivers/net/hinic/base/hinic_pmd_mgmt.h
@@ -34,6 +34,8 @@
 #define HINIC_MSG_HEADER_P2P_IDX_MASK				0xF
 #define HINIC_MSG_HEADER_MSG_ID_MASK				0x3FF
 
+#define HINIC_DEV_BUSY_ACTIVE_FW				0xFE
+
 #define HINIC_MSG_HEADER_GET(val, member)			\
 		(((val) >> HINIC_MSG_HEADER_##member##_SHIFT) & \
 		HINIC_MSG_HEADER_##member##_MASK)
diff --git a/drivers/net/hinic/base/hinic_pmd_nicio.c b/drivers/net/hinic/base/hinic_pmd_nicio.c
index fd34b03..60c4e14 100644
--- a/drivers/net/hinic/base/hinic_pmd_nicio.c
+++ b/drivers/net/hinic/base/hinic_pmd_nicio.c
@@ -537,7 +537,7 @@ int hinic_init_qp_ctxts(struct hinic_hwdev *hwdev)
 	if (hwdev->cmdqs->status & HINIC_CMDQ_SET_FAIL) {
 		err = hinic_reinit_cmdq_ctxts(hwdev);
 		if (err) {
-			PMD_DRV_LOG(ERR, "Reinit cmdq context failed, rc: %d",
+			PMD_DRV_LOG(ERR, "Reinit cmdq context failed when dev start, err: %d",
 				err);
 			return err;
 		}
diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
index 23724a0..239a78c 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -1862,11 +1862,6 @@ static int hinic_flow_ctrl_get(struct rte_eth_dev *dev,
 	else
 		fc_conf->mode = RTE_FC_NONE;
 
-	PMD_DRV_LOG(INFO, "Get pause options, tx: %s, rx: %s, auto: %s\n",
-		nic_pause.tx_pause ? "on" : "off",
-		nic_pause.rx_pause ? "on" : "off",
-		nic_pause.auto_neg ? "on" : "off");
-
 	return 0;
 }
 
@@ -1900,7 +1895,7 @@ static int hinic_flow_ctrl_set(struct rte_eth_dev *dev,
 	nic_dev->nic_pause.rx_pause = nic_pause.rx_pause;
 	nic_dev->nic_pause.tx_pause = nic_pause.tx_pause;
 
-	PMD_DRV_LOG(INFO, "Get pause options, tx: %s, rx: %s, auto: %s\n",
+	PMD_DRV_LOG(INFO, "Set pause options, tx: %s, rx: %s, auto: %s\n",
 		nic_pause.tx_pause ? "on" : "off",
 		nic_pause.rx_pause ? "on" : "off",
 		nic_pause.auto_neg ? "on" : "off");
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dpdk-dev] [PATCH v3 2/2] net/hinic/base: optimize log style
  2020-04-01  9:29 [dpdk-dev] [PATCH v3 0/2] bug fixes Xiaoyun wang
  2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem Xiaoyun wang
@ 2020-04-01  9:30 ` Xiaoyun wang
  1 sibling, 0 replies; 6+ messages in thread
From: Xiaoyun wang @ 2020-04-01  9:30 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, bluca, luoxianjun, luoxingyu, zhouguoyang,
	xuanziyang2, shahar.belkar, yin.yinshi, Xiaoyun wang

The patch adds space between descriptors and variables in log files.

Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
---
 drivers/net/hinic/base/hinic_pmd_hwdev.c  | 4 ++--
 drivers/net/hinic/base/hinic_pmd_hwif.c   | 4 ++--
 drivers/net/hinic/base/hinic_pmd_mgmt.c   | 2 +-
 drivers/net/hinic/base/hinic_pmd_niccfg.c | 3 +--
 drivers/net/hinic/hinic_pmd_ethdev.c      | 8 ++++----
 drivers/net/hinic/hinic_pmd_flow.c        | 5 ++---
 6 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/drivers/net/hinic/base/hinic_pmd_hwdev.c b/drivers/net/hinic/base/hinic_pmd_hwdev.c
index fc11ecd..cc42076 100644
--- a/drivers/net/hinic/base/hinic_pmd_hwdev.c
+++ b/drivers/net/hinic/base/hinic_pmd_hwdev.c
@@ -298,7 +298,7 @@ void dma_pool_destroy(struct dma_pool *pool)
 		return;
 
 	if (rte_atomic32_read(&pool->inuse) != 0) {
-		PMD_DRV_LOG(ERR, "Leak memory, dma_pool:%s, inuse_count:%d",
+		PMD_DRV_LOG(ERR, "Leak memory, dma_pool: %s, inuse_count: %d",
 			    pool->name, rte_atomic32_read(&pool->inuse));
 	}
 
@@ -1068,7 +1068,7 @@ int hinic_l2nic_reset(struct hinic_hwdev *hwdev)
 		watchdog_info->is_overflow, watchdog_info->stack_top,
 		watchdog_info->stack_bottom);
 
-	PMD_DRV_LOG(ERR, "Mgmt pc: 0x%08x, lr: 0x%08x, cpsr:0x%08x",
+	PMD_DRV_LOG(ERR, "Mgmt pc: 0x%08x, lr: 0x%08x, cpsr: 0x%08x",
 		watchdog_info->pc, watchdog_info->lr, watchdog_info->cpsr);
 
 	PMD_DRV_LOG(ERR, "Mgmt register info");
diff --git a/drivers/net/hinic/base/hinic_pmd_hwif.c b/drivers/net/hinic/base/hinic_pmd_hwif.c
index 0fced5b..63fba0d 100644
--- a/drivers/net/hinic/base/hinic_pmd_hwif.c
+++ b/drivers/net/hinic/base/hinic_pmd_hwif.c
@@ -450,8 +450,8 @@ static void hinic_parse_hwif_attr(struct hinic_hwdev *hwdev)
 	struct hinic_hwif *hwif = hwdev->hwif;
 
 	PMD_DRV_LOG(INFO, "Device %s hwif attribute:", hwdev->pcidev_hdl->name);
-	PMD_DRV_LOG(INFO, "func_idx:%u, p2p_idx:%u, pciintf_idx:%u, "
-		    "vf_in_pf:%u, ppf_idx:%u, global_vf_id:%u, func_type:%u",
+	PMD_DRV_LOG(INFO, "func_idx: %u, p2p_idx: %u, pciintf_idx: %u, "
+		    "vf_in_pf: %u, ppf_idx: %u, global_vf_id: %u, func_type: %u",
 		    hwif->attr.func_global_idx,
 		    hwif->attr.port_to_port_idx, hwif->attr.pci_intf_idx,
 		    hwif->attr.vf_in_pf, hwif->attr.ppf_idx,
diff --git a/drivers/net/hinic/base/hinic_pmd_mgmt.c b/drivers/net/hinic/base/hinic_pmd_mgmt.c
index 06c9b68..94bc45f 100644
--- a/drivers/net/hinic/base/hinic_pmd_mgmt.c
+++ b/drivers/net/hinic/base/hinic_pmd_mgmt.c
@@ -470,7 +470,7 @@ static void hinic_pf_to_mgmt_free(struct hinic_hwdev *hwdev)
 			       recv_msg->msg_len);
 			*out_size = recv_msg->msg_len;
 		} else {
-			PMD_DRV_LOG(ERR, "Mgmt rsp's msg len:%u overflow.",
+			PMD_DRV_LOG(ERR, "Mgmt rsp's msg len: %u overflow.",
 				recv_msg->msg_len);
 			err = -ERANGE;
 		}
diff --git a/drivers/net/hinic/base/hinic_pmd_niccfg.c b/drivers/net/hinic/base/hinic_pmd_niccfg.c
index 0899a9c..c5663df 100644
--- a/drivers/net/hinic/base/hinic_pmd_niccfg.c
+++ b/drivers/net/hinic/base/hinic_pmd_niccfg.c
@@ -1610,8 +1610,7 @@ int hinic_set_link_status_follow(void *hwdev,
 		return 0;
 
 	if (status >= HINIC_LINK_FOLLOW_STATUS_MAX) {
-		PMD_DRV_LOG(ERR,
-			"Invalid link follow status: %d", status);
+		PMD_DRV_LOG(ERR, "Invalid link follow status: %d", status);
 		return -EINVAL;
 	}
 
diff --git a/drivers/net/hinic/hinic_pmd_ethdev.c b/drivers/net/hinic/hinic_pmd_ethdev.c
index 239a78c..4091cf1 100644
--- a/drivers/net/hinic/hinic_pmd_ethdev.c
+++ b/drivers/net/hinic/hinic_pmd_ethdev.c
@@ -477,7 +477,7 @@ static int hinic_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	/* alloc rx_cqe and prepare rq_wqe */
 	rc = hinic_setup_rx_resources(rxq);
 	if (rc) {
-		PMD_DRV_LOG(ERR, "Setup rxq[%d] rx_resources failed, dev_name:%s",
+		PMD_DRV_LOG(ERR, "Setup rxq[%d] rx_resources failed, dev_name: %s",
 			    queue_idx, dev->data->name);
 		goto setup_rx_res_err;
 	}
@@ -1014,7 +1014,7 @@ static int hinic_dev_start(struct rte_eth_dev *dev)
 	/* init txq and rxq context */
 	rc = hinic_init_qp_ctxts(nic_dev->hwdev);
 	if (rc) {
-		PMD_DRV_LOG(ERR, "Initialize qp context failed, dev_name:%s",
+		PMD_DRV_LOG(ERR, "Initialize qp context failed, dev_name: %s",
 			    name);
 		goto init_qp_fail;
 	}
@@ -1056,7 +1056,7 @@ static int hinic_dev_start(struct rte_eth_dev *dev)
 	/* open physical port and start packet receiving */
 	rc = hinic_set_port_enable(nic_dev->hwdev, true);
 	if (rc) {
-		PMD_DRV_LOG(ERR, "Enable physical port failed, dev_name:%s",
+		PMD_DRV_LOG(ERR, "Enable physical port failed, dev_name: %s",
 			    name);
 		goto en_port_fail;
 	}
@@ -1203,7 +1203,7 @@ static void hinic_dev_stop(struct rte_eth_dev *dev)
 
 	rc = hinic_set_vport_enable(nic_dev->hwdev, false);
 	if (rc)
-		PMD_DRV_LOG(WARNING, "Disable vport failed, error: %d, dev_name:%s, port_id:%d",
+		PMD_DRV_LOG(WARNING, "Disable vport failed, error: %d, dev_name: %s, port_id: %d",
 			  rc, name, port_id);
 
 	/* Clear recorded link status */
diff --git a/drivers/net/hinic/hinic_pmd_flow.c b/drivers/net/hinic/hinic_pmd_flow.c
index c1f86ef..e620df0 100644
--- a/drivers/net/hinic/hinic_pmd_flow.c
+++ b/drivers/net/hinic/hinic_pmd_flow.c
@@ -2285,8 +2285,7 @@ static int hinic_add_del_ntuple_filter(struct rte_eth_dev *dev,
 			case RTE_ETHER_TYPE_SLOW:
 				(void)hinic_clear_fdir_tcam(nic_dev->hwdev,
 								TCAM_PKT_LACP);
-				PMD_DRV_LOG(INFO,
-					"Del lacp tcam succeed");
+				PMD_DRV_LOG(INFO, "Del lacp tcam succeed");
 				break;
 			default:
 				break;
@@ -2935,7 +2934,7 @@ static int hinic_flow_destroy(struct rte_eth_dev *dev, struct rte_flow *flow,
 		}
 		break;
 	default:
-		PMD_DRV_LOG(WARNING, "Filter type (%d) not supported",
+		PMD_DRV_LOG(WARNING, "Filter type (%d) is not supported",
 			filter_type);
 		ret = -EINVAL;
 		break;
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem
  2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem Xiaoyun wang
  2020-04-01  9:28   ` Kevin Traynor
@ 2020-04-03 17:24   ` Ferruh Yigit
  2020-04-10  8:40     ` Wangxiaoyun (Cloud)
  1 sibling, 1 reply; 6+ messages in thread
From: Ferruh Yigit @ 2020-04-03 17:24 UTC (permalink / raw)
  To: Xiaoyun wang, dev
  Cc: bluca, luoxianjun, luoxingyu, zhouguoyang, xuanziyang2,
	shahar.belkar, yin.yinshi

On 4/1/2020 10:30 AM, Xiaoyun wang wrote:
> When PF detects FW is hotactive, up returns HINIC_DEV_BUSY_ACTIVE_FW for

Hi Xiaoyun,

What is 'hotactive'? "hot active"? Does it mean FW busy?

> pf driver, when cmdq reinit at txrx flush, cmdq will fail, driver should
> reinit the cmdq when port start.

Can you please rephrase above message to clarify it?

> 
> Fixes: d9ce1917941c ("net/hinic/base: add hardware operation")
> Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>

<...>


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem
  2020-04-03 17:24   ` Ferruh Yigit
@ 2020-04-10  8:40     ` Wangxiaoyun (Cloud)
  0 siblings, 0 replies; 6+ messages in thread
From: Wangxiaoyun (Cloud) @ 2020-04-10  8:40 UTC (permalink / raw)
  To: Ferruh Yigit, dev
  Cc: bluca, luoxianjun, luoxingyu, zhouguoyang, xuanziyang2,
	shahar.belkar, yin.yinshi

Hi Ferruch,
     I will upstream a new patch to clarify the comments.
Best regards
xiaoyun wang

在 2020/4/4 1:24, Ferruh Yigit 写道:
> On 4/1/2020 10:30 AM, Xiaoyun wang wrote:
>> When PF detects FW is hotactive, up returns HINIC_DEV_BUSY_ACTIVE_FW for
> 
> Hi Xiaoyun,
> 
> What is 'hotactive'? "hot active"? Does it mean FW busy?
> 
>> pf driver, when cmdq reinit at txrx flush, cmdq will fail, driver should
>> reinit the cmdq when port start.
> 
> Can you please rephrase above message to clarify it?
> 
>>
>> Fixes: d9ce1917941c ("net/hinic/base: add hardware operation")
>> Signed-off-by: Xiaoyun wang <cloud.wangxiaoyun@huawei.com>
> 
> <...>
> 
> 
> .
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-10  8:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-01  9:29 [dpdk-dev] [PATCH v3 0/2] bug fixes Xiaoyun wang
2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 1/2] net/hinic/base: fix FW hotactive problem Xiaoyun wang
2020-04-01  9:28   ` Kevin Traynor
2020-04-03 17:24   ` Ferruh Yigit
2020-04-10  8:40     ` Wangxiaoyun (Cloud)
2020-04-01  9:30 ` [dpdk-dev] [PATCH v3 2/2] net/hinic/base: optimize log style Xiaoyun wang

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git