get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 8313,
    "url": "http://patches.dpdk.org/api/patches/8313/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1446182873-28814-6-git-send-email-cunming.liang@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": "<1446182873-28814-6-git-send-email-cunming.liang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1446182873-28814-6-git-send-email-cunming.liang@intel.com",
    "date": "2015-10-30T05:27:47",
    "name": "[dpdk-dev,v2,05/11] eal/linux: add intr api to report multi-vector capability",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "b29de1528ec4af37edb985a07fc27ca8e59115a0",
    "submitter": {
        "id": 46,
        "url": "http://patches.dpdk.org/api/people/46/?format=api",
        "name": "Cunming Liang",
        "email": "cunming.liang@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1446182873-28814-6-git-send-email-cunming.liang@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/8313/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/8313/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 5AF488E76;\n\tFri, 30 Oct 2015 06:28:20 +0100 (CET)",
            "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby dpdk.org (Postfix) with ESMTP id 539A08E6F\n\tfor <dev@dpdk.org>; Fri, 30 Oct 2015 06:28:16 +0100 (CET)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga102.fm.intel.com with ESMTP; 29 Oct 2015 22:28:16 -0700",
            "from shvmail01.sh.intel.com ([10.239.29.42])\n\tby orsmga002.jf.intel.com with ESMTP; 29 Oct 2015 22:28:13 -0700",
            "from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com\n\t[10.239.29.89])\n\tby shvmail01.sh.intel.com with ESMTP id t9U5SBXC023334;\n\tFri, 30 Oct 2015 13:28:11 +0800",
            "from shecgisg004.sh.intel.com (localhost [127.0.0.1])\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP\n\tid t9U5S79S028898; Fri, 30 Oct 2015 13:28:09 +0800",
            "(from cliang18@localhost)\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t9U5S7P5028894; \n\tFri, 30 Oct 2015 13:28:07 +0800"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.20,217,1444719600\"; d=\"scan'208\";a=\"838585730\"",
        "From": "Cunming Liang <cunming.liang@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Fri, 30 Oct 2015 13:27:47 +0800",
        "Message-Id": "<1446182873-28814-6-git-send-email-cunming.liang@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "In-Reply-To": "<1446182873-28814-1-git-send-email-cunming.liang@intel.com>",
        "References": "<1443072831-19065-1-git-send-email-cunming.liang@intel.com>\n\t<1446182873-28814-1-git-send-email-cunming.liang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 05/11] eal/linux: add intr api to report\n\tmulti-vector capability",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "VFIO allows multiple MSI-X vector, others doesn't, but maybe will allow it in the future.\nDevice drivers need to be aware of the capability.\nIt's better to avoid condition check on interrupt type(VFIO) everywhere, instead\na capability api is more flexible for the condition change.\n\nSigned-off-by: Cunming Liang <cunming.liang@intel.com>\n---\n lib/librte_eal/linuxapp/eal/eal_interrupts.c                  |  9 +++++++++\n lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h | 10 ++++++++++\n lib/librte_eal/linuxapp/eal/rte_eal_version.map               |  7 +++++++\n 3 files changed, 26 insertions(+)\n\n\\ No newline at end of file",
    "diff": "diff --git a/lib/librte_eal/linuxapp/eal/eal_interrupts.c b/lib/librte_eal/linuxapp/eal/eal_interrupts.c\nindex 96226d6..c90bc4d 100644\n--- a/lib/librte_eal/linuxapp/eal/eal_interrupts.c\n+++ b/lib/librte_eal/linuxapp/eal/eal_interrupts.c\n@@ -1196,3 +1196,12 @@ rte_intr_allow_others(struct rte_intr_handle *intr_handle)\n \telse\n \t\treturn !!(intr_handle->max_intr - intr_handle->nb_efd);\n }\n+\n+int\n+rte_intr_cap_multiple(struct rte_intr_handle *intr_handle)\n+{\n+\tif (intr_handle->type == RTE_INTR_HANDLE_VFIO_MSIX)\n+\t\treturn 1;\n+\n+\treturn 0;\n+}\ndiff --git a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h b/lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h\nindex 6a2f495..a7b2be4 100644\n--- a/lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h\n+++ b/lib/librte_eal/linuxapp/eal/include/exec-env/rte_interrupts.h\n@@ -215,4 +215,14 @@ rte_intr_dp_is_en(struct rte_intr_handle *intr_handle);\n int\n rte_intr_allow_others(struct rte_intr_handle *intr_handle);\n \n+/**\n+ * The multiple interrupt vector capability of interrupt handle instance.\n+ * It returns zero if no multiple interrupt vector support.\n+ *\n+ * @param intr_handle\n+ *   Pointer to the interrupt handle.\n+ */\n+int\n+rte_intr_cap_multiple(struct rte_intr_handle *intr_handle);\n+\n #endif /* _RTE_LINUXAPP_INTERRUPTS_H_ */\ndiff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map\nindex dbb8fa1..cb9f4d6 100644\n--- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map\n+++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map\n@@ -128,3 +128,10 @@ DPDK_2.1 {\n \trte_memzone_free;\n \n } DPDK_2.0;\n+\n+DPDK_2.2 {\n+\tglobal:\n+\n+\trte_intr_cap_multiple;\n+\n+} DPDK_2.1;\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "05/11"
    ]
}