Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/58393/?format=api
http://patches.dpdk.org/api/patches/58393/?format=api", "web_url": "http://patches.dpdk.org/project/dpdk/patch/20190902121734.926-15-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-15-akhil.goyal@nxp.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20190902121734.926-15-akhil.goyal@nxp.com", "date": "2019-09-02T12:17:28", "name": "[14/20] crypto/dpaa2_sec/hw: Support snow-snow 18-bit PDCP", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "d08680f4c32d63b8c84bbddd1c842e2391bb20bf", "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-15-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/58393/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/58393/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 490461E991;\n\tMon, 2 Sep 2019 14:32:43 +0200 (CEST)", "from inva021.nxp.com (inva021.nxp.com [92.121.34.21])\n\tby dpdk.org (Postfix) with ESMTP id 431B41D155\n\tfor <dev@dpdk.org>; Mon, 2 Sep 2019 14:32:09 +0200 (CEST)", "from inva021.nxp.com (localhost [127.0.0.1])\n\tby inva021.eu-rdc02.nxp.com (Postfix) with ESMTP id 249C72006CB;\n\tMon, 2 Sep 2019 14:32:09 +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 1F8F72006D5;\n\tMon, 2 Sep 2019 14:32:07 +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 C89864030C;\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:28 +0530", "Message-Id": "<20190902121734.926-15-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 14/20] crypto/dpaa2_sec/hw: Support snow-snow\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 SNOW-SNOW (enc-auth) 18bit PDCP case\nfor devices which do not support PROTOCOL command\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 | 133 +++++++++++++++++++++++-\n 1 file changed, 132 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 9fb3d4993..b514914ec 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,137 @@ pdcp_insert_cplane_enc_only_op(struct program *p,\n \treturn 0;\n }\n \n+static inline int\n+pdcp_insert_uplane_snow_snow_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+\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+\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+\tif (dir == OP_TYPE_ENCAP_PROTOCOL)\n+\t\tMATHB(p, SEQINSZ, SUB, length, VSEQINSZ, 4, IMMED2);\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+\n+\tSEQSTORE(p, MATH0, offset, length, 0);\n+\tMATHB(p, MATH1, SHLD, MATH1, MATH1, 8, 0);\n+\tMOVEB(p, DESCBUF, 8, MATH2, 0, 8, WAITCOMP | IMMED);\n+\tMATHB(p, MATH1, OR, MATH2, MATH1, 8, 0);\n+\tMOVEB(p, MATH1, 0, CONTEXT1, 0, 8, IMMED);\n+\tMOVEB(p, MATH1, 0, CONTEXT2, 0, 4, WAITCOMP | IMMED);\n+\tif (swap == false) {\n+\t\tMATHB(p, MATH1, AND, upper_32_bits(PDCP_BEARER_MASK),\n+\t\t MATH2, 4, IMMED2);\n+\t\tMATHB(p, MATH1, AND, lower_32_bits(PDCP_DIR_MASK),\n+\t\t MATH3, 4, IMMED2);\n+\t} else {\n+\t\tMATHB(p, MATH1, AND, lower_32_bits(PDCP_BEARER_MASK_BE),\n+\t\t MATH2, 4, IMMED2);\n+\t\tMATHB(p, MATH1, AND, upper_32_bits(PDCP_DIR_MASK_BE),\n+\t\t MATH3, 4, IMMED2);\n+\t}\n+\tMATHB(p, MATH3, SHLD, MATH3, MATH3, 8, 0);\n+\n+\tMOVEB(p, MATH2, 4, OFIFO, 0, 12, IMMED);\n+\tMOVE(p, OFIFO, 0, CONTEXT2, 4, 12, IMMED);\n+\tif (dir == OP_TYPE_ENCAP_PROTOCOL) {\n+\t\tMATHB(p, SEQINSZ, ADD, PDCP_MAC_I_LEN, VSEQOUTSZ, 4, IMMED2);\n+\t} else {\n+\t\tMATHI(p, SEQINSZ, SUB, PDCP_MAC_I_LEN, VSEQOUTSZ, 4, IMMED2);\n+\t\tMATHI(p, SEQINSZ, SUB, PDCP_MAC_I_LEN, VSEQINSZ, 4, IMMED2);\n+\t}\n+\n+\tif (dir == OP_TYPE_ENCAP_PROTOCOL)\n+\t\tSEQFIFOSTORE(p, MSG, 0, 0, VLF);\n+\telse\n+\t\tSEQFIFOSTORE(p, MSG, 0, 0, VLF | CONT);\n+\n+\tALG_OPERATION(p, OP_ALG_ALGSEL_SNOW_F9,\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_DEC);\n+\tALG_OPERATION(p, OP_ALG_ALGSEL_SNOW_F8,\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\tSEQFIFOLOAD(p, MSGINSNOOP, 0, VLF | LAST2);\n+\t\tMOVE(p, CONTEXT2, 0, IFIFOAB1, 0, 4, LAST1 | FLUSH1 | IMMED);\n+\t} else {\n+\t\tSEQFIFOLOAD(p, MSGOUTSNOOP, 0, VLF | LAST2);\n+\t\tSEQFIFOLOAD(p, MSG1, 4, LAST1 | FLUSH1);\n+\t\tJUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CLASS1 | NOP | NIFP);\n+\n+\t\tif (rta_sec_era >= RTA_SEC_ERA_6)\n+\t\t\tLOAD(p, 0, DCTRL, 0, LDLEN_RST_CHA_OFIFO_PTR, IMMED);\n+\n+\t\tMOVE(p, OFIFO, 0, MATH0, 0, 4, WAITCOMP | IMMED);\n+\n+\t\tNFIFOADD(p, IFIFO, ICV2, 4, LAST2);\n+\n+\t\tif (rta_sec_era <= RTA_SEC_ERA_2) {\n+\t\t\t/* Shut off automatic Info FIFO entries */\n+\t\t\tLOAD(p, 0, DCTRL, LDOFF_DISABLE_AUTO_NFIFO, 0, IMMED);\n+\t\t\tMOVE(p, MATH0, 0, IFIFOAB2, 0, 4, WAITCOMP | IMMED);\n+\t\t} else {\n+\t\t\tMOVE(p, MATH0, 0, IFIFO, 0, 4, WAITCOMP | IMMED);\n+\t\t}\n+\t}\n+\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@@ -2987,7 +3118,7 @@ pdcp_insert_uplane_with_int_op(struct program *p,\n \t\t},\n \t\t{\t/* SNOW f8 */\n \t\t\tpdcp_insert_cplane_enc_only_op,\t/* NULL */\n-\t\t\tpdcp_insert_cplane_acc_op,\t/* SNOW f9 */\n+\t\t\tpdcp_insert_uplane_snow_snow_op, /* SNOW f9 */\n \t\t\tpdcp_insert_cplane_snow_aes_op,\t/* AES CMAC */\n \t\t\tpdcp_insert_cplane_snow_zuc_op\t/* ZUC-I */\n \t\t},\n", "prefixes": [ "14/20" ] }{ "id": 58393, "url": "