linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/9] net: hns3: misc updates for -net-next
@ 2020-03-06  2:57 Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 1/9] net: hns3: fix some mixed type assignment Huazhong Tan
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Huazhong Tan

This series includes some misc updates for the HNS3 ethernet driver.

[patch 1] fixes some mixed type operation warning.
[patch 2] renames a macro to make it more readable.
[patch 3 & 4]  removes some unnecessary code.
[patch 5] adds check before assert VF reset to prevent some unsuitable
error log.
[patch 6 - 9] some modifications related to printing.

Guojia Liao (2):
  net: hns3: fix some mixed type assignment
  net: hns3: delete some reduandant code

Huazhong Tan (2):
  net: hns3: print out status register when VF receives unknown source
    interrupt
  net: hns3: synchronize some print relating to reset issue

Yonglong Liu (1):
  net: hns3: add a check before PF inform VF to reset

Yufeng Mo (4):
  net: hns3: rename macro HCLGE_MAX_NCL_CONFIG_LENGTH
  net: hns3: remove an unnecessary resetting check in
    hclge_handle_hw_ras_error()
  net: hns3: print out command code when dump fails in debugfs
  net: hns3: delete unnecessary logs after kzalloc fails

 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c    |  4 +-
 .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 94 ++++++++++++----------
 .../net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c |  3 -
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    | 27 ++++---
 .../ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c  |  5 +-
 5 files changed, 74 insertions(+), 59 deletions(-)

-- 
2.7.4


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

* [PATCH net-next 1/9] net: hns3: fix some mixed type assignment
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  3:39   ` shenjian (K)
  2020-03-06  2:57 ` [PATCH net-next 2/9] net: hns3: rename macro HCLGE_MAX_NCL_CONFIG_LENGTH Huazhong Tan
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Guojia Liao, Huazhong Tan

From: Guojia Liao <liaoguojia@huawei.com>

This patch cleans up some incorrect type in assignment reported by sparse
and compiler.
The warning as below:
- warning : restricted __le16 degrades to integer
- warning : cast from restricted __le32
- warning : cast from restricted __be32
- warning : cast from restricted __be16
and "mixed operation".

Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 23 ++++++++++++----------
 .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    |  3 ++-
 2 files changed, 15 insertions(+), 11 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
index 6295cf9..5b4045c 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
@@ -87,7 +87,7 @@ static int hclge_dbg_get_dfx_bd_num(struct hclge_dev *hdev, int offset)
 
 	entries_per_desc = ARRAY_SIZE(desc[0].data);
 	index = offset % entries_per_desc;
-	return (int)desc[offset / entries_per_desc].data[index];
+	return le32_to_cpu(desc[offset / entries_per_desc].data[index]);
 }
 
 static int hclge_dbg_cmd_send(struct hclge_dev *hdev,
@@ -583,7 +583,7 @@ static void hclge_dbg_dump_tm_map(struct hclge_dev *hdev,
 	ret = hclge_cmd_send(&hdev->hw, &desc, 1);
 	if (ret)
 		goto err_tm_map_cmd_send;
-	qset_id = nq_to_qs_map->qset_id & 0x3FF;
+	qset_id = le16_to_cpu(nq_to_qs_map->qset_id) & 0x3FF;
 
 	cmd = HCLGE_OPC_TM_QS_TO_PRI_LINK;
 	map = (struct hclge_qs_to_pri_link_cmd *)desc.data;
@@ -623,7 +623,8 @@ static void hclge_dbg_dump_tm_map(struct hclge_dev *hdev,
 		if (ret)
 			goto err_tm_map_cmd_send;
 
-		qset_maping[group_id] = bp_to_qs_map_cmd->qs_bit_map;
+		qset_maping[group_id] =
+			le32_to_cpu(bp_to_qs_map_cmd->qs_bit_map);
 	}
 
 	dev_info(&hdev->pdev->dev, "index | tm bp qset maping:\n");
@@ -826,6 +827,7 @@ static void hclge_dbg_dump_mng_table(struct hclge_dev *hdev)
 	struct hclge_mac_ethertype_idx_rd_cmd *req0;
 	char printf_buf[HCLGE_DBG_BUF_LEN];
 	struct hclge_desc desc;
+	u32 msg_egress_port;
 	int ret, i;
 
 	dev_info(&hdev->pdev->dev, "mng tab:\n");
@@ -867,20 +869,21 @@ static void hclge_dbg_dump_mng_table(struct hclge_dev *hdev)
 			 HCLGE_DBG_BUF_LEN - strlen(printf_buf),
 			 "%x   |%04x |%x   |%04x|%x   |%02x   |%02x   |",
 			 !!(req0->flags & HCLGE_DBG_MNG_MAC_MASK_B),
-			 req0->ethter_type,
+			 le16_to_cpu(req0->ethter_type),
 			 !!(req0->flags & HCLGE_DBG_MNG_ETHER_MASK_B),
-			 req0->vlan_tag & HCLGE_DBG_MNG_VLAN_TAG,
+			 le16_to_cpu(req0->vlan_tag) & HCLGE_DBG_MNG_VLAN_TAG,
 			 !!(req0->flags & HCLGE_DBG_MNG_VLAN_MASK_B),
 			 req0->i_port_bitmap, req0->i_port_direction);
 
+		msg_egress_port = le16_to_cpu(req0->egress_port);
 		snprintf(printf_buf + strlen(printf_buf),
 			 HCLGE_DBG_BUF_LEN - strlen(printf_buf),
 			 "%d     |%d    |%02d   |%04d|%x\n",
-			 !!(req0->egress_port & HCLGE_DBG_MNG_E_TYPE_B),
-			 req0->egress_port & HCLGE_DBG_MNG_PF_ID,
-			 (req0->egress_port >> 3) & HCLGE_DBG_MNG_VF_ID,
-			 req0->egress_queue,
-			 !!(req0->egress_port & HCLGE_DBG_MNG_DROP_B));
+			 !!(msg_egress_port & HCLGE_DBG_MNG_E_TYPE_B),
+			 msg_egress_port & HCLGE_DBG_MNG_PF_ID,
+			 (msg_egress_port >> 3) & HCLGE_DBG_MNG_VF_ID,
+			 le16_to_cpu(req0->egress_queue),
+			 !!(msg_egress_port & HCLGE_DBG_MNG_DROP_B));
 
 		dev_info(&hdev->pdev->dev, "%s", printf_buf);
 	}
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 89d3523..e64027c 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -10252,8 +10252,9 @@ static int hclge_dfx_reg_fetch_data(struct hclge_desc *desc_src, int bd_num,
 static int hclge_get_dfx_reg_len(struct hclge_dev *hdev, int *len)
 {
 	u32 dfx_reg_type_num = ARRAY_SIZE(hclge_dfx_bd_offset_list);
-	int data_len_per_desc, data_len, bd_num, i;
+	int data_len_per_desc, bd_num, i;
 	int bd_num_list[BD_LIST_MAX_NUM];
+	u32 data_len;
 	int ret;
 
 	ret = hclge_get_dfx_reg_bd_num(hdev, bd_num_list, dfx_reg_type_num);
-- 
2.7.4


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

* [PATCH net-next 2/9] net: hns3: rename macro HCLGE_MAX_NCL_CONFIG_LENGTH
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 1/9] net: hns3: fix some mixed type assignment Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 3/9] net: hns3: remove an unnecessary resetting check in hclge_handle_hw_ras_error() Huazhong Tan
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Yufeng Mo, Huazhong Tan

