From patchwork Tue Feb 20 20:42:23 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Boyer X-Patchwork-Id: 665 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 88A3243B58; Tue, 20 Feb 2024 21:42:54 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0B44C402A7; Tue, 20 Feb 2024 21:42:54 +0100 (CET) Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2064.outbound.protection.outlook.com [40.107.93.64]) by mails.dpdk.org (Postfix) with ESMTP id 0236640289 for ; Tue, 20 Feb 2024 21:42:52 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OTMidZE9+BvmeDd/XUxe+Z99UGC0Wmp7BoJwfKtvjZYEMQ4ZdHjnbj8ND2NXuQ181iu7+axiJGds+h1Cf1PG5pFGzrk+rYhRIPYdvrSNsYscGpECZ3UgxAgMG4+ReT13xYgzZ6e9zGSjVhW+YxqBiBSp26Z+WzsHs+tLMBeiGp8IRoy7TAaaidGUSHWWW89j0TGmlZKHIHUGV1l5deLd4cWJIZGuGcYyhrrLtXJqM2jVzW6OQ3k0/eT7YTZsB/JAQJTEAa11usJRN+octHRLUOZfNhQ6BZnt8DTmCYbgWFG6UHQrWFoBjfdWGxyhvycp3dG1FPekHL8yWhCQT2/Vqw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5RkUfZhiF9D/RK6iYQHXGFNf/Y4SE18gwOanJT8uGbI=; b=n4uB0uxSHJawsJWhgMPX0RfmiWqvMI+nTA0CG7Kib3LLo49I5BBi04YMkoDxs/HxSoFuhJjD5tptrfzfitC4flg/iwksR9XAPsRRML5spyNyHPLIWcF5TmG6oSbEXmpoBinFURnprNEY03127f1m/5dmizTmDMK2FP7cXEsruAQZYz7Ys/5XwUIpzUslSKjhTtKaYvfBrqiD+rAhzpl5Z5E6PX2fM7fg/7myVIyNSHpNDDX1L/dO/Tygq4rC+JFabQ+aAjZZ3xeW7vD5n04Jp92p4G9D+J7OrDFUY/+kbbKGHY+teUONr/HlRBMPJ873+DgiyrC/B0IJ9vRpslyPZw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5RkUfZhiF9D/RK6iYQHXGFNf/Y4SE18gwOanJT8uGbI=; b=mv6JjHh25f0H+Jprl+RqBgzy0ayRuO/EDmbli3j1EGiWJB74bQv5HG57Kx2vvIW+kYPBPVHP7DroDYdqz2ow/9o9pCYwyr/GW4nsfQDaOPvN0USPNegIeI7NCo3O1BNbIdqV/oqPTXXZXI4HMWTdhkhDijAvMHc0IVSTHzUITII= Received: from MW4PR04CA0169.namprd04.prod.outlook.com (2603:10b6:303:85::24) by SA3PR12MB9130.namprd12.prod.outlook.com (2603:10b6:806:37f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.21; Tue, 20 Feb 2024 20:42:51 +0000 Received: from CO1PEPF000044EF.namprd05.prod.outlook.com (2603:10b6:303:85:cafe::51) by MW4PR04CA0169.outlook.office365.com (2603:10b6:303:85::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.39 via Frontend Transport; Tue, 20 Feb 2024 20:42:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1PEPF000044EF.mail.protection.outlook.com (10.167.241.69) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7292.25 via Frontend Transport; Tue, 20 Feb 2024 20:42:50 +0000 Received: from driver-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Tue, 20 Feb 2024 14:42:49 -0600 From: Andrew Boyer To: CC: Andrew Boyer Subject: [PATCH v2 0/3] net/ionic, common/ionic: add vdev support Date: Tue, 20 Feb 2024 12:42:23 -0800 Message-ID: <20240220204226.27494-1-andrew.boyer@amd.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20240216170704.55523-1-andrew.boyer@amd.com> References: <20240216170704.55523-1-andrew.boyer@amd.com> MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1PEPF000044EF:EE_|SA3PR12MB9130:EE_ X-MS-Office365-Filtering-Correlation-Id: ebc70f68-8184-4a2f-2d88-08dc32548125 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: se2NxtCP7/KvEf50cmsjlA4lGGz4LVmPVOFLfxCXuEUAo74Ey3iZnWJal9vqRdExeZqKfq+wmKbzpXpfUG5MuFIwkjxRcptBL2DavhNEF5a9uZZiwo+5UuvDSZJyXCs7gBlW96Ucmds1FfFV9EvmIj993bmr0/GH5+wFYOrtAxAVhJx6YMUrPV1W5w9XysteAJQ9w6Jh1FtrXYAbqFHyltpbylk33BLFlDyzrqgXBu/AF99RrbRYHw+Kwo1zrDe3zyvTWSHppPeg5gTXqTizEANtEKvUtbMQO5zpXfyxXUq2CmLLL95BK04Uy7A4jYshWB9VSIpB8Oy04E9uDPjW43mzW5orwjrMLs8S2u2oeIO7rHmPzpb6QyvDj77fLpc0mB23UytvqFzNgMP3lH1NIx5XVkyria+IteUJKDlMhgYefVYjeEtnrSap97Er9Q9On6E9ITmLZoP1ZIWbDQ3MA2fmLexO0Bzj42utZcJ5AVQVLNE6b/B1kzIRoL0iRbC4C5PyZaC5MQQXNppbTkAanHnL4pYwTV6FKrVwECojRx0t5kZPezO6zReZyjyecBHw/Q/v1jW4ZgFVTF9in27ACyEZ866xUjtUwpQJ+ZP5zD8llHBbP3tIgtCQaTQJJgDb0lz9I/KgVGb+5rzxbEt75zkfaNxo6TsF0NCgOFI++zI= X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230031)(36860700004)(46966006)(40470700004); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2024 20:42:50.3388 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ebc70f68-8184-4a2f-2d88-08dc32548125 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1PEPF000044EF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR12MB9130 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 This patch series adds support to net/ionic for using UIO platform devices as DPDK vdevs. This is used by client applications which run directly on the AMD Pensando family of devices. The UIO code is implemented in a new common code library so that it can be shared with the upcoming crypto/ionic driver. V2: - Redesign vdev device scan as suggested by review. - Re-sort entries in config/arm/meson.build as suggested by review. Andrew Boyer (3): common/ionic: create common code library for ionic net/ionic: remove duplicate barriers net/ionic: add vdev support for embedded applications MAINTAINERS | 1 + config/arm/arm64_capri_linux_gcc | 16 ++ config/arm/arm64_elba_linux_gcc | 16 ++ config/arm/meson.build | 44 +++ drivers/common/ionic/ionic_common.h | 41 +++ drivers/common/ionic/ionic_common_uio.c | 289 ++++++++++++++++++++ drivers/{net => common}/ionic/ionic_osdep.h | 37 +-- drivers/{net => common}/ionic/ionic_regs.h | 49 +++- drivers/common/ionic/meson.build | 12 + drivers/common/ionic/version.map | 9 + drivers/common/meson.build | 1 + drivers/net/ionic/ionic.h | 5 +- drivers/net/ionic/ionic_dev.h | 43 ++- drivers/net/ionic/ionic_dev_pci.c | 2 +- drivers/net/ionic/ionic_dev_vdev.c | 147 ++++++++++ drivers/net/ionic/ionic_ethdev.c | 7 + drivers/net/ionic/ionic_if.h | 125 --------- drivers/net/ionic/ionic_lif.c | 19 ++ drivers/net/ionic/ionic_main.c | 1 - drivers/net/ionic/ionic_rx_filter.h | 1 - drivers/net/ionic/ionic_rxtx.h | 4 + drivers/net/ionic/ionic_rxtx_sg.c | 4 +- drivers/net/ionic/ionic_rxtx_simple.c | 4 +- drivers/net/ionic/meson.build | 5 + 24 files changed, 697 insertions(+), 185 deletions(-) create mode 100644 config/arm/arm64_capri_linux_gcc create mode 100644 config/arm/arm64_elba_linux_gcc create mode 100644 drivers/common/ionic/ionic_common.h create mode 100644 drivers/common/ionic/ionic_common_uio.c rename drivers/{net => common}/ionic/ionic_osdep.h (53%) rename drivers/{net => common}/ionic/ionic_regs.h (74%) create mode 100644 drivers/common/ionic/meson.build create mode 100644 drivers/common/ionic/version.map create mode 100644 drivers/net/ionic/ionic_dev_vdev.c Acked-by: Ferruh Yigit