Provide a common interface to complete the back pressure settings
of all enabled TCs. So other functions directly call this interface
to complete the corresponding operation.
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com>
Signed-off-by: Peng Li <lipeng321@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
return hclge_mac_pause_en_cfg(hdev, tx_en, rx_en);
}
return hclge_mac_pause_en_cfg(hdev, tx_en, rx_en);
}
+static int hclge_tm_bp_setup(struct hclge_dev *hdev)
+{
+ int ret = 0;
+ int i;
+
+ for (i = 0; i < hdev->tm_info.num_tc; i++) {
+ ret = hclge_bp_setup_hw(hdev, i);
+ if (ret)
+ return ret;
+ }
+
+ return ret;
+}
+
int hclge_pause_setup_hw(struct hclge_dev *hdev)
{
int ret;
int hclge_pause_setup_hw(struct hclge_dev *hdev)
{
int ret;
ret = hclge_pause_param_setup_hw(hdev);
if (ret)
ret = hclge_pause_param_setup_hw(hdev);
if (ret)
if (ret)
dev_warn(&hdev->pdev->dev, "set pfc pause failed:%d\n", ret);
if (ret)
dev_warn(&hdev->pdev->dev, "set pfc pause failed:%d\n", ret);
- for (i = 0; i < hdev->tm_info.num_tc; i++) {
- ret = hclge_bp_setup_hw(hdev, i);
- if (ret)
- return ret;
- }
-
- return 0;
+ return hclge_tm_bp_setup(hdev);
}
void hclge_tm_prio_tc_info_update(struct hclge_dev *hdev, u8 *prio_tc)
}
void hclge_tm_prio_tc_info_update(struct hclge_dev *hdev, u8 *prio_tc)