Commit e98d7183 authored by Fuyun Liang's avatar Fuyun Liang Committed by David S. Miller

net: hns3: unify the pause params setup function

Since the firmware cmd to setup mac pause params is the same as the
firmware cmd to pfc pause params, this patch unifies the pause params
setup function.
Signed-off-by: default avatarFuyun Liang <liangfuyun1@huawei.com>
Signed-off-by: default avatarPeng Li <lipeng321@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 20e4bf98
...@@ -4417,7 +4417,7 @@ static int hclge_set_mac_addr(struct hnae3_handle *handle, void *p, ...@@ -4417,7 +4417,7 @@ static int hclge_set_mac_addr(struct hnae3_handle *handle, void *p,
return -EIO; return -EIO;
} }
ret = hclge_mac_pause_addr_cfg(hdev, new_addr); ret = hclge_pause_addr_cfg(hdev, new_addr);
if (ret) { if (ret) {
dev_err(&hdev->pdev->dev, dev_err(&hdev->pdev->dev,
"configure mac pause address fail, ret =%d.\n", "configure mac pause address fail, ret =%d.\n",
......
...@@ -138,8 +138,8 @@ static int hclge_pfc_pause_en_cfg(struct hclge_dev *hdev, u8 tx_rx_bitmap, ...@@ -138,8 +138,8 @@ static int hclge_pfc_pause_en_cfg(struct hclge_dev *hdev, u8 tx_rx_bitmap,
return hclge_cmd_send(&hdev->hw, &desc, 1); return hclge_cmd_send(&hdev->hw, &desc, 1);
} }
static int hclge_mac_pause_param_cfg(struct hclge_dev *hdev, const u8 *addr, static int hclge_pause_param_cfg(struct hclge_dev *hdev, const u8 *addr,
u8 pause_trans_gap, u16 pause_trans_time) u8 pause_trans_gap, u16 pause_trans_time)
{ {
struct hclge_cfg_pause_param_cmd *pause_param; struct hclge_cfg_pause_param_cmd *pause_param;
struct hclge_desc desc; struct hclge_desc desc;
...@@ -155,7 +155,7 @@ static int hclge_mac_pause_param_cfg(struct hclge_dev *hdev, const u8 *addr, ...@@ -155,7 +155,7 @@ static int hclge_mac_pause_param_cfg(struct hclge_dev *hdev, const u8 *addr,
return hclge_cmd_send(&hdev->hw, &desc, 1); return hclge_cmd_send(&hdev->hw, &desc, 1);
} }
int hclge_mac_pause_addr_cfg(struct hclge_dev *hdev, const u8 *mac_addr) int hclge_pause_addr_cfg(struct hclge_dev *hdev, const u8 *mac_addr)
{ {
struct hclge_cfg_pause_param_cmd *pause_param; struct hclge_cfg_pause_param_cmd *pause_param;
struct hclge_desc desc; struct hclge_desc desc;
...@@ -174,7 +174,7 @@ int hclge_mac_pause_addr_cfg(struct hclge_dev *hdev, const u8 *mac_addr) ...@@ -174,7 +174,7 @@ int hclge_mac_pause_addr_cfg(struct hclge_dev *hdev, const u8 *mac_addr)
trans_gap = pause_param->pause_trans_gap; trans_gap = pause_param->pause_trans_gap;
trans_time = le16_to_cpu(pause_param->pause_trans_time); trans_time = le16_to_cpu(pause_param->pause_trans_time);
return hclge_mac_pause_param_cfg(hdev, mac_addr, trans_gap, return hclge_pause_param_cfg(hdev, mac_addr, trans_gap,
trans_time); trans_time);
} }
...@@ -1096,11 +1096,11 @@ static int hclge_tm_schd_setup_hw(struct hclge_dev *hdev) ...@@ -1096,11 +1096,11 @@ static int hclge_tm_schd_setup_hw(struct hclge_dev *hdev)
return hclge_tm_schd_mode_hw(hdev); return hclge_tm_schd_mode_hw(hdev);
} }
static int hclge_mac_pause_param_setup_hw(struct hclge_dev *hdev) static int hclge_pause_param_setup_hw(struct hclge_dev *hdev)
{ {
struct hclge_mac *mac = &hdev->hw.mac; struct hclge_mac *mac = &hdev->hw.mac;
return hclge_mac_pause_param_cfg(hdev, mac->mac_addr, return hclge_pause_param_cfg(hdev, mac->mac_addr,
HCLGE_DEFAULT_PAUSE_TRANS_GAP, HCLGE_DEFAULT_PAUSE_TRANS_GAP,
HCLGE_DEFAULT_PAUSE_TRANS_TIME); HCLGE_DEFAULT_PAUSE_TRANS_TIME);
} }
...@@ -1151,13 +1151,12 @@ int hclge_pause_setup_hw(struct hclge_dev *hdev) ...@@ -1151,13 +1151,12 @@ int hclge_pause_setup_hw(struct hclge_dev *hdev)
int ret; int ret;
u8 i; u8 i;
if (hdev->tm_info.fc_mode != HCLGE_FC_PFC) { ret = hclge_pause_param_setup_hw(hdev);
ret = hclge_mac_pause_setup_hw(hdev); if (ret)
if (ret) return ret;
return ret;
return hclge_mac_pause_param_setup_hw(hdev); if (hdev->tm_info.fc_mode != HCLGE_FC_PFC)
} return hclge_mac_pause_setup_hw(hdev);
/* Only DCB-supported dev supports qset back pressure and pfc cmd */ /* Only DCB-supported dev supports qset back pressure and pfc cmd */
if (!hnae3_dev_dcb_supported(hdev)) if (!hnae3_dev_dcb_supported(hdev))
......
...@@ -129,5 +129,5 @@ int hclge_tm_dwrr_cfg(struct hclge_dev *hdev); ...@@ -129,5 +129,5 @@ int hclge_tm_dwrr_cfg(struct hclge_dev *hdev);
int hclge_tm_map_cfg(struct hclge_dev *hdev); int hclge_tm_map_cfg(struct hclge_dev *hdev);
int hclge_tm_init_hw(struct hclge_dev *hdev); int hclge_tm_init_hw(struct hclge_dev *hdev);
int hclge_mac_pause_en_cfg(struct hclge_dev *hdev, bool tx, bool rx); int hclge_mac_pause_en_cfg(struct hclge_dev *hdev, bool tx, bool rx);
int hclge_mac_pause_addr_cfg(struct hclge_dev *hdev, const u8 *mac_addr); int hclge_pause_addr_cfg(struct hclge_dev *hdev, const u8 *mac_addr);
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment