Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp1840057rwi; Thu, 27 Oct 2022 22:56:44 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6ill2I7h1jUh0GT7KoHSzJH4lHHFlHpyyPLaXVbrw6LWCeRjDYpL17U1VE91SIv+iI9G7q X-Received: by 2002:a17:906:30c5:b0:782:707:9e2d with SMTP id b5-20020a17090630c500b0078207079e2dmr44211020ejb.286.1666936604417; Thu, 27 Oct 2022 22:56:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666936604; cv=none; d=google.com; s=arc-20160816; b=sW66hlsb0+AolBsm2YvRvfHUdtYC7Gedl6luEEV/5RPvHphsrDaSndEV5EQGa9cY9J FOIHU0vhbJk9y/LHtTD4A5G//ksEZNqo2fozCaN0M+Fra9AmmyYxPc2d3NinHY5Qaxmk JHFaqgbT2gX94sAOsr6mrrH844dsd9uK9m+lnDcLvAwyJ80Ps2TAzkU5oVBSBLSPVAdX 5bz1eFN6QMv2JUwUz8dMzBA/cnPEu4rIPYrVhH7Ws2hnv/QWi0mc3ZJAG7qMywUKUyPU +g7T+vFqheqAXfUaxhfTCEEy3dIW2i+2tT8VCyT9YkPsPXuMXhpr2PZjoCNc6YG/KQ+O 3VCA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:dkim-signature:date; bh=evkrfU8M7lS6f6osyStLD3EBTkWiH4GFXsYwG5PEnv4=; b=WOZC1pl2vfWOoj5LTa54LC6eWdCzvEQW7164ttIsjvwdTbxy38QKlZwX6afoEop0Fy nCx/kuNKcmOD9ky3clCLBRMlYeh7YGgM5JsUBw/mEq9ueYk6p22O0IC7gK6ZpKsNLviU qdONKCtKt8khASSYKWdztmXkTwGhZy5b4xbTpDGHReot8Ut/xXyc8n5wd6rYfOmbokj9 /QJ+gkC8IBv4D0vBj4rRIDn9NeG+lOXeTgUUWUAMV0iHDDtuePs87gudtTsPaVPm3Gm8 x+R9icZihxagOUjSP+rJI5FbCApAmbtxFJmMdjIp4591WVoDc77VC81sRhiSHjNMtjUn Ue6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=ttfFZQQ4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id dz11-20020a0564021d4b00b0045d292ef641si4539407edb.493.2022.10.27.22.56.18; Thu, 27 Oct 2022 22:56:44 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.dev header.s=key1 header.b=ttfFZQQ4; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.dev Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229786AbiJ1FYL (ORCPT + 99 others); Fri, 28 Oct 2022 01:24:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57620 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229489AbiJ1FYK (ORCPT ); Fri, 28 Oct 2022 01:24:10 -0400 Received: from out2.migadu.com (out2.migadu.com [IPv6:2001:41d0:2:aacc::]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD3A41B5755; Thu, 27 Oct 2022 22:24:08 -0700 (PDT) Date: Fri, 28 Oct 2022 13:24:03 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1666934647; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=evkrfU8M7lS6f6osyStLD3EBTkWiH4GFXsYwG5PEnv4=; b=ttfFZQQ4PqHN+WetD7fgC42MEF/HHIfYNfEgo/up8DwkwVz+rhqL4j/CuYiKENBlLXdq/j GYVR7y7TJEzrs6eHZqZetaBQWtnu14SL6QsnB2qNc7tQD4KvETB0l+MQHY14Fa/+q3T2LT leym7HealbwU2fe/SOPDGvzQQ2W6BHU= X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. From: Cai Huoqing To: shaozhengchao Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Bin Chen , Krzysztof =?utf-8?Q?Wilczy=C5=84ski?= , Peter Chen , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] net: hinic: Add control command support for VF PMD driver in DPDK Message-ID: <20221028052403.GC3164@chq-T47> References: <20221026125922.34080-1-cai.huoqing@linux.dev> <20221026125922.34080-2-cai.huoqing@linux.dev> <491aea68-bee6-3bd5-903d-1071b6c1cb73@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <491aea68-bee6-3bd5-903d-1071b6c1cb73@huawei.com> X-Migadu-Flow: FLOW_OUT X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_PASS, SPF_PASS,UPPERCASE_50_75 autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28 10月 22 09:21:09, shaozhengchao wrote: > > > On 2022/10/26 20:59, Cai Huoqing wrote: > > HINIC has a mailbox for PF-VF communication and the VF driver > > could send port control command to PF driver via mailbox. > > > > The control command only can be set to register in PF, > > so add support in PF driver for VF PMD driver control > > command when VF PMD driver work with linux PF driver. > > > > Signed-off-by: Cai Huoqing > > --- > > .../net/ethernet/huawei/hinic/hinic_hw_dev.h | 64 +++++++++++++++++++ > > .../net/ethernet/huawei/hinic/hinic_sriov.c | 18 ++++++ > > 2 files changed, 82 insertions(+) > > > > diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h b/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h > > index abffd967a791..4f561e4e849a 100644 > > --- a/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h > > +++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.h > > @@ -53,11 +53,15 @@ enum hinic_port_cmd { > > HINIC_PORT_CMD_SET_PFC = 0x5, > > + HINIC_PORT_CMD_SET_ETS = 0x7, > > + HINIC_PORT_CMD_GET_ETS = 0x8, > > + > > HINIC_PORT_CMD_SET_MAC = 0x9, > > HINIC_PORT_CMD_GET_MAC = 0xA, > > HINIC_PORT_CMD_DEL_MAC = 0xB, > > HINIC_PORT_CMD_SET_RX_MODE = 0xC, > > + HINIC_PORT_CMD_SET_ANTI_ATTACK_RATE = 0xD, > > HINIC_PORT_CMD_GET_PAUSE_INFO = 0x14, > > HINIC_PORT_CMD_SET_PAUSE_INFO = 0x15, > > @@ -81,6 +85,7 @@ enum hinic_port_cmd { > > HINIC_PORT_CMD_GET_RSS_TEMPLATE_INDIR_TBL = 0x25, > > HINIC_PORT_CMD_SET_PORT_STATE = 0x29, > > + HINIC_PORT_CMD_GET_PORT_STATE = 0x30, > > HINIC_PORT_CMD_SET_RSS_TEMPLATE_TBL = 0x2B, > > HINIC_PORT_CMD_GET_RSS_TEMPLATE_TBL = 0x2C, > > @@ -97,17 +102,29 @@ enum hinic_port_cmd { > > HINIC_PORT_CMD_RSS_CFG = 0x42, > > + HINIC_PORT_CMD_GET_PHY_TYPE = 0x44, > > + > > HINIC_PORT_CMD_FWCTXT_INIT = 0x45, > > HINIC_PORT_CMD_GET_LOOPBACK_MODE = 0x48, > > HINIC_PORT_CMD_SET_LOOPBACK_MODE = 0x49, > > + HINIC_PORT_CMD_GET_JUMBO_FRAME_SIZE = 0x4A, > > + HINIC_PORT_CMD_SET_JUMBO_FRAME_SIZE = 0x4B, > > + > > HINIC_PORT_CMD_ENABLE_SPOOFCHK = 0x4E, > > HINIC_PORT_CMD_GET_MGMT_VERSION = 0x58, > > + HINIC_PORT_CMD_GET_PORT_TYPE = 0x5B, > > + > > HINIC_PORT_CMD_SET_FUNC_STATE = 0x5D, > > + HINIC_PORT_CMD_GET_PORT_ID_BY_FUNC_ID = 0x5E, > > + > > + HINIC_PORT_CMD_GET_DMA_CS = 0x64, > > + HINIC_PORT_CMD_SET_DMA_CS = 0x65, > > + > > HINIC_PORT_CMD_GET_GLOBAL_QPN = 0x66, > > HINIC_PORT_CMD_SET_VF_RATE = 0x69, > > @@ -121,25 +138,72 @@ enum hinic_port_cmd { > > HINIC_PORT_CMD_SET_RQ_IQ_MAP = 0x73, > > + HINIC_PORT_CMD_SET_PFC_THD = 0x75, > > + > > HINIC_PORT_CMD_LINK_STATUS_REPORT = 0xA0, > > + HINIC_PORT_CMD_SET_LOSSLESS_ETH = 0xA3, > > + > > HINIC_PORT_CMD_UPDATE_MAC = 0xA4, > > HINIC_PORT_CMD_GET_CAP = 0xAA, > > + HINIC_PORT_CMD_UP_TC_ADD_FLOW = 0xAF, > > + HINIC_PORT_CMD_UP_TC_DEL_FLOW = 0xB0, > > + HINIC_PORT_CMD_UP_TC_GET_FLOW = 0xB1, > > + > > + HINIC_PORT_CMD_UP_TC_FLUSH_TCAM = 0xB2, > > + > > + HINIC_PORT_CMD_UP_TC_CTRL_TCAM_BLOCK = 0xB3, > > + > > + HINIC_PORT_CMD_UP_TC_ENABLE = 0xB4, > > + > > + HINIC_PORT_CMD_UP_TC_GET_TCAM_BLOCK = 0xB5, > > + > > + HINIC_PORT_CMD_SET_IPSU_MAC = 0xCB, > > + HINIC_PORT_CMD_GET_IPSU_MAC = 0xCC, > > + > > + HINIC_PORT_CMD_SET_XSFP_STATUS = 0xD4, > > HINIC_PORT_CMD_GET_LINK_MODE = 0xD9, > > HINIC_PORT_CMD_SET_SPEED = 0xDA, > > HINIC_PORT_CMD_SET_AUTONEG = 0xDB, > > + HINIC_PORT_CMD_CLEAR_QP_RES = 0xDD, > > + > > + HINIC_PORT_CMD_SET_SUPER_CQE = 0xDE, > > + > > + HINIC_PORT_CMD_SET_VF_COS = 0xDF, > > + HINIC_PORT_CMD_GET_VF_COS = 0xE1, > > + > > + HINIC_PORT_CMD_CABLE_PLUG_EVENT = 0xE5, > > + > > + HINIC_PORT_CMD_LINK_ERR_EVENT = 0xE6, > > + > > + HINIC_PORT_CMD_SET_COS_UP_MAP = 0xE8, > > + > > + HINIC_PORT_CMD_RESET_LINK_CFG = 0xEB, > > + > > HINIC_PORT_CMD_GET_STD_SFP_INFO = 0xF0, > > + HINIC_PORT_CMD_FORCE_PKT_DROP = 0xF3, > > + > > HINIC_PORT_CMD_SET_LRO_TIMER = 0xF4, > > + HINIC_PORT_CMD_SET_VHD_CFG = 0xF7, > > + > > + HINIC_PORT_CMD_SET_LINK_FOLLOW = 0xF8, > > + > > HINIC_PORT_CMD_SET_VF_MAX_MIN_RATE = 0xF9, > > HINIC_PORT_CMD_GET_SFP_ABS = 0xFB, > > + > > + HINIC_PORT_CMD_Q_FILTER = 0xFC, > > + > > + HINIC_PORT_CMD_TCAM_FILTER = 0xFE, > > + > > + HINIC_PORT_CMD_SET_VLAN_FILTER = 0xFF > > }; > > /* cmd of mgmt CPU message for HILINK module */ > > diff --git a/drivers/net/ethernet/huawei/hinic/hinic_sriov.c b/drivers/net/ethernet/huawei/hinic/hinic_sriov.c > > index a5f08b969e3f..bba41994dee6 100644 > > --- a/drivers/net/ethernet/huawei/hinic/hinic_sriov.c > > +++ b/drivers/net/ethernet/huawei/hinic/hinic_sriov.c > > @@ -489,6 +489,24 @@ static struct vf_cmd_check_handle nic_cmd_support_vf[] = { > > {HINIC_PORT_CMD_UPDATE_MAC, hinic_mbox_check_func_id_8B}, > > {HINIC_PORT_CMD_GET_CAP, hinic_mbox_check_func_id_8B}, > > {HINIC_PORT_CMD_GET_LINK_MODE, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_GET_VF_COS, NULL}, > > + {HINIC_PORT_CMD_SET_VHD_CFG, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_SET_VLAN_FILTER, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_Q_FILTER, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_TCAM_FILTER, NULL}, > > + {HINIC_PORT_CMD_UP_TC_ADD_FLOW, NULL}, > > + {HINIC_PORT_CMD_UP_TC_DEL_FLOW, NULL}, > > + {HINIC_PORT_CMD_UP_TC_FLUSH_TCAM, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_UP_TC_CTRL_TCAM_BLOCK, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_UP_TC_ENABLE, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_CABLE_PLUG_EVENT, NULL}, > > + {HINIC_PORT_CMD_LINK_ERR_EVENT, NULL}, > > + {HINIC_PORT_CMD_SET_PORT_STATE, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_SET_ETS, NULL}, > > + {HINIC_PORT_CMD_SET_ANTI_ATTACK_RATE, NULL}, > > + {HINIC_PORT_CMD_RESET_LINK_CFG, hinic_mbox_check_func_id_8B}, > > + {HINIC_PORT_CMD_SET_LINK_FOLLOW, NULL}, > > + {HINIC_PORT_CMD_CLEAR_QP_RES, NULL}, > > }; > > #define CHECK_IPSU_15BIT 0X8000 > Hi Cai: > I guess how do you get the opcodes of these commands? Have they > all been tested? Is the test result consistent with the driver released > on the Huawei support website? Hi Shao, Thanks for your reply. I try to keep this PF part support to recv hinic VF PMD driver in DPDK upstream. the command comes from here, https://github.com/DPDK/dpdk/blob/main/drivers/net/hinic/base/hinic_pmd_niccfg.c send by the DPDK-hinic function 'l2nic_msg_to_mgmt_sync' when 'hinic_func_type(hwdev) == TYPE_VF'. for the test, the DPDK part is tested, I also test this part in SP582 NIC Thanks. Cai > > Zhengchao Shao