get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 42619,
    "url": "http://patches.dpdk.org/api/patches/42619/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1531136777-9815-4-git-send-email-jia.guo@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": "<1531136777-9815-4-git-send-email-jia.guo@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1531136777-9815-4-git-send-email-jia.guo@intel.com",
    "date": "2018-07-09T11:46:16",
    "name": "[v3,3/4] net/i40e: enable hotplug detect in i40e",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ec4b00e377a6fccc93a6295b16eefdb899a409e1",
    "submitter": {
        "id": 507,
        "url": "http://patches.dpdk.org/api/people/507/?format=api",
        "name": "Guo, Jia",
        "email": "jia.guo@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1531136777-9815-4-git-send-email-jia.guo@intel.com/mbox/",
    "series": [
        {
            "id": 472,
            "url": "http://patches.dpdk.org/api/series/472/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=472",
            "date": "2018-07-09T11:46:13",
            "name": "Enable eal hotplug event detect for i40e/ixgbe",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/472/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/42619/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/42619/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 3D9F41B3A3;\n\tMon,  9 Jul 2018 13:48:50 +0200 (CEST)",
            "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n\tby dpdk.org (Postfix) with ESMTP id 761961B3A3\n\tfor <dev@dpdk.org>; Mon,  9 Jul 2018 13:48:48 +0200 (CEST)",
            "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t09 Jul 2018 04:48:48 -0700",
            "from jeffguo-z170x-ud5.sh.intel.com (HELO localhost.localdomain)\n\t([10.67.104.10])\n\tby fmsmga002.fm.intel.com with ESMTP; 09 Jul 2018 04:48:43 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,330,1526367600\"; d=\"scan'208\";a=\"65345373\"",
        "From": "Jeff Guo <jia.guo@intel.com>",
        "To": "stephen@networkplumber.org, bruce.richardson@intel.com,\n\tferruh.yigit@intel.com, konstantin.ananyev@intel.com,\n\tgaetan.rivet@6wind.com, jingjing.wu@intel.com, thomas@monjalon.net,\n\tmotih@mellanox.com, matan@mellanox.com, harry.van.haaren@intel.com,\n\tqi.z.zhang@intel.com, shaopeng.he@intel.com,\n\tbernard.iremonger@intel.com, \n\tarybchenko@solarflare.com, wenzhuo.lu@intel.com",
        "Cc": "jblunck@infradead.org, shreyansh.jain@nxp.com, dev@dpdk.org,\n\tjia.guo@intel.com, helin.zhang@intel.com",
        "Date": "Mon,  9 Jul 2018 19:46:16 +0800",
        "Message-Id": "<1531136777-9815-4-git-send-email-jia.guo@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1531136777-9815-1-git-send-email-jia.guo@intel.com>",
        "References": "<1530787185-5915-1-git-send-email-jia.guo@intel.com>\n\t<1531136777-9815-1-git-send-email-jia.guo@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v3 3/4] net/i40e: enable hotplug detect in i40e",
        "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": "This patch aim to enable hotplug detect in i40e pmd driver. Firstly it\nset the flags RTE_PCI_DRV_INTR_RMV in drv_flags to announce the hotplug\nability, and then use rte_dev_event_callback_register to register\nthe ethdev eal device event callback. When eal detect the hotplug event,\nit will call the callback to process it, if the event is hotplug remove,\nit will trigger the RTE_ETH_EVENT_INTR_RMV event into ethdev callback\nto let app process the hotplug for the ethdev.\n\nThis is an example for other driver, that if any driver support hotplug\nfeature could be use this way to enable hotplug detect.\n\nSigned-off-by: Jeff Guo <jia.guo@intel.com>\n---\nv3->v2:\nremove the callback from driver to ethdev.\n---\n drivers/net/i40e/i40e_ethdev.c | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex 13c5d32..d79cac1 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -688,7 +688,7 @@ static int eth_i40e_pci_remove(struct rte_pci_device *pci_dev)\n static struct rte_pci_driver rte_i40e_pmd = {\n \t.id_table = pci_id_i40e_map,\n \t.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |\n-\t\t     RTE_PCI_DRV_IOVA_AS_VA,\n+\t\t     RTE_PCI_DRV_IOVA_AS_VA | RTE_PCI_DRV_INTR_RMV,\n \t.probe = eth_i40e_pci_probe,\n \t.remove = eth_i40e_pci_remove,\n };\n@@ -1442,6 +1442,11 @@ eth_i40e_dev_init(struct rte_eth_dev *dev, void *init_params __rte_unused)\n \trte_intr_callback_register(intr_handle,\n \t\t\t\t   i40e_dev_interrupt_handler, dev);\n \n+\t/* register the device event callback */\n+\trte_dev_event_callback_register(dev->device->name,\n+\t\t\t\t\trte_eth_dev_event_callback,\n+\t\t\t\t\t(void *)dev);\n+\n \t/* configure and enable device interrupt */\n \ti40e_pf_config_irq0(hw, TRUE);\n \ti40e_pf_enable_irq0(hw);\n",
    "prefixes": [
        "v3",
        "3/4"
    ]
}