From patchwork Thu Apr 9 06:26:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiaojun Liu X-Patchwork-Id: 68042 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 81889A0597; Thu, 9 Apr 2020 08:27:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F17081C136; Thu, 9 Apr 2020 08:27:09 +0200 (CEST) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80122.outbound.protection.outlook.com [40.107.8.122]) by dpdk.org (Postfix) with ESMTP id 0DDAC1C132 for ; Thu, 9 Apr 2020 08:27:09 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ewRtXnBznoyYLYx+aSDyx5+hjvwVCAIKW2mwQWA5PuiN2jOIjQzM2STbhi1b1Ru6nmNfsYEIJb4uTog/uZwp2PPWVAzwCHqDOPKrGZ5w1QBgNap7knNgf1ZaN1qYsXvwk/9wR85nsrme5BrNq69pBnlx5Or8b6vYtkFMIFktofsT/ZRYeav+F8VOWxUcvybwUlHWTdcM/CdPR8N1o+osZsjUSpmD2yumZXHNPffSEyttPvO4NUjNE7ilAfdWBlfGmXe/jbXCQZIzwCJSp1JeIaw3YfZV2ExcZI3cExr+dY7V17eEsF487LDqeNlsj3MFmJOCMo1NW0+dF5lGouCdhQ== 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=NVNBRm0hYmic3BCf3WAw7L6kNgarRlKoqvAv3T1A5QE=; b=dLxaZwEDXasFLnBEx4cv3KXlJDTsS35NWWtkII7TPeASrf2BZNjkfFUkvYtoYO16NqnNnvQXItZ7TxGZsCtIaTC3kodUnhjhuqFY6ZpB8RjWL+Y3zv/cc3b0y5mRYMs92lzkZdvr/hxk5UHe7RF6YDepfbX5pTCaxSsose+vn3vBMkXVh20CC9g1ai7vt1F2ARlHSYV8lFXhLt2hoiAULqdLEY4CH05GlZqowHYHLWC53XswmjZ4IXTgYuWUcdjVO4EqxFIgbS5jp8aC3L6MjhycEPjXmiFsI4vB5mcFVhWpqY5GB7dzqoeuLIJMuciR+UaqvHXPZ5RvO1OYTpFnAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silicom.co.il; dmarc=pass action=none header.from=silicom.co.il; dkim=pass header.d=silicom.co.il; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=SILICOMLTD.onmicrosoft.com; s=selector2-SILICOMLTD-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NVNBRm0hYmic3BCf3WAw7L6kNgarRlKoqvAv3T1A5QE=; b=H43h3RnKrvT0FpJW4EM7XkfmhBTNMZlJECov3XJhO9O2tW83HikkRr3onP1wMt8/NdhkOXEj8Xu3+AQHCnHSRXSwEOM8gbiunmF2Bth/rvtsRqsl9B9APThp5ymaY15BsfpBlsUwfvOBZ/R56OMru4fQLvOm0/g+khEu7wXsl6I= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=xiaojun.liu@silicom.co.il; Received: from VI1PR04MB5150.eurprd04.prod.outlook.com (2603:10a6:803:5c::19) by VI1PR04MB5071.eurprd04.prod.outlook.com (2603:10a6:803:56::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.20; Thu, 9 Apr 2020 06:27:07 +0000 Received: from VI1PR04MB5150.eurprd04.prod.outlook.com ([fe80::79cf:289f:b9b4:53b5]) by VI1PR04MB5150.eurprd04.prod.outlook.com ([fe80::79cf:289f:b9b4:53b5%4]) with mapi id 15.20.2900.015; Thu, 9 Apr 2020 06:27:07 +0000 From: Xiaojun Liu To: xiao.w.wang@intel.com, qi.z.zhang@intel.com, ngai-mint.kwan@intel.com, jacob.e.keller@intel.com Cc: dev@dpdk.org, Xiaojun Liu Date: Thu, 9 Apr 2020 14:26:23 +0800 Message-Id: <1586413588-5759-1-git-send-email-xiaojun.liu@silicom.co.il> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1584687199-19198-1-git-send-email-xiaojun.liu@silicom.co.il> References: <1584687199-19198-1-git-send-email-xiaojun.liu@silicom.co.il> X-ClientProxiedBy: HK2PR02CA0152.apcprd02.prod.outlook.com (2603:1096:201:1f::12) To VI1PR04MB5150.eurprd04.prod.outlook.com (2603:10a6:803:5c::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from xj-desktop.net-perf.com (113.110.226.153) by HK2PR02CA0152.apcprd02.prod.outlook.com (2603:1096:201:1f::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.15 via Frontend Transport; Thu, 9 Apr 2020 06:27:04 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [113.110.226.153] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 35e7c5d6-1033-42d3-5cb2-08d7dc4f06a1 X-MS-TrafficTypeDiagnostic: VI1PR04MB5071: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-Forefront-PRVS: 0368E78B5B X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR04MB5150.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10019020)(396003)(136003)(376002)(39840400004)(366004)(346002)(81166007)(26005)(4326008)(8936002)(36756003)(81156014)(66946007)(66556008)(478600001)(52116002)(186003)(16526019)(107886003)(66476007)(8676002)(316002)(6506007)(86362001)(5660300002)(6666004)(6486002)(2906002)(956004)(2616005)(6512007)(44832011); DIR:OUT; SFP:1102; Received-SPF: None (protection.outlook.com: silicom.co.il does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JhqKGu4T+E0jN5w/pnBcFrqKZM1IQ3aEtwSGHSC9k9W17y61BPQfDkntj6l4fx+i/iZ767RJD67hJmK2ma7twNgsBFP1VRJNdihnOnsKeKDT2bMRTxgsHlFDg2aC8HMP2Q2QN7Z5naOao7vmzvh7NsP70HkbmIdJdDddwjO0BOakNlkn372cVJsAzs+ZJXiQX+qWBEkKQfvdiF9MyWXuXMKZXPOnnG7BImLTRLhPGNOIWzJx+lLehvLn+T3Vfomy0Zfx/+8S2pLnvV4KiGY5ZL0/xUeO6Vw1umyXkrwGOE1qBQolJwbsSqwLVwmgu24ViwhmTZNUAZBIOP/U9HUPmEItRL4i/CSSYJAbtNKzLD+CwrOnXTbl3WeDXcNjQ4e7RIskMbkjWjjewDtBR4URu2rUjX/Hh9J23UgLzTX7EuUDIUADbieFiqRhRZ1+dUd1 X-MS-Exchange-AntiSpam-MessageData: pzydTW+hysOBjX1FEoriQjHSE66BxvMCXoa7wUWm+AWQ7ROv615K8PcpeAZO4pI33+2PsnRtgepH9v+whjefVF3L453JvL84p3leqWeTCnuKfHqhl0cl8cLbaFq+FquFFWCo1Vbm8i1TawNEKI8ZvA== X-OriginatorOrg: silicom.co.il X-MS-Exchange-CrossTenant-Network-Message-Id: 35e7c5d6-1033-42d3-5cb2-08d7dc4f06a1 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Apr 2020 06:27:07.0098 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: c9e326d8-ce47-4930-8612-cc99d3c87ad1 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6VBTYcgdIgVJPhz+2/Y58RXazVnnKczPNVi2OuArhdj5+ZFAQMMEnYiFHiHdfZQZ4epuQUcfX+1DnSYwDttkdN5ufTJ2YnQY/ACkcMv2GcI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB5071 Subject: [dpdk-dev] [PATCH v4 0/5] support fm10k 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" V4: * Add I2C to control the inside LED and PHY. * Add SBUS to communicate with spico. * Add registers defination. * Add switch management log API. * Add switch management structures. * Add epl serdes include loading spico, controlling pcsl, dma, dfe, ical. * Add spico code. * Add state machine for epl lane and port. * Add external port management. * Add ffu to support offload flow into HW. It supports forward, mirror, push VLAN, pop VLAN. * Add config file to configure debug log, port speed, epl port mapping dpdk port, flowset. * Add statistics includes epl port, ffu rule, dpdk port. * Add flow interface to support offload flow into HW. * Add switch management, includes initialization, port mapping, epl port link, LED controller, interrupt handler. * Split dev_init to 2 parts in ethdev. First only register the port in switch management; second init hook will be called after all the pf are registered. * Add switch interrupt support. * Add fm10k_mirror_rule_set/fm10k_mirror_rule_reset. * Add fm10k_dev_filter_ctrl to support flow operation. * Add dpdk port and pf mapping. * Modify Makefile to add new files building Xiaojun Liu (5): net/fm10k: add basic functions for switch management net/fm10k: add epl serdes and port control functions net/fm10k: add ffu and statistics and config file functions net/fm10k: add flow interface and switch management net/fm10k: add switch management support config/common_linux | 5 + doc/guides/nics/fm10k.rst | 5 + doc/guides/rel_notes/release_20_05.rst | 7 + drivers/net/fm10k/Makefile | 20 + drivers/net/fm10k/base/fm10k_type.h | 1 + drivers/net/fm10k/fm10k_ethdev.c | 555 ++++- drivers/net/fm10k/switch/fm10k_config.c | 854 ++++++++ drivers/net/fm10k/switch/fm10k_config.h | 176 ++ drivers/net/fm10k/switch/fm10k_debug.h | 18 + drivers/net/fm10k/switch/fm10k_ext_port.c | 837 ++++++++ drivers/net/fm10k/switch/fm10k_ext_port.h | 134 ++ drivers/net/fm10k/switch/fm10k_ffu.c | 1239 +++++++++++ drivers/net/fm10k/switch/fm10k_ffu.h | 30 + drivers/net/fm10k/switch/fm10k_flow.c | 864 ++++++++ drivers/net/fm10k/switch/fm10k_flow.h | 26 + drivers/net/fm10k/switch/fm10k_i2c.c | 309 +++ drivers/net/fm10k/switch/fm10k_i2c.h | 55 + drivers/net/fm10k/switch/fm10k_regs.h | 2298 +++++++++++++++++++++ drivers/net/fm10k/switch/fm10k_sbus.c | 291 +++ drivers/net/fm10k/switch/fm10k_sbus.h | 38 + drivers/net/fm10k/switch/fm10k_serdes.c | 1929 +++++++++++++++++ drivers/net/fm10k/switch/fm10k_serdes.h | 30 + drivers/net/fm10k/switch/fm10k_sm.c | 188 ++ drivers/net/fm10k/switch/fm10k_sm.h | 79 + drivers/net/fm10k/switch/fm10k_spico_code.c | 2963 +++++++++++++++++++++++++++ drivers/net/fm10k/switch/fm10k_spico_code.h | 21 + drivers/net/fm10k/switch/fm10k_stats.c | 1226 +++++++++++ drivers/net/fm10k/switch/fm10k_stats.h | 253 +++ drivers/net/fm10k/switch/fm10k_switch.c | 2362 +++++++++++++++++++++ drivers/net/fm10k/switch/fm10k_switch.h | 465 +++++ 30 files changed, 17242 insertions(+), 36 deletions(-) create mode 100644 drivers/net/fm10k/switch/fm10k_config.c create mode 100644 drivers/net/fm10k/switch/fm10k_config.h create mode 100644 drivers/net/fm10k/switch/fm10k_debug.h create mode 100644 drivers/net/fm10k/switch/fm10k_ext_port.c create mode 100644 drivers/net/fm10k/switch/fm10k_ext_port.h create mode 100644 drivers/net/fm10k/switch/fm10k_ffu.c create mode 100644 drivers/net/fm10k/switch/fm10k_ffu.h create mode 100644 drivers/net/fm10k/switch/fm10k_flow.c create mode 100644 drivers/net/fm10k/switch/fm10k_flow.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_serdes.c create mode 100644 drivers/net/fm10k/switch/fm10k_serdes.h create mode 100644 drivers/net/fm10k/switch/fm10k_sm.c create mode 100644 drivers/net/fm10k/switch/fm10k_sm.h create mode 100644 drivers/net/fm10k/switch/fm10k_spico_code.c create mode 100644 drivers/net/fm10k/switch/fm10k_spico_code.h create mode 100644 drivers/net/fm10k/switch/fm10k_stats.c create mode 100644 drivers/net/fm10k/switch/fm10k_stats.h create mode 100644 drivers/net/fm10k/switch/fm10k_switch.c create mode 100644 drivers/net/fm10k/switch/fm10k_switch.h