get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 58391,
    "url": "http://patches.dpdk.org/api/patches/58391/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190902121734.926-14-akhil.goyal@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<20190902121734.926-14-akhil.goyal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190902121734.926-14-akhil.goyal@nxp.com",
    "date": "2019-09-02T12:17:27",
    "name": "[13/20] crypto/dpaa2_sec/hw: Support zuc-zuc 18-bit PDCP",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "1be41723bebf3b8fddd40698590d29a4db9493cf",
    "submitter": {
        "id": 517,
        "url": "http://patches.dpdk.org/api/people/517/?format=api",
        "name": "Akhil Goyal",
        "email": "akhil.goyal@nxp.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20190902121734.926-14-akhil.goyal@nxp.com/mbox/",
    "series": [
        {
            "id": 6199,
            "url": "http://patches.dpdk.org/api/series/6199/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=6199",
            "date": "2019-09-02T12:17:14",
            "name": "crypto/dpaaX_sec: Support Wireless algos",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/6199/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/58391/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/58391/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 C32E11E95E;\n\tMon,  2 Sep 2019 14:32:37 +0200 (CEST)",
            "from inva021.nxp.com (inva021.nxp.com [92.121.34.21])\n\tby dpdk.org (Postfix) with ESMTP id B12E91D163\n\tfor <dev@dpdk.org>; Mon,  2 Sep 2019 14:32:08 +0200 (CEST)",
            "from inva021.nxp.com (localhost [127.0.0.1])\n\tby inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 83B0F2006CA;\n\tMon,  2 Sep 2019 14:32:08 +0200 (CEST)",
            "from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com\n\t[165.114.16.14])\n\tby inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 7F4992006CB;\n\tMon,  2 Sep 2019 14:32:06 +0200 (CEST)",
            "from GDB1.ap.freescale.net (GDB1.ap.freescale.net [10.232.132.179])\n\tby invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id 3545C40324;\n\tMon,  2 Sep 2019 20:32:04 +0800 (SGT)"
        ],
        "From": "Akhil Goyal <akhil.goyal@nxp.com>",
        "To": "dev@dpdk.org",
        "Cc": "hemant.agrawal@nxp.com,\n\tvakul.garg@nxp.com",
        "Date": "Mon,  2 Sep 2019 17:47:27 +0530",
        "Message-Id": "<20190902121734.926-14-akhil.goyal@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20190902121734.926-1-akhil.goyal@nxp.com>",
        "References": "<20190902121734.926-1-akhil.goyal@nxp.com>",
        "X-Virus-Scanned": "ClamAV using ClamSMTP",
        "Subject": "[dpdk-dev] [PATCH 13/20] crypto/dpaa2_sec/hw: Support zuc-zuc\n\t18-bit PDCP",
        "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: Vakul Garg <vakul.garg@nxp.com>\n\nThis patch support ZUC-ZUC PDCP enc-auth case for\ndevices which do not support PROTOCOL command for 18bit.\n\nSigned-off-by: Vakul Garg <vakul.garg@nxp.com>\nAcked-by: Akhil Goyal <akhil.goyal@nxp.com>\n---\n drivers/crypto/dpaa2_sec/hw/desc/pdcp.h | 126 +++++++++++++++++++++++-\n 1 file changed, 125 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/crypto/dpaa2_sec/hw/desc/pdcp.h b/drivers/crypto/dpaa2_sec/hw/desc/pdcp.h\nindex a476b8bde..9fb3d4993 100644\n--- a/drivers/crypto/dpaa2_sec/hw/desc/pdcp.h\n+++ b/drivers/crypto/dpaa2_sec/hw/desc/pdcp.h\n@@ -927,6 +927,130 @@ pdcp_insert_cplane_enc_only_op(struct program *p,\n \treturn 0;\n }\n \n+static inline int\n+pdcp_insert_uplane_zuc_zuc_op(struct program *p,\n+\t\t\t      bool swap __maybe_unused,\n+\t\t\t      struct alginfo *cipherdata,\n+\t\t\t      struct alginfo *authdata,\n+\t\t\t      unsigned int dir,\n+\t\t\t      enum pdcp_sn_size sn_size,\n+\t\t\t      unsigned char era_2_sw_hfn_ovrd __maybe_unused)\n+{\n+\tuint32_t offset = 0, length = 0, sn_mask = 0;\n+\n+\tLABEL(keyjump);\n+\tREFERENCE(pkeyjump);\n+\n+\tif (rta_sec_era < RTA_SEC_ERA_5) {\n+\t\tpr_err(\"Invalid era for selected algorithm\\n\");\n+\t\treturn -ENOTSUP;\n+\t}\n+\n+\tpkeyjump = JUMP(p, keyjump, LOCAL_JUMP, ALL_TRUE, SHRD | SELF | BOTH);\n+\tKEY(p, KEY1, cipherdata->key_enc_flags, cipherdata->key,\n+\t    cipherdata->keylen, INLINE_KEY(cipherdata));\n+\tKEY(p, KEY2, authdata->key_enc_flags, authdata->key, authdata->keylen,\n+\t    INLINE_KEY(authdata));\n+\n+\tSET_LABEL(p, keyjump);\n+\tPATCH_JUMP(p, pkeyjump, keyjump);\n+\n+\tif (rta_sec_era >= RTA_SEC_ERA_8 && sn_size != PDCP_SN_SIZE_18) {\n+\t\tint pclid;\n+\n+\t\tif (sn_size == PDCP_SN_SIZE_5)\n+\t\t\tpclid = OP_PCLID_LTE_PDCP_CTRL_MIXED;\n+\t\telse\n+\t\t\tpclid = OP_PCLID_LTE_PDCP_USER_RN;\n+\n+\t\tPROTOCOL(p, dir, pclid,\n+\t\t\t ((uint16_t)cipherdata->algtype << 8) |\n+\t\t\t (uint16_t)authdata->algtype);\n+\n+\t\treturn 0;\n+\t}\n+\t/* Non-proto is supported only for 5bit cplane and 18bit uplane */\n+\tswitch (sn_size) {\n+\tcase PDCP_SN_SIZE_5:\n+\t\toffset = 7;\n+\t\tlength = 1;\n+\t\tsn_mask = (swap == false) ? PDCP_C_PLANE_SN_MASK :\n+\t\t\t\t\tPDCP_C_PLANE_SN_MASK_BE;\n+\t\tbreak;\n+\tcase PDCP_SN_SIZE_18:\n+\t\toffset = 5;\n+\t\tlength = 3;\n+\t\tsn_mask = (swap == false) ? PDCP_U_PLANE_18BIT_SN_MASK :\n+\t\t\t\t\tPDCP_U_PLANE_18BIT_SN_MASK_BE;\n+\t\tbreak;\n+\tcase PDCP_SN_SIZE_7:\n+\tcase PDCP_SN_SIZE_12:\n+\tcase PDCP_SN_SIZE_15:\n+\t\tpr_err(\"Invalid sn_size for %s\\n\", __func__);\n+\t\treturn -ENOTSUP;\n+\t}\n+\n+\tSEQLOAD(p, MATH0, offset, length, 0);\n+\tJUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CALM);\n+\tMOVEB(p, MATH0, offset, IFIFOAB2, 0, length, IMMED);\n+\tMATHB(p, MATH0, AND, sn_mask, MATH1, 8, IFB | IMMED2);\n+\tMATHB(p, MATH1, SHLD, MATH1, MATH1, 8, 0);\n+\n+\tMOVEB(p, DESCBUF, 8, MATH2, 0, 8, WAITCOMP | IMMED);\n+\tMATHB(p, MATH1, OR, MATH2, MATH2, 8, 0);\n+\tMOVEB(p, MATH2, 0, CONTEXT1, 0, 8, IMMED);\n+\n+\tMOVEB(p, MATH2, 0, CONTEXT2, 0, 8, WAITCOMP | IMMED);\n+\n+\tif (dir == OP_TYPE_ENCAP_PROTOCOL)\n+\t\tMATHB(p, SEQINSZ, ADD, PDCP_MAC_I_LEN, VSEQOUTSZ, 4, IMMED2);\n+\telse\n+\t\tMATHB(p, SEQINSZ, SUB, PDCP_MAC_I_LEN, VSEQOUTSZ, 4, IMMED2);\n+\n+\tMATHB(p, SEQINSZ, SUB, ZERO, VSEQINSZ, 4, 0);\n+\tSEQSTORE(p, MATH0, offset, length, 0);\n+\n+\tif (dir == OP_TYPE_ENCAP_PROTOCOL) {\n+\t\tSEQFIFOSTORE(p, MSG, 0, 0, VLF);\n+\t\tSEQFIFOLOAD(p, MSGINSNOOP, 0, VLF | LAST2);\n+\t} else {\n+\t\tSEQFIFOSTORE(p, MSG, 0, 0, VLF | CONT);\n+\t\tSEQFIFOLOAD(p, MSGOUTSNOOP, 0, VLF | LAST1 | FLUSH1);\n+\t}\n+\n+\tALG_OPERATION(p, OP_ALG_ALGSEL_ZUCA,\n+\t\t      OP_ALG_AAI_F9,\n+\t\t      OP_ALG_AS_INITFINAL,\n+\t\t      dir == OP_TYPE_ENCAP_PROTOCOL ?\n+\t\t\t     ICV_CHECK_DISABLE : ICV_CHECK_ENABLE,\n+\t\t      DIR_ENC);\n+\n+\tALG_OPERATION(p, OP_ALG_ALGSEL_ZUCE,\n+\t\t      OP_ALG_AAI_F8,\n+\t\t      OP_ALG_AS_INITFINAL,\n+\t\t      ICV_CHECK_DISABLE,\n+\t\t      dir == OP_TYPE_ENCAP_PROTOCOL ? DIR_ENC : DIR_DEC);\n+\n+\tif (dir == OP_TYPE_ENCAP_PROTOCOL) {\n+\t\tMOVE(p, CONTEXT2, 0, IFIFOAB1, 0, 4, LAST1 | FLUSH1 | IMMED);\n+\t} else {\n+\t\t/* Save ICV */\n+\t\tMOVEB(p, OFIFO, 0, MATH0, 0, 4, IMMED);\n+\n+\t\tLOAD(p, NFIFOENTRY_STYPE_ALTSOURCE |\n+\t\t     NFIFOENTRY_DEST_CLASS2 |\n+\t\t     NFIFOENTRY_DTYPE_ICV |\n+\t\t     NFIFOENTRY_LC2 | 4, NFIFO_SZL, 0, 4, IMMED);\n+\t\tMOVEB(p, MATH0, 0, ALTSOURCE, 0, 4, WAITCOMP | IMMED);\n+\t}\n+\n+\t/* Reset ZUCA mode and done interrupt */\n+\tLOAD(p, CLRW_CLR_C2MODE, CLRW, 0, 4, IMMED);\n+\tLOAD(p, CIRQ_ZADI, ICTRL, 0, 4, IMMED);\n+\n+\treturn 0;\n+}\n+\n static inline int\n pdcp_insert_uplane_aes_aes_op(struct program *p,\n \t\t\t      bool swap __maybe_unused,\n@@ -2877,7 +3001,7 @@ pdcp_insert_uplane_with_int_op(struct program *p,\n \t\t\tpdcp_insert_cplane_enc_only_op,\t/* NULL */\n \t\t\tpdcp_insert_cplane_zuc_snow_op,\t/* SNOW f9 */\n \t\t\tpdcp_insert_cplane_zuc_aes_op,\t/* AES CMAC */\n-\t\t\tpdcp_insert_cplane_acc_op\t/* ZUC-I */\n+\t\t\tpdcp_insert_uplane_zuc_zuc_op\t/* ZUC-I */\n \t\t},\n \t};\n \tint err;\n",
    "prefixes": [
        "13/20"
    ]
}