From: Yufeng Mo <moyufeng@huawei.com>

The name of macro HCLGE_MAX_NCL_CONFIG_LENGTH is inaccurate,
this patch renames it to HCLGE_NCL_CONFIG_LENGTH_IN_EACH_CMD.

Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
index 5b4045c..5814f36 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
@@ -1137,7 +1137,7 @@ static void hclge_dbg_dump_ncl_config(struct hclge_dev *hdev,
 				      const char *cmd_buf)
 {
 #define HCLGE_MAX_NCL_CONFIG_OFFSET	4096
-#define HCLGE_MAX_NCL_CONFIG_LENGTH	(20 + 24 * 4)
+#define HCLGE_NCL_CONFIG_LENGTH_IN_EACH_CMD	(20 + 24 * 4)
 
 	struct hclge_desc desc[HCLGE_CMD_NCL_CONFIG_BD_NUM];
 	int bd_num = HCLGE_CMD_NCL_CONFIG_BD_NUM;
@@ -1161,8 +1161,8 @@ static void hclge_dbg_dump_ncl_config(struct hclge_dev *hdev,
 
 	while (length > 0) {
 		data0 = offset;
-		if (length >= HCLGE_MAX_NCL_CONFIG_LENGTH)
-			data0 |= HCLGE_MAX_NCL_CONFIG_LENGTH << 16;
+		if (length >= HCLGE_NCL_CONFIG_LENGTH_IN_EACH_CMD)
+			data0 |= HCLGE_NCL_CONFIG_LENGTH_IN_EACH_CMD << 16;
 		else
 			data0 |= length << 16;
 		ret = hclge_dbg_cmd_send(hdev, desc, data0, bd_num,
-- 
2.7.4


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

* [PATCH net-next 3/9] net: hns3: remove an unnecessary resetting check in hclge_handle_hw_ras_error()
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 1/9] net: hns3: fix some mixed type assignment Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 2/9] net: hns3: rename macro HCLGE_MAX_NCL_CONFIG_LENGTH Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 4/9] net: hns3: delete some reduandant code Huazhong Tan
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Yufeng Mo, Huazhong Tan

From: Yufeng Mo <moyufeng@huawei.com>

In hclge_handle_hw_ras_error(), it is unnecessary to check
HCLGE_STATE_RST_HANDLING flag, because the reset priority
has been ensured by the process itself.

Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c
index c85b72d..50d5ef7 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c
@@ -1667,9 +1667,6 @@ pci_ers_result_t hclge_handle_hw_ras_error(struct hnae3_ae_dev *ae_dev)
 		hclge_handle_rocee_ras_error(ae_dev);
 	}
 
-	if (test_bit(HCLGE_STATE_RST_HANDLING, &hdev->state))
-		goto out;
-
 	if (ae_dev->hw_err_reset_req)
 		return PCI_ERS_RESULT_NEED_RESET;
 
-- 
2.7.4


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

* [PATCH net-next 4/9] net: hns3: delete some reduandant code
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
                   ` (2 preceding siblings ...)
  2020-03-06  2:57 ` [PATCH net-next 3/9] net: hns3: remove an unnecessary resetting check in hclge_handle_hw_ras_error() Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 5/9] net: hns3: add a check before PF inform VF to reset Huazhong Tan
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Guojia Liao, Huazhong Tan

