get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 44638,
    "url": "https://patches.dpdk.org/api/patches/44638/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20180913060846.29930-3-g.singh@nxp.com/",
    "project": {
        "id": 1,
        "url": "https://patches.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": "<20180913060846.29930-3-g.singh@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180913060846.29930-3-g.singh@nxp.com",
    "date": "2018-09-13T06:08:38",
    "name": "[02/10] crypto/caam_jr: introduce basic driver",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ad84fae980d3ac2c5fce8c7a1f7fc43e106e5517",
    "submitter": {
        "id": 1068,
        "url": "https://patches.dpdk.org/api/people/1068/?format=api",
        "name": "Gagandeep Singh",
        "email": "g.singh@nxp.com"
    },
    "delegate": {
        "id": 6690,
        "url": "https://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20180913060846.29930-3-g.singh@nxp.com/mbox/",
    "series": [
        {
            "id": 1300,
            "url": "https://patches.dpdk.org/api/series/1300/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=1300",
            "date": "2018-09-13T06:08:36",
            "name": "Introducing the NXP CAAM job ring driver",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/1300/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/44638/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/44638/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 9EABE568A;\n\tThu, 13 Sep 2018 08:09:31 +0200 (CEST)",
            "from EUR02-VE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr20042.outbound.protection.outlook.com [40.107.2.42])\n\tby dpdk.org (Postfix) with ESMTP id AB0D04F91\n\tfor <dev@dpdk.org>; Thu, 13 Sep 2018 08:09:27 +0200 (CEST)",
            "from Tophie.ap.freescale.net (14.142.187.166) by\n\tHE1PR04MB1529.eurprd04.prod.outlook.com (2a01:111:e400:59a8::19) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1143.15;\n\tThu, 13 Sep 2018 06:09:24 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=rIO+WtYBx6ydrKeWr2e3leiSAbpnWm4rYH/1lhko6xk=;\n\tb=BEH1sHvJqG/4zKyhQuMxllwsl+weJ2Nw7R4FKOZcfhHNHbSOzLjoF+LgBgIcBp/lgghcD4hgxHOKYNQKQDwXVPYmT3jTNiOMXNamEa2UEPm9l17+/1MlFBU/Je9AiLJ7cEVx2XdsSrpqQdNY4ykqzxh9gjBsyYcJcjjpQ921Nks=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=G.Singh@nxp.com; ",
        "From": "Gagandeep Singh <g.singh@nxp.com>",
        "To": "dev@dpdk.org,\n\takhil.goyal@nxp.com",
        "Cc": "Hemant Agrawal <hemant.agrawal@nxp.com>,\n\tGagandeep Singh <g.singh@nxp.com>",
        "Date": "Thu, 13 Sep 2018 11:38:38 +0530",
        "Message-Id": "<20180913060846.29930-3-g.singh@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20180913060846.29930-1-g.singh@nxp.com>",
        "References": "<20180913060846.29930-1-g.singh@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "BM1PR01CA0095.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00::11)\n\tTo HE1PR04MB1529.eurprd04.prod.outlook.com\n\t(2a01:111:e400:59a8::19)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "b5dde0c4-dbd8-44a2-b6a6-08d6193f750f",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989137)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:HE1PR04MB1529; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; HE1PR04MB1529;\n\t3:JXW4Bi0cSVDIVUH1/h0hll4+6Lsemgr0j7kgDD9REw/K4yy8rMHbY5MRkswU0J7pN7hlScDxcDTcJuMujNBSMG6PguTFVqNQlBnYFfNZKaa8e13uNw8AvQA6+49hX22qPtjJw99vG3yMfhXhwxXmXsUJOfVzJdWp5yZPqmtviA/H1oqbfGqRUAnwDXpb7l0gL32JrNWMXd0AKXynekhoPr7fCGwTdr9DqJJLH67cDlx5uFjqxN9hDMV8J9W+YlGx;\n\t25:kKpf/y19jgDz9z8JPNvyCeNIThiLfGMR93uSJb+z8va+bcap7QmfifurnbPU9v4ggwUD/SvhL4H+FtZNJc3yqvfjO1/KKwG1Udn1/DDmJu+JuoX3ZDDke1HbTVJbGI5VW+bjcn/A4mXwI9Z3ppAU68LxAIh9ymByQoqVHrfOhD8KW7VqqQGViH3qBSBgR/w6bR50vqZ5+/dO4/FRo+2TP8AViwy+wps4FUkqpxaizq0eu6M2BiIbGYf3rOG1pLRkh+gBD6p45nu3U/VV6Z6NAjuyqftYlZCAl13RPeLBv2rRV9yQ6R4PTppwhBEkeI8JqxeBGVhN285SKUM44KEuDw==;\n\t31:e9h/MeE6Xdo2TEZLEb9+Dg8/MfjyY9N/qQ4yffoxmH9QRYPxprIxzcvMDF3/yOVAU98f7bR0/vgXMqaW+vHt1lLNMqUe1l08eGuLFheEvntxCDwYm5FAdWbaIpq2hCW9J2Zzm+URolBVHzhr16r4VWrImQ22Lbcq8eNONrgNPFnLbD2CC6MeAhKaBmxudOhcy7QUDnZO2QOskhrOQUWctg3wg7AlBdHHRhUp2+UAG+Q=",
            "1; HE1PR04MB1529;\n\t20:D3vDxZq9BQggsRgQVUjvoLnA3spbyfZbS2NNGII36Exsg4wQKiN5WdfNt0ff9t64OlNHp6vi9dqa5WYPbeizGAjR7MMbm2iNXk7R9e+KLfVsoSZfuoU1YxyyRh+jEPCC/HUCYKc8HTxYOIM+xbakQLZIZlFrLApnHlqZ/f7YXXIR92q01BANwqWdTpOZTzBorX6Sje7iVsc9QEEl7ZvH8USGTbLNjHTwo6DViaR/1ALZMBc+r4kCMxoIFTSYL9/08T8s8A3jAxal0SbVjSH4X26aW2z6aZBCxDu/EJre+CcvBUiOoCS2R9ojO+tduCM2K2EVYTMZFk1usWK2V+uaI0yC4Dh0bjh/0KOR0jmE+znwkTH0hhXu2rEIRChE++jUiTyqTeu2HGMoPsp5g8bPlB/R8JVdqCrluXjGbR4LLi7qgJWsde9WN+BAbd5rf8QYctKGEULZKcjvFq1oaygzalKjQlWQiVJqARKy5vthl4DoSBgBfqucdInxspPmsiFB;\n\t4:932pCe0FxTgovKSyPy7Fn23shr4I+ZTj/2YHs16vJnFsQ15W667hTyRjx8Q/3LMqhFBNPxncAEKIX7GjBCGl/d5JG9k2i7PFLLo04y/sn6JtKXlcplHcgee70SldGaFLPEXhhuCZqIBMMUq3q7eZEfjnHk7ypdE/f9f02uZem8oH0mdLBMVFXn1ous70cXK9ePwibW2yTOD/2fQN5GPL4niAES9VjeN9O/HwvaBMdVAAuubHuHT2Xvc8OdN+TF2WIBaTojqtqPaZPn+I65k8Y8tV+9tSZlJaJzioiPkgi2KT7n3S7imhoRJWdr8/M+05BazWCRc8haI8MDGbkltykYU5at2YlPhPEMRc454Ziw4=",
            "=?us-ascii?Q?1; HE1PR04MB1529;\n\t23:7t1VZB/dXw97kg8dwQnwsgJ7V9IFUxEe5M20347XU?=\n\t4nknbS1vyr4+elhP8UFsIHV5hgMGfZqwsRWsgSxuQrvXUdLchDbmb2khfLewm5a2PDIRmkNPkCWckim4V9fg8M2Z/jJ+aJwYH2/BFne/Pvj6vDutJjKxk0vHULW4F+EyZNQa1tqRW/5NISNxFOEIyGz12USYK5wUR8o7KntZOabqzo/toONmkuKrbTd9D4qiROTOT56ZiOyL6DLrK+V7kBYXbzN+vmQ/NwIjvTZTxvstkv1aFqQYBzL8qaOcRIHBTjhwwf84CFP7JxXjNZCI7Pj0lgwU/ge0rK5noB6rmj+aN53qOKgTeeO78WcfSKCKEH5gA10h/vSrFZ2rMY2VkI+71YqFF23sM6ZGxBEJXUN1JipkDJJuGaXPAurr8Xr2KgRj46tLoH4JardHy0akaq7TA9uGxcfUVf7Vs5DDd9LsqPAckT8sxDqny6t9czSNzqOTnexbUIVCkjk2Q0MQ4yH2wmKJ0TUqcI9QsSWlTM36qFAI/sZMojAA5xZI2EuxH/m0Umk9AAgAiOu53glt/aBehuh9rTzysPUcmFlg19WfxNo6LSlEzfmLu5OlkTnifFxCDeCZCQzDFmLa+bZk94RRUMJtXKk1lKh4OUOfRcO0hrj/aR0uK/MOvcOv2ozOSfAix6Gvuzck3o86a+0hbbFWvzcMkjDM1iHEskpE5/qkAIoO3BdgelRlXcUdteo9MocBO/HkvHYs6fPrI/XRF1OMRp7yIcAgBe4uXwm9K9yTyBavYZCcek5BKREJNbGUm1Yf8bdDlFZbCpc7e5xG9AoV4wd2ElVFPU+YmKu3E7b6wJbGFaYPVjFjN89hR+QdzRgWoWB1IUXv5AHErMQqVXfq5tts19mlCJvAxzwUgYpfwIEpawUjjLnCpqcQZRWrkwqwni2+sBrkd3wNaQEUp1xdNwMbGBz9AIIygzcusntJagXqXI/HEghOak9zLuPNDFCq1nRykVpu9SgvqFYZwcQASBHAOfoyZ0jsNTyhvJcU3xm9UeQwaWGvC90ktT0QURH+H/q1snZ+wl0OteJNJmw4aPxxNZ58ir/AsfSqmNGqJpHVjABAi1YY3CRC7jwLiHkfCmG8HA5agdRrXgpp7jLXU36PyA9ojp8i5YYXBtE4O48cpeZkpZmXPsgwU1FFBku2dil/Fu5T0IA+2D28Eyfz8tQikrr797TvQsxYhGSiWwEjoLPY/S01b04OpkrGUdn+6frBUEAc9RybxiHSetPoQFgq+KmNYzUTMaoAeLhLe8fdP54EIOBWTc5vFJQDlJfyU2/ajqh8mAb6vlOL8f8Kyb3yUmWDh6EgyCVWtljJg==",
            "1; HE1PR04MB1529;\n\t6:128HOv2I7eB29VbUkHVcM2PQrcfMzmu7oZ6RER93npryG8Oz3Z0wbmUKkJwx0KLo2bCcwBYDdL89XOLOOJJP0UpjBlzVtbYcySg2K3yW5V/FnLXj/nBd3pVNJoiuYnClH0zV/c8jR2tFpetH7LrjNMUSHXk9xh/bC6WX82ZGCTgBVci06tWUpu8Cb9ZWJ6G0K62cwZXpkw8VgA+aIrtDEidBd23fvsFWtHj/ZCG4zPOcuw+WXN5waAM8UY7tVw7B5AAEFniMWOTVZxxll30c2f2sCqrW2OtH+PLJxFJJZUr0peB0zJJIYaI2ivy/+7//XbfApuc4rm7L3F7oadoH26xATeGr8YchFQfsMEtdYBslxdp7U0enP3iyw0HiZxic8WRhb1VLQKMwOdLbsA/bxIeRRW2u0WTbcDPpAM+OvwMt+rDPfVOtM62EluMVo20OLNuJ5BMJh4QNJy5zrO0Yaw==;\n\t5:9lsF1tSNXlnXB3YKxTJoqsQ1IKRavZETFahPmECv9MF8hPxFCIQ3qT0MbepfogawjgYA9p7hrDZMxfN2cBX4GwhPnhBplSvfTGGSmk0A28ZWr7kiIhASrHYzfxlj8xFqwwBOD0HjW7pgxwsVFcEoAF9zjRe2m7JU5hHW6w1Qk7c=;\n\t7:GiGN7nwm2CUaBJxHczNrLpGQCVSxuok/Liip0ioHuRnRJyVXh2m2nMyxARVAc+0iEmySPq62i5/BO2RX7+uRwkBGg8kZpzTTpRDT8d0CSTbjysuFi4h6dfL0z4AFzOWSSzRy0mBHQ9YK7MTC37cBevaSHzrfBAgVl/3CEAXgS+DXjhADq0JuCZfSUdT4/dE+JHGnvymMCJFp5FH1L7gs72JC+RYgdpO8Rzx5a+YN5s8ldK//KnfhBLyad/+SWd9N"
        ],
        "X-MS-TrafficTypeDiagnostic": "HE1PR04MB1529:",
        "X-Microsoft-Antispam-PRVS": "<HE1PR04MB1529E97FE798A36CF877356CE11A0@HE1PR04MB1529.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(192374486261705)(185117386973197); ",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(823301075)(3231311)(944501410)(52105095)(3002001)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(20161123562045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(201708071742011)(7699050);\n\tSRVR:HE1PR04MB1529; BCL:0; PCL:0; RULEID:; SRVR:HE1PR04MB1529; ",
        "X-Forefront-PRVS": "07943272E1",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(366004)(376002)(39860400002)(136003)(346002)(396003)(189003)(199004)(2906002)(6506007)(386003)(5009440100003)(6486002)(51416003)(6512007)(52116002)(486006)(2616005)(68736007)(956004)(53936002)(476003)(446003)(11346002)(305945005)(26005)(7736002)(55236004)(76176011)(186003)(16526019)(50226002)(478600001)(47776003)(1076002)(3846002)(6116002)(48376002)(105586002)(106356001)(25786009)(14444005)(50466002)(5660300001)(36756003)(72206003)(66066001)(316002)(97736004)(8936002)(81166006)(4326008)(8676002)(86362001)(6636002)(6666003)(575784001)(54906003)(81156014)(16586007)(110426005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR04MB1529;\n\tH:Tophie.ap.freescale.net; FPR:; \n\tSPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "fayQIZZ5zBnm5P4ggzaUcc2r5CC6cWEuSc4Bm7RhzzctFojUSODkgV8G868b1FwLW3xNNgR0vpfiEuuK1NBgVqi8xjcJz15TJtoZmCWQyr0MNC+IyFI/oxAIgZfswrwWj/ehI7s9gmuLOBiJlbXyZCjC8bgAPRbXFQ/aw+wfNeHHD8d2H9wPFb27x5Njx/GqeICqxw1BTya4o2cMoE7O5Q89EWQ2gkBoEXFELDuWjPB9dSV7Z8bZIfWhu7klr5XiDu7/kUes8OoO8BwIgZlgm/fsuwXRR3HPXcPTQgsCcsEdDvnYuJhSwGMl9PtwzYFsF7ePOv7mOUIGyFJkGWtrNFWa55iIGYdHY3kP9VlG0f8=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "13 Sep 2018 06:09:24.5382\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "b5dde0c4-dbd8-44a2-b6a6-08d6193f750f",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "HE1PR04MB1529",
        "Subject": "[dpdk-dev] [PATCH 02/10] crypto/caam_jr: introduce basic driver",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Hemant Agrawal <hemant.agrawal@nxp.com>\n\nThis patch introduces basic support for caam_jr crypto driver.\n\nSigned-off-by: Gagandeep Singh <g.singh@nxp.com>\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n config/common_base                            |   8 +\n config/common_linuxapp                        |   1 +\n config/defconfig_arm64-dpaa-linuxapp-gcc      |   4 +\n drivers/crypto/Makefile                       |   1 +\n drivers/crypto/caam_jr/Makefile               |  40 +++++\n drivers/crypto/caam_jr/caam_jr.c              | 157 ++++++++++++++++++\n drivers/crypto/caam_jr/caam_jr_log.h          |  42 +++++\n drivers/crypto/caam_jr/meson.build            |  11 ++\n .../caam_jr/rte_pmd_caam_jr_version.map       |   4 +\n drivers/crypto/meson.build                    |   2 +-\n 10 files changed, 269 insertions(+), 1 deletion(-)\n create mode 100644 drivers/crypto/caam_jr/Makefile\n create mode 100644 drivers/crypto/caam_jr/caam_jr.c\n create mode 100644 drivers/crypto/caam_jr/caam_jr_log.h\n create mode 100644 drivers/crypto/caam_jr/meson.build\n create mode 100644 drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map",
    "diff": "diff --git a/config/common_base b/config/common_base\nindex 4bcbaf923..a73f063d1 100644\n--- a/config/common_base\n+++ b/config/common_base\n@@ -479,6 +479,14 @@ CONFIG_RTE_CRYPTO_MAX_DEVS=64\n CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO=n\n CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO_DEBUG=n\n \n+#\n+# Compile NXP CAAM JR crypto Driver\n+#\n+CONFIG_RTE_LIBRTE_PMD_CAAM_JR=n\n+CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=n\n+CONFIG_RTE_LIBRTE_PMD_CAAM_JR_DEBUG=n\n+CONFIG_RTE_CAAM_JR_PMD_MAX_NB_SESSIONS=2048\n+\n #\n # Compile NXP DPAA2 crypto sec driver for CAAM HW\n #\ndiff --git a/config/common_linuxapp b/config/common_linuxapp\nindex 9c5ea9d89..c1c7c4287 100644\n--- a/config/common_linuxapp\n+++ b/config/common_linuxapp\n@@ -35,6 +35,7 @@ CONFIG_RTE_LIBRTE_DPAA_MEMPOOL=y\n CONFIG_RTE_LIBRTE_DPAA_PMD=y\n CONFIG_RTE_LIBRTE_PMD_DPAA_EVENTDEV=y\n CONFIG_RTE_LIBRTE_PMD_DPAA_SEC=y\n+CONFIG_RTE_LIBRTE_PMD_CAAM_JR=y\n \n # NXP FSLMC BUS and DPAA2 drivers\n CONFIG_RTE_LIBRTE_FSLMC_BUS=y\ndiff --git a/config/defconfig_arm64-dpaa-linuxapp-gcc b/config/defconfig_arm64-dpaa-linuxapp-gcc\nindex c47aec0a6..e5343f7a9 100644\n--- a/config/defconfig_arm64-dpaa-linuxapp-gcc\n+++ b/config/defconfig_arm64-dpaa-linuxapp-gcc\n@@ -21,3 +21,7 @@ CONFIG_RTE_PKTMBUF_HEADROOM=128\n # NXP DPAA Bus\n CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER=n\n CONFIG_RTE_LIBRTE_DPAA_HWDEBUG=n\n+\n+# NXP CAAM_JR driver\n+CONFIG_RTE_LIBRTE_PMD_CAAM_JR=y\n+CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE=y\ndiff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile\nindex c480cbd37..e3711d703 100644\n--- a/drivers/crypto/Makefile\n+++ b/drivers/crypto/Makefile\n@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_GCM) += aesni_gcm\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_AESNI_MB) += aesni_mb\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_ARMV8_CRYPTO) += armv8\n+DIRS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_CCP) += ccp\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_CRYPTO_SCHEDULER) += scheduler\ndiff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile\nnew file mode 100644\nindex 000000000..46d752af7\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/Makefile\n@@ -0,0 +1,40 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2017 NXP\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+#\n+# library name\n+#\n+LIB = librte_pmd_caam_jr.a\n+\n+# build flags\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n+CFLAGS += -D _GNU_SOURCE\n+ifeq ($(CONFIG_RTE_LIBRTE_CAAM_JR_DEBUG),y)\n+CFLAGS += -O0 -g\n+CFLAGS += \"-Wno-error\"\n+else\n+CFLAGS += -O3\n+CFLAGS += $(WERROR_FLAGS)\n+endif\n+\n+CFLAGS += -I$(RTE_SDK)/drivers/crypto/caam_jr\n+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include\n+CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linuxapp/eal\n+\n+# versioning export map\n+EXPORT_MAP := rte_pmd_caam_jr_version.map\n+\n+# library version\n+LIBABIVER := 1\n+\n+# library source files\n+SRCS-$(CONFIG_RTE_LIBRTE_PMD_CAAM_JR) += caam_jr.c\n+# library dependencies\n+\n+LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring\n+LDLIBS += -lrte_cryptodev\n+LDLIBS += -lrte_bus_vdev\n+\n+include $(RTE_SDK)/mk/rte.lib.mk\ndiff --git a/drivers/crypto/caam_jr/caam_jr.c b/drivers/crypto/caam_jr/caam_jr.c\nnew file mode 100644\nindex 000000000..68779cba5\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/caam_jr.c\n@@ -0,0 +1,157 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2017-2018 NXP\n+ */\n+\n+#include <fcntl.h>\n+#include <unistd.h>\n+#include <sched.h>\n+#include <net/if.h>\n+\n+#include <rte_byteorder.h>\n+#include <rte_common.h>\n+#include <rte_cryptodev_pmd.h>\n+#include <rte_crypto.h>\n+#include <rte_cryptodev.h>\n+#include <rte_bus_vdev.h>\n+#include <rte_malloc.h>\n+#include <rte_security_driver.h>\n+#include <rte_hexdump.h>\n+\n+#include <caam_jr_log.h>\n+\n+#define CRYPTODEV_NAME_CAAM_JR_PMD\tcrypto_caam_jr\n+static uint8_t cryptodev_driver_id;\n+int caam_jr_logtype;\n+\n+\n+/*\n+ * @brief Release the resources used by the SEC user space driver.\n+ *\n+ * Reset and release SEC's job rings indicated by the User Application at\n+ * init_job_ring() and free any memory allocated internally.\n+ * Call once during application tear down.\n+ *\n+ * @note In case there are any descriptors in-flight (descriptors received by\n+ * SEC driver for processing and for which no response was yet provided to UA),\n+ * the descriptors are discarded without any notifications to User Application.\n+ *\n+ * @retval ::0\t\t\tis returned for a successful execution\n+ * @retval ::-1\t\tis returned if SEC driver release is in progress\n+ */\n+\n+static int\n+caam_jr_dev_uninit(struct rte_cryptodev *dev)\n+{\n+\n+\tif (dev == NULL)\n+\t\treturn -ENODEV;\n+\n+\n+\tCAAM_JR_INFO(\"Closing DPAA_SEC device %s\", dev->data->name);\n+\n+\n+\treturn 0;\n+}\n+\n+static int\n+caam_jr_dev_init(const char *name,\n+\t\t\t struct rte_vdev_device *vdev,\n+\t\t\t struct rte_cryptodev_pmd_init_params *init_params)\n+{\n+\tstruct rte_cryptodev *dev;\n+\n+\tPMD_INIT_FUNC_TRACE();\n+\n+\tdev = rte_cryptodev_pmd_create(name, &vdev->device, init_params);\n+\tif (dev == NULL) {\n+\t\tCAAM_JR_ERR(\"failed to create cryptodev vdev\");\n+\t\tgoto cleanup;\n+\t}\n+\n+\tdev->driver_id = cryptodev_driver_id;\n+\tdev->dev_ops = NULL;\n+\n+\t/* For secondary processes, we don't initialise any further as primary\n+\t * has already done this work. Only check we don't need a different\n+\t * RX function\n+\t */\n+\tif (rte_eal_process_type() != RTE_PROC_PRIMARY) {\n+\t\tCAAM_JR_WARN(\"Device already init by primary process\");\n+\t\treturn 0;\n+\t}\n+\n+\tRTE_LOG(INFO, PMD, \"%s cryptodev init\\n\", dev->data->name);\n+\n+\treturn 0;\n+\n+cleanup:\n+\tCAAM_JR_ERR(\"driver %s: cryptodev_caam_jr_create failed\",\n+\t\t\tinit_params->name);\n+\n+\treturn -ENXIO;\n+}\n+\n+/** Initialise CAAM JR crypto device */\n+static int\n+cryptodev_caam_jr_probe(struct rte_vdev_device *vdev)\n+{\n+\tstruct rte_cryptodev_pmd_init_params init_params = {\n+\t\t\"\",\n+\t\t128,\n+\t\trte_socket_id(),\n+\t\tRTE_CRYPTODEV_PMD_DEFAULT_MAX_NB_QUEUE_PAIRS\n+\t};\n+\tconst char *name;\n+\tconst char *input_args;\n+\n+\tname = rte_vdev_device_name(vdev);\n+\tif (name == NULL)\n+\t\treturn -EINVAL;\n+\n+\tinput_args = rte_vdev_device_args(vdev);\n+\trte_cryptodev_pmd_parse_input_args(&init_params, input_args);\n+\n+\treturn caam_jr_dev_init(name, vdev, &init_params);\n+}\n+\n+/** Uninitialise CAAM JR crypto device */\n+static int\n+cryptodev_caam_jr_remove(struct rte_vdev_device *vdev)\n+{\n+\tstruct rte_cryptodev *cryptodev;\n+\tconst char *name;\n+\n+\tname = rte_vdev_device_name(vdev);\n+\tif (name == NULL)\n+\t\treturn -EINVAL;\n+\n+\tcryptodev = rte_cryptodev_pmd_get_named_dev(name);\n+\tif (cryptodev == NULL)\n+\t\treturn -ENODEV;\n+\n+\tcaam_jr_dev_uninit(cryptodev);\n+\n+\treturn rte_cryptodev_pmd_destroy(cryptodev);\n+}\n+\n+static struct rte_vdev_driver cryptodev_caam_jr_drv = {\n+\t.probe = cryptodev_caam_jr_probe,\n+\t.remove = cryptodev_caam_jr_remove\n+};\n+\n+static struct cryptodev_driver caam_jr_crypto_drv;\n+\n+RTE_PMD_REGISTER_VDEV(CRYPTODEV_NAME_CAAM_JR_PMD, cryptodev_caam_jr_drv);\n+RTE_PMD_REGISTER_PARAM_STRING(CRYPTODEV_NAME_CAAM_JR_PMD,\n+\t\"max_nb_queue_pairs=<int>\"\n+\t\"max_nb_sessions=<int>\"\n+\t\"socket_id=<int>\");\n+RTE_PMD_REGISTER_CRYPTO_DRIVER(caam_jr_crypto_drv, cryptodev_caam_jr_drv.driver,\n+\t\tcryptodev_driver_id);\n+\n+RTE_INIT(caam_jr_init_log)\n+{\n+\tcaam_jr_logtype = rte_log_register(\"pmd.crypto.caam\");\n+\tif (caam_jr_logtype >= 0)\n+\t\trte_log_set_level(caam_jr_logtype, RTE_LOG_NOTICE);\n+}\ndiff --git a/drivers/crypto/caam_jr/caam_jr_log.h b/drivers/crypto/caam_jr/caam_jr_log.h\nnew file mode 100644\nindex 000000000..106ff07a7\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/caam_jr_log.h\n@@ -0,0 +1,42 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright 2017-2018 NXP\n+ */\n+\n+#ifndef _CAAM_JR_LOG_H_\n+#define _CAAM_JR_LOG_H_\n+\n+#include <rte_log.h>\n+\n+extern int caam_jr_logtype;\n+\n+#define CAAM_JR_LOG(level, fmt, args...) \\\n+\trte_log(RTE_LOG_ ## level, caam_jr_logtype, \"caam_jr: \" \\\n+\t\tfmt \"\\n\", ##args)\n+\n+#define CAAM_JR_DEBUG(fmt, args...) \\\n+\trte_log(RTE_LOG_DEBUG, caam_jr_logtype, \"caam_jr: %s(): \" \\\n+\t\tfmt \"\\n\", __func__, ##args)\n+\n+#define PMD_INIT_FUNC_TRACE() CAAM_JR_DEBUG(\" >>\")\n+\n+#define CAAM_JR_INFO(fmt, args...) \\\n+\tCAAM_JR_LOG(INFO, fmt, ## args)\n+#define CAAM_JR_ERR(fmt, args...) \\\n+\tCAAM_JR_LOG(ERR, fmt, ## args)\n+#define CAAM_JR_WARN(fmt, args...) \\\n+\tCAAM_JR_LOG(WARNING, fmt, ## args)\n+\n+/* DP Logs, toggled out at compile time if level lower than current level */\n+#define CAAM_JR_DP_LOG(level, fmt, args...) \\\n+\tRTE_LOG_DP(level, PMD, fmt \"\\n\", ## args)\n+\n+#define CAAM_JR_DP_DEBUG(fmt, args...) \\\n+\tCAAM_JR_DP_LOG(DEBUG, fmt, ## args)\n+#define CAAM_JR_DP_INFO(fmt, args...) \\\n+\tCAAM_JR_DP_LOG(INFO, fmt, ## args)\n+#define CAAM_JR_DP_WARN(fmt, args...) \\\n+\tCAAM_JR_DP_LOG(WARNING, fmt, ## args)\n+#define CAAM_JR_DP_ERR(fmt, args...) \\\n+\tCAAM_JR_DP_LOG(ERR, fmt, ## args)\n+\n+#endif /* _CAAM_JR_LOG_H_ */\ndiff --git a/drivers/crypto/caam_jr/meson.build b/drivers/crypto/caam_jr/meson.build\nnew file mode 100644\nindex 000000000..3edd0a212\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/meson.build\n@@ -0,0 +1,11 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright 2018 NXP\n+\n+if host_machine.system() != 'linux'\n+        build = false\n+endif\n+\n+deps += ['bus_vdev', 'bus_dpaa', 'security']\n+sources = files('caam_jr.c')\n+\n+allow_experimental_apis = true\ndiff --git a/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map b/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map\nnew file mode 100644\nindex 000000000..521e51f41\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/rte_pmd_caam_jr_version.map\n@@ -0,0 +1,4 @@\n+DPDK_18.11 {\n+\n+\tlocal: *;\n+};\ndiff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build\nindex d64ca418b..f4390581c 100644\n--- a/drivers/crypto/meson.build\n+++ b/drivers/crypto/meson.build\n@@ -1,7 +1,7 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017 Intel Corporation\n \n-drivers = ['ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam',\n+drivers = ['caam_jr', 'ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam',\n \t'null', 'openssl', 'qat', 'virtio']\n \n std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps\n",
    "prefixes": [
        "02/10"
    ]
}