get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 131525,
    "url": "http://patches.dpdk.org/api/patches/131525/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20230918021130.192982-10-simei.su@intel.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": "<20230918021130.192982-10-simei.su@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230918021130.192982-10-simei.su@intel.com",
    "date": "2023-09-18T02:11:21",
    "name": "[v4,09/18] common/idpf/base: define non-flexible size structure for ADI",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "293eaac2ed204c00d08778f0736da72816c942cb",
    "submitter": {
        "id": 1298,
        "url": "http://patches.dpdk.org/api/people/1298/?format=api",
        "name": "Simei Su",
        "email": "simei.su@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "http://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20230918021130.192982-10-simei.su@intel.com/mbox/",
    "series": [
        {
            "id": 29530,
            "url": "http://patches.dpdk.org/api/series/29530/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=29530",
            "date": "2023-09-18T02:11:12",
            "name": "update idpf base code",
            "version": 4,
            "mbox": "http://patches.dpdk.org/series/29530/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/131525/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/131525/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 869FC425C9;\n\tMon, 18 Sep 2023 04:12:47 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 867F040689;\n\tMon, 18 Sep 2023 04:12:35 +0200 (CEST)",
            "from mgamail.intel.com (mgamail.intel.com [192.55.52.151])\n by mails.dpdk.org (Postfix) with ESMTP id AC61F40A6B\n for <dev@dpdk.org>; Mon, 18 Sep 2023 04:12:31 +0200 (CEST)",
            "from fmsmga004.fm.intel.com ([10.253.24.48])\n by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 17 Sep 2023 19:11:28 -0700",
            "from dpdk-simei-icelake.sh.intel.com ([10.67.110.167])\n by fmsmga004.fm.intel.com with ESMTP; 17 Sep 2023 19:11:25 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1695003153; x=1726539153;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=dW/2Z3zQ1LOEu5h0YIAcmJcAzcxExjqI9cwTXi97JdY=;\n b=GM1rV4eaoe5O/p3hmiXQno1aRUyMIQErND2ouoZyuxcenubvWxmMdAA0\n O2VAsfgRli+vR43V2nWeL5RRKQAInQsTbsDK9mULY8pV47ne6yjw0sEfq\n iL3SsWIFxS6dI10BeyjUUFgbctPCutlcktUnJKTuiTg2UsJ/Eke77dh27\n TFX5cpNmRQHLD1cHS9mdD+Y8iz41POaKiq/al6sLAlsxVJcp9Onwqk9tI\n s6Xdhsg606ZgeYPo3jSXZwSP/oizrYEobcAdL6vIDU2isSN0IV83dTbPj\n k/cWrhIhFe8Enf4Dr/Tf/9R81aHR095zbLyFZrac0OzqgTROtzBdQSONG A==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10836\"; a=\"359801710\"",
            "E=Sophos;i=\"6.02,155,1688454000\"; d=\"scan'208\";a=\"359801710\"",
            "E=McAfee;i=\"6600,9927,10836\"; a=\"815846916\"",
            "E=Sophos;i=\"6.02,155,1688454000\"; d=\"scan'208\";a=\"815846916\""
        ],
        "X-ExtLoop1": "1",
        "From": "Simei Su <simei.su@intel.com>",
        "To": "jingjing.wu@intel.com,\n\tbeilei.xing@intel.com,\n\tqi.z.zhang@intel.com",
        "Cc": "dev@dpdk.org, wenjun1.wu@intel.com, mingxia.liu@intel.com,\n wenjing.qiao@intel.com, Simei Su <simei.su@intel.com>,\n Shailendra Bhatnagar <shailendra.bhatnagar@intel.com>",
        "Subject": "[PATCH v4 09/18] common/idpf/base: define non-flexible size structure\n for ADI",
        "Date": "Mon, 18 Sep 2023 10:11:21 +0800",
        "Message-Id": "<20230918021130.192982-10-simei.su@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20230918021130.192982-1-simei.su@intel.com>",
        "References": "<20230915021730.2681882-1-simei.su@intel.com>\n <20230918021130.192982-1-simei.su@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "Customer has a requirement to use the legacy fixed size, single chunk\nstructure for ADI creation - one chunk for queue and one chunk for vector.\nThis is described in detail in customer case\nhttps://issuetracker.google.com/issues/270157802.\n\nOn the other hand, upstream code review patch has been posted with\nflex-array definitions. To accommodate the old style, the single chunk\nstructures are being renamed so that merger of upstream patches with\ncurrent code does not impact the existing workflows of the customer.\n\na) Define virtchnl2_non_flex_queue_reg_chunks with a single chunk in it.\nb) Define virtchnl2_non_flex_vector_chunks with a single chunk in it.\nc) Rename and modify virtchnl2_create_adi to use the above 2 new structs.\nNew structure is virtchnl2_non_flex_create_adi.\n\nSigned-off-by: Shailendra Bhatnagar <shailendra.bhatnagar@intel.com>\nSigned-off-by: Simei Su <simei.su@intel.com>\nAcked-by: Beilei Xing <beilei.xing@intel.com>\n---\n drivers/common/idpf/base/virtchnl2.h | 66 ++++++++++++++++++----------\n 1 file changed, 43 insertions(+), 23 deletions(-)",
    "diff": "diff --git a/drivers/common/idpf/base/virtchnl2.h b/drivers/common/idpf/base/virtchnl2.h\nindex 7a099f5148..a19bb193c9 100644\n--- a/drivers/common/idpf/base/virtchnl2.h\n+++ b/drivers/common/idpf/base/virtchnl2.h\n@@ -89,8 +89,8 @@\n \t * VIRTCHNL2_OP_GET_PTYPE_INFO_RAW\n \t */\n \t/* opcodes 529, 530, and 531 are reserved */\n-#define\t\tVIRTCHNL2_OP_CREATE_ADI\t\t\t532\n-#define\t\tVIRTCHNL2_OP_DESTROY_ADI\t\t533\n+#define\t\tVIRTCHNL2_OP_NON_FLEX_CREATE_ADI\t532\n+#define\t\tVIRTCHNL2_OP_NON_FLEX_DESTROY_ADI\t533\n #define\t\tVIRTCHNL2_OP_LOOPBACK\t\t\t534\n #define\t\tVIRTCHNL2_OP_ADD_MAC_ADDR\t\t535\n #define\t\tVIRTCHNL2_OP_DEL_MAC_ADDR\t\t536\n@@ -1061,14 +1061,34 @@ struct virtchnl2_sriov_vfs_info {\n \n VIRTCHNL2_CHECK_STRUCT_LEN(4, virtchnl2_sriov_vfs_info);\n \n-/* VIRTCHNL2_OP_CREATE_ADI\n+/* structure to specify single chunk of queue */\n+/* 'chunks' is fixed size(not flexible) and will be deprecated at some point */\n+struct virtchnl2_non_flex_queue_reg_chunks {\n+\t__le16 num_chunks;\n+\tu8 reserved[6];\n+\tstruct virtchnl2_queue_reg_chunk chunks[1];\n+};\n+\n+VIRTCHNL2_CHECK_STRUCT_LEN(40, virtchnl2_non_flex_queue_reg_chunks);\n+\n+/* structure to specify single chunk of interrupt vector */\n+/* 'vchunks' is fixed size(not flexible) and will be deprecated at some point */\n+struct virtchnl2_non_flex_vector_chunks {\n+\t__le16 num_vchunks;\n+\tu8 reserved[14];\n+\tstruct virtchnl2_vector_chunk vchunks[1];\n+};\n+\n+VIRTCHNL2_CHECK_STRUCT_LEN(48, virtchnl2_non_flex_vector_chunks);\n+\n+/* VIRTCHNL2_OP_NON_FLEX_CREATE_ADI\n  * PF sends this message to CP to create ADI by filling in required\n- * fields of virtchnl2_create_adi structure.\n- * CP responds with the updated virtchnl2_create_adi structure containing the\n- * necessary fields followed by chunks which in turn will have an array of\n+ * fields of virtchnl2_non_flex_create_adi structure.\n+ * CP responds with the updated virtchnl2_non_flex_create_adi structure containing\n+ * the necessary fields followed by chunks which in turn will have an array of\n  * num_chunks entries of virtchnl2_queue_chunk structures.\n  */\n-struct virtchnl2_create_adi {\n+struct virtchnl2_non_flex_create_adi {\n \t/* PF sends PASID to CP */\n \t__le32 pasid;\n \t/*\n@@ -1085,24 +1105,24 @@ struct virtchnl2_create_adi {\n \tu8 reserved[64];\n \tu8 pad[4];\n \t/* CP populates queue chunks */\n-\tstruct virtchnl2_queue_reg_chunks chunks;\n+\tstruct virtchnl2_non_flex_queue_reg_chunks chunks;\n \t/* PF sends vector chunks to CP */\n-\tstruct virtchnl2_vector_chunks vchunks;\n+\tstruct virtchnl2_non_flex_vector_chunks vchunks;\n };\n \n-VIRTCHNL2_CHECK_STRUCT_LEN(168, virtchnl2_create_adi);\n+VIRTCHNL2_CHECK_STRUCT_LEN(168, virtchnl2_non_flex_create_adi);\n \n-/* VIRTCHNL2_OP_DESTROY_ADI\n+/* VIRTCHNL2_OP_NON_FLEX_DESTROY_ADI\n  * PF sends this message to CP to destroy ADI by filling\n  * in the adi_id in virtchnl2_destropy_adi structure.\n  * CP responds with the status of the requested operation.\n  */\n-struct virtchnl2_destroy_adi {\n+struct virtchnl2_non_flex_destroy_adi {\n \t__le16 adi_id;\n \tu8 reserved[2];\n };\n \n-VIRTCHNL2_CHECK_STRUCT_LEN(4, virtchnl2_destroy_adi);\n+VIRTCHNL2_CHECK_STRUCT_LEN(4, virtchnl2_non_flex_destroy_adi);\n \n /* Based on the descriptor type the PF supports, CP fills ptype_id_10 or\n  * ptype_id_8 for flex and base descriptor respectively. If ptype_id_10 value\n@@ -1566,10 +1586,10 @@ static inline const char *virtchnl2_op_str(__le32 v_opcode)\n \t\treturn \"VIRTCHNL2_OP_EVENT\";\n \tcase VIRTCHNL2_OP_RESET_VF:\n \t\treturn \"VIRTCHNL2_OP_RESET_VF\";\n-\tcase VIRTCHNL2_OP_CREATE_ADI:\n-\t\treturn \"VIRTCHNL2_OP_CREATE_ADI\";\n-\tcase VIRTCHNL2_OP_DESTROY_ADI:\n-\t\treturn \"VIRTCHNL2_OP_DESTROY_ADI\";\n+\tcase VIRTCHNL2_OP_NON_FLEX_CREATE_ADI:\n+\t\treturn \"VIRTCHNL2_OP_NON_FLEX_CREATE_ADI\";\n+\tcase VIRTCHNL2_OP_NON_FLEX_DESTROY_ADI:\n+\t\treturn \"VIRTCHNL2_OP_NON_FLEX_DESTROY_ADI\";\n \tcase VIRTCHNL2_OP_ADD_QUEUE_GROUPS:\n \t\treturn \"VIRTCHNL2_OP_ADD_QUEUE_GROUPS\";\n \tcase VIRTCHNL2_OP_DEL_QUEUE_GROUPS:\n@@ -1624,11 +1644,11 @@ virtchnl2_vc_validate_vf_msg(__rte_unused struct virtchnl2_version_info *ver, u3\n \t\t\t\t      sizeof(struct virtchnl2_queue_reg_chunk);\n \t\t}\n \t\tbreak;\n-\tcase VIRTCHNL2_OP_CREATE_ADI:\n-\t\tvalid_len = sizeof(struct virtchnl2_create_adi);\n+\tcase VIRTCHNL2_OP_NON_FLEX_CREATE_ADI:\n+\t\tvalid_len = sizeof(struct virtchnl2_non_flex_create_adi);\n \t\tif (msglen >= valid_len) {\n-\t\t\tstruct virtchnl2_create_adi *cadi =\n-\t\t\t\t(struct virtchnl2_create_adi *)msg;\n+\t\t\tstruct virtchnl2_non_flex_create_adi *cadi =\n+\t\t\t\t(struct virtchnl2_non_flex_create_adi *)msg;\n \n \t\t\tif (cadi->chunks.num_chunks == 0) {\n \t\t\t\t/* zero chunks is allowed as input */\n@@ -1645,8 +1665,8 @@ virtchnl2_vc_validate_vf_msg(__rte_unused struct virtchnl2_version_info *ver, u3\n \t\t\t\t      sizeof(struct virtchnl2_vector_chunk);\n \t\t}\n \t\tbreak;\n-\tcase VIRTCHNL2_OP_DESTROY_ADI:\n-\t\tvalid_len = sizeof(struct virtchnl2_destroy_adi);\n+\tcase VIRTCHNL2_OP_NON_FLEX_DESTROY_ADI:\n+\t\tvalid_len = sizeof(struct virtchnl2_non_flex_destroy_adi);\n \t\tbreak;\n \tcase VIRTCHNL2_OP_DESTROY_VPORT:\n \tcase VIRTCHNL2_OP_ENABLE_VPORT:\n",
    "prefixes": [
        "v4",
        "09/18"
    ]
}