From patchwork Wed Jun 16 04:09:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xueming Li X-Patchwork-Id: 94273 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 44AD7A0C45; Wed, 16 Jun 2021 06:09:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C54E340140; Wed, 16 Jun 2021 06:09:54 +0200 (CEST) Received: from NAM04-MW2-obe.outbound.protection.outlook.com (mail-mw2nam08on2043.outbound.protection.outlook.com [40.107.101.43]) by mails.dpdk.org (Postfix) with ESMTP id 6DE7B4003C for ; Wed, 16 Jun 2021 06:09:53 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QOIWRHMZ1/7TeI7s/PZpfAjNy+kGsQX4m3cWyv1qMJSQckeMvabpsCINsvXFvgmxWCWouxNOKe4ZhWer7taBQ5NQVdoaSzX0GIHC+7JeirfJrGRxjop9ccrYaGneXBrHXPBFC/WVbPWfhaloKfBmkGuoolK8BOXKTA7/JbZp6lBmwuLfczElvzPIx4FezwZ216wpSuKk0DRcWH0tbE8yA+fJbbRdKcCzdyxj7pC3VkC8gZud3hqoNvSgvaE9yhEVEIByV0fTzEStOb5Nyjvo+LanF5NH0k795AZYJzGdLrktoKJTR84vdE4jXfL4O8ol51XWa6246RZmiXblrMo7tQ== 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=LM6Azgq5XFz1z9XiVWm7yk4XlDKAn6ugOg9yFOKIjZs=; b=Mk+5rFS0sI08opxhxSHBKf0sTObaqRtsunz9DoTCjEj4vQiybq8oyjFuiZxdLzJm88SK8+IrVCtFVZmg95KpxFSGe+OOCoUPSREN/oWMgYesCWOnZ4Ln8neMsirfloaCQrQIWF4jgcYHy4j70tVvUjSIKDDXQIqIkr68SKe8cap/ycEz93x2bzor7g7XhHw37lY9f/LhI/+UClCwpCjHaK+izcu16sso3XZGXJROvuchFXiWUpeL8q4F2bpWPlEi8oWcjhA8XmfXXCj6/9JjR8LoJAzCF58URCRYt7oYpSJZ83LCF/890dG7705j3XyyGG12DFDa3a7L367zaUmFCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=dpdk.org smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LM6Azgq5XFz1z9XiVWm7yk4XlDKAn6ugOg9yFOKIjZs=; b=X+9WZ3qoc0Hk7dFnl0p/Qw7YW+PwuT3KLXeKiE+U32AQ80TwRC9BisYTTNvdpShGB3JatDMhUd7MFXDoE76vaCam/CLv8dPMM3UuVD8Z0u4Qa/VOuVgERPLyY+Ms8aQI6qB1kqUwH2h+SxyvolCEK5PjkGrJ4mPh/jd1KvKUp9wvkcnAnCBo0UDlW7hABIeUiJallPgz/SYM0wmAHiSqXq5CGsVsBxBzBZGzDm+98YYiWyCteYxTgRcyXhklN0Zg8tQ28tZL4Y4c9u0u2pvA1TmS2saLoSVNU8xrKri7FkE9njqTeGqdlBLhxko5tTqW5ICk49s8ItMuBEXgs5FoUA== Received: from DM5PR08CA0038.namprd08.prod.outlook.com (2603:10b6:4:60::27) by DM6PR12MB3483.namprd12.prod.outlook.com (2603:10b6:5:11f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.15; Wed, 16 Jun 2021 04:09:51 +0000 Received: from DM6NAM11FT044.eop-nam11.prod.protection.outlook.com (2603:10b6:4:60:cafe::b4) by DM5PR08CA0038.outlook.office365.com (2603:10b6:4:60::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.16 via Frontend Transport; Wed, 16 Jun 2021 04:09:51 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by DM6NAM11FT044.mail.protection.outlook.com (10.13.173.185) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4242.16 via Frontend Transport; Wed, 16 Jun 2021 04:09:51 +0000 Received: from nvidia.com (172.20.187.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 16 Jun 2021 04:09:49 +0000 From: Xueming Li To: Viacheslav Ovsiienko CC: , Date: Wed, 16 Jun 2021 07:09:21 +0300 Message-ID: <20210616040935.311733-1-xuemingl@nvidia.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210527133759.17401-2-xuemingl@nvidia.com> References: <20210527133759.17401-2-xuemingl@nvidia.com> MIME-Version: 1.0 X-Originating-IP: [172.20.187.6] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a69a6368-0fcc-483b-6d71-08d9307c96d7 X-MS-TrafficTypeDiagnostic: DM6PR12MB3483: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: JfdU5MHfZ5WUN5lMW1KIVOmjZYzAhFgxbqhk9vIFtMTQksw2khQL+2wS2opccf1EYbOZh6Kt/7wA0cbPBX/p5TPcgprwkUhv2FkFqupj9HFPQNmW4SUiocqC3pscmRlWN6LfDOMFgQbiEUDxVxvqzErNOFpPXXirNMELIFvZxBFNM9JMIGOsHDm5DkUS1NFQkCvMDsvlUYhw5EtkXt+ImONoMcDEIXrfz8I0q4+rOSSQymuy+CaFBdu43pfx2M09WxX5GpKdNagmY7ZIBf532T5CO4nOf6MSS7kFPSlmA4uCTbHBX+NTgKaGsG2SvpWtbqEQiUH+ioVy3qnd4nRMOC3uTwN7POvU/8MHreRiENprnTBLP89bbbKl/bmAhSWu53mOQdJJQs1ItxeXhQRbOCuhCNs2t4p3BlPNER4IfHHWSmLN64hSEW1qU1NtYzD8cRzfBanl4g9whYEHEqXHpKTwvC0cmXsr00vMO8fX6T2OEQDspR60H36kIFuZzz7XSImlegORFO/itv6papyuAGhCWjWUYSFcB3VPTQL2ihNactgC2o/Wqgpo+tM9CA95Dl6Js+Um4Wk2t160CUziBwkZBYsGurQzOdVMkiLKPgcGNwPPwUATcVaY1I6EBSQ+KrR7p9A3BgYyLVUgehgoeQQAFogHSH47+XWXUrqgYrs6D0OE4Ykfa4KrUj5+5OSgcQkQmQCGhDeUDRlPLvRgtYw/QV4wrpqguhSUVyYAG3Y52clSRF/XUOuQ7rBXYJeLujQiTNO41XCqThoMKkTVVkx3GQl5LOU7PsAT9eU57/7PEOSFEusA5+NYFqPYJI1E X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(136003)(39860400002)(36840700001)(46966006)(478600001)(86362001)(16526019)(83380400001)(7636003)(426003)(4326008)(8936002)(36756003)(6286002)(8676002)(2906002)(6862004)(2616005)(55016002)(966005)(6636002)(36860700001)(356005)(107886003)(5660300002)(1076003)(26005)(186003)(6666004)(336012)(36906005)(82740400003)(316002)(54906003)(70206006)(82310400003)(47076005)(70586007)(37006003)(7696005); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2021 04:09:51.3435 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a69a6368-0fcc-483b-6d71-08d9307c96d7 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: DM6NAM11FT044.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3483 Subject: [dpdk-dev] [PATCH v1 00/14] net/mlx5: support Sub-Function X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Sub-Function [1] is a portion of the PCI device, a SF netdev has its own dedicated queues(txq, rxq). A SF shares PCI level resources with other SFs and/or with its parent PCI function. Auxiliary bus is the fundamental of SF. This patch set introduces Sub-Function support for mlx5 PMD driver including class net, regex, vdpa and compress. Depends-on: series-16904 ("bus/auxiliary: introduce auxiliary bus") Depends-on: series-17304 ("eal: save error in string copy") Version history: RFC: initial version V1: rebased on latest upstream code [1] SubFunction in kernel: https://lore.kernel.org/netdev/20201112192424.2742-1-parav@nvidia.com/ [2] Auxiliary bus: http://patchwork.dpdk.org/project/dpdk/patch/20210510134732.2174-1-xuemingl@nvidia.com/ Thomas Monjalon (5): common/mlx5: move description of PCI sysfs functions common/mlx5: get PCI device address from any bus vdpa/mlx5: define driver name as macro vdpa/mlx5: remove PCI specifics vdpa/mlx5: support SubFunction Xueming Li (9): common/mlx5: add common device driver common/mlx5: support auxiliary bus net/mlx5: remove PCI dependency net/mlx5: migrate to bus-agnostic common driver net/mlx5: support SubFunction net/mlx5: check max Verbs port number regex/mlx5: migrate to common driver compress/mlx5: migrate to common driver common/mlx5: clean up legacy PCI bus driver doc/guides/nics/mlx5.rst | 54 +- doc/guides/vdpadevs/mlx5.rst | 10 + drivers/common/mlx5/linux/meson.build | 3 + .../common/mlx5/linux/mlx5_common_auxiliary.c | 191 +++++++ drivers/common/mlx5/linux/mlx5_common_os.c | 29 +- drivers/common/mlx5/linux/mlx5_common_os.h | 6 +- drivers/common/mlx5/linux/mlx5_common_verbs.c | 24 +- drivers/common/mlx5/meson.build | 2 +- drivers/common/mlx5/mlx5_common.c | 391 ++++++++++++- drivers/common/mlx5/mlx5_common.h | 178 +++++- drivers/common/mlx5/mlx5_common_pci.c | 526 ++++-------------- drivers/common/mlx5/mlx5_common_pci.h | 77 --- drivers/common/mlx5/mlx5_common_private.h | 50 ++ drivers/common/mlx5/mlx5_common_utils.h | 2 + drivers/common/mlx5/version.map | 12 +- drivers/compress/mlx5/mlx5_compress.c | 71 +-- drivers/net/mlx5/linux/mlx5_ethdev_os.c | 14 +- drivers/net/mlx5/linux/mlx5_os.c | 200 +++++-- drivers/net/mlx5/linux/mlx5_os.h | 5 +- drivers/net/mlx5/mlx5.c | 87 +-- drivers/net/mlx5/mlx5.h | 13 +- drivers/net/mlx5/mlx5_ethdev.c | 2 +- drivers/net/mlx5/mlx5_mac.c | 2 +- drivers/net/mlx5/mlx5_mr.c | 48 +- drivers/net/mlx5/mlx5_rxmode.c | 8 +- drivers/net/mlx5/mlx5_rxtx.h | 9 +- drivers/net/mlx5/mlx5_trigger.c | 14 +- drivers/net/mlx5/mlx5_txq.c | 3 +- drivers/net/mlx5/windows/mlx5_os.c | 14 +- drivers/regex/mlx5/mlx5_regex.c | 49 +- drivers/regex/mlx5/mlx5_regex.h | 1 - drivers/vdpa/mlx5/mlx5_vdpa.c | 128 ++--- drivers/vdpa/mlx5/mlx5_vdpa.h | 1 - 33 files changed, 1337 insertions(+), 887 deletions(-) create mode 100644 drivers/common/mlx5/linux/mlx5_common_auxiliary.c delete mode 100644 drivers/common/mlx5/mlx5_common_pci.h create mode 100644 drivers/common/mlx5/mlx5_common_private.h