From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id A06AEA0559; Mon, 16 Mar 2020 07:40:54 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id EBCE01C02C; Mon, 16 Mar 2020 07:40:53 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 511B01C02B for ; Mon, 16 Mar 2020 07:40:52 +0100 (CET) IronPort-SDR: SD7Lo2kzvmhy57tavB1XwaBOqT9sd5K97pPcxsknYZuOS5x6lddZdkZrN8YNyBQmuJexLtiwNU /WIqDkdvRb5w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Mar 2020 23:40:51 -0700 IronPort-SDR: dvXAk6xnGNxBU4EqiSBQN1RCAgIaMbeZX8K0+/U4K+Mx3PmZHM+01A+f63Ux2KCc7DLz2t4FuC mYXxyvLe+P6Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,559,1574150400"; d="scan'208";a="237869064" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga008.jf.intel.com with ESMTP; 15 Mar 2020 23:40:50 -0700 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 15 Mar 2020 23:40:49 -0700 Received: from FMSEDG002.ED.cps.intel.com (10.1.192.134) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 15 Mar 2020 23:37:54 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.176) by edgegateway.intel.com (192.55.55.69) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 15 Mar 2020 23:37:54 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LBEwVhCi0olEAlgsZk+etH1lfHIhxFBQuMnt9RKKCMas6ZadhlMA+KOCzEcN74/8qmL2E4lb7UmWwsFZmnTp1Bh8QfbjREYdzp0O5hEbQ/3A+xX3LBzqAU8i5IbepuVY9OoBnUg7AnLaIuEB16nUAYBLk61iC+/A5Xgmpqk4nfCwXm9YdcQXuHPwyf7UyPpN9Jl9xG8QzhArAvqOgSYrngvaUlMz9Gn9bfk7ei24HNisAUmKbbXxlpb42tFM+JwSqClPOrfIl2HsWBsAJWcpoTBVSOlyZg5PIQ7eZYHo4wmw0wVygdSxFQg6VeGGX1BZd5uo59Gp0HuTfEQeAfcL3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tekaofDAKFNWa2IMA2khgTwd75RlU/LqfBsbFSK1HS0=; b=JxPdO3dLLCACDFW5NhB4crG8bUZOJfQQZiGW/qMI8Z/t6vHdTpf0BrlTJiUGV/u+uR1/cL1x0AKpHDiY6ep1hIPOdFvHibyR3wzrA+C6HIzGV28zq9aTGaYH7OeCF6Wciqbl+IDK+ed93p7hRgnCRmWnpsXOQT3FigV3VPpKiD/8wOLBlcmHArRAuG9XRh9XMYeJ/BYKRxIwLSqf/AaQdyaLhEHOHoF+qg09Ajvmz1//RBtkzKHdex/Mkn1GgzPGuLc20DWMukGsuWDZrr86hjn71x1NIsXpvIH0zd5tuUHUFImm897sMv27WvGWhRhT8mOTXrvOlj+XRxr1s6ViuA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tekaofDAKFNWa2IMA2khgTwd75RlU/LqfBsbFSK1HS0=; b=KkiOOcCtMH1wpLGRzBH2z9x40IaIrhurG0EwPnjFLJCQG+3XJ7tLiUd40LhMKA7SDqO81lXzpXbbJ+avm9utL3umBXypkONFC6bIXl5ViJN25Guks9WxNu1fbw2TMIlb9VNP2QKmVBcnBgqMLK098U/gD8mRxhM1EMDUI1Rotk0= Received: from BN6PR11MB1473.namprd11.prod.outlook.com (2603:10b6:405:a::16) by BN6PR11MB3986.namprd11.prod.outlook.com (2603:10b6:405:77::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2814.22; Mon, 16 Mar 2020 06:37:50 +0000 Received: from BN6PR11MB1473.namprd11.prod.outlook.com ([fe80::d013:5d99:e57e:570e]) by BN6PR11MB1473.namprd11.prod.outlook.com ([fe80::d013:5d99:e57e:570e%7]) with mapi id 15.20.2814.021; Mon, 16 Mar 2020 06:37:50 +0000 From: "Wang, Xiao W" To: Xiaojun Liu , "Zhang, Qi Z" , "Kwan, Ngai-mint" , "Keller, Jacob E" CC: "dev@dpdk.org" Thread-Topic: [PATCH v1 1/5] net/fm10k: add basic functions for switch management Thread-Index: AQHV7hKaA6MtBzArHEmyqApkQV+DkKhK11rw Date: Mon, 16 Mar 2020 06:37:50 +0000 Message-ID: References: <1582207174-31037-2-git-send-email-xiaojun.liu@silicom.co.il> <1582879102-17977-1-git-send-email-xiaojun.liu@silicom.co.il> <1582879102-17977-2-git-send-email-xiaojun.liu@silicom.co.il> In-Reply-To: <1582879102-17977-2-git-send-email-xiaojun.liu@silicom.co.il> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=xiao.w.wang@intel.com; x-originating-ip: [192.55.46.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aeb02af7-039a-4d1f-d267-08d7c9748c96 x-ms-traffictypediagnostic: BN6PR11MB3986: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-forefront-prvs: 03449D5DD1 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(366004)(396003)(376002)(39860400002)(346002)(199004)(6506007)(26005)(53546011)(76116006)(66946007)(186003)(66556008)(2906002)(64756008)(66446008)(66476007)(316002)(71200400001)(33656002)(5660300002)(81156014)(110136005)(81166006)(86362001)(8936002)(6636002)(9686003)(55016002)(7696005)(4326008)(8676002)(45080400002)(478600001)(52536014)(966005); DIR:OUT; SFP:1102; SCL:1; SRVR:BN6PR11MB3986; H:BN6PR11MB1473.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rm/01QfwSNSR2bP7liCq7R7vNjz1r9QtsE+rih8pgM+gbLUPSFZ5YRkbls9iVP/hWgROTi3eioZnR6eavPXd+HGDcmzMy7N14vZwxN4XP45GE7UxoUVj29/czmAKy9Ixn1bZ8z7+E0n5PuuE64jOzu4YeR9LHnoV3rin5iAMeU9GsqbCHq89Prb7zYfCZjrehzpucwGcRMwAu4Oh0psa5i+WgE5JYRxH4L2bnShQblRaFJH8X682cxajrKAyzih71lNDICvk1S8jMXfCwLOvHXiyeIJY+IcKE6ULl77pWCft9c4jCDDnXaU5yZ34l7QKx3YFoq44KrF0CiIlYv7huvqRH32ckIbIhs2sPl7Se1tHExEorA1BO/wxIHr2+EEVbBuMOLlN8LmGe30190HHAWNWbbPPL7PAe1rJTNlH5+C/0lHGXxpIwfBXvLRczogUGGVsVQFYXLudHG1pGR1QtLS/wlrqDIegLnsWpvlQDF1a8Kf19zuBhIDNcj8Lja/d/mxmpcBSXp7mhUe9a0GdhA== x-ms-exchange-antispam-messagedata: W/6U3BNLQ5EKDL20xSZ8OWzaEInQ0Cwx3C9zS9SI/dEw2vauKG26BpuqAfNHG1H/0UOMMItIzQB9O/oWUnRizdMPVhQUjYK16ScJCMAVsMzlyVQaxvA6FoO6yT/5GdnB8Q32gh+EPSQoY9oKQxC7fA== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: aeb02af7-039a-4d1f-d267-08d7c9748c96 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Mar 2020 06:37:50.7838 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bt4OhmuAvgTlKrn4C2h2qOXSWMEqxVjelku2fM/fxbmFhmuISHwgm/Rq6jgKgihAjg00lSOepyyOcKxBwCHkLw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB3986 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v1 1/5] net/fm10k: add basic functions for switch management X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Xiaojun, Comments inline. Best Regards, Xiao > -----Original Message----- > From: Xiaojun Liu > Sent: Friday, February 28, 2020 4:38 PM > To: Wang, Xiao W ; Zhang, Qi Z > ; Kwan, Ngai-mint ; Kelle= r, > Jacob E > Cc: dev@dpdk.org; Xiaojun Liu > Subject: [PATCH v1 1/5] net/fm10k: add basic functions for switch managem= ent For new version patch, the version number should increment from previous on= e. Otherwise, it confuses reviewer.=20 >=20 > Add I2C to control the inside LED and PHY. > All the operations of I2C are using fm10k I2C register. > Add SBUS to communicate with spico(micro code in serdes) > by using fm10k SBUS register. This is like I2C operations. > Add registers defination, which include all the registers > will be used in the driver. Add switch management log API. > Add switch management structures. Modify Makefile to add > new files building. Add CONFIG_RTE_FM10K_MANAGEMENT=3Dn > in config/common_linux. >=20 > To enable the switch management, you need add > CONFIG_RTE_FM10K_MANAGEMENT=3Dy in > config/common_linux when building. >=20 > Signed-off-by: Xiaojun Liu > --- > config/common_linux | 7 + > drivers/net/fm10k/Makefile | 14 + > drivers/net/fm10k/switch/fm10k_debug.h | 19 + > drivers/net/fm10k/switch/fm10k_i2c.c | 310 +++++ > drivers/net/fm10k/switch/fm10k_i2c.h | 54 + > drivers/net/fm10k/switch/fm10k_regs.h | 2302 > +++++++++++++++++++++++++++++++ > drivers/net/fm10k/switch/fm10k_sbus.c | 292 ++++ > drivers/net/fm10k/switch/fm10k_sbus.h | 40 + > drivers/net/fm10k/switch/fm10k_switch.h | 335 +++++ > 9 files changed, 3373 insertions(+) > create mode 100644 drivers/net/fm10k/switch/fm10k_debug.h > create mode 100644 drivers/net/fm10k/switch/fm10k_i2c.c > create mode 100644 drivers/net/fm10k/switch/fm10k_i2c.h > create mode 100644 drivers/net/fm10k/switch/fm10k_regs.h > create mode 100644 drivers/net/fm10k/switch/fm10k_sbus.c > create mode 100644 drivers/net/fm10k/switch/fm10k_sbus.h > create mode 100644 drivers/net/fm10k/switch/fm10k_switch.h >=20 > diff --git a/config/common_linux b/config/common_linux > index 8168106..75a4fa8 100644 > --- a/config/common_linux > +++ b/config/common_linux > @@ -66,3 +66,10 @@ CONFIG_RTE_LIBRTE_HINIC_PMD=3Dy > # Hisilicon HNS3 PMD driver > # > CONFIG_RTE_LIBRTE_HNS3_PMD=3Dy > + > +# > +# FM10K switch management > +# > +CONFIG_RTE_FM10K_MANAGEMENT=3Dn CONFIG_RTE_FM10K_SWITCH_MANAGEMENT is more appropriate. > + > + Do not add extra empty lines. > diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile > index 29e659d..15ea187 100644 > --- a/drivers/net/fm10k/Makefile > +++ b/drivers/net/fm10k/Makefile > @@ -11,6 +11,9 @@ LIB =3D librte_pmd_fm10k.a > CFLAGS +=3D -O3 > CFLAGS +=3D $(WERROR_FLAGS) > CFLAGS +=3D -DALLOW_EXPERIMENTAL_API > +ifeq ($(CONFIG_RTE_FM10K_MANAGEMENT),y) > +CFLAGS +=3D -DENABLE_FM10K_MANAGEMENT > +endif As I commented previously, no need to add another new MACRO. Just use RTE_F= M10K_MANAGEMENT >=20 > EXPORT_MAP :=3D rte_pmd_fm10k_version.map >=20 > @@ -49,6 +52,9 @@ endif > LDLIBS +=3D -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring > LDLIBS +=3D -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash > LDLIBS +=3D -lrte_bus_pci > +ifeq ($(CONFIG_RTE_FM10K_MANAGEMENT),y) > +LDLIBS +=3D -lpthread > +endif >=20 > # > # Add extra flags for base driver source files to disable warnings in th= em > @@ -58,6 +64,10 @@ $(foreach obj, $(BASE_DRIVER_OBJS), $(eval > CFLAGS_$(obj)+=3D$(CFLAGS_BASE_DRIVER)) >=20 > VPATH +=3D $(SRCDIR)/base >=20 > +ifeq ($(CONFIG_RTE_FM10K_MANAGEMENT),y) > +VPATH +=3D $(SRCDIR)/switch > +endif > + > # > # all source are stored in SRCS-y > # base driver is based on the package of cid-fm10k.2017.01.24.tar.gz > @@ -71,6 +81,10 @@ SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) +=3D > fm10k_common.c > SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) +=3D fm10k_mbx.c > SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) +=3D fm10k_vf.c > SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) +=3D fm10k_api.c > +ifeq ($(CONFIG_RTE_FM10K_MANAGEMENT),y) > +SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) +=3D fm10k_i2c.c > +SRCS-$(CONFIG_RTE_LIBRTE_FM10K_PMD) +=3D fm10k_sbus.c > +endif > ifeq ($(CONFIG_RTE_ARCH_X86), y) > SRCS-$(CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR) +=3D fm10k_rxtx_vec.c > endif > diff --git a/drivers/net/fm10k/switch/fm10k_debug.h > b/drivers/net/fm10k/switch/fm10k_debug.h > new file mode 100644 > index 0000000..f7b5c06 > --- /dev/null > +++ b/drivers/net/fm10k/switch/fm10k_debug.h > @@ -0,0 +1,19 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright 2019 Silicom Ltd. Connectivity Solutions > + */ > + > +#ifndef _FM10K_DEBUG_H_ > +#define _FM10K_DEBUG_H_ > + > + > +#define FM10K_SW_ERR(...) PMD_INIT_LOG(ERR, __VA_ARGS__) > +#define FM10K_SW_INFO(...) PMD_INIT_LOG(INFO, __VA_ARGS__) > +#define FM10K_SW_TRACE(...) PMD_INIT_LOG(DEBUG, __VA_ARGS__) > + > +#define FM10K_SW_ASSERT(...) do {} while (0) > + > +#define FM10K_SW_STATS_TRACE_ENABLE 1 > +#define FM10K_SW_FFU_CONF_TRACE_ENABLE 0 > +#define FM10K_SW_MIRROR_TRACE_ENABLE 0 > + > +#endif /* _FM10K_DEBUG_H_ */ > diff --git a/drivers/net/fm10k/switch/fm10k_i2c.c > b/drivers/net/fm10k/switch/fm10k_i2c.c > new file mode 100644 > index 0000000..28b0c34 > --- /dev/null > +++ b/drivers/net/fm10k/switch/fm10k_i2c.c > @@ -0,0 +1,310 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright 2019 Silicom Ltd. Connectivity Solutions > + */ > + > +#include > + Remove this extra empty line, and please re-check other places for similar = issues. > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include "fm10k_debug.h" > +#include "fm10k_i2c.h" > +#include "fm10k_regs.h" > +#include "fm10k_switch.h" > + [...] > diff --git a/drivers/net/fm10k/switch/fm10k_i2c.h > b/drivers/net/fm10k/switch/fm10k_i2c.h > new file mode 100644 > index 0000000..f835afe > --- /dev/null > +++ b/drivers/net/fm10k/switch/fm10k_i2c.h > @@ -0,0 +1,54 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright 2019 Silicom Ltd. Connectivity Solutions > + */ > + > +#ifndef _FM10K_SW_I2C_H_ > +#define _FM10K_SW_I2C_H_ > + > +#include > +#include Add an empty line here to separate CLIB headers and local headers. Please c= heck all other places. > +#include "rte_spinlock.h" > +#include "fm10k_debug.h" > + [...] > diff --git a/drivers/net/fm10k/switch/fm10k_sbus.c > b/drivers/net/fm10k/switch/fm10k_sbus.c > new file mode 100644 > index 0000000..d7d656e > --- /dev/null > +++ b/drivers/net/fm10k/switch/fm10k_sbus.c > @@ -0,0 +1,292 @@ > +/* SPDX-License-Identifier: BSD-3-Clause > + * Copyright 2019 Silicom Ltd. Connectivity Solutions > + */ > + > +#include > + > +#include > +#include > +#include > +#include > +#include > +#include > + > +#include "fm10k_debug.h" > +#include "fm10k_regs.h" > +#include "fm10k_sbus.h" > +#include "fm10k_switch.h" > + > +#define FM10K_SW_SBUS_COMMAND_WAIT_LOCK_US_MAX 4 > +#define FM10K_SW_SBUS_COMMAND_TIMEOUT_US 500000 > +#define FM10K_SW_SBUS_RING_DIVIDER 0x01 The above two lines are not aligned, though in outlook it may be. You can h= ave a check here: http://patches.dpdk.org/patch/66130/ It's also not aligned in my "vim". Note: " set tabstop=3D8 " is recommended= for dpdk. [...]