82 lines
2.7 KiB
Diff
82 lines
2.7 KiB
Diff
From 665da11cee9a9ff06c1d367c0843a0d31b49ee46 Mon Sep 17 00:00:00 2001
|
|
From: Jie Wang <wangjie125@huawei.com>
|
|
Date: Thu, 8 Jun 2023 19:40:24 +0800
|
|
Subject: [PATCH 242/283] net: hns3: refactor hclge_mac_link_status_wait for
|
|
interface reuse
|
|
|
|
driver inclusion
|
|
category: cleanup
|
|
bugzilla: https://gitee.com/src-openeuler/kernel/issues/I8EN49
|
|
CVE: NA
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
Some nic configurations could only be performed after link is down. So this
|
|
patch refactor this API for reuse.
|
|
|
|
Signed-off-by: Jie Wang <wangjie125@huawei.com>
|
|
Signed-off-by: Xiaodong Li <lixiaodong67@huawei.com>
|
|
|
|
Conflicts:
|
|
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
|
|
---
|
|
.../ethernet/hisilicon/hns3/hns3pf/hclge_main.c | 14 +++++++++-----
|
|
1 file changed, 9 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
|
|
index 6dd6ff86a2d8..26054593839a 100644
|
|
--- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
|
|
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c
|
|
@@ -73,6 +73,8 @@ static void hclge_restore_hw_table(struct hclge_dev *hdev);
|
|
static void hclge_sync_promisc_mode(struct hclge_dev *hdev);
|
|
static void hclge_reset_end(struct hnae3_handle *handle, bool done);
|
|
static void hclge_update_fec_stats(struct hclge_dev *hdev);
|
|
+static int hclge_mac_link_status_wait(struct hclge_dev *hdev, int link_ret,
|
|
+ int wait_cnt);
|
|
|
|
static struct hnae3_ae_algo ae_algo;
|
|
|
|
@@ -7797,10 +7799,9 @@ static void hclge_phy_link_status_wait(struct hclge_dev *hdev,
|
|
} while (++i < HCLGE_PHY_LINK_STATUS_NUM);
|
|
}
|
|
|
|
-static int hclge_mac_link_status_wait(struct hclge_dev *hdev, int link_ret)
|
|
+static int hclge_mac_link_status_wait(struct hclge_dev *hdev, int link_ret,
|
|
+ int wait_cnt)
|
|
{
|
|
-#define HCLGE_MAC_LINK_STATUS_NUM 100
|
|
-
|
|
int link_status;
|
|
int i = 0;
|
|
int ret;
|
|
@@ -7813,13 +7814,15 @@ static int hclge_mac_link_status_wait(struct hclge_dev *hdev, int link_ret)
|
|
return 0;
|
|
|
|
msleep(HCLGE_LINK_STATUS_MS);
|
|
- } while (++i < HCLGE_MAC_LINK_STATUS_NUM);
|
|
+ } while (++i < wait_cnt);
|
|
return -EBUSY;
|
|
}
|
|
|
|
static int hclge_mac_phy_link_status_wait(struct hclge_dev *hdev, bool en,
|
|
bool is_phy)
|
|
{
|
|
+#define HCLGE_MAC_LINK_STATUS_NUM 100
|
|
+
|
|
int link_ret;
|
|
|
|
link_ret = en ? HCLGE_LINK_STATUS_UP : HCLGE_LINK_STATUS_DOWN;
|
|
@@ -7827,7 +7830,8 @@ static int hclge_mac_phy_link_status_wait(struct hclge_dev *hdev, bool en,
|
|
if (is_phy)
|
|
hclge_phy_link_status_wait(hdev, link_ret);
|
|
|
|
- return hclge_mac_link_status_wait(hdev, link_ret);
|
|
+ return hclge_mac_link_status_wait(hdev, link_ret,
|
|
+ HCLGE_MAC_LINK_STATUS_NUM);
|
|
}
|
|
|
|
static int hclge_set_app_loopback(struct hclge_dev *hdev, bool en)
|
|
--
|
|
2.34.1
|
|
|