]> git.baikalelectronics.ru Git - kernel.git/commitdiff
net: hns3: refactor hclge_query_bd_num_cmd_send()
authorHuazhong Tan <tanhuazhong@huawei.com>
Thu, 28 May 2020 13:48:11 +0000 (21:48 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 May 2020 23:39:03 +0000 (16:39 -0700)
In order to improve code maintainability and readability, rewrite
the process of BDs' initialization in hclge_query_bd_num_cmd_send().

Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

index 35e5cb87f48c59e83eca5d43f9465b21299fadae..e9b0e1c009703fece4e7f20ee5e9f39ad4b7c602 100644 (file)
@@ -10723,16 +10723,19 @@ static int hclge_get_64_bit_regs(struct hclge_dev *hdev, u32 regs_num,
 
 int hclge_query_bd_num_cmd_send(struct hclge_dev *hdev, struct hclge_desc *desc)
 {
-       /*prepare 4 commands to query DFX BD number*/
-       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);
+       int i;
+
+       /* initialize command BD except the last one */
+       for (i = 0; i < HCLGE_GET_DFX_REG_TYPE_CNT - 1; i++) {
+               hclge_cmd_setup_basic_desc(&desc[i], HCLGE_OPC_DFX_BD_NUM,
+                                          true);
+               desc[i].flag |= cpu_to_le16(HCLGE_CMD_FLAG_NEXT);
+       }
+
+       /* initialize the last command BD */
+       hclge_cmd_setup_basic_desc(&desc[i], HCLGE_OPC_DFX_BD_NUM, true);
 
-       return hclge_cmd_send(&hdev->hw, desc, 4);
+       return hclge_cmd_send(&hdev->hw, desc, HCLGE_GET_DFX_REG_TYPE_CNT);
 }
 
 static int hclge_get_dfx_reg_bd_num(struct hclge_dev *hdev,