From: Guojia Liao <liaoguojia@huawei.com>

In hclge_add_mc_addr_common() and hclge_rm_mc_addr_common(),
variable req had been set as "0" by memset(), so it's unnecessary
to set .entry_type field as "0" with hnae3_set_bit() again.

Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index e64027c..6da55fb3 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -7354,7 +7354,6 @@ int hclge_add_mc_addr_common(struct hclge_vport *vport,
 		return -EINVAL;
 	}
 	memset(&req, 0, sizeof(req));
-	hnae3_set_bit(req.entry_type, HCLGE_MAC_VLAN_BIT0_EN_B, 0);
 	hclge_prepare_mac_addr(&req, addr, true);
 	status = hclge_lookup_mac_vlan_tbl(vport, &req, desc, true);
 	if (status) {
@@ -7399,7 +7398,6 @@ int hclge_rm_mc_addr_common(struct hclge_vport *vport,
 	}
 
 	memset(&req, 0, sizeof(req));
-	hnae3_set_bit(req.entry_type, HCLGE_MAC_VLAN_BIT0_EN_B, 0);
 	hclge_prepare_mac_addr(&req, addr, true);
 	status = hclge_lookup_mac_vlan_tbl(vport, &req, desc, true);
 	if (!status) {
-- 
2.7.4


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

* [PATCH net-next 5/9] net: hns3: add a check before PF inform VF to reset
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
                   ` (3 preceding siblings ...)
  2020-03-06  2:57 ` [PATCH net-next 4/9] net: hns3: delete some reduandant code Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 6/9] net: hns3: print out status register when VF receives unknown source interrupt Huazhong Tan
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Yonglong Liu, Huazhong Tan

From: Yonglong Liu <liuyonglong@huawei.com>

When setting VF's MAC from PF, if the VF driver not loaded, the
firmware will return error to PF.

So PF should check whether VF is alive before sending message to
VF when setting VF's MAC.

Signed-off-by: Yonglong Liu <liuyonglong@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 6da55fb3..69e2008 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -7617,11 +7617,17 @@ static int hclge_set_vf_mac(struct hnae3_handle *handle, int vf,
 	}
 
 	ether_addr_copy(vport->vf_info.mac, mac_addr);
-	dev_info(&hdev->pdev->dev,
-		 "MAC of VF %d has been set to %pM, and it will be reinitialized!\n",
-		 vf, mac_addr);
 
-	return hclge_inform_reset_assert_to_vf(vport);
+	if (test_bit(HCLGE_VPORT_STATE_ALIVE, &vport->state)) {
+		dev_info(&hdev->pdev->dev,
+			 "MAC of VF %d has been set to %pM, and it will be reinitialized!\n",
+			 vf, mac_addr);
+		return hclge_inform_reset_assert_to_vf(vport);
+	}
+
+	dev_info(&hdev->pdev->dev, "MAC of VF %d has been set to %pM\n",
+		 vf, mac_addr);
+	return 0;
 }
 
 static int hclge_add_mgr_tbl(struct hclge_dev *hdev,
-- 
2.7.4


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

* [PATCH net-next 6/9] net: hns3: print out status register when VF receives unknown source interrupt
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
                   ` (4 preceding siblings ...)
  2020-03-06  2:57 ` [PATCH net-next 5/9] net: hns3: add a check before PF inform VF to reset Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 7/9] net: hns3: print out command code when dump fails in debugfs Huazhong Tan
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Huazhong Tan

When received an unknown vector 0 interrupt, there is not a
helpful information for user to realize that now. So this patch
prints out the value of the status register for this case, and
uses dev_info() instead of dev_dbg() in hclge_check_event_cause().

Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
index d659720..f199a23 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c
@@ -2002,7 +2002,10 @@ static enum hclgevf_evt_cause hclgevf_check_evt_cause(struct hclgevf_dev *hdev,
 		return HCLGEVF_VECTOR0_EVENT_MBX;
 	}
 
-	dev_dbg(&hdev->pdev->dev, "vector 0 interrupt from unknown source\n");
+	/* print other vector0 event source */
+	dev_info(&hdev->pdev->dev,
+		 "vector 0 interrupt from unknown source, cmdq_src = %#x\n",
+		 cmdq_stat_reg);
 
 	return HCLGEVF_VECTOR0_EVENT_OTHER;
 }
-- 
2.7.4


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

* [PATCH net-next 7/9] net: hns3: print out command code when dump fails in debugfs
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
                   ` (5 preceding siblings ...)
  2020-03-06  2:57 ` [PATCH net-next 6/9] net: hns3: print out status register when VF receives unknown source interrupt Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 8/9] net: hns3: synchronize some print relating to reset issue Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 9/9] net: hns3: delete unnecessary logs after kzalloc fails Huazhong Tan
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Yufeng Mo, Huazhong Tan

From: Yufeng Mo <moyufeng@huawei.com>

This patch adds a local variable to save the command code in
some dump cases which need to modify the command code, then
the failing command code can be print out for debugging.

Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 56 +++++++++++++---------
 1 file changed, 34 insertions(+), 22 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
