get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 60978,
    "url": "http://patchwork.dpdk.org/api/patches/60978/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20191011163233.31017-5-hemant.agrawal@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<20191011163233.31017-5-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20191011163233.31017-5-hemant.agrawal@nxp.com",
    "date": "2019-10-11T16:32:27",
    "name": "[04/10] crypto/dpaa2_sec: enhance gcm descs to not skip aadt",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "690132e6d06dac460660cfea11af9fc34e28fbfa",
    "submitter": {
        "id": 477,
        "url": "http://patchwork.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patchwork.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20191011163233.31017-5-hemant.agrawal@nxp.com/mbox/",
    "series": [
        {
            "id": 6807,
            "url": "http://patchwork.dpdk.org/api/series/6807/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=6807",
            "date": "2019-10-11T16:32:23",
            "name": "NXP DPAAx crypto fixes",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/6807/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/60978/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/60978/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 C15591EB51;\n\tFri, 11 Oct 2019 18:35:22 +0200 (CEST)",
            "from inva020.nxp.com (inva020.nxp.com [92.121.34.13])\n\tby dpdk.org (Postfix) with ESMTP id BB3071EB45\n\tfor <dev@dpdk.org>; Fri, 11 Oct 2019 18:35:14 +0200 (CEST)",
            "from inva020.nxp.com (localhost [127.0.0.1])\n\tby inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 7C8BF1A058E;\n\tFri, 11 Oct 2019 18:35:14 +0200 (CEST)",
            "from invc005.ap-rdc01.nxp.com (invc005.ap-rdc01.nxp.com\n\t[165.114.16.14])\n\tby inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 67BB91A056F;\n\tFri, 11 Oct 2019 18:35:12 +0200 (CEST)",
            "from bf-netperf1.ap.freescale.net (bf-netperf1.ap.freescale.net\n\t[10.232.133.63])\n\tby invc005.ap-rdc01.nxp.com (Postfix) with ESMTP id CFDE1402FF;\n\tSat, 12 Oct 2019 00:35:09 +0800 (SGT)"
        ],
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "dev@dpdk.org",
        "Cc": "akhil.goyal@nxp.com,\n\tVakul Garg <vakul.garg@nxp.com>",
        "Date": "Fri, 11 Oct 2019 22:02:27 +0530",
        "Message-Id": "<20191011163233.31017-5-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20191011163233.31017-1-hemant.agrawal@nxp.com>",
        "References": "<20191011163233.31017-1-hemant.agrawal@nxp.com>",
        "X-Virus-Scanned": "ClamAV using ClamSMTP",
        "Subject": "[dpdk-dev] [PATCH 04/10] crypto/dpaa2_sec: enhance gcm descs to not\n\tskip aadt",
        "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\nThe GCM descriptors needlessly skip auth_only_len bytes from output\nbuffer. Due to this, workarounds have to be made in dpseci driver code.\nAlso this leads to failing of one cryptodev test case for gcm. In this\npatch, we change the descriptor construction and adjust dpseci driver\naccordingly. The test_AES_GCM_auth_encrypt_SGL_out_of_place_400B_1seg\nnow passes.\n\nSigned-off-by: Vakul Garg <vakul.garg@nxp.com>\n---\n drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 25 ++++++++-------------\n drivers/crypto/dpaa2_sec/hw/desc/algo.h     | 10 ---------\n drivers/crypto/dpaa_sec/dpaa_sec.c          | 14 +++++-------\n 3 files changed, 15 insertions(+), 34 deletions(-)",
    "diff": "diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c\nindex 14f0c523c..8803e8d3c 100644\n--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c\n+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c\n@@ -350,14 +350,13 @@ build_authenc_gcm_sg_fd(dpaa2_sec_session *sess,\n \t\tDPAA2_SET_FLE_INTERNAL_JD(op_fle, auth_only_len);\n \n \top_fle->length = (sess->dir == DIR_ENC) ?\n-\t\t\t(sym_op->aead.data.length + icv_len + auth_only_len) :\n-\t\t\tsym_op->aead.data.length + auth_only_len;\n+\t\t\t(sym_op->aead.data.length + icv_len) :\n+\t\t\tsym_op->aead.data.length;\n \n \t/* Configure Output SGE for Encap/Decap */\n \tDPAA2_SET_FLE_ADDR(sge, DPAA2_MBUF_VADDR_TO_IOVA(mbuf));\n-\tDPAA2_SET_FLE_OFFSET(sge, mbuf->data_off +\n-\t\t\tRTE_ALIGN_CEIL(auth_only_len, 16) - auth_only_len);\n-\tsge->length = mbuf->data_len - sym_op->aead.data.offset + auth_only_len;\n+\tDPAA2_SET_FLE_OFFSET(sge, mbuf->data_off + sym_op->aead.data.offset);\n+\tsge->length = mbuf->data_len - sym_op->aead.data.offset;\n \n \tmbuf = mbuf->next;\n \t/* o/p segs */\n@@ -510,24 +509,21 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,\n \tif (auth_only_len)\n \t\tDPAA2_SET_FLE_INTERNAL_JD(fle, auth_only_len);\n \tfle->length = (sess->dir == DIR_ENC) ?\n-\t\t\t(sym_op->aead.data.length + icv_len + auth_only_len) :\n-\t\t\tsym_op->aead.data.length + auth_only_len;\n+\t\t\t(sym_op->aead.data.length + icv_len) :\n+\t\t\tsym_op->aead.data.length;\n \n \tDPAA2_SET_FLE_SG_EXT(fle);\n \n \t/* Configure Output SGE for Encap/Decap */\n \tDPAA2_SET_FLE_ADDR(sge, DPAA2_MBUF_VADDR_TO_IOVA(dst));\n-\tDPAA2_SET_FLE_OFFSET(sge, dst->data_off +\n-\t\t\tRTE_ALIGN_CEIL(auth_only_len, 16) - auth_only_len);\n-\tsge->length = sym_op->aead.data.length + auth_only_len;\n+\tDPAA2_SET_FLE_OFFSET(sge, dst->data_off + sym_op->aead.data.offset);\n+\tsge->length = sym_op->aead.data.length;\n \n \tif (sess->dir == DIR_ENC) {\n \t\tsge++;\n \t\tDPAA2_SET_FLE_ADDR(sge,\n \t\t\t\tDPAA2_VADDR_TO_IOVA(sym_op->aead.digest.data));\n \t\tsge->length = sess->digest_length;\n-\t\tDPAA2_SET_FD_LEN(fd, (sym_op->aead.data.length +\n-\t\t\t\t\tsess->iv.length + auth_only_len));\n \t}\n \tDPAA2_SET_FLE_FIN(sge);\n \n@@ -566,10 +562,6 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,\n \t\t       sess->digest_length);\n \t\tDPAA2_SET_FLE_ADDR(sge, DPAA2_VADDR_TO_IOVA(old_icv));\n \t\tsge->length = sess->digest_length;\n-\t\tDPAA2_SET_FD_LEN(fd, (sym_op->aead.data.length +\n-\t\t\t\t sess->digest_length +\n-\t\t\t\t sess->iv.length +\n-\t\t\t\t auth_only_len));\n \t}\n \tDPAA2_SET_FLE_FIN(sge);\n \n@@ -578,6 +570,7 @@ build_authenc_gcm_fd(dpaa2_sec_session *sess,\n \t\tDPAA2_SET_FD_INTERNAL_JD(fd, auth_only_len);\n \t}\n \n+\tDPAA2_SET_FD_LEN(fd, fle->length);\n \treturn 0;\n }\n \ndiff --git a/drivers/crypto/dpaa2_sec/hw/desc/algo.h b/drivers/crypto/dpaa2_sec/hw/desc/algo.h\nindex 32ce787fa..c41cb2292 100644\n--- a/drivers/crypto/dpaa2_sec/hw/desc/algo.h\n+++ b/drivers/crypto/dpaa2_sec/hw/desc/algo.h\n@@ -649,11 +649,6 @@ cnstr_shdsc_gcm_encap(uint32_t *descbuf, bool ps, bool swap,\n \tMATHB(p, ZERO, ADD, MATH3, VSEQINSZ, 4, 0);\n \tpzeroassocjump1 = JUMP(p, zeroassocjump1, LOCAL_JUMP, ALL_TRUE, MATH_Z);\n \n-\tMATHB(p, ZERO, ADD, MATH3, VSEQOUTSZ, 4, 0);\n-\n-\t/* skip assoc data */\n-\tSEQFIFOSTORE(p, SKIP, 0, 0, VLF);\n-\n \t/* cryptlen = seqinlen - assoclen */\n \tMATHB(p, SEQINSZ, SUB, MATH3, VSEQOUTSZ, 4, 0);\n \n@@ -756,11 +751,6 @@ cnstr_shdsc_gcm_decap(uint32_t *descbuf, bool ps, bool swap,\n \tMATHB(p, ZERO, ADD, MATH3, VSEQINSZ, 4, 0);\n \tpzeroassocjump1 = JUMP(p, zeroassocjump1, LOCAL_JUMP, ALL_TRUE, MATH_Z);\n \n-\tMATHB(p, ZERO, ADD, MATH3, VSEQOUTSZ, 4, 0);\n-\n-\t/* skip assoc data */\n-\tSEQFIFOSTORE(p, SKIP, 0, 0, VLF);\n-\n \t/* read assoc data */\n \tSEQFIFOLOAD(p, AAD1, 0, CLASS1 | VLF | FLUSH1);\n \ndiff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c\nindex e89cbcefb..c1c6c054a 100644\n--- a/drivers/crypto/dpaa_sec/dpaa_sec.c\n+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c\n@@ -1180,10 +1180,9 @@ build_cipher_auth_gcm_sg(struct rte_crypto_op *op, dpaa_sec_session *ses)\n \tout_sg = &cf->sg[0];\n \tout_sg->extension = 1;\n \tif (is_encode(ses))\n-\t\tout_sg->length = sym->aead.data.length + ses->auth_only_len\n-\t\t\t\t\t\t+ ses->digest_length;\n+\t\tout_sg->length = sym->aead.data.length + ses->digest_length;\n \telse\n-\t\tout_sg->length = sym->aead.data.length + ses->auth_only_len;\n+\t\tout_sg->length = sym->aead.data.length;\n \n \t/* output sg entries */\n \tsg = &cf->sg[2];\n@@ -1192,9 +1191,8 @@ build_cipher_auth_gcm_sg(struct rte_crypto_op *op, dpaa_sec_session *ses)\n \n \t/* 1st seg */\n \tqm_sg_entry_set64(sg, rte_pktmbuf_mtophys(mbuf));\n-\tsg->length = mbuf->data_len - sym->aead.data.offset +\n-\t\t\t\t\tses->auth_only_len;\n-\tsg->offset = sym->aead.data.offset - ses->auth_only_len;\n+\tsg->length = mbuf->data_len - sym->aead.data.offset;\n+\tsg->offset = sym->aead.data.offset;\n \n \t/* Successive segs */\n \tmbuf = mbuf->next;\n@@ -1367,8 +1365,8 @@ build_cipher_auth_gcm(struct rte_crypto_op *op, dpaa_sec_session *ses)\n \tsg++;\n \tqm_sg_entry_set64(&cf->sg[0], dpaa_mem_vtop(sg));\n \tqm_sg_entry_set64(sg,\n-\t\tdst_start_addr + sym->aead.data.offset - ses->auth_only_len);\n-\tsg->length = sym->aead.data.length + ses->auth_only_len;\n+\t\tdst_start_addr + sym->aead.data.offset);\n+\tsg->length = sym->aead.data.length;\n \tlength = sg->length;\n \tif (is_encode(ses)) {\n \t\tcpu_to_hw_sg(sg);\n",
    "prefixes": [
        "04/10"
    ]
}