get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 788804,
    "url": "http://patchwork.ozlabs.org/api/patches/788804/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170714132709.52657-10-alice.michael@intel.com/",
    "project": {
        "id": 46,
        "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api",
        "name": "Intel Wired Ethernet development",
        "link_name": "intel-wired-lan",
        "list_id": "intel-wired-lan.osuosl.org",
        "list_email": "intel-wired-lan@osuosl.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20170714132709.52657-10-alice.michael@intel.com>",
    "list_archive_url": null,
    "date": "2017-07-14T13:27:09",
    "name": "[next,S77-V3,10/10] i40e: refactor FW version checking",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "4209b0d2b3a853ac822b1f763c0d2b31a1342334",
    "submitter": {
        "id": 71123,
        "url": "http://patchwork.ozlabs.org/api/people/71123/?format=api",
        "name": "Michael, Alice",
        "email": "alice.michael@intel.com"
    },
    "delegate": {
        "id": 68,
        "url": "http://patchwork.ozlabs.org/api/users/68/?format=api",
        "username": "jtkirshe",
        "first_name": "Jeff",
        "last_name": "Kirsher",
        "email": "jeffrey.t.kirsher@intel.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20170714132709.52657-10-alice.michael@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/788804/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/788804/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@osuosl.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "intel-wired-lan@lists.osuosl.org"
        ],
        "Received": [
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3x8QqP0kN9z9sNd\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 15 Jul 2017 07:31:29 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 659298A433;\n\tFri, 14 Jul 2017 21:31:27 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id bKleckq16vrd; Fri, 14 Jul 2017 21:31:25 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 1614C8A43B;\n\tFri, 14 Jul 2017 21:31:25 +0000 (UTC)",
            "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 4C48C1C42AA\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:20 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 3C1358A421\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:20 +0000 (UTC)",
            "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id dWHxlXG7ufrm for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:19 +0000 (UTC)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby hemlock.osuosl.org (Postfix) with ESMTPS id DBD238A42D\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 14 Jul 2017 21:31:17 +0000 (UTC)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n\tby orsmga105.jf.intel.com with ESMTP; 14 Jul 2017 14:31:16 -0700",
            "from unknown (HELO localhost.jf.intel.com) ([10.166.16.121])\n\tby orsmga005.jf.intel.com with ESMTP; 14 Jul 2017 14:31:16 -0700"
        ],
        "X-Virus-Scanned": [
            "amavisd-new at osuosl.org",
            "amavisd-new at osuosl.org"
        ],
        "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.40,360,1496127600\"; d=\"scan'208\";a=\"125288643\"",
        "From": "Alice Michael <alice.michael@intel.com>",
        "To": "alice.michael@intel.com,\n\tintel-wired-lan@lists.osuosl.org",
        "Date": "Fri, 14 Jul 2017 09:27:09 -0400",
        "Message-Id": "<20170714132709.52657-10-alice.michael@intel.com>",
        "X-Mailer": "git-send-email 2.9.3",
        "In-Reply-To": "<20170714132709.52657-1-alice.michael@intel.com>",
        "References": "<20170714132709.52657-1-alice.michael@intel.com>",
        "Cc": "Mitch Williams <mitch.a.williams@intel.com>",
        "Subject": "[Intel-wired-lan] [next PATCH S77-V3 10/10] i40e: refactor FW\n\tversion checking",
        "X-BeenThere": "intel-wired-lan@osuosl.org",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>",
        "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>",
        "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "7bit",
        "Errors-To": "intel-wired-lan-bounces@osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>"
    },
    "content": "From: Mitch Williams <mitch.a.williams@intel.com>\n\nThe i40e driver now supports two different devices with two different\nfirmware versions. So be smart about how we handle these. Move the FW\nversion macros to the appropriate header file, and add a convenience\nmacro that checks the version based on the device. Then use this macro\nto check whether or not the driver can use the new link info API.\n\nTesting Hints (required if no HSD): Compile, load on both X710 and X722\nand make sure it doesn't complain about API version on latest FW.\n\nSigned-off-by: Mitch Williams <mitch.a.williams@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h   | 10 +++++++++-\n drivers/net/ethernet/intel/i40e/i40e_common.c       |  6 ++++--\n drivers/net/ethernet/intel/i40e/i40e_main.c         |  2 +-\n drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h | 10 +++++++++-\n 4 files changed, 23 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h\nindex 5d5f422..e2a9ec8 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e_adminq_cmd.h\n@@ -34,7 +34,15 @@\n  */\n \n #define I40E_FW_API_VERSION_MAJOR\t0x0001\n-#define I40E_FW_API_VERSION_MINOR\t0x0005\n+#define I40E_FW_API_VERSION_MINOR_X722\t0x0005\n+#define I40E_FW_API_VERSION_MINOR_X710\t0x0007\n+\n+#define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \\\n+\t\t\t\t\tI40E_FW_API_VERSION_MINOR_X710 : \\\n+\t\t\t\t\tI40E_FW_API_VERSION_MINOR_X722)\n+\n+/* API version 1.7 implements additional link and PHY-specific APIs  */\n+#define I40E_MINOR_VER_GET_LINK_INFO_XL710 0x0007\n \n struct i40e_aq_desc {\n \t__le16 flags;\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c\nindex 111426b..f01a54a 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_common.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c\n@@ -1593,8 +1593,10 @@ i40e_status i40e_aq_get_phy_capabilities(struct i40e_hw *hw,\n \t\tstatus = I40E_ERR_UNKNOWN_PHY;\n \n \tif (report_init) {\n-\t\thw->phy.phy_types = le32_to_cpu(abilities->phy_type);\n-\t\thw->phy.phy_types |= ((u64)abilities->phy_type_ext << 32);\n+\t\tif (hw->mac.type ==  I40E_MAC_XL710 &&\n+\t\t    hw->aq.api_maj_ver == I40E_FW_API_VERSION_MAJOR &&\n+\t\t    hw->aq.api_min_ver >= I40E_MINOR_VER_GET_LINK_INFO_XL710) {\n+\t\t\tstatus = i40e_aq_get_link_info(hw, true, NULL, NULL);\n \t}\n \n \treturn status;\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex 1ad014d..fb0c8c6 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -11420,7 +11420,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)\n \t\t i40e_nvm_version_str(hw));\n \n \tif (hw->aq.api_maj_ver == I40E_FW_API_VERSION_MAJOR &&\n-\t    hw->aq.api_min_ver > I40E_FW_API_VERSION_MINOR)\n+\t    hw->aq.api_min_ver > I40E_FW_MINOR_VERSION(hw))\n \t\tdev_info(&pdev->dev,\n \t\t\t \"The driver for the device detected a newer version of the NVM image than expected. Please install the most recent version of the network driver.\\n\");\n \telse if (hw->aq.api_maj_ver == 1 && hw->aq.api_min_ver < 4)\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h b/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h\nindex 83e63e5..f9f48d1 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_adminq_cmd.h\n@@ -34,7 +34,15 @@\n  */\n \n #define I40E_FW_API_VERSION_MAJOR\t0x0001\n-#define I40E_FW_API_VERSION_MINOR\t0x0005\n+#define I40E_FW_API_VERSION_MINOR_X722\t0x0005\n+#define I40E_FW_API_VERSION_MINOR_X710\t0x0007\n+\n+#define I40E_FW_MINOR_VERSION(_h) ((_h)->mac.type == I40E_MAC_XL710 ? \\\n+\t\t\t\t\tI40E_FW_API_VERSION_MINOR_X710 : \\\n+\t\t\t\t\tI40E_FW_API_VERSION_MINOR_X722)\n+\n+/* API version 1.7 implements additional link and PHY-specific APIs  */\n+#define I40E_MINOR_VER_GET_LINK_INFO_XL710 0x0007\n \n struct i40e_aq_desc {\n \t__le16 flags;\n",
    "prefixes": [
        "next",
        "S77-V3",
        "10/10"
    ]
}