get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 58389,
    "url": "http://patches.dpdk.org/api/patches/58389/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190902121734.926-13-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-13-akhil.goyal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20190902121734.926-13-akhil.goyal@nxp.com",
    "date": "2019-09-02T12:17:26",
    "name": "[12/20] crypto/dpaa2_sec/hw: Support aes-aes 18-bit PDCP",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "5a3844904e236fbaf7449c5e8f88a71837f29cd0",
    "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-13-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/58389/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/58389/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 AD73F1E938;\n\tMon,  2 Sep 2019 14:32:32 +0200 (CEST)",
            "from inva021.nxp.com (inva021.nxp.com [92.121.34.21])\n\tby dpdk.org (Postfix) with ESMTP id 7F0771D15E\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 617F42006D6;\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 5D3512006CA;\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 95DD8402CB;\n\tMon,  2 Sep 2019 20:32:03 +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:26 +0530",
        "Message-Id": "<20190902121734.926-13-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 12/20] crypto/dpaa2_sec/hw: Support aes-aes\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 AES-AES 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 | 151 +++++++++++++++++++++++-\n 1 file changed, 150 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 764daf21c..a476b8bde 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,155 @@ pdcp_insert_cplane_enc_only_op(struct program *p,\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+\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+\tif ((rta_sec_era >= RTA_SEC_ERA_8 && sn_size != PDCP_SN_SIZE_18)) {\n+\t\t/* Insert Auth Key */\n+\t\tKEY(p, KEY2, authdata->key_enc_flags, authdata->key,\n+\t\t    authdata->keylen, INLINE_KEY(authdata));\n+\n+\t\t/* Insert Cipher Key */\n+\t\tKEY(p, KEY1, cipherdata->key_enc_flags, cipherdata->key,\n+\t\t    cipherdata->keylen, INLINE_KEY(cipherdata));\n+\n+\t\tPROTOCOL(p, dir, OP_PCLID_LTE_PDCP_USER_RN,\n+\t\t\t ((uint16_t)cipherdata->algtype << 8) |\n+\t\t\t  (uint16_t)authdata->algtype);\n+\t\treturn 0;\n+\t}\n+\n+\t/* Non-proto is supported only for 5bit cplane and 18bit uplane */\n+\tswitch (sn_size) {\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+\n+\tdefault:\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+\tMATHB(p, MATH0, AND, sn_mask, MATH1, 8, IFB | IMMED2);\n+\n+\tMATHB(p, MATH1, SHLD, MATH1, MATH1, 8, 0);\n+\tMOVEB(p, DESCBUF, 8, MATH2, 0, 0x08, WAITCOMP | IMMED);\n+\tMATHB(p, MATH1, OR, MATH2, MATH2, 8, 0);\n+\tSEQSTORE(p, MATH0, offset, length, 0);\n+\n+\tif (dir == OP_TYPE_ENCAP_PROTOCOL) {\n+\t\tKEY(p, KEY1, authdata->key_enc_flags, authdata->key,\n+\t\t    authdata->keylen, INLINE_KEY(authdata));\n+\t\tMOVEB(p, MATH2, 0, IFIFOAB1, 0, 0x08, IMMED);\n+\t\tMOVEB(p, MATH0, offset, IFIFOAB1, 0, length, IMMED);\n+\n+\t\tMATHB(p, SEQINSZ, SUB, ZERO, VSEQINSZ, 4, 0);\n+\t\tMATHB(p, VSEQINSZ, ADD, PDCP_MAC_I_LEN, VSEQOUTSZ, 4, IMMED2);\n+\n+\t\tALG_OPERATION(p, OP_ALG_ALGSEL_AES,\n+\t\t\t      OP_ALG_AAI_CMAC,\n+\t\t\t      OP_ALG_AS_INITFINAL,\n+\t\t\t      ICV_CHECK_DISABLE,\n+\t\t\t      DIR_DEC);\n+\t\tSEQFIFOLOAD(p, MSG1, 0, VLF | LAST1 | FLUSH1);\n+\t\tMOVEB(p, CONTEXT1, 0, MATH3, 0, 4, WAITCOMP | IMMED);\n+\n+\t\tLOAD(p, CLRW_RESET_CLS1_CHA |\n+\t\t     CLRW_CLR_C1KEY |\n+\t\t     CLRW_CLR_C1CTX |\n+\t\t     CLRW_CLR_C1ICV |\n+\t\t     CLRW_CLR_C1DATAS |\n+\t\t     CLRW_CLR_C1MODE,\n+\t\t     CLRW, 0, 4, IMMED);\n+\n+\t\tKEY(p, KEY1, cipherdata->key_enc_flags, cipherdata->key,\n+\t\t    cipherdata->keylen, INLINE_KEY(cipherdata));\n+\n+\t\tMOVEB(p, MATH2, 0, CONTEXT1, 16, 8, IMMED);\n+\t\tSEQINPTR(p, 0, PDCP_NULL_MAX_FRAME_LEN, RTO);\n+\n+\t\tALG_OPERATION(p, OP_ALG_ALGSEL_AES,\n+\t\t\t      OP_ALG_AAI_CTR,\n+\t\t\t      OP_ALG_AS_INITFINAL,\n+\t\t\t      ICV_CHECK_DISABLE,\n+\t\t\t      DIR_ENC);\n+\n+\t\tSEQFIFOSTORE(p, MSG, 0, 0, VLF);\n+\n+\t\tSEQFIFOLOAD(p, SKIP, length, 0);\n+\n+\t\tSEQFIFOLOAD(p, MSG1, 0, VLF);\n+\t\tMOVEB(p, MATH3, 0, IFIFOAB1, 0, 4, LAST1 | FLUSH1 | IMMED);\n+\t} else {\n+\t\tMOVEB(p, MATH2, 0, CONTEXT1, 16, 8, IMMED);\n+\t\tMOVEB(p, MATH2, 0, CONTEXT2, 0, 8, IMMED);\n+\n+\t\tMATHB(p, SEQINSZ, SUB, ZERO, VSEQINSZ, 4, 0);\n+\t\tMATHB(p, SEQINSZ, SUB, PDCP_MAC_I_LEN, VSEQOUTSZ, 4, IMMED2);\n+\n+\t\tKEY(p, KEY1, cipherdata->key_enc_flags, cipherdata->key,\n+\t\t    cipherdata->keylen, INLINE_KEY(cipherdata));\n+\n+\t\tALG_OPERATION(p, OP_ALG_ALGSEL_AES,\n+\t\t\t      OP_ALG_AAI_CTR,\n+\t\t\t      OP_ALG_AS_INITFINAL,\n+\t\t\t      ICV_CHECK_DISABLE,\n+\t\t\t      DIR_DEC);\n+\n+\t\tSEQFIFOSTORE(p, MSG, 0, 0, VLF | CONT);\n+\t\tSEQFIFOLOAD(p, MSG1, 0, VLF | LAST1 | FLUSH1);\n+\n+\t\tMOVEB(p, OFIFO, 0, MATH3, 0, 4, IMMED);\n+\n+\t\tLOAD(p, CLRW_RESET_CLS1_CHA |\n+\t\t     CLRW_CLR_C1KEY |\n+\t\t     CLRW_CLR_C1CTX |\n+\t\t     CLRW_CLR_C1ICV |\n+\t\t     CLRW_CLR_C1DATAS |\n+\t\t     CLRW_CLR_C1MODE,\n+\t\t     CLRW, 0, 4, IMMED);\n+\n+\t\tKEY(p, KEY1, authdata->key_enc_flags, authdata->key,\n+\t\t    authdata->keylen, INLINE_KEY(authdata));\n+\n+\t\tSEQINPTR(p, 0, 0, SOP);\n+\n+\t\tALG_OPERATION(p, OP_ALG_ALGSEL_AES,\n+\t\t\t      OP_ALG_AAI_CMAC,\n+\t\t\t      OP_ALG_AS_INITFINAL,\n+\t\t\t      ICV_CHECK_ENABLE,\n+\t\t\t      DIR_DEC);\n+\n+\t\tMATHB(p, SEQINSZ, SUB, ZERO, VSEQINSZ, 4, 0);\n+\n+\t\tMOVE(p, CONTEXT2, 0, IFIFOAB1, 0, 8, IMMED);\n+\n+\t\tSEQFIFOLOAD(p, MSG1, 0, VLF | LAST1 | FLUSH1);\n+\n+\t\tLOAD(p, NFIFOENTRY_STYPE_ALTSOURCE |\n+\t\t     NFIFOENTRY_DEST_CLASS1 |\n+\t\t     NFIFOENTRY_DTYPE_ICV |\n+\t\t     NFIFOENTRY_LC1 |\n+\t\t     NFIFOENTRY_FC1 | 4, NFIFO_SZL, 0, 4, IMMED);\n+\t\tMOVEB(p, MATH3, 0, ALTSOURCE, 0, 4, IMMED);\n+\t}\n+\n+\treturn 0;\n+}\n+\n static inline int\n pdcp_insert_cplane_acc_op(struct program *p,\n \t\t\t  bool swap __maybe_unused,\n@@ -2721,7 +2870,7 @@ pdcp_insert_uplane_with_int_op(struct program *p,\n \t\t{\t/* AES CTR */\n \t\t\tpdcp_insert_cplane_enc_only_op,\t/* NULL */\n \t\t\tpdcp_insert_cplane_aes_snow_op,\t/* SNOW f9 */\n-\t\t\tpdcp_insert_cplane_acc_op,\t/* AES CMAC */\n+\t\t\tpdcp_insert_uplane_aes_aes_op,\t/* AES CMAC */\n \t\t\tpdcp_insert_cplane_aes_zuc_op\t/* ZUC-I */\n \t\t},\n \t\t{\t/* ZUC-E */\n",
    "prefixes": [
        "12/20"
    ]
}