index 5814f36..8ba6985 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
@@ -179,6 +179,7 @@ static void hclge_dbg_dump_dcb(struct hclge_dev *hdev, const char *cmd_buf)
 {
 	struct device *dev = &hdev->pdev->dev;
 	struct hclge_dbg_bitmap_cmd *bitmap;
+	enum hclge_opcode_type cmd;
 	int rq_id, pri_id, qset_id;
 	int port_id, nq_id, pg_id;
 	struct hclge_desc desc[2];
@@ -193,10 +194,10 @@ static void hclge_dbg_dump_dcb(struct hclge_dev *hdev, const char *cmd_buf)
 		return;
 	}
 
-	ret = hclge_dbg_cmd_send(hdev, desc, qset_id, 1,
-				 HCLGE_OPC_QSET_DFX_STS);
+	cmd = HCLGE_OPC_QSET_DFX_STS;
+	ret = hclge_dbg_cmd_send(hdev, desc, qset_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	bitmap = (struct hclge_dbg_bitmap_cmd *)&desc[0].data[1];
 	dev_info(dev, "roce_qset_mask: 0x%x\n", bitmap->bit0);
@@ -204,48 +205,53 @@ static void hclge_dbg_dump_dcb(struct hclge_dev *hdev, const char *cmd_buf)
 	dev_info(dev, "qs_shaping_pass: 0x%x\n", bitmap->bit2);
 	dev_info(dev, "qs_bp_sts: 0x%x\n", bitmap->bit3);
 
-	ret = hclge_dbg_cmd_send(hdev, desc, pri_id, 1, HCLGE_OPC_PRI_DFX_STS);
+	cmd = HCLGE_OPC_PRI_DFX_STS;
+	ret = hclge_dbg_cmd_send(hdev, desc, pri_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	bitmap = (struct hclge_dbg_bitmap_cmd *)&desc[0].data[1];
 	dev_info(dev, "pri_mask: 0x%x\n", bitmap->bit0);
 	dev_info(dev, "pri_cshaping_pass: 0x%x\n", bitmap->bit1);
 	dev_info(dev, "pri_pshaping_pass: 0x%x\n", bitmap->bit2);
 
-	ret = hclge_dbg_cmd_send(hdev, desc, pg_id, 1, HCLGE_OPC_PG_DFX_STS);
+	cmd = HCLGE_OPC_PG_DFX_STS;
+	ret = hclge_dbg_cmd_send(hdev, desc, pg_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	bitmap = (struct hclge_dbg_bitmap_cmd *)&desc[0].data[1];
 	dev_info(dev, "pg_mask: 0x%x\n", bitmap->bit0);
 	dev_info(dev, "pg_cshaping_pass: 0x%x\n", bitmap->bit1);
 	dev_info(dev, "pg_pshaping_pass: 0x%x\n", bitmap->bit2);
 
-	ret = hclge_dbg_cmd_send(hdev, desc, port_id, 1,
-				 HCLGE_OPC_PORT_DFX_STS);
+	cmd = HCLGE_OPC_PORT_DFX_STS;
+	ret = hclge_dbg_cmd_send(hdev, desc, port_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	bitmap = (struct hclge_dbg_bitmap_cmd *)&desc[0].data[1];
 	dev_info(dev, "port_mask: 0x%x\n", bitmap->bit0);
 	dev_info(dev, "port_shaping_pass: 0x%x\n", bitmap->bit1);
 
-	ret = hclge_dbg_cmd_send(hdev, desc, nq_id, 1, HCLGE_OPC_SCH_NQ_CNT);
+	cmd = HCLGE_OPC_SCH_NQ_CNT;
+	ret = hclge_dbg_cmd_send(hdev, desc, nq_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	dev_info(dev, "sch_nq_cnt: 0x%x\n", le32_to_cpu(desc[0].data[1]));
 
-	ret = hclge_dbg_cmd_send(hdev, desc, nq_id, 1, HCLGE_OPC_SCH_RQ_CNT);
+	cmd = HCLGE_OPC_SCH_RQ_CNT;
+	ret = hclge_dbg_cmd_send(hdev, desc, nq_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	dev_info(dev, "sch_rq_cnt: 0x%x\n", le32_to_cpu(desc[0].data[1]));
 
-	ret = hclge_dbg_cmd_send(hdev, desc, 0, 2, HCLGE_OPC_TM_INTERNAL_STS);
+	cmd = HCLGE_OPC_TM_INTERNAL_STS;
+	ret = hclge_dbg_cmd_send(hdev, desc, 0, 2, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	dev_info(dev, "pri_bp: 0x%x\n", le32_to_cpu(desc[0].data[1]));
 	dev_info(dev, "fifo_dfx_info: 0x%x\n", le32_to_cpu(desc[0].data[2]));
@@ -257,18 +263,18 @@ static void hclge_dbg_dump_dcb(struct hclge_dev *hdev, const char *cmd_buf)
 	dev_info(dev, "SSU_TM_BYPASS_EN: 0x%x\n", le32_to_cpu(desc[1].data[0]));
 	dev_info(dev, "SSU_RESERVE_CFG: 0x%x\n", le32_to_cpu(desc[1].data[1]));
 
-	ret = hclge_dbg_cmd_send(hdev, desc, port_id, 1,
-				 HCLGE_OPC_TM_INTERNAL_CNT);
+	cmd = HCLGE_OPC_TM_INTERNAL_CNT;
+	ret = hclge_dbg_cmd_send(hdev, desc, port_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	dev_info(dev, "SCH_NIC_NUM: 0x%x\n", le32_to_cpu(desc[0].data[1]));
 	dev_info(dev, "SCH_ROCE_NUM: 0x%x\n", le32_to_cpu(desc[0].data[2]));
 
-	ret = hclge_dbg_cmd_send(hdev, desc, port_id, 1,
-				 HCLGE_OPC_TM_INTERNAL_STS_1);
+	cmd = HCLGE_OPC_TM_INTERNAL_STS_1;
+	ret = hclge_dbg_cmd_send(hdev, desc, port_id, 1, cmd);
 	if (ret)
-		return;
+		goto err_dcb_cmd_send;
 
 	dev_info(dev, "TC_MAP_SEL: 0x%x\n", le32_to_cpu(desc[0].data[1]));
 	dev_info(dev, "IGU_PFC_PRI_EN: 0x%x\n", le32_to_cpu(desc[0].data[2]));
@@ -277,6 +283,12 @@ static void hclge_dbg_dump_dcb(struct hclge_dev *hdev, const char *cmd_buf)
 		 le32_to_cpu(desc[0].data[4]));
 	dev_info(dev, "IGU_TX_PRI_MAP_TC_CFG: 0x%x\n",
 		 le32_to_cpu(desc[0].data[5]));
+	return;
+
+err_dcb_cmd_send:
+	dev_err(&hdev->pdev->dev,
+		"failed to dump dcb dfx, cmd = %#x, ret = %d\n",
+		cmd, ret);
 }
 
 static void hclge_dbg_dump_reg_cmd(struct hclge_dev *hdev, const char *cmd_buf)
-- 
2.7.4


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

* [PATCH net-next 8/9] net: hns3: synchronize some print relating to reset issue
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
                   ` (6 preceding siblings ...)
  2020-03-06  2:57 ` [PATCH net-next 7/9] net: hns3: print out command code when dump fails in debugfs Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  2020-03-06  2:57 ` [PATCH net-next 9/9] net: hns3: delete unnecessary logs after kzalloc fails Huazhong Tan
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Huazhong Tan

This patch modifies some printing relating to reset issue.

Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c         | 4 ++--
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 8 ++++----
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
index acb796c..c54f262 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c
@@ -2228,7 +2228,7 @@ static void hns3_reset_prepare(struct pci_dev *pdev)
 {
 	struct hnae3_ae_dev *ae_dev = pci_get_drvdata(pdev);
 
-	dev_info(&pdev->dev, "hns3 flr prepare\n");
+	dev_info(&pdev->dev, "FLR prepare\n");
 	if (ae_dev && ae_dev->ops && ae_dev->ops->flr_prepare)
 		ae_dev->ops->flr_prepare(ae_dev);
 }
@@ -2237,7 +2237,7 @@ static void hns3_reset_done(struct pci_dev *pdev)
 {
 	struct hnae3_ae_dev *ae_dev = pci_get_drvdata(pdev);
 
-	dev_info(&pdev->dev, "hns3 flr done\n");
+	dev_info(&pdev->dev, "FLR done\n");
 	if (ae_dev && ae_dev->ops && ae_dev->ops->flr_done)
 		ae_dev->ops->flr_done(ae_dev);
 }
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
index 69e2008..cdf7f4b 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
@@ -3442,7 +3442,7 @@ static void hclge_do_reset(struct hclge_dev *hdev)
 	u32 val;
 
 	if (hclge_get_hw_reset_stat(handle)) {
-		dev_info(&pdev->dev, "Hardware reset not finish\n");
+		dev_info(&pdev->dev, "hardware reset not finish\n");
 		dev_info(&pdev->dev, "func_rst_reg:0x%x, global_rst_reg:0x%x\n",
 			 hclge_read_dev(&hdev->hw, HCLGE_FUN_RST_ING),
 			 hclge_read_dev(&hdev->hw, HCLGE_GLOBAL_RESET_REG));
@@ -3451,20 +3451,20 @@ static void hclge_do_reset(struct hclge_dev *hdev)
 
 	switch (hdev->reset_type) {
 	case HNAE3_GLOBAL_RESET:
+		dev_info(&pdev->dev, "global reset requested\n");
 		val = hclge_read_dev(&hdev->hw, HCLGE_GLOBAL_RESET_REG);
 		hnae3_set_bit(val, HCLGE_GLOBAL_RESET_BIT, 1);
 		hclge_write_dev(&hdev->hw, HCLGE_GLOBAL_RESET_REG, val);
-		dev_info(&pdev->dev, "Global Reset requested\n");
 		break;
 	case HNAE3_FUNC_RESET:
-		dev_info(&pdev->dev, "PF Reset requested\n");
+		dev_info(&pdev->dev, "PF reset requested\n");
 		/* schedule again to check later */
 		set_bit(HNAE3_FUNC_RESET, &hdev->reset_pending);
 		hclge_reset_task_schedule(hdev);
 		break;
 	default:
 		dev_warn(&pdev->dev,
-			 "Unsupported reset type: %d\n", hdev->reset_type);
+			 "unsupported reset type: %d\n", hdev->reset_type);
 		break;
 	}
 }
-- 
2.7.4


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

* [PATCH net-next 9/9] net: hns3: delete unnecessary logs after kzalloc fails
  2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
                   ` (7 preceding siblings ...)
  2020-03-06  2:57 ` [PATCH net-next 8/9] net: hns3: synchronize some print relating to reset issue Huazhong Tan
@ 2020-03-06  2:57 ` Huazhong Tan
  8 siblings, 0 replies; 12+ messages in thread
From: Huazhong Tan @ 2020-03-06  2:57 UTC (permalink / raw)
  To: davem
  Cc: netdev, linux-kernel, salil.mehta, yisen.zhuang, linuxarm, kuba,
	Yufeng Mo, Huazhong Tan

From: Yufeng Mo <moyufeng@huawei.com>

Since kernel already has logs after kzalloc fails,
it's unnecessary to print duplicate logs. So this
patch deletes these logs.

Signed-off-by: Yufeng Mo <moyufeng@huawei.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
---
 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
index 8ba6985..f07d2f4 100644
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
@@ -145,10 +145,8 @@ static void hclge_dbg_dump_reg_common(struct hclge_dev *hdev,
 
 	buf_len	= sizeof(struct hclge_desc) * bd_num;
 	desc_src = kzalloc(buf_len, GFP_KERNEL);
-	if (!desc_src) {
-		dev_err(&hdev->pdev->dev, "call kzalloc failed\n");
+	if (!desc_src)
 		return;
-	}
 
 	desc = desc_src;
 	ret = hclge_dbg_cmd_send(hdev, desc, index, bd_num, reg_msg->cmd);
@@ -1082,11 +1080,8 @@ static void hclge_dbg_get_m7_stats_info(struct hclge_dev *hdev)
 
 	buf_len	 = sizeof(struct hclge_desc) * bd_num;
 	desc_src = kzalloc(buf_len, GFP_KERNEL);
-	if (!desc_src) {
-		dev_err(&hdev->pdev->dev,
-			"allocate desc for get_m7_stats failed\n");
+	if (!desc_src)
 		return;
-	}
 
 	desc_tmp = desc_src;
 	ret  = hclge_dbg_cmd_send(hdev, desc_tmp, 0, bd_num,
-- 
2.7.4


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

* Re: [PATCH net-next 1/9] net: hns3: fix some mixed type assignment
  2020-03-06  2:57 ` [PATCH net-next 1/9] net: hns3: fix some mixed type assignment Huazhong Tan
@ 2020-03-06  3:39   ` shenjian (K)
  2020-03-06  6:18     ` tanhuazhong
  0 siblings, 1 reply; 12+ messages in thread
From: shenjian (K) @ 2020-03-06  3:39 UTC (permalink / raw)
  To: Huazhong Tan, davem; +Cc: salil.mehta, netdev, linux-kernel, linuxarm, kuba



在 2020/3/6 10:57, Huazhong Tan 写道:
> From: Guojia Liao <liaoguojia@huawei.com>
>
> This patch cleans up some incorrect type in assignment reported by sparse
> and compiler.
> The warning as below:
> - warning : restricted __le16 degrades to integer
> - warning : cast from restricted __le32
> - warning : cast from restricted __be32
> - warning : cast from restricted __be16
> and "mixed operation".
>
> Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
should add fixes id.
> ---
>   .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 23 ++++++++++++----------
>   .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    |  3 ++-
>   2 files changed, 15 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
> index 6295cf9..5b4045c 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
> @@ -87,7 +87,7 @@ static int hclge_dbg_get_dfx_bd_num(struct hclge_dev *hdev, int offset)
>   
>   	entries_per_desc = ARRAY_SIZE(desc[0].data);
>   	index = offset % entries_per_desc;
> -	return (int)desc[offset / entries_per_desc].data[index];
> +	return le32_to_cpu(desc[offset / entries_per_desc].data[index]);
>   }
>   
>   static int hclge_dbg_cmd_send(struct hclge_dev *hdev,
> @@ -583,7 +583,7 @@ static void hclge_dbg_dump_tm_map(struct hclge_dev *hdev,
>   	ret = hclge_cmd_send(&hdev->hw, &desc, 1);
>   	if (ret)
>   		goto err_tm_map_cmd_send;
> -	qset_id = nq_to_qs_map->qset_id & 0x3FF;
> +	qset_id = le16_to_cpu(nq_to_qs_map->qset_id) & 0x3FF;
>   
>   	cmd = HCLGE_OPC_TM_QS_TO_PRI_LINK;
>   	map = (struct hclge_qs_to_pri_link_cmd *)desc.data;
> @@ -623,7 +623,8 @@ static void hclge_dbg_dump_tm_map(struct hclge_dev *hdev,
>   		if (ret)
>   			goto err_tm_map_cmd_send;
>   
> -		qset_maping[group_id] = bp_to_qs_map_cmd->qs_bit_map;
> +		qset_maping[group_id] =
> +			le32_to_cpu(bp_to_qs_map_cmd->qs_bit_map);
>   	}
>   
>   	dev_info(&hdev->pdev->dev, "index | tm bp qset maping:\n");
> @@ -826,6 +827,7 @@ static void hclge_dbg_dump_mng_table(struct hclge_dev *hdev)
>   	struct hclge_mac_ethertype_idx_rd_cmd *req0;
>   	char printf_buf[HCLGE_DBG_BUF_LEN];
>   	struct hclge_desc desc;
> +	u32 msg_egress_port;
>   	int ret, i;
>   
>   	dev_info(&hdev->pdev->dev, "mng tab:\n");
> @@ -867,20 +869,21 @@ static void hclge_dbg_dump_mng_table(struct hclge_dev *hdev)
>   			 HCLGE_DBG_BUF_LEN - strlen(printf_buf),
>   			 "%x   |%04x |%x   |%04x|%x   |%02x   |%02x   |",
>   			 !!(req0->flags & HCLGE_DBG_MNG_MAC_MASK_B),
> -			 req0->ethter_type,
> +			 le16_to_cpu(req0->ethter_type),
>   			 !!(req0->flags & HCLGE_DBG_MNG_ETHER_MASK_B),
> -			 req0->vlan_tag & HCLGE_DBG_MNG_VLAN_TAG,
> +			 le16_to_cpu(req0->vlan_tag) & HCLGE_DBG_MNG_VLAN_TAG,
>   			 !!(req0->flags & HCLGE_DBG_MNG_VLAN_MASK_B),
>   			 req0->i_port_bitmap, req0->i_port_direction);
>   
> +		msg_egress_port = le16_to_cpu(req0->egress_port);
>   		snprintf(printf_buf + strlen(printf_buf),
>   			 HCLGE_DBG_BUF_LEN - strlen(printf_buf),
>   			 "%d     |%d    |%02d   |%04d|%x\n",
> -			 !!(req0->egress_port & HCLGE_DBG_MNG_E_TYPE_B),
> -			 req0->egress_port & HCLGE_DBG_MNG_PF_ID,
> -			 (req0->egress_port >> 3) & HCLGE_DBG_MNG_VF_ID,
> -			 req0->egress_queue,
> -			 !!(req0->egress_port & HCLGE_DBG_MNG_DROP_B));
> +			 !!(msg_egress_port & HCLGE_DBG_MNG_E_TYPE_B),
> +			 msg_egress_port & HCLGE_DBG_MNG_PF_ID,
> +			 (msg_egress_port >> 3) & HCLGE_DBG_MNG_VF_ID,
> +			 le16_to_cpu(req0->egress_queue),
> +			 !!(msg_egress_port & HCLGE_DBG_MNG_DROP_B));

msg_egress_port is unsigned, but print format is "%d" ?
>   
>   		dev_info(&hdev->pdev->dev, "%s", printf_buf);
>   	}
> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> index 89d3523..e64027c 100644
> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
> @@ -10252,8 +10252,9 @@ static int hclge_dfx_reg_fetch_data(struct hclge_desc *desc_src, int bd_num,
>   static int hclge_get_dfx_reg_len(struct hclge_dev *hdev, int *len)
>   {
>   	u32 dfx_reg_type_num = ARRAY_SIZE(hclge_dfx_bd_offset_list);
> -	int data_len_per_desc, data_len, bd_num, i;
> +	int data_len_per_desc, bd_num, i;
>   	int bd_num_list[BD_LIST_MAX_NUM];
> +	u32 data_len;
>   	int ret;
>   
>   	ret = hclge_get_dfx_reg_bd_num(hdev, bd_num_list, dfx_reg_type_num);



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

* Re: [PATCH net-next 1/9] net: hns3: fix some mixed type assignment
  2020-03-06  3:39   ` shenjian (K)
@ 2020-03-06  6:18     ` tanhuazhong
  0 siblings, 0 replies; 12+ messages in thread
From: tanhuazhong @ 2020-03-06  6:18 UTC (permalink / raw)
  To: shenjian (K), davem; +Cc: salil.mehta, netdev, linux-kernel, linuxarm, kuba



On 2020/3/6 11:39, shenjian (K) wrote:
> 
> 
> 在 2020/3/6 10:57, Huazhong Tan 写道:
>> From: Guojia Liao <liaoguojia@huawei.com>
>>
>> This patch cleans up some incorrect type in assignment reported by sparse
>> and compiler.
>> The warning as below:
>> - warning : restricted __le16 degrades to integer
>> - warning : cast from restricted __le32
>> - warning : cast from restricted __be32
>> - warning : cast from restricted __be16
>> and "mixed operation".
>>
>> Signed-off-by: Guojia Liao <liaoguojia@huawei.com>
>> Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
> should add fixes id.

This is just a cleanup.

>> ---
>>   .../ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c | 23 
>> ++++++++++++----------
>>   .../ethernet/hisilicon/hns3/hns3pf/hclge_main.c    |  3 ++-
>>   2 files changed, 15 insertions(+), 11 deletions(-)
>>
>> diff --git 
>> a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c 
>> b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
>> index 6295cf9..5b4045c 100644
>> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
>> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c
>> @@ -87,7 +87,7 @@ static int hclge_dbg_get_dfx_bd_num(struct hclge_dev 
>> *hdev, int offset)
>>       entries_per_desc = ARRAY_SIZE(desc[0].data);
>>       index = offset % entries_per_desc;
>> -    return (int)desc[offset / entries_per_desc].data[index];
>> +    return le32_to_cpu(desc[offset / entries_per_desc].data[index]);
>>   }
>>   static int hclge_dbg_cmd_send(struct hclge_dev *hdev,
>> @@ -583,7 +583,7 @@ static void hclge_dbg_dump_tm_map(struct hclge_dev 
>> *hdev,
>>       ret = hclge_cmd_send(&hdev->hw, &desc, 1);
>>       if (ret)
>>           goto err_tm_map_cmd_send;
>> -    qset_id = nq_to_qs_map->qset_id & 0x3FF;
>> +    qset_id = le16_to_cpu(nq_to_qs_map->qset_id) & 0x3FF;
>>       cmd = HCLGE_OPC_TM_QS_TO_PRI_LINK;
>>       map = (struct hclge_qs_to_pri_link_cmd *)desc.data;
>> @@ -623,7 +623,8 @@ static void hclge_dbg_dump_tm_map(struct hclge_dev 
>> *hdev,
>>           if (ret)
>>               goto err_tm_map_cmd_send;
>> -        qset_maping[group_id] = bp_to_qs_map_cmd->qs_bit_map;
>> +        qset_maping[group_id] =
>> +            le32_to_cpu(bp_to_qs_map_cmd->qs_bit_map);
>>       }
>>       dev_info(&hdev->pdev->dev, "index | tm bp qset maping:\n");
>> @@ -826,6 +827,7 @@ static void hclge_dbg_dump_mng_table(struct 
>> hclge_dev *hdev)
>>       struct hclge_mac_ethertype_idx_rd_cmd *req0;
>>       char printf_buf[HCLGE_DBG_BUF_LEN];
>>       struct hclge_desc desc;
>> +    u32 msg_egress_port;
>>       int ret, i;
>>       dev_info(&hdev->pdev->dev, "mng tab:\n");
>> @@ -867,20 +869,21 @@ static void hclge_dbg_dump_mng_table(struct 
>> hclge_dev *hdev)
>>                HCLGE_DBG_BUF_LEN - strlen(printf_buf),
>>                "%x   |%04x |%x   |%04x|%x   |%02x   |%02x   |",
>>                !!(req0->flags & HCLGE_DBG_MNG_MAC_MASK_B),
>> -             req0->ethter_type,
>> +             le16_to_cpu(req0->ethter_type),
>>                !!(req0->flags & HCLGE_DBG_MNG_ETHER_MASK_B),
>> -             req0->vlan_tag & HCLGE_DBG_MNG_VLAN_TAG,
>> +             le16_to_cpu(req0->vlan_tag) & HCLGE_DBG_MNG_VLAN_TAG,
>>                !!(req0->flags & HCLGE_DBG_MNG_VLAN_MASK_B),
>>                req0->i_port_bitmap, req0->i_port_direction);
>> +        msg_egress_port = le16_to_cpu(req0->egress_port);
>>           snprintf(printf_buf + strlen(printf_buf),
>>                HCLGE_DBG_BUF_LEN - strlen(printf_buf),
>>                "%d     |%d    |%02d   |%04d|%x\n",
>> -             !!(req0->egress_port & HCLGE_DBG_MNG_E_TYPE_B),
>> -             req0->egress_port & HCLGE_DBG_MNG_PF_ID,
>> -             (req0->egress_port >> 3) & HCLGE_DBG_MNG_VF_ID,
>> -             req0->egress_queue,
>> -             !!(req0->egress_port & HCLGE_DBG_MNG_DROP_B));
>> +             !!(msg_egress_port & HCLGE_DBG_MNG_E_TYPE_B),
>> +             msg_egress_port & HCLGE_DBG_MNG_PF_ID,
>> +             (msg_egress_port >> 3) & HCLGE_DBG_MNG_VF_ID,
>> +             le16_to_cpu(req0->egress_queue),
>> +             !!(msg_egress_port & HCLGE_DBG_MNG_DROP_B));
> 
> msg_egress_port is unsigned, but print format is "%d" ?

should use '%x' instead.
Thanks.

>>           dev_info(&hdev->pdev->dev, "%s", printf_buf);
>>       }
>> diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c 
>> b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
>> index 89d3523..e64027c 100644
>> --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
>> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
>> @@ -10252,8 +10252,9 @@ static int hclge_dfx_reg_fetch_data(struct 
>> hclge_desc *desc_src, int bd_num,
>>   static int hclge_get_dfx_reg_len(struct hclge_dev *hdev, int *len)
>>   {
>>       u32 dfx_reg_type_num = ARRAY_SIZE(hclge_dfx_bd_offset_list);
>> -    int data_len_per_desc, data_len, bd_num, i;
>> +    int data_len_per_desc, bd_num, i;
>>       int bd_num_list[BD_LIST_MAX_NUM];
>> +    u32 data_len;
>>       int ret;
>>       ret = hclge_get_dfx_reg_bd_num(hdev, bd_num_list, 
>> dfx_reg_type_num);
> 
> 
> 
> .
> 


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

end of thread, other threads:[~2020-03-06  6:18 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06  2:57 [PATCH net-next 0/9] net: hns3: misc updates for -net-next Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 1/9] net: hns3: fix some mixed type assignment Huazhong Tan
2020-03-06  3:39   ` shenjian (K)
2020-03-06  6:18     ` tanhuazhong
2020-03-06  2:57 ` [PATCH net-next 2/9] net: hns3: rename macro HCLGE_MAX_NCL_CONFIG_LENGTH Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 3/9] net: hns3: remove an unnecessary resetting check in hclge_handle_hw_ras_error() Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 4/9] net: hns3: delete some reduandant code Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 5/9] net: hns3: add a check before PF inform VF to reset Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 6/9] net: hns3: print out status register when VF receives unknown source interrupt Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 7/9] net: hns3: print out command code when dump fails in debugfs Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 8/9] net: hns3: synchronize some print relating to reset issue Huazhong Tan
2020-03-06  2:57 ` [PATCH net-next 9/9] net: hns3: delete unnecessary logs after kzalloc fails Huazhong Tan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).