From patchwork Thu Feb 22 18:40:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Boyer X-Patchwork-Id: 673 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 9A7F843B7F; Thu, 22 Feb 2024 19:40:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3E86B402CD; Thu, 22 Feb 2024 19:40:35 +0100 (CET) Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2065.outbound.protection.outlook.com [40.107.92.65]) by mails.dpdk.org (Postfix) with ESMTP id 2FBE14027F for ; Thu, 22 Feb 2024 19:40:34 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ju5WpY6SchdHiHl2n+azlri7U9nMZps12jZjm2kJyzFEWmLWCmHl5z6lnDLm0CyHJ8yAv8n3uBsP1sSSKcHA8a6OH/X190Y9EFeYl2R00Cq71RxNR1XQKtERT9hi8sPCGiHmoGYYPqokftb+lhgQsyCd0ZUP6idTwsmC9n4lDJbhpDTd8CQ8nCq/CtslureMIP6M95f1czor0n/9QjJmsIy4RHgJzvac4hvO3QfkOrpB+w9Nn+5KOIOyPJSwjrTeRVV3TTQfqnUwgpO8ye77ONYo3jxwmpSUrMZVIRVxBxdOyn9THJ9rg7TgAlQN3M7bfw5cInCthefeUWgxNxsxPg== 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=ImZsEIomwwe84zUxkL02HeGVlbpOUnsa1o6x00y4cVg=; b=fkrUd3c4T2nyDDQPq2L4kMn6+QseLopOys17cMgBv80jEk/WvNwNqYI10nP+2ut8Z/m553Ubec6spsq6DdleXnWAs31uz9x1vLiYbnKe1ZlgSWz6scjlX+jsmr4CYgcnU5P5O24+62Ga3U/EzqKSC2hdqONglprhHHH0eBPzKvTFMu5AVuLbrhK7IBhobwdTRS+cFNGXqj44UIPnOOoFI1Lh0CPhNKaNK9LzaZLR6er6HqGWb7J98HLe/eMihtGwvfvkIS1zaFoXKjf2lBcZ5FiCO2B6+/natmOS7L9qS2pCWq6OCV/HL6n9M1LxpnAe5YgHfoan5Sd2B9HGx2HKZw== 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=ImZsEIomwwe84zUxkL02HeGVlbpOUnsa1o6x00y4cVg=; b=38JK+x0XX+7T0MBfnREQKOB0sDSB59Z8pDkrbI20gDayjA1+de0biev3H3xS9IFjRYJIEOPixal8Weu46FqpIrv6Dc8tuKKW1Pz2StdRpIvkkNwzTQuiH/ZZzdO+0V0vBk3rFvVVx4/JxQ2N2dhJL8iXZgpE+82EQAlnL0SnVgI= Received: from BN9PR03CA0031.namprd03.prod.outlook.com (2603:10b6:408:fb::6) by CH3PR12MB9169.namprd12.prod.outlook.com (2603:10b6:610:1a0::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.21; Thu, 22 Feb 2024 18:40:32 +0000 Received: from BN3PEPF0000B070.namprd21.prod.outlook.com (2603:10b6:408:fb:cafe::c2) by BN9PR03CA0031.outlook.office365.com (2603:10b6:408:fb::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.43 via Frontend Transport; Thu, 22 Feb 2024 18:40: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 BN3PEPF0000B070.mail.protection.outlook.com (10.167.243.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.7339.0 via Frontend Transport; Thu, 22 Feb 2024 18:40: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; Thu, 22 Feb 2024 12:40:30 -0600 From: Andrew Boyer To: CC: Akhil Goyal , Andrew Boyer Subject: [RFC 0/5] crypto/ionic: introduce AMD Pensando ionic crypto driver Date: Thu, 22 Feb 2024 10:40:14 -0800 Message-ID: <20240222184019.15301-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: 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: BN3PEPF0000B070:EE_|CH3PR12MB9169:EE_ X-MS-Office365-Filtering-Correlation-Id: 53c41081-a30d-47bc-b895-08dc33d5bfea X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: uz0ySTPKds17Y8yj3zSWR+dwhPvQm1jVWoBgBIqua9iAVj6Z5UztVefG5f3DHwHbmfl3jSsxcMA49TfpQjoQDvDOLXL+JxgQ6RvkSh3QUR4mASI1TWgk6zWYHrU5GJC7iQaO2bZ7BKIzHF00kD8gkDFGcYnwE1QbxAUK82+KzhqWM1o/YuIVfMhz/Gcy3pfh+JctVBSE/wzMac67r5GK56UalWx5hIAFLJ9MkraAOfnmWsIWJ7l7mKNt4vYOfAFZu1pJwRk5nlKONT3rswCPwpGBvFjZC184QKzs/1gheqK29UzPCPwjZOR3VEfWPZTwN2/4MXVSPteqNxvz9Qx6zRy87w95Xk144aQfmOlsRw1kovEA7wu5UEciqbnXZIV+WACb5oYB3d35HuM2PL7xy9Gvsa9+kkSXVM43t+Rb/SKf2pfnNxYDOlG8jTEqcHjwbItfyqy+fkDQ1bwlWsTsQ6xmrgEqkaU+a0yztAtPOHi4jq7LvCZifF4k4eXrDGSWopqtj90DbTQYRvaxBApQsQnXEfPf1hdKoCu3tEoPmG77NhqRT9tIX5p9L8AJRFehDaG94/Fns96yiAiXVOBCAHcuzKHp2ARuQC6LpBR3kMMPA6LBVZy84GArQBRX6sHmTPd6hssazdZlHv4bNz6HXtDoDHeTQMcgnsm0Auzd6yU= 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)(40470700004)(46966006); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2024 18:40:32.0180 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 53c41081-a30d-47bc-b895-08dc33d5bfea 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: BN3PEPF0000B070.namprd21.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9169 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 patchset introduces a new crypto PMD for AMD Pensando hardware accelerators. It allows applications running directly on the AMD Pensando DSC to offload cryptographic operations to hardware cryptographic blocks. Depends-on: series-31157 ("net/ionic, common/ionic: add vdev support") Andrew Boyer (5): crypto/ionic: introduce AMD Pensando ionic crypto driver crypto/ionic: add device and admin command handlers crypto/ionic: add device object and vdev support crypto/ionic: add datapath and capabilities support crypto/ionic: add documentation MAINTAINERS | 7 + doc/guides/cryptodevs/features/ionic.ini | 40 + doc/guides/cryptodevs/ionic.rst | 39 + drivers/common/ionic/ionic_common.h | 2 + drivers/common/ionic/ionic_common_uio.c | 48 +- drivers/common/ionic/version.map | 1 + drivers/crypto/ionic/ionic_crypto.h | 360 ++++++++ drivers/crypto/ionic/ionic_crypto_caps.c | 55 ++ drivers/crypto/ionic/ionic_crypto_cmds.c | 651 ++++++++++++++ drivers/crypto/ionic/ionic_crypto_if.h | 1021 ++++++++++++++++++++++ drivers/crypto/ionic/ionic_crypto_main.c | 991 +++++++++++++++++++++ drivers/crypto/ionic/ionic_crypto_ops.c | 606 +++++++++++++ drivers/crypto/ionic/ionic_crypto_vdev.c | 128 +++ drivers/crypto/ionic/meson.build | 16 + drivers/crypto/meson.build | 1 + 15 files changed, 3965 insertions(+), 1 deletion(-) create mode 100644 doc/guides/cryptodevs/features/ionic.ini create mode 100644 doc/guides/cryptodevs/ionic.rst create mode 100644 drivers/crypto/ionic/ionic_crypto.h create mode 100644 drivers/crypto/ionic/ionic_crypto_caps.c create mode 100644 drivers/crypto/ionic/ionic_crypto_cmds.c create mode 100644 drivers/crypto/ionic/ionic_crypto_if.h create mode 100644 drivers/crypto/ionic/ionic_crypto_main.c create mode 100644 drivers/crypto/ionic/ionic_crypto_ops.c create mode 100644 drivers/crypto/ionic/ionic_crypto_vdev.c create mode 100644 drivers/crypto/ionic/meson.build