get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 47158,
    "url": "https://patches.dpdk.org/api/patches/47158/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20181022141657.4727-2-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": "<20181022141657.4727-2-g.singh@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20181022141657.4727-2-g.singh@nxp.com",
    "date": "2018-10-22T14:17:35",
    "name": "[v4,01/15] crypto/caam_jr: introduce basic driver",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "3e52fae04a74b97582a0052145e1c593c3924a72",
    "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/20181022141657.4727-2-g.singh@nxp.com/mbox/",
    "series": [
        {
            "id": 2012,
            "url": "https://patches.dpdk.org/api/series/2012/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=2012",
            "date": "2018-10-22T14:17:33",
            "name": "Introducing the NXP CAAM job ring driver",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/2012/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/47158/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/47158/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 15E4B5F33;\n\tMon, 22 Oct 2018 16:17:42 +0200 (CEST)",
            "from EUR03-DB5-obe.outbound.protection.outlook.com\n\t(mail-eopbgr40078.outbound.protection.outlook.com [40.107.4.78])\n\tby dpdk.org (Postfix) with ESMTP id 4B3376833\n\tfor <dev@dpdk.org>; Mon, 22 Oct 2018 16:17:38 +0200 (CEST)",
            "from HE1PR04MB1530.eurprd04.prod.outlook.com (10.164.48.20) by\n\tHE1PR04MB1051.eurprd04.prod.outlook.com (10.162.26.148) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1250.30; Mon, 22 Oct 2018 14:17:35 +0000",
            "from HE1PR04MB1530.eurprd04.prod.outlook.com\n\t([fe80::95cd:198:d5c5:59a4]) by\n\tHE1PR04MB1530.eurprd04.prod.outlook.com\n\t([fe80::95cd:198:d5c5:59a4%5]) with mapi id 15.20.1250.028;\n\tMon, 22 Oct 2018 14:17:35 +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=SMvgrbiSNZnvAoIlNaFYHCBR+4ZjEGbopVXrnrLCpvo=;\n\tb=knfYGrmfpzb5y+yUDYpsykxm2gq84VG6PCl/UTJaF43/FkEkd5G0JA9efiHp2X+g0bFVBxN0xyYQ/ORSjBLQJgHSNN7o5JHDoxNTWaCBmhMxVhVboaKjXCj/NpLc7cOHcUjNZwclqIEnwsbvne2jjyBVhmdcbiKHM4n60fj+iHY=",
        "From": "Gagandeep Singh <G.Singh@nxp.com>",
        "To": "\"dev@dpdk.org\" <dev@dpdk.org>, Akhil Goyal <akhil.goyal@nxp.com>",
        "CC": "Gagandeep Singh <G.Singh@nxp.com>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Thread-Topic": "[PATCH v4 01/15] crypto/caam_jr: introduce basic driver",
        "Thread-Index": "AQHUahH6H+HGeyha/UC6DUgkeMwXDQ==",
        "Date": "Mon, 22 Oct 2018 14:17:35 +0000",
        "Message-ID": "<20181022141657.4727-2-g.singh@nxp.com>",
        "References": "<20181022133021.11264-1-g.singh@nxp.com>\n\t<20181022141657.4727-1-g.singh@nxp.com>",
        "In-Reply-To": "<20181022141657.4727-1-g.singh@nxp.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "x-clientproxiedby": "BM1PR0101CA0025.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:1a::11) To HE1PR04MB1530.eurprd04.prod.outlook.com\n\t(2a01:111:e400:59a8::20)",
        "authentication-results": "spf=none (sender IP is )\n\tsmtp.mailfrom=G.Singh@nxp.com; ",
        "x-ms-exchange-messagesentrepresentingtype": "1",
        "x-originating-ip": "[14.142.187.166]",
        "x-ms-publictraffictype": "Email",
        "x-microsoft-exchange-diagnostics": "1; HE1PR04MB1051;\n\t6:tw+3vWgQbyfpj4wjmA79Ntxy7zWeTxUie+YPPOQGfXXrc9aXPdPn/lI+VwxwwTFv9E6TTYWHJ7ZMvQ8WV7AgSeISUbbFm9cDVXRIZyNiVSpRuojnrB39azsPwdRoux0i6OhPlLbIvDUEwD6/F97KfoeHqHq03PpPFWUpcr8E6fR8izOY0e/aJlcjoc0POkGQtX4R+atG401Lkpnyy/adCe7NWMXD1tLSpUZq9x1RuKtWGUF23kbqiwwz9kwDWXboigHjEc92IG0BdZls8DOt1IszJ//1zOLeepoRxIKUDiO3U9XFNAPCvxYoiM4wktSnGiw6haVDoo5YvVasdXzScSreLu0644hgZXlCsfknjrUPRlAHB/b8XkAia7GXtD/Da+MDjEDTKIfG6J9tkSHAEYxrw2eJbRNMY4+vb9kYEew427IE1ZGXhwQlGzNPJGlPioZiPYachETwziI24VssHA==;\n\t5:IiIzppNvQB35JNPaheeB9/NO+UtWlCDzBcCNlsI9F42WLli10UfrEPrOKPxEIrGZlcTb8fSFKTPhvSAaNBO59uC2SkAYZZrxhFSi3xTcRTmt+NpNMtCuevZt7jR/okAZy/dy2FRwL+EV7CitkcYoyZwJkaXp2OT/MAAUtQZSp/A=;\n\t7:j8Ss3kZAZGVHwk0GYZ1+brpHbsLv9EfZvv2tDEN0jnHxlBnvA+ccvAAUHcdwhiixXdUzGvoQ249FryGfFmytFaEwrde1fOdzpwhe9NxNfYGXMvErtOtJoHM0IrMZQpsyl/V3z4BHTOIGmEWakbvkPSL0sgKx/HH/lM+Tr4QSr0560zWOHB74mWNivGr4AyEiSGwstGt0gIYio2QUItDdEkgpejyS47sttHbaFaOnXo9RE8FwzPlgm8Nzh+1wJd6T",
        "x-ms-office365-filtering-correlation-id": "bdd81573-4dbd-45b3-9b36-08d638291cb1",
        "x-ms-office365-filtering-ht": "Tenant",
        "x-microsoft-antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(5600074)(711020)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7153060)(7193020);\n\tSRVR:HE1PR04MB1051; ",
        "x-ms-traffictypediagnostic": "HE1PR04MB1051:",
        "x-microsoft-antispam-prvs": "<HE1PR04MB10514008EBB0F4C48B5B005CE1F40@HE1PR04MB1051.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)(8121501046)(5005006)(10201501046)(3231355)(944501410)(52105095)(3002001)(93006095)(93001095)(6055026)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201708071742011)(7699051)(76991095);\n\tSRVR:HE1PR04MB1051; BCL:0; PCL:0; RULEID:; SRVR:HE1PR04MB1051; ",
        "x-forefront-prvs": "08331F819E",
        "x-forefront-antispam-report": "SFV:NSPM;\n\tSFS:(10009020)(366004)(396003)(39860400002)(136003)(346002)(376002)(199004)(189003)(14454004)(486006)(256004)(14444005)(3846002)(7736002)(4326008)(2616005)(2501003)(11346002)(6116002)(54906003)(2900100001)(110136005)(476003)(78486010)(72206003)(6512007)(8936002)(316002)(36756003)(6436002)(81166006)(71200400001)(71190400001)(4744004)(478600001)(68736007)(86362001)(575784001)(52116002)(53936002)(186003)(76176011)(446003)(81156014)(6486002)(8676002)(102836004)(26005)(55236004)(66066001)(6636002)(105586002)(5660300001)(305945005)(106356001)(25786009)(2906002)(97736004)(386003)(6506007)(99286004)(1076002)(5250100002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR04MB1051;\n\tH:HE1PR04MB1530.eurprd04.prod.outlook.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ",
        "received-spf": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "x-microsoft-antispam-message-info": "O8Jpasoid5EyD70Wfco/L7aTLzoZTU8ONtN4B8/7IUWYqKDwrRLPqIV8ul9mmPIp+h58b64uJxxLAbC1EYwlUFlKOOT2lDhLL7Nv1mRPfmCLNjnTWuFjOkaIteTzdYxtAtP8dbQCgwOJ5jmaU5bdS3ojxCoWbRVpPiuSVmEV77n4y/zwQajiHiNiD4fCO96sARZx40v+9Em0813aI5KEPmJ8EYiomL3XA9Q9qEV4nEFnX7P54suq5en9cMLhdJCLVQ7tajPHtyzhN5BGQqfQ2Z13iV6nIpLrvk9qC78z/AAo3QkLFM9SP3J6hbMD7vHobXYLzobBFBbU2HehP9xhJFUWOu0cPHtknixSSwB/z98=",
        "spamdiagnosticoutput": "1:99",
        "spamdiagnosticmetadata": "NSPM",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "bdd81573-4dbd-45b3-9b36-08d638291cb1",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "22 Oct 2018 14:17:35.1504\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "HE1PR04MB1051",
        "Subject": "[dpdk-dev] [PATCH v4 01/15] 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": "The caam_jr poll mode crypto driver is supported for\nNXP SEC 4.x+ (CAAM) hardware accelerator.\nThis driver is by default supported on LE platforms,\nif it is used on BE platforms like LS104X,\nconfig option CONFIG_RTE_LIBRTE_PMD_CAAM_JR_BE can be\nenabled.\n\nThis patch add skeleton for caam jobring driver\nwith probe and uintialisation functions\n\nSigned-off-by: Gagandeep Singh <g.singh@nxp.com>\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\nAcked-by: Akhil Goyal <akhil.goyal@nxp.com>\n---\n MAINTAINERS                                   |   5 +\n config/common_base                            |   6 +\n config/common_linuxapp                        |   1 +\n config/defconfig_arm64-dpaa-linuxapp-gcc      |   3 +\n drivers/crypto/Makefile                       |   1 +\n drivers/crypto/caam_jr/Makefile               |  37 +++++\n drivers/crypto/caam_jr/caam_jr.c              | 150 ++++++++++++++++++\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                    |   5 +-\n 11 files changed, 263 insertions(+), 2 deletions(-)\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/MAINTAINERS b/MAINTAINERS\nindex 450749ab2..9de01189a 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -851,6 +851,11 @@ F: drivers/crypto/null/\n F: doc/guides/cryptodevs/null.rst\n F: doc/guides/cryptodevs/features/null.ini\n \n+NXP CAAM JR\n+M: Gagandeep Singh <g.singh@nxp.com>\n+M: Hemant Agrawal <hemant.agrawal@nxp.com>\n+F: drivers/crypto/caam_jr/\n+\n NXP DPAA_SEC\n M: Akhil Goyal <akhil.goyal@nxp.com>\n M: Hemant Agrawal <hemant.agrawal@nxp.com>\ndiff --git a/config/common_base b/config/common_base\nindex 302f74a2e..9f45d9eaf 100644\n--- a/config/common_base\n+++ b/config/common_base\n@@ -495,6 +495,12 @@ 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+\n #\n # Compile NXP DPAA2 crypto sec driver for CAAM HW\n #\ndiff --git a/config/common_linuxapp b/config/common_linuxapp\nindex 76b884c48..3565ec8c1 100644\n--- a/config/common_linuxapp\n+++ b/config/common_linuxapp\n@@ -40,6 +40,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..544b6770d 100644\n--- a/config/defconfig_arm64-dpaa-linuxapp-gcc\n+++ b/config/defconfig_arm64-dpaa-linuxapp-gcc\n@@ -21,3 +21,6 @@ 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_BE=y\ndiff --git a/drivers/crypto/Makefile b/drivers/crypto/Makefile\nindex c083e64ff..c25a19fb0 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_OCTEONTX_CRYPTO) += octeontx\n DIRS-$(CONFIG_RTE_LIBRTE_PMD_OPENSSL) += openssl\ndiff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile\nnew file mode 100644\nindex 000000000..b1f3ecee7\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/Makefile\n@@ -0,0 +1,37 @@\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+\n+CFLAGS += -D _GNU_SOURCE\n+\n+CFLAGS += -O3\n+CFLAGS += $(WERROR_FLAGS)\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..6d25967a1\n--- /dev/null\n+++ b/drivers/crypto/caam_jr/caam_jr.c\n@@ -0,0 +1,150 @@\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_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+ * @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+static int\n+caam_jr_dev_uninit(struct rte_cryptodev *dev)\n+{\n+\tif (dev == NULL)\n+\t\treturn -ENODEV;\n+\n+\tCAAM_JR_INFO(\"Closing crypto device %s\", dev->data->name);\n+\n+\treturn 0;\n+}\n+\n+static int\n+caam_jr_dev_init(const char *name,\n+\t\t struct rte_vdev_device *vdev,\n+\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\"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 e9c491af6..bf1bd9286 100644\n--- a/drivers/crypto/meson.build\n+++ b/drivers/crypto/meson.build\n@@ -1,8 +1,9 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2017 Intel Corporation\n \n-drivers = ['aesni_gcm', 'aesni_mb', 'ccp', 'dpaa_sec', 'dpaa2_sec', 'kasumi', 'mvsam',\n-\t'null', 'octeontx', 'openssl', 'qat', 'scheduler', 'virtio', 'zuc']\n+drivers = ['aesni_gcm', 'aesni_mb', 'caam_jr', 'ccp', 'dpaa_sec', 'dpaa2_sec',\n+\t'kasumi', 'mvsam', 'null', 'octeontx', 'openssl', 'qat', 'scheduler',\n+\t'virtio', 'zuc']\n \n std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps\n config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'\n",
    "prefixes": [
        "v4",
        "01/15"
    ]
}