From patchwork Fri Feb 16 17:07:01 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Boyer X-Patchwork-Id: 653 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 7B4E443B31; Fri, 16 Feb 2024 18:07:40 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 4899B4029A; Fri, 16 Feb 2024 18:07:40 +0100 (CET) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2052.outbound.protection.outlook.com [40.107.212.52]) by mails.dpdk.org (Postfix) with ESMTP id D49F84026A for ; Fri, 16 Feb 2024 18:07:38 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S/dwMH+cP6bkS6rgLGdic0J7u5bH+cZtk3r2ZlzUQb0vxUA9acOkhD0oV63sBVUGP0PxJR4ZfzkgdXQg09VI0tHLDfUIWibXQLtvWSEV0YeSG/1pSBj/HG5hLQmxCYuvespcWpsgcEF1ANxhekh12Zm24kXvMYfdI8f9FtgzAqEjlvDVl4AVaiK3FBhf7uDpr7wmMArP6nYVOsXhTvuigMIpCpv1ML4uEz6e5nUALPHcydn5/BvDI/VcX/ivUNgq+Fdyxw+Iv1To4IcOexzU1DP8Lz2Oxsd3zDd7o6NfvX6zYypNrQbE2F5QzcIEnFada/yStIFe084/tX+kO1iVog== 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=XiVYEKXu1Thn4FxSv2HspT1G5wKd9A3GjUDtzavH+U0=; b=c2U2O+Gluzyegg1H5kPImMOIdW45XESXB0S5T/EaJM6Oj8q/QZ1kaVYDwgNTvlKQCJ1wtQm195PH2a5JHQAa531RiNHtjdbG5yTobAjX6wTeSDFnTI9r6qaiacRgnOXSabPHW/L2Mj3XfGyN8Xt6imZRRe8oApu1dfVLdfvTmikBVYi5sYLbJfWFrQZBw+EJPTlNueskAvc2RPuWQaPFz6qvGM+oVlaYghM7OIP9KR7ASyp+q2SFJ1gSFTx9wGErRf7KYt4dBvftcLRFN9P7HAhFyIRBZFqy8M0O7OkDymeOnIsFUv6Kc7ClCEXx5UMEDlIiG/cBW5rcqvsOUPlJ8A== 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=XiVYEKXu1Thn4FxSv2HspT1G5wKd9A3GjUDtzavH+U0=; b=pzMZwRy/k+UfkUdYvh9XKXjYcspnfH/lgU8daT8tdzKGvohIMnxPD10ODxl8ZcqVdLjOhydMK7P4k7jAPSX0L/l4ON5+ncR78NDoRpTUvbc+EEdyaCdqHFau6w05mCeScTns05qihXXI1l3EJJb9/NOFaw+prjD+PFWloR+37Ow= Received: from BYAPR07CA0021.namprd07.prod.outlook.com (2603:10b6:a02:bc::34) by PH7PR12MB6420.namprd12.prod.outlook.com (2603:10b6:510:1fc::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.14; Fri, 16 Feb 2024 17:07:33 +0000 Received: from MWH0EPF000989E9.namprd02.prod.outlook.com (2603:10b6:a02:bc:cafe::c5) by BYAPR07CA0021.outlook.office365.com (2603:10b6:a02:bc::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.39 via Frontend Transport; Fri, 16 Feb 2024 17:07:32 +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 MWH0EPF000989E9.mail.protection.outlook.com (10.167.241.136) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7292.25 via Frontend Transport; Fri, 16 Feb 2024 17:07:32 +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; Fri, 16 Feb 2024 11:07:31 -0600 From: Andrew Boyer To: CC: Andrew Boyer Subject: [PATCH 0/3] net/ionic, common/ionic: add vdev support Date: Fri, 16 Feb 2024 09:07:01 -0800 Message-ID: <20240216170704.55523-1-andrew.boyer@amd.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: MWH0EPF000989E9:EE_|PH7PR12MB6420:EE_ X-MS-Office365-Filtering-Correlation-Id: 145168d5-2a34-46f5-a30e-08dc2f11c3d9 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 523auy4CYaOolRxK2V7AbcKtb5MjTZLRau0TOordNej4Fkb174mZdeb8sHBB3FcbrUWPXp7OSjO4KPdX8i7Tz4vTON5wcQKnyQIxULKyrAm8xL7y3ziRD4CUsCEqPlRctR8uVagvISYafmDNaw4EXBpZUcOSRTgO4M7YSLKOJCSxyG34/pvF34MiNr78pvXlPXZzgXpY/lJVyNdmjEuXRM+Mm440OrZKPBeBXKnTc8WI4LvQNiwYsqEbHcKbIWnqXeefkxuetX4Wxk9IkqcyMv7YvNf0kEzyZPKjre3O5mJh3hH9xh7LL6PmEn8/oi0aMfJkk0bRDrWhrjGAMpFDKLG4u/3v4fE/wTnOJ+GvhrtKL62tUTr2uRMLVvuO26MUhWKxd1FyztCd+KYMRrYTmRAHdqNySZt7/AFNlmWpD2OxVTnaxZsrqbweicufkTsAy7UDjO+nMcA936wwJzxkdPNPnu8tzO5FIirnqrvy+A3nKgrkEss4zXAGtvhHFPj1MZphBdoJ3nfExURnhDjZIU9k5x5GvjvasSlQ4IWWJaoFtd7zT9hxDMgPJhB0GDCg3hTew3iUPbGV/CEZFKCQ8UJgr9rGqH8sT6/g6CBIAbwhvNGsbsbuw+UrsEHwxH/PpQ1kx4YiY3AHHkkShvlpcZhnruPd7seu/A2FzvxTC2Q= 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)(4636009)(39860400002)(136003)(346002)(396003)(376002)(230922051799003)(36860700004)(451199024)(1800799012)(82310400011)(186009)(64100799003)(40470700004)(46966006)(86362001)(82740400003)(356005)(81166007)(70586007)(8936002)(4326008)(2906002)(6916009)(5660300002)(8676002)(36756003)(44832011)(70206006)(6666004)(83380400001)(316002)(2616005)(478600001)(26005)(16526019)(1076003)(41300700001)(426003)(336012); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Feb 2024 17:07:32.5131 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 145168d5-2a34-46f5-a30e-08dc2f11c3d9 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: MWH0EPF000989E9.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6420 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. 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 | 42 +++ drivers/common/ionic/ionic_common.h | 41 +++ drivers/common/ionic/ionic_common_uio.c | 283 ++++++++++++++++++++ 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 | 156 +++++++++++ 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, 698 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