From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6B429A0542; Fri, 28 Oct 2022 03:02:36 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0D26040223; Fri, 28 Oct 2022 03:02:36 +0200 (CEST) Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) by mails.dpdk.org (Postfix) with ESMTP id 44F4E40146 for ; Fri, 28 Oct 2022 03:02:35 +0200 (CEST) Received: by mail-pj1-f46.google.com with SMTP id v13-20020a17090a6b0d00b0021332e5388fso3166866pjj.1 for ; Thu, 27 Oct 2022 18:02:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=content-language:content-transfer-encoding:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject:from:to:cc :subject:date:message-id:reply-to; bh=K91pfmGEiY4/2YvHDuHTMTmpow1b17v/wew/ln/1KHI=; b=qwSjymJr7WD7a94UbOqqU58dM8cwZ2Xv57RJYR0HLp0CA4dfR94t+N7XgAeQOPqA0t eqRCFEL90C1C6lch+NmHFVuqMsrPZ2LigAyQB60YIeiF1kLa3a1/ojxbMXEh2Ew/h+9E MXWmDl/p9Xr7/4o5Bnrr114Ay1El++keZ7UXOFdga3tPHe0zu5jk9u51ArISpmYn0U/+ NF/qt5x2d36xYehbcZS3msRKzmQgss79qr2Q1NnVSwAGwJynek3uwzjpKqaOjz7Iqbnr w4iU/jBLKAoIPkwigX3ub0cyyniT+/MdNHRnkaQvw31wJiPVgV3s/9VJbrYV+OVs78z/ 3uBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-language:content-transfer-encoding:in-reply-to:mime-version :user-agent:date:message-id:from:references:cc:to:subject :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=K91pfmGEiY4/2YvHDuHTMTmpow1b17v/wew/ln/1KHI=; b=PGMztE8dH02424mj2tpn/wEHfgR5MsnXg0ldZ4CoQ6PYpzWga9gzbkhZZeXHj+ySjq +0pqf33CSCK5MsDk+0LMyM8F4ts1vkjKNs3NXZG08Nd84RQk00YYYSHkHwhZVKX3MD4u wdR0w6ZsZADNYGAZeOjQXL89cNcVJvPJlMc2NbkwxLqENLtJhV4oF3BHJOMoZVtQQQo6 Y2F3qJ4goJElIc9mMT7FoayZ+wglvi9Y0LYGVtaA/ldBozEZSpRD9I3a2M1QP1cQ8wFg Ez6vUxne0Z1O4Zl5RVdqwq2qoK7PIGYgNr4wTMla7LPbbj5FzQ3IC2VbVhvzA2pXDLOQ QcQw== X-Gm-Message-State: ACrzQf08QlLXbO5uiEowupqDf5/M/oQU8gBg19sdBGwyjc783CCeHosg kJ1HBDXm5CRXuvPYA9EZh4ku6Q== X-Google-Smtp-Source: AMsMyM6GZEhiwlZOmlN1id5DXk5eth5TDRc1YMuxsmTdlgPjqHMf1TjHknyPVVA6Bh9FbOi6BoqrGQ== X-Received: by 2002:a17:902:e493:b0:186:9de4:a7cd with SMTP id i19-20020a170902e49300b001869de4a7cdmr26598355ple.66.1666918954270; Thu, 27 Oct 2022 18:02:34 -0700 (PDT) Received: from [100.64.100.6] ([199.101.192.66]) by smtp.gmail.com with ESMTPSA id l13-20020a170903244d00b001868272bb56sm1751675pls.305.2022.10.27.18.02.31 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 27 Oct 2022 18:02:33 -0700 (PDT) Subject: Re: [EXT] [PATCH v7 0/6] crypto/uadk: introduce uadk crypto driver To: Akhil Goyal , Zhangfei Gao , Declan Doherty , Fan Zhang , Ashish Gupta , Ray Kinsella , "thomas@monjalon.net" Cc: "dev@dpdk.org" , "acc@openeuler.org" References: <20221027032505.1948351-1-zhangfei.gao@linaro.org> From: Zhangfei Gao Message-ID: <7bc510bd-7978-c844-873e-446be55f59cd@linaro.org> Date: Fri, 28 Oct 2022 09:02:26 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US 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 On 2022/10/27 下午6:53, Akhil Goyal wrote: >> Introduce a new crypto PMD for hardware accelerators based on UADK [1]. >> >> UADK is a framework for user applications to access hardware accelerators. >> UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share >> the same page table between IOMMU and MMU. >> Thereby user application can directly use virtual address for device dma, >> which enhances the performance as well as easy usability. >> >> [1] https://urldefense.proofpoint.com/v2/url?u=https- >> 3A__github.com_Linaro_uadk&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=Dn >> L7Si2wl_PRwpZ9TWey3eu68gBzn7DkPwuqhd6WNyo&m=AwapMJzvfUDL49W9f >> mtmvIGZMarGUdjRSliBhG4tep6Uh5wN2zYrZRJ4JpbrVolg&s=MxSabEjMMkeRr0L >> Z7c1gSmaJmJ1_dIdJIKrst98pKzk&e= >> >> Test: >> sudo dpdk-test --vdev=crypto_uadk (--log-level=6) >> RTE>>cryptodev_uadk_autotest >> RTE>>quit >> >> Update in v7: >> 05: fix key_size of SHA384 HMAC >> >> Update in v6: >> Akhil helped review the v5, and address all the comments from Akhil >> 01: add rel_notes info, update uadk.rst, put struct in header, etc. >> 02: move struct to header >> 04: move struct to header, remove RTE_CRYPTODEV_FF_SYM_SESSIONLESS >> 05: fixed key_size in HMAC mode >> 06: updated app/test/meson.build and uadk.rst in the mean time. >> >> Update in v5 >> Patch 1 fix the build issue when uadk is installed to specific folder >> And update doc accordingly >> >> Update in v4: >> Akril suggest dpdk use pkg-config, So >> Enable uadk support x86 local build, and support pkg-config. >> Use pkg-config feature for the uadk crypto pmd. >> Add build uadk library steps in doc >> Test on both x86 and arm. >> x86 can build and install, but can not test since no device. >> >> Resend v3: >> Rebase on next/for-main, which just merged the series >> "cryptodev: rework session framework". >> >> Update in v3: >> Split patches according to Akhil's suggestions >> Please split the patches as below. >> 1. introduce driver - create files with meson.build and with probe/remove >> and device ops defined but not implemented. >> You do not need to write empty functions. >> Add basic documentation also which defines what the driver is. >> You can explain the build dependency here. >> 2. define queue structs and setup/remove APIs >> 3. Add data path >> 4. implement cipher op. Add capabilities and documentation of what is >> supported in each of the patches. Add feature flags etc. >> 5. implement auth, add capabilities and documentation >> 6. test app changes. >> >> Update in v2: >> Change uadk_supported_platform to uadk_crypto_version, which matches >> better >> than platform. >> enum uadk_crypto_version { >> UADK_CRYPTO_V2, >> UADK_CRYPTO_V3, >> }; >> >> Update in v1, compared with rfc >> >> Suggested from Akhil Goyal >> Only consider crypto PMD first >> Split patch into small (individually compiled) patches. >> Update MAINTAINERS and doc/guides/cryptodevs/features/uadk.ini >> >> Zhangfei Gao (6): >> crypto/uadk: introduce uadk crypto driver >> crypto/uadk: support basic operations >> crypto/uadk: support enqueue/dequeue operations >> crypto/uadk: support cipher algorithms >> crypto/uadk: support auth algorithms >> test/crypto: support uadk PMD >> >> MAINTAINERS | 6 + >> app/test/meson.build | 1 + >> app/test/test_cryptodev.c | 7 + >> app/test/test_cryptodev.h | 1 + >> doc/guides/cryptodevs/features/uadk.ini | 55 + >> doc/guides/cryptodevs/index.rst | 1 + >> doc/guides/cryptodevs/uadk.rst | 96 ++ >> doc/guides/rel_notes/release_22_11.rst | 6 + >> drivers/crypto/meson.build | 1 + >> drivers/crypto/uadk/meson.build | 30 + >> drivers/crypto/uadk/uadk_crypto_pmd.c | 1081 +++++++++++++++++ >> drivers/crypto/uadk/uadk_crypto_pmd_private.h | 79 ++ >> drivers/crypto/uadk/version.map | 3 + >> 13 files changed, 1367 insertions(+) >> create mode 100644 doc/guides/cryptodevs/features/uadk.ini >> create mode 100644 doc/guides/cryptodevs/uadk.rst >> create mode 100644 drivers/crypto/uadk/meson.build >> create mode 100644 drivers/crypto/uadk/uadk_crypto_pmd.c >> create mode 100644 drivers/crypto/uadk/uadk_crypto_pmd_private.h >> create mode 100644 drivers/crypto/uadk/version.map > Series Applied to dpdk-next-crypto > Welcome to dpdk. That's Great Thanks for your guidance and patience. Originally, the UADK only consider ARM usage and need cross-compile on x86. With you guidance, now the UADK support pkg-config, and can build and install on both ARM and X86. Thanks Akhil.