From patchwork Fri Feb 28 08:38:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiaojun Liu X-Patchwork-Id: 66129 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 281A9A0561; Fri, 28 Feb 2020 09:39:11 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2BD901BFDA; Fri, 28 Feb 2020 09:39:10 +0100 (CET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80108.outbound.protection.outlook.com [40.107.8.108]) by dpdk.org (Postfix) with ESMTP id 00889B62 for ; Fri, 28 Feb 2020 09:39:08 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LbBkIATjrfCYFIWBd5FkYuwuZt9iD95EDqCyDScQk/ufOfGq4lQeVo84UKGTPs3rgsMrkt1HmnrdW4SaT7MUFSEQ1rrfHZUK9HghSWnc6vC7qfao6QxVdZQh2Oyu0rfROCBPgId2zXKeKFv1TmdGVx2cp/aF71qs/CsJb61x2Mgvsq7SjzBiKUmaVZAmEa6/3e6hXYvXJh0KFruJ9btrUQFf5v5iJV2G+S1CU4mH5TITtLHE3u2xCYjY0w20vsYck4EE57Wb0ggoo289B9nbdBeJMODdX6dk2PtzuhZDxVRJh0HXVLqvzFQO5gFoqgn1R1PmFUYvxsqAkIH3tLVYSQ== 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=3Naq0dhb/nW+QGzoPkBHJatHkvvKGuOPJ8ePt0/zS7s=; b=RgChC5Kqwcn/2HGYjC0AOFdUHXfOkTfx0pxWwLO7nV9s3DdMWHGnVOhnh2598CTXMQ3v9fIb85JF1GIbX0SpQm0Z1y7gq2BhWZBw1kJ2WoSDuOLDLPwZ/LbrdikU2O7d2x9jYCHtvyohXW1acZ44qQvxTKTix66nJPzNf7C4qGm4ZRDpxGgYGaL1bCNwARoPhTk2WX0WvZ1938OKbOkevUa+avFOByQ0iFQ8qQXB5kvmDpnmug2X7t/eVIJ5sk+vARUflrqvJemT9mX5UcFBRu9s+67MxnNs6WuKxKGuqHG+lKLHVNKAyRk+OZvTA2sVER5DYX9LsGSTRYEdheUTJQ== 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=3Naq0dhb/nW+QGzoPkBHJatHkvvKGuOPJ8ePt0/zS7s=; b=O3/aeT8q4vU/jJbawXcU+2IhglzE7P98DyJT+wxn+Mz9SkmJ4MtfLnx46Qxx2hEN+c3i3cGXOqKw2XNNOp1UmfNBkrYFtwaSMUWd27m68mhIn5WoWhfP8+MNtZllgjULAb83AKSbnzWCkcPXPw3/pSkipOFf7mDgFsP8Fok3gpM= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=xiaojun.liu@silicom.co.il; Received: from DB7PR04MB5196.eurprd04.prod.outlook.com (20.176.234.140) by DB7PR04MB4396.eurprd04.prod.outlook.com (52.135.134.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.15; Fri, 28 Feb 2020 08:39:06 +0000 Received: from DB7PR04MB5196.eurprd04.prod.outlook.com ([fe80::a400:f6b9:34b1:ed]) by DB7PR04MB5196.eurprd04.prod.outlook.com ([fe80::a400:f6b9:34b1:ed%5]) with mapi id 15.20.2750.024; Fri, 28 Feb 2020 08:39:06 +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: Fri, 28 Feb 2020 16:38:17 +0800 Message-Id: <1582879102-17977-1-git-send-email-xiaojun.liu@silicom.co.il> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1582207174-31037-2-git-send-email-xiaojun.liu@silicom.co.il> References: <1582207174-31037-2-git-send-email-xiaojun.liu@silicom.co.il> X-ClientProxiedBy: HK2PR02CA0207.apcprd02.prod.outlook.com (2603:1096:201:20::19) To DB7PR04MB5196.eurprd04.prod.outlook.com (2603:10a6:10:1a::12) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from xj-desktop.net-perf.com (119.139.199.125) by HK2PR02CA0207.apcprd02.prod.outlook.com (2603:1096:201:20::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.14 via Frontend Transport; Fri, 28 Feb 2020 08:39:03 +0000 X-Mailer: git-send-email 1.8.3.1 X-Originating-IP: [119.139.199.125] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4dcaa97f-29ed-4941-5aa3-08d7bc29ac06 X-MS-TrafficTypeDiagnostic: DB7PR04MB4396: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6430; X-Forefront-PRVS: 0327618309 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(136003)(39850400004)(366004)(396003)(376002)(346002)(199004)(189003)(52116002)(6666004)(86362001)(316002)(36756003)(107886003)(956004)(66556008)(478600001)(66946007)(2906002)(66476007)(2616005)(8936002)(6486002)(81156014)(81166006)(8676002)(44832011)(26005)(4326008)(186003)(6506007)(5660300002)(16526019)(6512007); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR04MB4396; H:DB7PR04MB5196.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; 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: d3ejTgtxqAuqa0xcDwArOhaohdSfXARX/C98XHmWWf5+X2yktZKYHkkbIxKqpTOjcny9nj6XLQCZp8iWnxzUU/l3EkGKdDwvUlg3WvXXw0wvG6QTOTyOO+13O7649rrTeQUQyGqUTpb8rovntv19CGk3n5TX+W3aIwc/lJDs7NYybj/ZhUdZaSo9HAZD8JZwfab1fW6fWUl0z2XUG3q2qoJFwTq5hdE6lrcVBqUJwMO9im2V+j3LTYs207u/qX/OBhQAFbyoZaysgrtKQZ8LLkSbky3A90CbRR0lZNxzkCFk9YSb2HuQJbbFG2UcQ5RrWEmAGpeqNEOxhUNHxEIqamn7sJu0ZaR/t9EDz+XgP2Tmt/4AQi9PKs8pqwMqiqCm9zmZ696rbuQUzX7B2Q1tx6UpVhX753k3vQWoL33/5AcWK4i4MdqDnPu3pFZdISFf X-MS-Exchange-AntiSpam-MessageData: VWggFrqaBWX0Yguw9w9dqfAjDYdhCq4QEwWCA9i9hcDUdP960gKWmqlZBbgkBSeB75W5JlKrCT06m47hxC9EGdjlksW6qPVhojYNS4BIx8Re6DCxwH4d3C2AIkR38fC2NSVdrNsmERyuESjZoh0r9g== X-OriginatorOrg: silicom.co.il X-MS-Exchange-CrossTenant-Network-Message-Id: 4dcaa97f-29ed-4941-5aa3-08d7bc29ac06 X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2020 08:39:06.3622 (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: WcXFDam4j9y42+IRbc8U4VPMqbSfvvMatDfaWutiVhJWuJVy4BpegQTlyr12/ipKdPY+OIm0ue8undq9G844TtK4T4x1SiEbawFCfBjlH18= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4396 Subject: [dpdk-dev] [PATCH v1 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" V1: * 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 | 7 + drivers/net/fm10k/Makefile | 23 + drivers/net/fm10k/base/fm10k_type.h | 1 + drivers/net/fm10k/fm10k_ethdev.c | 562 ++++- drivers/net/fm10k/switch/fm10k_config.c | 863 ++++++++ drivers/net/fm10k/switch/fm10k_config.h | 178 ++ drivers/net/fm10k/switch/fm10k_debug.h | 19 + drivers/net/fm10k/switch/fm10k_ext_port.c | 840 ++++++++ drivers/net/fm10k/switch/fm10k_ext_port.h | 136 ++ drivers/net/fm10k/switch/fm10k_ffu.c | 1253 +++++++++++ drivers/net/fm10k/switch/fm10k_ffu.h | 31 + drivers/net/fm10k/switch/fm10k_flow.c | 872 ++++++++ drivers/net/fm10k/switch/fm10k_flow.h | 26 + 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_serdes.c | 1936 +++++++++++++++++ drivers/net/fm10k/switch/fm10k_serdes.h | 32 + drivers/net/fm10k/switch/fm10k_sm.c | 190 ++ drivers/net/fm10k/switch/fm10k_sm.h | 81 + drivers/net/fm10k/switch/fm10k_spico_code.c | 2966 +++++++++++++++++++++++++++ drivers/net/fm10k/switch/fm10k_spico_code.h | 21 + drivers/net/fm10k/switch/fm10k_stats.c | 1242 +++++++++++ drivers/net/fm10k/switch/fm10k_stats.h | 257 +++ drivers/net/fm10k/switch/fm10k_switch.c | 2394 +++++++++++++++++++++ drivers/net/fm10k/switch/fm10k_switch.h | 476 +++++ 28 files changed, 17362 insertions(+), 42 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