get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 83285,
    "url": "http://patches.dpdk.org/api/patches/83285/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1604260862-27960-8-git-send-email-timothy.mcdaniel@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": "<1604260862-27960-8-git-send-email-timothy.mcdaniel@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1604260862-27960-8-git-send-email-timothy.mcdaniel@intel.com",
    "date": "2020-11-01T20:00:45",
    "name": "[v10,07/23] event/dlb2: add flexible interface",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d5e0195f48112e1a15266ce2ce0e231005b67828",
    "submitter": {
        "id": 826,
        "url": "http://patches.dpdk.org/api/people/826/?format=api",
        "name": "Timothy McDaniel",
        "email": "timothy.mcdaniel@intel.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1604260862-27960-8-git-send-email-timothy.mcdaniel@intel.com/mbox/",
    "series": [
        {
            "id": 13538,
            "url": "http://patches.dpdk.org/api/series/13538/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=13538",
            "date": "2020-11-01T20:00:38",
            "name": "Add DLB2 PMD",
            "version": 10,
            "mbox": "http://patches.dpdk.org/series/13538/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/83285/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/83285/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id BA9A1A04E7;\n\tSun,  1 Nov 2020 21:01:54 +0100 (CET)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 946ED4C6B;\n\tSun,  1 Nov 2020 20:59:32 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by dpdk.org (Postfix) with ESMTP id 640B12C16\n for <dev@dpdk.org>; Sun,  1 Nov 2020 20:59:25 +0100 (CET)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Nov 2020 11:59:23 -0800",
            "from txasoft-yocto.an.intel.com ([10.123.72.192])\n by orsmga005.jf.intel.com with ESMTP; 01 Nov 2020 11:59:22 -0800"
        ],
        "IronPort-SDR": [
            "\n leYDi1ATlGbKnADAyn4Z86o1yTp2JQJvgVRiavq8efkaMm5O/jNldKgJhyuBWTOcl8BU4sx0P2\n jVMA8OE5Z74Q==",
            "\n Mg1C4F7wTaacUJBNotI1sC30EL9W6FKg7Gm3NGzyvqKPkRhafNflFOEmUt3UzGubrnyLMPNQqG\n flB/OlYVddJQ=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9792\"; a=\"186634886\"",
            "E=Sophos;i=\"5.77,442,1596524400\"; d=\"scan'208\";a=\"186634886\"",
            "E=Sophos;i=\"5.77,442,1596524400\"; d=\"scan'208\";a=\"537761061\""
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "From": "Timothy McDaniel <timothy.mcdaniel@intel.com>",
        "To": "",
        "Cc": "dev@dpdk.org, erik.g.carrillo@intel.com, gage.eads@intel.com,\n harry.van.haaren@intel.com, jerinj@marvell.com, thomas@monjalon.net",
        "Date": "Sun,  1 Nov 2020 14:00:45 -0600",
        "Message-Id": "<1604260862-27960-8-git-send-email-timothy.mcdaniel@intel.com>",
        "X-Mailer": "git-send-email 1.7.10",
        "In-Reply-To": "<1604260862-27960-1-git-send-email-timothy.mcdaniel@intel.com>",
        "References": "<1602958879-8558-2-git-send-email-timothy.mcdaniel@intel.com>\n <1604260862-27960-1-git-send-email-timothy.mcdaniel@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v10 07/23] event/dlb2: add flexible interface",
        "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 <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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This commit introduces the flexible interface. This\ninterface allows the core code to operate in PF mode (direct\nhardware access) or bifurcated mode (hardware configured via\nkernel driver). This driver currently only supports PF mode\nbut bifurcated mode will be added in a future DPDK patch-set.\nNote that the flexible interface is not used for data path\noperations, and thus there are no performance concerns\nrelated to the use of function pointers.\n\nSigned-off-by: Timothy McDaniel <timothy.mcdaniel@intel.com>\n---\n drivers/event/dlb2/dlb2_iface.c | 28 ++++++++++++++++++++++++++++\n drivers/event/dlb2/dlb2_iface.h | 29 +++++++++++++++++++++++++++++\n drivers/event/dlb2/meson.build  |  1 +\n 3 files changed, 58 insertions(+)\n create mode 100644 drivers/event/dlb2/dlb2_iface.c\n create mode 100644 drivers/event/dlb2/dlb2_iface.h",
    "diff": "diff --git a/drivers/event/dlb2/dlb2_iface.c b/drivers/event/dlb2/dlb2_iface.c\nnew file mode 100644\nindex 0000000..0fc9991\n--- /dev/null\n+++ b/drivers/event/dlb2/dlb2_iface.c\n@@ -0,0 +1,28 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2016-2020 Intel Corporation\n+ */\n+\n+#include <stdint.h>\n+\n+#include \"dlb2_priv.h\"\n+\n+/* DLB2 PMD Internal interface function pointers.\n+ * If VDEV (bifurcated PMD),  these will resolve to functions that issue ioctls\n+ * serviced by DLB kernel module.\n+ * If PCI (PF PMD),  these will be implemented locally in user mode.\n+ */\n+\n+void (*dlb2_iface_low_level_io_init)(void);\n+\n+int (*dlb2_iface_open)(struct dlb2_hw_dev *handle, const char *name);\n+\n+int (*dlb2_iface_get_device_version)(struct dlb2_hw_dev *handle,\n+\t\t\t\t     uint8_t *revision);\n+\n+void (*dlb2_iface_hardware_init)(struct dlb2_hw_dev *handle);\n+\n+int (*dlb2_iface_get_cq_poll_mode)(struct dlb2_hw_dev *handle,\n+\t\t\t\t   enum dlb2_cq_poll_modes *mode);\n+\n+int (*dlb2_iface_get_num_resources)(struct dlb2_hw_dev *handle,\n+\t\t\t\tstruct dlb2_get_num_resources_args *rsrcs);\ndiff --git a/drivers/event/dlb2/dlb2_iface.h b/drivers/event/dlb2/dlb2_iface.h\nnew file mode 100644\nindex 0000000..4fb416e\n--- /dev/null\n+++ b/drivers/event/dlb2/dlb2_iface.h\n@@ -0,0 +1,29 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2016-2020 Intel Corporation\n+ */\n+\n+#ifndef _DLB2_IFACE_H_\n+#define _DLB2_IFACE_H_\n+\n+/* DLB2 PMD Internal interface function pointers.\n+ * If VDEV (bifurcated PMD),  these will resolve to functions that issue ioctls\n+ * serviced by DLB kernel module.\n+ * If PCI (PF PMD),  these will be implemented locally in user mode.\n+ */\n+\n+extern void (*dlb2_iface_low_level_io_init)(void);\n+\n+extern int (*dlb2_iface_open)(struct dlb2_hw_dev *handle, const char *name);\n+\n+extern int (*dlb2_iface_get_device_version)(struct dlb2_hw_dev *handle,\n+\t\t\t\t\t    uint8_t *revision);\n+\n+extern void (*dlb2_iface_hardware_init)(struct dlb2_hw_dev *handle);\n+\n+extern int (*dlb2_iface_get_cq_poll_mode)(struct dlb2_hw_dev *handle,\n+\t\t\t\t\t  enum dlb2_cq_poll_modes *mode);\n+\n+extern int (*dlb2_iface_get_num_resources)(struct dlb2_hw_dev *handle,\n+\t\t\t\tstruct dlb2_get_num_resources_args *rsrcs);\n+\n+#endif /* _DLB2_IFACE_H_ */\ndiff --git a/drivers/event/dlb2/meson.build b/drivers/event/dlb2/meson.build\nindex 2855dd5..c2fb347 100644\n--- a/drivers/event/dlb2/meson.build\n+++ b/drivers/event/dlb2/meson.build\n@@ -8,6 +8,7 @@ if not is_linux or not dpdk_conf.has('RTE_ARCH_X86_64')\n endif\n \n sources = files('dlb2.c',\n+\t\t'dlb2_iface.c',\n \t\t'pf/dlb2_main.c',\n \t\t'pf/dlb2_pf.c'\n )\n",
    "prefixes": [
        "v10",
        "07/23"
    ]
}