diff options
author | Huazhong Tan <tanhuazhong@huawei.com> | 2019-01-18 16:13:07 +0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-01-18 15:10:21 -0800 |
commit | 73fc9c4882439b3ea4f185264e1c6d969d61b067 (patch) | |
tree | 160c3f6ce183bdc65739909757607be68d2be54f /drivers | |
parent | 65749f7375ae7a3cc14237c9972e5a3c14116c85 (diff) |
net: hns3: add interface hclge_tm_bp_setup
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c index 00458da67503..fda91e536a39 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_tm.c @@ -1228,10 +1228,23 @@ static int hclge_mac_pause_setup_hw(struct hclge_dev *hdev) 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; - u8 i; ret = hclge_pause_param_setup_hw(hdev); if (ret) @@ -1250,13 +1263,7 @@ int hclge_pause_setup_hw(struct hclge_dev *hdev) 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) |