diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c index aec14ee3fc085e126fcf7e6993aa47124eb4817e..2ee0d7ad9fb469f6ff618c757aff27ec6ed649b8 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c @@ -16,15 +16,7 @@ static int hclge_dbg_get_dfx_bd_num(struct hclge_dev *hdev, int offset) int index; int ret; - hclge_cmd_setup_basic_desc(&desc[0], HCLGE_OPC_DFX_BD_NUM, true); - desc[0].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT); - hclge_cmd_setup_basic_desc(&desc[1], HCLGE_OPC_DFX_BD_NUM, true); - desc[1].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT); - hclge_cmd_setup_basic_desc(&desc[2], HCLGE_OPC_DFX_BD_NUM, true); - desc[2].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT); - hclge_cmd_setup_basic_desc(&desc[3], HCLGE_OPC_DFX_BD_NUM, true); - - ret = hclge_cmd_send(&hdev->hw, desc, 4); + ret = hclge_query_bd_num_cmd_send(hdev, desc); if (ret != HCLGE_CMD_EXEC_SUCCESS) { dev_err(&hdev->pdev->dev, "get dfx bdnum fail, status is %d.\n", ret); diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index 2eab0ee5e573b8ee1d5866e6ff79eb3624ab8d78..232029f056294e1e5ff86e6bcf2dd82711089d36 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -9596,13 +9596,8 @@ static int hclge_get_64_bit_regs(struct hclge_dev *hdev, u32 regs_num, #define REG_NUM_REMAIN_MASK 3 #define BD_LIST_MAX_NUM 30 -static int hclge_get_dfx_reg_bd_num(struct hclge_dev *hdev, - int *bd_num_list, - u32 type_num) +int hclge_query_bd_num_cmd_send(struct hclge_dev *hdev, struct hclge_desc *desc) { - u32 entries_per_desc, desc_index, index, i; - enum hclge_dfx_reg_offset offset; - struct hclge_desc desc[4]; int ret; /*prepare 4 commands to query DFX BD number*/ @@ -9615,9 +9610,23 @@ static int hclge_get_dfx_reg_bd_num(struct hclge_dev *hdev, hclge_cmd_setup_basic_desc(&desc[3], HCLGE_OPC_DFX_BD_NUM, true); ret = hclge_cmd_send(&hdev->hw, desc, 4); + + return ret; +} + +static int hclge_get_dfx_reg_bd_num(struct hclge_dev *hdev, + int *bd_num_list, + u32 type_num) +{ + u32 entries_per_desc, desc_index, index, i; + enum hclge_dfx_reg_offset offset; + struct hclge_desc desc[4]; + int ret; + + ret = hclge_query_bd_num_cmd_send(hdev, desc); if (ret != HCLGE_CMD_EXEC_SUCCESS) { dev_err(&hdev->pdev->dev, - "Query dfx bd num fail, status is %d.\n", ret); + "Get dfx bd num fail, status is %d.\n", ret); return ret; } diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h index fdb07373feef43e9d4001ffa09d14448b34c4edd..2fb3f77a01affb0f54bf8c12bda48a30a5fff274 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.h @@ -1032,4 +1032,6 @@ int hclge_push_vf_port_base_vlan_info(struct hclge_vport *vport, u8 vfid, enum hnae3_reset_type hclge_get_reset_level(struct hnae3_ae_dev *ae_dev, unsigned long *addr); void hclge_link_status_change(struct hclge_dev *hdev, int state); +int hclge_query_bd_num_cmd_send(struct hclge_dev *hdev, + struct hclge_desc *desc); #endif