get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 11218,
    "url": "http://patches.dpdk.org/api/patches/11218/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1457462311-16349-4-git-send-email-thomas.monjalon@6wind.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": "<1457462311-16349-4-git-send-email-thomas.monjalon@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1457462311-16349-4-git-send-email-thomas.monjalon@6wind.com",
    "date": "2016-03-08T18:38:31",
    "name": "[dpdk-dev,v3,3/3] igb_uio: deprecate extended tag",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "ef715141f2d457ad490e0f0ebd86ef497babf132",
    "submitter": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/people/1/?format=api",
        "name": "Thomas Monjalon",
        "email": "thomas.monjalon@6wind.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1457462311-16349-4-git-send-email-thomas.monjalon@6wind.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/11218/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/11218/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 11A733772;\n\tTue,  8 Mar 2016 19:40:19 +0100 (CET)",
            "from mail-wm0-f43.google.com (mail-wm0-f43.google.com\n\t[74.125.82.43]) by dpdk.org (Postfix) with ESMTP id B6B00374C\n\tfor <dev@dpdk.org>; Tue,  8 Mar 2016 19:40:16 +0100 (CET)",
            "by mail-wm0-f43.google.com with SMTP id l68so40095134wml.1\n\tfor <dev@dpdk.org>; Tue, 08 Mar 2016 10:40:16 -0800 (PST)",
            "from XPS13.localdomain (171.36.101.84.rev.sfr.net. [84.101.36.171])\n\tby smtp.gmail.com with ESMTPSA id\n\td2sm2955883wjf.28.2016.03.08.10.40.14\n\t(version=TLSv1/SSLv3 cipher=OTHER);\n\tTue, 08 Mar 2016 10:40:16 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=6wind-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=L53BsjWi5yH+2KmheiUa+6bIiW08vk3AxU0WO2KvXq4=;\n\tb=NBq5JM4Vlba/lWHlP//udIDnXtcJmlO8FCp355ddJcXlEj3bDMOjmOntVAqz1/6hlV\n\tFB4Lm36MRuKkVFtNJHSoMc56ZJ16TdwjwHOqMMg8qU+XoImDV4Iy+CvbAwUjexpSAHIo\n\tWeCsmS0Ev/rO1KG02DDAQxsiROaztWpA316eLSqcpf511B0xW0+VmqrKpLeWTjyzPiwI\n\t0XC1lYW4mCbrO0a12j+77O2V+FKBfalFQ/OXe8MwoRZNK0MpoU9oFGN0Q2Ty1HVjvVQh\n\tEGXkaGD9/Gyf5N+yU1UDG+2udrQm8kMqIATNGFyutYv9KLW2oE99pVCGoWlMMj2xD5Xr\n\t/16w==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=L53BsjWi5yH+2KmheiUa+6bIiW08vk3AxU0WO2KvXq4=;\n\tb=TBn0a/AQMcnIr4afraUCXzYvyWtkL3FPP0JlNV0pj+DaMS5woVcQVC2puAYjDvlh6d\n\tfFoitCklUAfz6cnFGdVgo3XayK51MWo/GpEc1YT0tjXQ8U0qD9aQ0MDXRQAr4oS6OGXM\n\t7hwYZv5TMa1AUDN49VkNv/bQ6gKY/V786XJXOug89EAAt1qcufERlHGQe9Nnsh5Quf5O\n\tRS/m7KvgeiMFMCMPJiYdoLGJ8X9w+KCoD/i1ERUkP/4CPsFElCFdXFGgdTHvAHgzLCN2\n\ttYkHNMUUSfePrpLL2qSoIa46FfyFrE89k32E5N1N1ck9Qr19Yq7NDf9zrxvVWUOiTN6G\n\txeaw==",
        "X-Gm-Message-State": "AD7BkJI95yecTQQBjJXJL/63s2ezyWpYmCszPTv5gBJwpcrzlC58vbydkln3KNh4qFkCXR7W",
        "X-Received": "by 10.194.95.40 with SMTP id dh8mr33992470wjb.146.1457462416592; \n\tTue, 08 Mar 2016 10:40:16 -0800 (PST)",
        "From": "Thomas Monjalon <thomas.monjalon@6wind.com>",
        "To": "helin.zhang@intel.com",
        "Date": "Tue,  8 Mar 2016 19:38:31 +0100",
        "Message-Id": "<1457462311-16349-4-git-send-email-thomas.monjalon@6wind.com>",
        "X-Mailer": "git-send-email 2.7.0",
        "In-Reply-To": "<1457462311-16349-1-git-send-email-thomas.monjalon@6wind.com>",
        "References": "<1456113585-15259-1-git-send-email-helin.zhang@intel.com>\n\t<1457462311-16349-1-git-send-email-thomas.monjalon@6wind.com>",
        "Cc": "dev@dpdk.org",
        "Subject": "[dpdk-dev] [PATCH v3 3/3] igb_uio: deprecate extended tag",
        "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": "From: Helin Zhang <helin.zhang@intel.com>\n\nIt deprecates sys files of 'extended_tag' and\n'max_read_request_size' which was not documented.\n\nSigned-off-by: Helin Zhang <helin.zhang@intel.com>\n---\n doc/guides/linux_gsg/enable_func.rst      | 26 ++++-------\n doc/guides/rel_notes/deprecation.rst      |  2 +\n lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 72 ++++---------------------------\n 3 files changed, 18 insertions(+), 82 deletions(-)",
    "diff": "diff --git a/doc/guides/linux_gsg/enable_func.rst b/doc/guides/linux_gsg/enable_func.rst\nindex 8cb3d79..076770f 100644\n--- a/doc/guides/linux_gsg/enable_func.rst\n+++ b/doc/guides/linux_gsg/enable_func.rst\n@@ -186,27 +186,17 @@ Check with the local Intel's Network Division application engineers for firmware\n The base driver to support firmware version of FVL3E will be integrated in the next\n DPDK release, so currently the validated firmware version is 4.2.6.\n \n-Enabling Extended Tag and Setting Max Read Request Size\n-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n+Enabling Extended Tag\n+~~~~~~~~~~~~~~~~~~~~~\n \n-PCI configurations of ``extended_tag`` and max _read_requ st_size have big impacts on performance of small packets on 40G NIC.\n-Enabling extended_tag and setting ``max_read_request_size`` to small size such as 128 bytes provide great helps to high performance of small packets.\n+PCI configuration of ``extended_tag`` has big impact on small packet size\n+performance of 40G ports. Enabling ``extended_tag`` can help 40G port to\n+achieve the best performance, especially for small packet size.\n \n-*   These can be done in some BIOS implementations.\n+* Disabling/enabling ``extended_tag`` can be done in some BIOS implementations.\n \n-*   For other BIOS implementations, PCI configurations can be changed by using command of ``setpci``, or special configurations in DPDK config file of ``common_linux``.\n-\n-    *   Bits 7:5 at address of 0xA8 of each PCI device is used for setting the max_read_request_size,\n-        and bit 8 of 0xA8 of each PCI device is used for enabling/disabling the extended_tag.\n-        lspci and setpci can be used to read the values of 0xA8 and then write it back after being changed.\n-\n-    *   In config file of common_linux, below three configurations can be changed for the same purpose.\n-\n-        ``CONFIG_RTE_PCI_CONFIG``\n-\n-        ``CONFIG_RTE_PCI_EXTENDED_TAG``\n-\n-        ``CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE``\n+* If BIOS does not enable it, and does not support changing it, tools\n+  (e.g. ``setpci`` on Linux) can be used to enable or disable ``extended_tag``.\n \n * From release 16.04, ``extended_tag`` is enabled by default during port\n   initialization, users don't need to care about that anymore.\ndiff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst\nindex 9979982..5287811 100644\n--- a/doc/guides/rel_notes/deprecation.rst\n+++ b/doc/guides/rel_notes/deprecation.rst\n@@ -12,6 +12,8 @@ Deprecation Notices\n   and will be removed from 16.07.\n   Macros CONFIG_RTE_PCI_CONFIG, CONFIG_RTE_PCI_EXTENDED_TAG and\n   CONFIG_RTE_PCI_MAX_READ_REQUEST_SIZE will be removed.\n+  The /sys entries extended_tag and max_read_request_size created by igb_uio\n+  will be removed.\n \n * The following fields have been deprecated in rte_eth_stats:\n   ibadcrc, ibadlen, imcasts, fdirmatch, fdirmiss,\ndiff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c\nindex a3ad912..72b2692 100644\n--- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c\n+++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c\n@@ -40,15 +40,6 @@\n \n #include \"compat.h\"\n \n-#ifdef RTE_PCI_CONFIG\n-#define PCI_SYS_FILE_BUF_SIZE      10\n-#define PCI_DEV_CAP_REG            0xA4\n-#define PCI_DEV_CTRL_REG           0xA8\n-#define PCI_DEV_CAP_EXT_TAG_MASK   0x20\n-#define PCI_DEV_CTRL_EXT_TAG_SHIFT 8\n-#define PCI_DEV_CTRL_EXT_TAG_MASK  (1 << PCI_DEV_CTRL_EXT_TAG_SHIFT)\n-#endif\n-\n /**\n  * A structure describing the private information for a uio device.\n  */\n@@ -94,19 +85,9 @@ store_max_vfs(struct device *dev, struct device_attribute *attr,\n static ssize_t\n show_extended_tag(struct device *dev, struct device_attribute *attr, char *buf)\n {\n-\tstruct pci_dev *pci_dev = to_pci_dev(dev);\n-\tuint32_t val = 0;\n+\tdev_info(dev, \"Deprecated\\n\");\n \n-\tpci_read_config_dword(pci_dev, PCI_DEV_CAP_REG, &val);\n-\tif (!(val & PCI_DEV_CAP_EXT_TAG_MASK)) /* Not supported */\n-\t\treturn snprintf(buf, PCI_SYS_FILE_BUF_SIZE, \"%s\\n\", \"invalid\");\n-\n-\tval = 0;\n-\tpci_bus_read_config_dword(pci_dev->bus, pci_dev->devfn,\n-\t\t\t\t\tPCI_DEV_CTRL_REG, &val);\n-\n-\treturn snprintf(buf, PCI_SYS_FILE_BUF_SIZE, \"%s\\n\",\n-\t\t(val & PCI_DEV_CTRL_EXT_TAG_MASK) ? \"on\" : \"off\");\n+\treturn 0;\n }\n \n static ssize_t\n@@ -115,36 +96,9 @@ store_extended_tag(struct device *dev,\n \t\t   const char *buf,\n \t\t   size_t count)\n {\n-\tstruct pci_dev *pci_dev = to_pci_dev(dev);\n-\tuint32_t val = 0, enable;\n-\n-\tif (strncmp(buf, \"on\", 2) == 0)\n-\t\tenable = 1;\n-\telse if (strncmp(buf, \"off\", 3) == 0)\n-\t\tenable = 0;\n-\telse\n-\t\treturn -EINVAL;\n-\n-\tpci_cfg_access_lock(pci_dev);\n-\tpci_bus_read_config_dword(pci_dev->bus, pci_dev->devfn,\n-\t\t\t\t\tPCI_DEV_CAP_REG, &val);\n-\tif (!(val & PCI_DEV_CAP_EXT_TAG_MASK)) { /* Not supported */\n-\t\tpci_cfg_access_unlock(pci_dev);\n-\t\treturn -EPERM;\n-\t}\n+\tdev_info(dev, \"Deprecated\\n\");\n \n-\tval = 0;\n-\tpci_bus_read_config_dword(pci_dev->bus, pci_dev->devfn,\n-\t\t\t\t\tPCI_DEV_CTRL_REG, &val);\n-\tif (enable)\n-\t\tval |= PCI_DEV_CTRL_EXT_TAG_MASK;\n-\telse\n-\t\tval &= ~PCI_DEV_CTRL_EXT_TAG_MASK;\n-\tpci_bus_write_config_dword(pci_dev->bus, pci_dev->devfn,\n-\t\t\t\t\tPCI_DEV_CTRL_REG, val);\n-\tpci_cfg_access_unlock(pci_dev);\n-\n-\treturn count;\n+\treturn 0;\n }\n \n static ssize_t\n@@ -152,10 +106,9 @@ show_max_read_request_size(struct device *dev,\n \t\t\t   struct device_attribute *attr,\n \t\t\t   char *buf)\n {\n-\tstruct pci_dev *pci_dev = to_pci_dev(dev);\n-\tint val = pcie_get_readrq(pci_dev);\n+\tdev_info(dev, \"Deprecated\\n\");\n \n-\treturn snprintf(buf, PCI_SYS_FILE_BUF_SIZE, \"%d\\n\", val);\n+\treturn 0;\n }\n \n static ssize_t\n@@ -164,18 +117,9 @@ store_max_read_request_size(struct device *dev,\n \t\t\t    const char *buf,\n \t\t\t    size_t count)\n {\n-\tstruct pci_dev *pci_dev = to_pci_dev(dev);\n-\tunsigned long size = 0;\n-\tint ret;\n+\tdev_info(dev, \"Deprecated\\n\");\n \n-\tif (0 != kstrtoul(buf, 0, &size))\n-\t\treturn -EINVAL;\n-\n-\tret = pcie_set_readrq(pci_dev, (int)size);\n-\tif (ret < 0)\n-\t\treturn ret;\n-\n-\treturn count;\n+\treturn 0;\n }\n #endif\n \n",
    "prefixes": [
        "dpdk-dev",
        "v3",
        "3/3"
    ]
}