get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/105460/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 105460,
    "url": "http://patchwork.dpdk.org/api/patches/105460/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20211228091058.3620177-9-g.singh@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20211228091058.3620177-9-g.singh@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211228091058.3620177-9-g.singh@nxp.com",
    "date": "2021-12-28T09:10:58",
    "name": "[v2,8/8] crypto/dpaa_sec: add debug framework",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "674de4fcb6620130870e4e3151ab79413f97f411",
    "submitter": {
        "id": 1068,
        "url": "http://patchwork.dpdk.org/api/people/1068/?format=api",
        "name": "Gagandeep Singh",
        "email": "g.singh@nxp.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patchwork.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20211228091058.3620177-9-g.singh@nxp.com/mbox/",
    "series": [
        {
            "id": 21031,
            "url": "http://patchwork.dpdk.org/api/series/21031/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=21031",
            "date": "2021-12-28T09:10:50",
            "name": "NXP crypto drivers changes",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/21031/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/105460/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/105460/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 43EFAA034F;\n\tTue, 28 Dec 2021 10:12:17 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id A2A3141177;\n\tTue, 28 Dec 2021 10:11:45 +0100 (CET)",
            "from EUR02-AM5-obe.outbound.protection.outlook.com\n (mail-eopbgr00044.outbound.protection.outlook.com [40.107.0.44])\n by mails.dpdk.org (Postfix) with ESMTP id C5DD541153\n for <dev@dpdk.org>; Tue, 28 Dec 2021 10:11:41 +0100 (CET)",
            "from AS8PR04MB8198.eurprd04.prod.outlook.com (2603:10a6:20b:3b0::14)\n by AM6PR04MB6135.eurprd04.prod.outlook.com (2603:10a6:20b:bf::22)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4823.21; Tue, 28 Dec\n 2021 09:11:39 +0000",
            "from AS8PR04MB8198.eurprd04.prod.outlook.com\n ([fe80::4c23:c171:682e:9085]) by AS8PR04MB8198.eurprd04.prod.outlook.com\n ([fe80::4c23:c171:682e:9085%4]) with mapi id 15.20.4823.023; Tue, 28 Dec 2021\n 09:11:39 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=eMnQQS7GCkzE5ylcKfC7fnKz+mZm3yOKQW3mzOi56l3uNPonwGlwnAxE70muthwqb9/sJQcyyxJm8FoRLUMIEUhVDk6NQAWEQu+82GsRsBe0JkODeNYasfwJGsADisucuh6o/0qGYw7xWIFxneRkkc4NBxbXZ2YYVj3TqVoHFnpQanJ5Mb45X++tLb9PX47mWtBOFKpoLJYrPBEIIxSt5SYR5zi+OK3040pIClHOzU4cZB7KdU/rtoABd6LY3+rEqJJJKOdVxv016nYrCskyabGP7e5MNEcge6Ygm4IRg9FVGS2ZJguphNeVaLw+FbAW2IO9hPpnt7c2sHIB2FViag==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n 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;\n bh=IU2NN7nMiPH5flCmhoJSxRo/EsTpbrFQ36SxG4Exj5E=;\n b=JROuRKsEB7IHpRI4goheK0A4RTn1YgcHFCfuhwrWaR37VBTwVdmUSL1omfFr/0gPjozk4pFfIwRUVe+eP7B57jg1NlI+THqO1mWerqTk++sxQHbt+6Tu874RsyDHLTN1B+uYMlxSNcjWkLLnPksxlD2YIqPMC6MKflQSYwEJIMTnmJ7uCCuh248o1zsl/07Den38n9EqiScsyhp+Aj8FU9UNHjRVkXROaaf2qiTnq1n/H7tGQaCpaK3+prczQtrpbX+AJSHS03XNr7e0eoUiNzi7bblZcH1gAyBwryD19sE6eIfhHO6nNZcvdjFE1MwX25QpKKLggXKYN58kbocBaQ==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass\n header.d=nxp.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=IU2NN7nMiPH5flCmhoJSxRo/EsTpbrFQ36SxG4Exj5E=;\n b=Glb+c5MmxsdhiWBWfc1hBzuONa5zAsR3UFCZrv1LMDAsqK23rPW2SyPpvq2F/reM6Z047azTDYtVx7ZOowwp6b4pm8lGLWTfOmRg+86ApjRn0HmYgaa8tGHiGEXSG1eyn9u6QoY0g8OHvf1Jzv+sAlYoIKSWZk88HSy4M4SN2Fk=",
        "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nxp.com;",
        "From": "Gagandeep Singh <g.singh@nxp.com>",
        "To": "gakhil@marvell.com,\n\tdev@dpdk.org",
        "Cc": "Gagandeep Singh <g.singh@nxp.com>",
        "Subject": "[PATCH v2 8/8] crypto/dpaa_sec: add debug framework",
        "Date": "Tue, 28 Dec 2021 14:40:58 +0530",
        "Message-Id": "<20211228091058.3620177-9-g.singh@nxp.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20211228091058.3620177-1-g.singh@nxp.com>",
        "References": "<20211220102710.3083370-1-g.singh@nxp.com>\n <20211228091058.3620177-1-g.singh@nxp.com>",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-ClientProxiedBy": "SG2PR06CA0118.apcprd06.prod.outlook.com\n (2603:1096:1:1d::20) To AS8PR04MB8198.eurprd04.prod.outlook.com\n (2603:10a6:20b:3b0::14)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "109a1f65-57c4-4fe5-9519-08d9c9e20e17",
        "X-MS-TrafficTypeDiagnostic": "AM6PR04MB6135:EE_",
        "X-Microsoft-Antispam-PRVS": "\n <AM6PR04MB61354ACE3A886D827C1F2234E1439@AM6PR04MB6135.eurprd04.prod.outlook.com>",
        "X-MS-Oob-TLC-OOBClassifiers": "OLM:2150;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n OXziZKPxPuwFvCtdWnoz4aorhjGepeK0WTLv1TbVtuBSiTczfw6YcXFG+dIUxRWhpa2h7m20F0vjQLScn9r8xXrmQK/8fDnz/eiaRavvjqtJFXziQmEoR8uMn8YPm8R91+FCYmIuQsB6DlGPO0z5BQBDz1/lzfZCfEaBneEHJlNM7KJD20fzl32Js+KxpwnV8+Sd+5CtLLpEp9LEH3T42zlsz9WUNhkbpyrGgFmevVjUXbJTc0rzfL5NKdJrZoCKZRIieczuH801qqY80wScMcmNhLCtfbwrtPcao6UX43EhUwE2geUS7r4YP/CCuZeL/MQe8c0OBA1s5md9HqIydc4v2ATz4qL1ubk4q2dCbjrdq1KDUbdDMZDsJewk4M0U6gmuXvCl0LMnaDV7YWHHRNx8TM74mj2obkwOl6yF/ufG/MCMHk0icQtCv3dgyKsqrbHx33UgpR1LB4VS7jkSPfZPGYVpfxLC9fAhhtFnP1lRNFfg4t7yV5Er0u1Jie6qhSO3H5E2QcAWLSzT5PyC3zSgC4dRegsNTvMw3cfdLajHzfxAL7T6TNh2OOJ+vJ6WeB5voMZGS52KsLIxM6TJIEhVgGO2aAHvY99qptdZeg2FuDHRiEm7lujSvEm8JugcFaTBIMPcl0G/AqdgTEK+meY1Q4u63M1SyuiPo3UW9IlPs4QzG8foOLQ0Toe8O4enFV3Eq25EphAeZ3GRH8d+oQ==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:AS8PR04MB8198.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(4636009)(366004)(316002)(8676002)(2616005)(6486002)(4326008)(6506007)(30864003)(66556008)(66476007)(6512007)(6666004)(55236004)(38100700002)(38350700002)(36756003)(52116002)(83380400001)(2906002)(1076003)(66946007)(86362001)(26005)(5660300002)(8936002)(186003)(508600001);\n DIR:OUT; SFP:1101;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "\n kfUMfBOlegwIBgipGjlaZqU28q77qgHNWC3C4QUF/5BTA6lMJ+1j5sZmzz6L935Sde68s++hw2zUZqRStLavHyzI64cRtcoZCohU+ardQPTrZfrV3Ihlzjc8XLt8ospwdKaqOKqJUXBpray6NUj9T8ADMCEdIKDb9a/MSuibH+cNw9YKPqxifPbatOMUUhBWaJYZSq6p9QCZgkXADkWVBI+MP15VAPxJF6H5oktj0FRcytQh6nmClubI/4i3r0mxFHGnw1+rzDw99T9he40IiYfzjj6hns9xkjgwe7preVrv7B+6ve83YnDQQtUSXs1pxs7Fz9G1r9Zc8MLSvcW/12Fg6mtBWAHu4a6b316KRhgk7EX1rnKnRKPMDyqAaHOCQNvG8nCZXt3KKOZO4v9XUDnBj7KDQU18ZFvokvSWFnjZ3RS8i1Mg9rK/dgjg4cC8hpYGAIcuUc2si4Tj/jFzAXkVr3PX3REQtmlt015LKjiJbmDlToPXa6qGujrBo57xryvPekQBstDGr5sx7szElNEuJjx9Okbkl1CXUtgUuyhJs4qtyI2/0H5xucsZ9Nn5AQX1mJHkMXJfD2/c6sZG2eL17hK+4vmXrn31GP+91ogsD9ICFO3JG9GMLE6vph+nU34FiqThCG6K9EE3ojGSFTNVgrgUw6TOf2m5SLKN7vq3S31fSTI4UhZRuZf3A9iU+cZJt4uR+0XbqriYzqwnYUgLUTGhgS3w4FPbOCIxayeOIhs/LVCviZRQpFIhyip85nIaDGM6TIpLWpjMTCt7G2skkCs62qvJ9G1N+q4zjdiy3TL8rWx4BPYHQ97TXOyt7Bu82+NrqPd+y9oYegmdw6LKT4f5QAcKBfekT9jTbclYAzmW8BQcE3OpkaHnP5Vi21q5lfxlcgaepUdRjDOrbB/8RpCBSyBncJDIE7/IETyJpVLchYqobRp2bbECsEZK0hNYKzZDf7x2vPc6EWfKZy0bi4n/UuwXR/OvARQVVjJcIRFxmJX5N6Kisr6NI0fUho2ZhrbqGuLg65+4cDXFai+RfhMRcMJQdomXmz+Rr3shvuva+9TElKgVjEW1lztEx0CQQsRgHNPD3yNb8g/hkuTYQjZIjQnzKJsuhZ95stP+kakRZfyZ2vyt6QIew9N3pGjgmCMjHK/PHZp1FKV7RcucwM3+ricpl5mQ7xrkhbdsKK1cJC1G1YWI+HAnam1LkrWfFiIM3sIkSo7dO2dObZw++QJjmMNULw5paYH5B9AcZVwP6yA0MHwcwHw5h0Dh8KA6H4eWbl0TBuf3bMnmnogdJ4038ph2GQYGVLPM/f0g+DFZqgfOkwS0czv4ZbjTLdLjELd8UF4ZUDaMbgpy8770+WboA7CtxWBUWka3JbNDyMLWZZy2liyU/Wq2kE+vHrib4H3MhFBRP2wsNWmNp7PLLmuDsYnShiGLMPrYYdkGc8v32brr8Jz+FBwjIQ+nUuBSx/dGpQWRcGlz/KbKa/2C/VmW/OSiLouBz50IyMLWixqqd5yI61ifvMJ+XKcffloxo3mFFr/DhrZdfmj+1SyBWJ92cW3Hx8j052t5gwY=",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 109a1f65-57c4-4fe5-9519-08d9c9e20e17",
        "X-MS-Exchange-CrossTenant-AuthSource": "AS8PR04MB8198.eurprd04.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "28 Dec 2021 09:11:38.8835 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n ZHDYQ77GwzqQJSty4uL6QrJ/T7HRmmlBvphttUyzv9nl37/zgpx4fxdBsqlhsV0a",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM6PR04MB6135",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Adding useful debug prints in DPAA driver for\neasy debugging.\n\nSigned-off-by: Gagandeep Singh <g.singh@nxp.com>\n---\n doc/guides/cryptodevs/dpaa_sec.rst |  10 ++\n drivers/bus/dpaa/dpaa_bus.c        |  16 ++-\n drivers/crypto/dpaa_sec/dpaa_sec.c | 192 ++++++++++++++++++++++++++++-\n 3 files changed, 213 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/doc/guides/cryptodevs/dpaa_sec.rst b/doc/guides/cryptodevs/dpaa_sec.rst\nindex bac82421bc..0c8d6cf3da 100644\n--- a/doc/guides/cryptodevs/dpaa_sec.rst\n+++ b/doc/guides/cryptodevs/dpaa_sec.rst\n@@ -123,3 +123,13 @@ For enabling logs, use the following EAL parameter:\n \n Using ``pmd.crypto.dpaa`` as log matching criteria, all Crypto PMD logs can be\n enabled which are lower than logging ``level``.\n+\n+Enabling debug prints\n+---------------------\n+\n+Use dev arg option ``drv_dump_mode=x`` to dump useful debug prints on HW sec\n+error. There are 3 dump modes available 0, 1 and 2. Mode 0 means no dump print\n+on error, mode 1 means dump HW error code and mode 2 means dump HW error code\n+along with other useful debugging information like session, queue, descriptor\n+data.\n+e.g. ``dpaa_bus:dpaa_sec-1,drv_dump_mode=1``\ndiff --git a/drivers/bus/dpaa/dpaa_bus.c b/drivers/bus/dpaa/dpaa_bus.c\nindex 737ac8d8c5..a1db25dce9 100644\n--- a/drivers/bus/dpaa/dpaa_bus.c\n+++ b/drivers/bus/dpaa/dpaa_bus.c\n@@ -429,6 +429,7 @@ rte_dpaa_bus_parse(const char *name, void *out)\n {\n \tunsigned int i, j;\n \tsize_t delta;\n+\tsize_t max_name_len;\n \n \t/* There are two ways of passing device name, with and without\n \t * separator. \"dpaa_bus:fm1-mac3\" with separator, and \"fm1-mac3\"\n@@ -444,14 +445,21 @@ rte_dpaa_bus_parse(const char *name, void *out)\n \t\tdelta = 5;\n \t}\n \n-\tif (sscanf(&name[delta], \"fm%u-mac%u\", &i, &j) != 2 ||\n-\t    i >= 2 || j >= 16) {\n-\t\treturn -EINVAL;\n+\tif (strncmp(\"dpaa_sec\", &name[delta], 8) == 0) {\n+\t\tif (sscanf(&name[delta], \"dpaa_sec-%u\", &i) != 1 ||\n+\t\t\t\ti < 1 || i > 4)\n+\t\t\treturn -EINVAL;\n+\t\tmax_name_len = sizeof(\"dpaa_sec-.\") - 1;\n+\t} else {\n+\t\tif (sscanf(&name[delta], \"fm%u-mac%u\", &i, &j) != 2 ||\n+\t\t\t\ti >= 2 || j >= 16)\n+\t\t\treturn -EINVAL;\n+\n+\t\tmax_name_len = sizeof(\"fm.-mac..\") - 1;\n \t}\n \n \tif (out != NULL) {\n \t\tchar *out_name = out;\n-\t\tconst size_t max_name_len = sizeof(\"fm.-mac..\") - 1;\n \n \t\t/* Do not check for truncation, either name ends with\n \t\t * '\\0' or the device name is followed by parameters and there\ndiff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c\nindex af166252ca..b436039117 100644\n--- a/drivers/crypto/dpaa_sec/dpaa_sec.c\n+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c\n@@ -27,6 +27,7 @@\n #include <rte_memcpy.h>\n #include <rte_string_fns.h>\n #include <rte_spinlock.h>\n+#include <rte_hexdump.h>\n \n #include <fsl_usd.h>\n #include <fsl_qman.h>\n@@ -45,6 +46,17 @@\n #include <dpaa_sec_log.h>\n #include <dpaax_iova_table.h>\n \n+#define DRIVER_DUMP_MODE \"drv_dump_mode\"\n+\n+/* DPAA_SEC_DP_DUMP levels */\n+enum dpaa_sec_dump_levels {\n+\tDPAA_SEC_DP_NO_DUMP,\n+\tDPAA_SEC_DP_ERR_DUMP,\n+\tDPAA_SEC_DP_FULL_DUMP\n+};\n+\n+uint8_t dpaa_sec_dp_dump = DPAA_SEC_DP_ERR_DUMP;\n+\n uint8_t dpaa_cryptodev_driver_id;\n \n static inline void\n@@ -649,6 +661,139 @@ dpaa_sec_prep_cdb(dpaa_sec_session *ses)\n \treturn 0;\n }\n \n+static void\n+dpaa_sec_dump(struct dpaa_sec_op_ctx *ctx, struct dpaa_sec_qp *qp)\n+{\n+\tstruct dpaa_sec_job *job = &ctx->job;\n+\tstruct rte_crypto_op *op = ctx->op;\n+\tdpaa_sec_session *sess = NULL;\n+\tstruct sec_cdb c_cdb, *cdb;\n+\tuint8_t bufsize;\n+\tstruct rte_crypto_sym_op *sym_op;\n+\tstruct qm_sg_entry sg[2];\n+\n+\tif (op->sess_type == RTE_CRYPTO_OP_WITH_SESSION)\n+\t\tsess = (dpaa_sec_session *)\n+\t\t\tget_sym_session_private_data(\n+\t\t\t\t\top->sym->session,\n+\t\t\t\t\tdpaa_cryptodev_driver_id);\n+#ifdef RTE_LIBRTE_SECURITY\n+\telse if (op->sess_type == RTE_CRYPTO_OP_SECURITY_SESSION)\n+\t\tsess = (dpaa_sec_session *)\n+\t\t\tget_sec_session_private_data(\n+\t\t\t\t\top->sym->sec_session);\n+#endif\n+\tif (sess == NULL) {\n+\t\tprintf(\"session is NULL\\n\");\n+\t\tgoto mbuf_dump;\n+\t}\n+\n+\tcdb = &sess->cdb;\n+\trte_memcpy(&c_cdb, cdb, sizeof(struct sec_cdb));\n+#ifdef RTE_LIBRTE_SECURITY\n+\tprintf(\"\\nsession protocol type = %d\\n\", sess->proto_alg);\n+#endif\n+\tprintf(\"\\n****************************************\\n\"\n+\t\t\"session params:\\n\\tContext type:\\t%d\\n\\tDirection:\\t%s\\n\"\n+\t\t\"\\tCipher alg:\\t%d\\n\\tAuth alg:\\t%d\\n\\tAead alg:\\t%d\\n\"\n+\t\t\"\\tCipher key len:\\t%ld\\n\\tCipher alg:\\t%d\\n\"\n+\t\t\"\\tCipher algmode:\\t%d\\n\", sess->ctxt,\n+\t\t(sess->dir == DIR_ENC) ? \"DIR_ENC\" : \"DIR_DEC\",\n+\t\tsess->cipher_alg, sess->auth_alg, sess->aead_alg,\n+\t\t(long)sess->cipher_key.length, sess->cipher_key.alg,\n+\t\tsess->cipher_key.algmode);\n+\t\trte_hexdump(stdout, \"cipher key\", sess->cipher_key.data,\n+\t\t\t\tsess->cipher_key.length);\n+\t\trte_hexdump(stdout, \"auth key\", sess->auth_key.data,\n+\t\t\t\tsess->auth_key.length);\n+\tprintf(\"\\tAuth key len:\\t%ld\\n\\tAuth alg:\\t%d\\n\"\n+\t\t\"\\tAuth algmode:\\t%d\\n\\tIV len:\\t\\t%d\\n\\tIV offset:\\t%d\\n\"\n+\t\t\"\\tdigest length:\\t%d\\n\\tauth only len:\\t\\t%d\\n\"\n+\t\t\"\\taead cipher text:\\t%d\\n\",\n+\t\t(long)sess->auth_key.length, sess->auth_key.alg,\n+\t\tsess->auth_key.algmode,\n+\t\tsess->iv.length, sess->iv.offset,\n+\t\tsess->digest_length, sess->auth_only_len,\n+\t\tsess->auth_cipher_text);\n+#ifdef RTE_LIBRTE_SECURITY\n+\tprintf(\"PDCP session params:\\n\"\n+\t\t\"\\tDomain:\\t\\t%d\\n\\tBearer:\\t\\t%d\\n\\tpkt_dir:\\t%d\\n\\thfn_ovd:\"\n+\t\t\"\\t%d\\n\\tsn_size:\\t%d\\n\\tsdap_enabled:\\t%d\\n\\thfn_ovd_offset:\"\n+\t\t\"\\t%d\\n\\thfn:\\t\\t%d\\n\"\n+\t\t\"\\thfn_threshold:\\t0x%x\\n\", sess->pdcp.domain,\n+\t\tsess->pdcp.bearer, sess->pdcp.pkt_dir, sess->pdcp.hfn_ovd,\n+\t\tsess->pdcp.sn_size, sess->pdcp.sdap_enabled,\n+\t\tsess->pdcp.hfn_ovd_offset, sess->pdcp.hfn,\n+\t\tsess->pdcp.hfn_threshold);\n+#endif\n+\tc_cdb.sh_hdr.hi.word = rte_be_to_cpu_32(c_cdb.sh_hdr.hi.word);\n+\tc_cdb.sh_hdr.lo.word = rte_be_to_cpu_32(c_cdb.sh_hdr.lo.word);\n+\tbufsize = c_cdb.sh_hdr.hi.field.idlen;\n+\n+\tprintf(\"cdb = %p\\n\\n\", cdb);\n+\tprintf(\"Descriptor size = %d\\n\", bufsize);\n+\tint m;\n+\tfor (m = 0; m < bufsize; m++)\n+\t\tprintf(\"0x%x\\n\", rte_be_to_cpu_32(c_cdb.sh_desc[m]));\n+\n+\tprintf(\"\\n\");\n+mbuf_dump:\n+\tsym_op = op->sym;\n+\tif (sym_op->m_src) {\n+\t\tprintf(\"Source mbuf:\\n\");\n+\t\trte_pktmbuf_dump(stdout, sym_op->m_src,\n+\t\t\t\t sym_op->m_src->data_len);\n+\t}\n+\tif (sym_op->m_dst) {\n+\t\tprintf(\"Destination mbuf:\\n\");\n+\t\trte_pktmbuf_dump(stdout, sym_op->m_dst,\n+\t\t\t\t sym_op->m_dst->data_len);\n+\t}\n+\n+\tprintf(\"Session address = %p\\ncipher offset: %d, length: %d\\n\"\n+\t\t\"auth offset: %d, length:  %d\\n aead offset: %d, length: %d\\n\",\n+\t\tsym_op->session, sym_op->cipher.data.offset,\n+\t\tsym_op->cipher.data.length,\n+\t\tsym_op->auth.data.offset, sym_op->auth.data.length,\n+\t\tsym_op->aead.data.offset, sym_op->aead.data.length);\n+\tprintf(\"\\n\");\n+\n+\tprintf(\"******************************************************\\n\");\n+\tprintf(\"ctx info:\\n\");\n+\tprintf(\"job->sg[0] output info:\\n\");\n+\tmemcpy(&sg[0], &job->sg[0], sizeof(sg[0]));\n+\tprintf(\"\\taddr = 0x%lx,\\n\\tlen = %d,\\n\\tfinal = %d,\\n\\textention = %d\"\n+\t\t\"\\n\\tbpid = %d\\n\\toffset = %d\\n\",\n+\t\t(unsigned long)sg[0].addr, sg[0].length, sg[0].final,\n+\t\tsg[0].extension, sg[0].bpid, sg[0].offset);\n+\tprintf(\"\\njob->sg[1] input info:\\n\");\n+\tmemcpy(&sg[1], &job->sg[1], sizeof(sg[1]));\n+\thw_sg_to_cpu(&sg[1]);\n+\tprintf(\"\\taddr = 0x%lx,\\n\\tlen = %d,\\n\\tfinal = %d,\\n\\textention = %d\"\n+\t\t\"\\n\\tbpid = %d\\n\\toffset = %d\\n\",\n+\t\t(unsigned long)sg[1].addr, sg[1].length, sg[1].final,\n+\t\tsg[1].extension, sg[1].bpid, sg[1].offset);\n+\n+\tprintf(\"\\nctx pool addr = %p\\n\", ctx->ctx_pool);\n+\tif (ctx->ctx_pool)\n+\t\tprintf(\"ctx pool available counts = %d\\n\",\n+\t\t\trte_mempool_avail_count(ctx->ctx_pool));\n+\n+\tprintf(\"\\nop pool addr = %p\\n\", op->mempool);\n+\tif (op->mempool)\n+\t\tprintf(\"op pool available counts = %d\\n\",\n+\t\t\trte_mempool_avail_count(op->mempool));\n+\n+\tprintf(\"********************************************************\\n\");\n+\tprintf(\"Queue data:\\n\");\n+\tprintf(\"\\tFQID = 0x%x\\n\\tstate = %d\\n\\tnb_desc = %d\\n\"\n+\t\t\"\\tctx_pool = %p\\n\\trx_pkts = %d\\n\\ttx_pkts\"\n+\t       \"= %d\\n\\trx_errs = %d\\n\\ttx_errs = %d\\n\\n\",\n+\t\tqp->outq.fqid, qp->outq.state, qp->outq.nb_desc,\n+\t\tqp->ctx_pool, qp->rx_pkts, qp->tx_pkts,\n+\t\tqp->rx_errs, qp->tx_errs);\n+}\n+\n /* qp is lockless, should be accessed by only one thread */\n static int\n dpaa_sec_deq(struct dpaa_sec_qp *qp, struct rte_crypto_op **ops, int nb_ops)\n@@ -716,7 +861,12 @@ dpaa_sec_deq(struct dpaa_sec_qp *qp, struct rte_crypto_op **ops, int nb_ops)\n \t\tif (!ctx->fd_status) {\n \t\t\top->status = RTE_CRYPTO_OP_STATUS_SUCCESS;\n \t\t} else {\n-\t\t\tDPAA_SEC_DP_WARN(\"SEC return err:0x%x\", ctx->fd_status);\n+\t\t\tif (dpaa_sec_dp_dump > DPAA_SEC_DP_NO_DUMP) {\n+\t\t\t\tDPAA_SEC_DP_WARN(\"SEC return err:0x%x\\n\",\n+\t\t\t\t\t\t  ctx->fd_status);\n+\t\t\t\tif (dpaa_sec_dp_dump > DPAA_SEC_DP_ERR_DUMP)\n+\t\t\t\t\tdpaa_sec_dump(ctx, qp);\n+\t\t\t}\n \t\t\top->status = RTE_CRYPTO_OP_STATUS_ERROR;\n \t\t}\n \t\tops[pkts++] = op;\n@@ -3458,6 +3608,42 @@ dpaa_sec_uninit(struct rte_cryptodev *dev)\n \treturn 0;\n }\n \n+static int\n+check_devargs_handler(__rte_unused const char *key, const char *value,\n+\t\t      __rte_unused void *opaque)\n+{\n+\tdpaa_sec_dp_dump = atoi(value);\n+\tif (dpaa_sec_dp_dump > DPAA_SEC_DP_FULL_DUMP) {\n+\t\tDPAA_SEC_WARN(\"WARN: DPAA_SEC_DP_DUMP_LEVEL is not \"\n+\t\t\t      \"supported, changing to FULL error prints\\n\");\n+\t\tdpaa_sec_dp_dump = DPAA_SEC_DP_FULL_DUMP;\n+\t}\n+\n+\treturn 0;\n+}\n+\n+static void\n+dpaa_sec_get_devargs(struct rte_devargs *devargs, const char *key)\n+{\n+\tstruct rte_kvargs *kvlist;\n+\n+\tif (!devargs)\n+\t\treturn;\n+\n+\tkvlist = rte_kvargs_parse(devargs->args, NULL);\n+\tif (!kvlist)\n+\t\treturn;\n+\n+\tif (!rte_kvargs_count(kvlist, key)) {\n+\t\trte_kvargs_free(kvlist);\n+\t\treturn;\n+\t}\n+\n+\trte_kvargs_process(kvlist, key,\n+\t\t\t\tcheck_devargs_handler, NULL);\n+\trte_kvargs_free(kvlist);\n+}\n+\n static int\n dpaa_sec_dev_init(struct rte_cryptodev *cryptodev)\n {\n@@ -3533,6 +3719,8 @@ dpaa_sec_dev_init(struct rte_cryptodev *cryptodev)\n \t\t}\n \t}\n \n+\tdpaa_sec_get_devargs(cryptodev->device->devargs, DRIVER_DUMP_MODE);\n+\n \tRTE_LOG(INFO, PMD, \"%s cryptodev init\\n\", cryptodev->data->name);\n \treturn 0;\n \n@@ -3649,4 +3837,6 @@ static struct cryptodev_driver dpaa_sec_crypto_drv;\n RTE_PMD_REGISTER_DPAA(CRYPTODEV_NAME_DPAA_SEC_PMD, rte_dpaa_sec_driver);\n RTE_PMD_REGISTER_CRYPTO_DRIVER(dpaa_sec_crypto_drv, rte_dpaa_sec_driver.driver,\n \t\tdpaa_cryptodev_driver_id);\n+RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_DPAA_SEC_PMD,\n+\t\tDRIVER_DUMP_MODE \"=<int>\");\n RTE_LOG_REGISTER(dpaa_logtype_sec, pmd.crypto.dpaa, NOTICE);\n",
    "prefixes": [
        "v2",
        "8/8"
    ]
}