From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id EC92ECA5FBB for ; Wed, 30 Sep 2026 07:08:42 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9A39B42D27; Wed, 30 Sep 2026 09:08:20 +0200 (CEST) Received: from inva021.nxp.com (inva021.nxp.com [92.121.34.21]) by mails.dpdk.org (Postfix) with ESMTP id 75CF040DD6 for ; Wed, 30 Sep 2026 09:08:15 +0200 (CEST) Received: from inva021.nxp.com (localhost [127.0.0.1]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 5797C2001FE; Wed, 30 Sep 2026 09:08:15 +0200 (CEST) Received: from aprdc01srsp001v.ap-rdc01.nxp.com (aprdc01srsp001v.ap-rdc01.nxp.com [165.114.16.16]) by inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 21D7C2001F9; Wed, 30 Sep 2026 09:08:15 +0200 (CEST) Received: from lsv03457.swis.in-blr01.nxp.com (lsv03457.swis.in-blr01.nxp.com [92.120.147.250]) by aprdc01srsp001v.ap-rdc01.nxp.com (Postfix) with ESMTP id 98F4018000BA; Wed, 30 Sep 2026 15:08:14 +0800 (+08) From: Gagandeep Singh To: dev@dpdk.org, gakhil@marvell.com Cc: hemant.agrawal@nxp.com, Gagandeep Singh Subject: [PATCH v2 5/6] crypto/dpaa2_sec: add support for env variables Date: Wed, 30 Sep 2026 12:38:08 +0530 Message-Id: <20260930070809.1929564-6-g.singh@nxp.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260930070809.1929564-1-g.singh@nxp.com> References: <20260810112951.2879825-1-g.singh@nxp.com> <20260930070809.1929564-1-g.singh@nxp.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Virus-Scanned: ClamAV using ClamSMTP 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 Allow driver configuration via environment variables as a fallback when devargs are not provided. After processing devargs (or when devargs are absent), check DRIVER_STRICT_ORDER and DRIVER_DUMP_MODE environment variables to set en_loose_ordered and dpaa2_sec_dp_dump. This lets users configure the driver without modifying EAL arguments, useful in environments where command-line access is restricted. Signed-off-by: Gagandeep Singh --- doc/guides/cryptodevs/dpaa2_sec.rst | 12 ++++++++- drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 27 ++++++++++++++++++--- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/doc/guides/cryptodevs/dpaa2_sec.rst b/doc/guides/cryptodevs/dpaa2_sec.rst index f95c6282bb..925d3371bf 100644 --- a/doc/guides/cryptodevs/dpaa2_sec.rst +++ b/doc/guides/cryptodevs/dpaa2_sec.rst @@ -1,5 +1,5 @@ .. SPDX-License-Identifier: BSD-3-Clause - Copyright 2016 NXP + Copyright 2016,2026 NXP @@ -188,9 +188,19 @@ along with other useful debugging information like session, queue, descriptor data. e.g. ``fslmc:dpseci.1,drv_dump_mode=1`` +Alternatively, set the environment variable ``drv_dump_mode`` to the desired +mode value. The environment variable is used as a fallback when the devarg is +not provided, which is useful in production environments where modifying EAL +command-line arguments is not practical. +e.g. ``export drv_dump_mode=1`` + Enable strict ordering ---------------------- Use dev arg option ``drv_strict_order=1`` to enable strict ordering. By default, loose ordering is set for ordered schedule type event. e.g. ``fslmc:dpseci.1,drv_strict_order=1`` + +Alternatively, set the environment variable ``drv_strict_order=1`` to enable +strict ordering without modifying EAL arguments. +e.g. ``export drv_strict_order=1`` diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c index 15152cc5a1..0ff54fb644 100644 --- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c +++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c @@ -4366,25 +4366,44 @@ check_devargs_handler(const char *key, const char *value, static void dpaa2_sec_get_devargs(struct rte_cryptodev *cryptodev, const char *key) { + struct dpaa2_sec_dev_private *internals; struct rte_kvargs *kvlist; struct rte_devargs *devargs; + int ret; + char *env; + + internals = cryptodev->data->dev_private; devargs = cryptodev->device->devargs; if (!devargs) - return; + goto env_set; kvlist = rte_kvargs_parse(devargs->args, NULL); if (!kvlist) - return; + goto env_set; if (!rte_kvargs_count(kvlist, key)) { rte_kvargs_free(kvlist); - return; + goto env_set; } - rte_kvargs_process(kvlist, key, + ret = rte_kvargs_process(kvlist, key, check_devargs_handler, (void *)cryptodev); rte_kvargs_free(kvlist); + if (!ret) + return; + +env_set: + env = getenv(DRIVER_STRICT_ORDER); + if (env) + internals->en_loose_ordered = !atoi(env); + + env = getenv(DRIVER_DUMP_MODE); + if (env) { + dpaa2_sec_dp_dump = atoi(env); + if (dpaa2_sec_dp_dump > DPAA2_SEC_DP_FULL_DUMP) + dpaa2_sec_dp_dump = DPAA2_SEC_DP_FULL_DUMP; + } } static int -- 2.25.1