get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 480877,
    "url": "http://patchwork.ozlabs.org/api/patches/480877/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1433449442-31420-4-git-send-email-catherine.sullivan@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": "<1433449442-31420-4-git-send-email-catherine.sullivan@intel.com>",
    "list_archive_url": null,
    "date": "2015-06-04T20:23:57",
    "name": "[net-next,3/8] i40e: support virtual channel API 1.1",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "85efbcc1588b33a78d05165d6bdc21fee31d2954",
    "submitter": {
        "id": 13931,
        "url": "http://patchwork.ozlabs.org/api/people/13931/?format=api",
        "name": "Catherine Sullivan",
        "email": "catherine.sullivan@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/1433449442-31420-4-git-send-email-catherine.sullivan@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/480877/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/480877/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.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 (hemlock.osuosl.org [140.211.166.133])\n\tby ozlabs.org (Postfix) with ESMTP id 3FD90140281\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri,  5 Jun 2015 06:22:29 +1000 (AEST)",
            "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 8ABD096559;\n\tThu,  4 Jun 2015 20:22:28 +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 BxUrsxGs9AE9; Thu,  4 Jun 2015 20:22:27 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 0C5B09653C;\n\tThu,  4 Jun 2015 20:22:27 +0000 (UTC)",
            "from silver.osuosl.org (silver.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id 85FAA1C1F3C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu,  4 Jun 2015 20:22:24 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 80D6532C8A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu,  4 Jun 2015 20:22:24 +0000 (UTC)",
            "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id za0Z9zml38-V for <intel-wired-lan@lists.osuosl.org>;\n\tThu,  4 Jun 2015 20:22:23 +0000 (UTC)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby silver.osuosl.org (Postfix) with ESMTP id A7D6E32A8E\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu,  4 Jun 2015 20:22:23 +0000 (UTC)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby fmsmga103.fm.intel.com with ESMTP; 04 Jun 2015 13:22:23 -0700",
            "from catheri1-tigger.jf.intel.com ([134.134.176.92])\n\tby orsmga001.jf.intel.com with ESMTP; 04 Jun 2015 13:22:23 -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.13,554,1427785200\"; d=\"scan'208\";a=\"705514365\"",
        "From": "Catherine Sullivan <catherine.sullivan@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Thu,  4 Jun 2015 16:23:57 -0400",
        "Message-Id": "<1433449442-31420-4-git-send-email-catherine.sullivan@intel.com>",
        "X-Mailer": "git-send-email 1.9.3",
        "In-Reply-To": "<1433449442-31420-1-git-send-email-catherine.sullivan@intel.com>",
        "References": "<1433449442-31420-1-git-send-email-catherine.sullivan@intel.com>",
        "Subject": "[Intel-wired-lan] [intel-wired-lan][net-next PATCH 3/8] i40e:\n\tsupport virtual channel API 1.1",
        "X-BeenThere": "intel-wired-lan@lists.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.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.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@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "From: Mitch Williams <mitch.a.williams@intel.com>\n\nStore off the VF API version for use when figuring out the VF driver\ncapabilities. Add support for the VF driver handing its capabilities to\nthe PF driver and then use this information when sending VF resource\ninformation back to the VF driver.\n\nSigned-off-by: Mitch Williams <mitch.a.williams@intel.com>\nChange-ID: Ic00d0eeeb5b8118085e12f068ef857089a8f7c2d\n---\n drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 25 ++++++++++++++++------\n drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h |  2 ++\n 2 files changed, 21 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\nindex b639510..1bfc4d0 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c\n@@ -1113,12 +1113,13 @@ static int i40e_vc_send_resp_to_vf(struct i40e_vf *vf,\n  *\n  * called from the VF to request the API version used by the PF\n  **/\n-static int i40e_vc_get_version_msg(struct i40e_vf *vf)\n+static int i40e_vc_get_version_msg(struct i40e_vf *vf, u8 *msg)\n {\n \tstruct i40e_virtchnl_version_info info = {\n \t\tI40E_VIRTCHNL_VERSION_MAJOR, I40E_VIRTCHNL_VERSION_MINOR\n \t};\n \n+\tvf->vf_ver = *(struct i40e_virtchnl_version_info *)msg;\n \treturn i40e_vc_send_msg_to_vf(vf, I40E_VIRTCHNL_OP_VERSION,\n \t\t\t\t      I40E_SUCCESS, (u8 *)&info,\n \t\t\t\t      sizeof(struct\n@@ -1133,7 +1134,7 @@ static int i40e_vc_get_version_msg(struct i40e_vf *vf)\n  *\n  * called from the VF to request its resources\n  **/\n-static int i40e_vc_get_vf_resources_msg(struct i40e_vf *vf)\n+static int i40e_vc_get_vf_resources_msg(struct i40e_vf *vf, u8 *msg)\n {\n \tstruct i40e_virtchnl_vf_resource *vfres = NULL;\n \tstruct i40e_pf *pf = vf->pf;\n@@ -1157,11 +1158,18 @@ static int i40e_vc_get_vf_resources_msg(struct i40e_vf *vf)\n \t\tlen = 0;\n \t\tgoto err;\n \t}\n+\tif (VF_IS_V11(vf))\n+\t\tvf->driver_caps = *(u32 *)msg;\n+\telse\n+\t\tvf->driver_caps = I40E_VIRTCHNL_VF_OFFLOAD_L2 |\n+\t\t\t\t  I40E_VIRTCHNL_VF_OFFLOAD_RSS_REG |\n+\t\t\t\t  I40E_VIRTCHNL_VF_OFFLOAD_VLAN;\n \n \tvfres->vf_offload_flags = I40E_VIRTCHNL_VF_OFFLOAD_L2;\n \tvsi = pf->vsi[vf->lan_vsi_idx];\n \tif (!vsi->info.pvid)\n-\t\tvfres->vf_offload_flags |= I40E_VIRTCHNL_VF_OFFLOAD_VLAN;\n+\t\tvfres->vf_offload_flags |= I40E_VIRTCHNL_VF_OFFLOAD_VLAN |\n+\t\t\t\t\t   I40E_VIRTCHNL_VF_OFFLOAD_RSS_REG;\n \n \tvfres->num_vsis = num_vsis;\n \tvfres->num_queue_pairs = vf->num_queue_pairs;\n@@ -1763,9 +1771,14 @@ static int i40e_vc_validate_vf_msg(struct i40e_vf *vf, u32 v_opcode,\n \t\tvalid_len = sizeof(struct i40e_virtchnl_version_info);\n \t\tbreak;\n \tcase I40E_VIRTCHNL_OP_RESET_VF:\n-\tcase I40E_VIRTCHNL_OP_GET_VF_RESOURCES:\n \t\tvalid_len = 0;\n \t\tbreak;\n+\tcase I40E_VIRTCHNL_OP_GET_VF_RESOURCES:\n+\t\tif (VF_IS_V11(vf))\n+\t\t\tvalid_len = sizeof(u32);\n+\t\telse\n+\t\t\tvalid_len = 0;\n+\t\tbreak;\n \tcase I40E_VIRTCHNL_OP_CONFIG_TX_QUEUE:\n \t\tvalid_len = sizeof(struct i40e_virtchnl_txq_info);\n \t\tbreak;\n@@ -1878,10 +1891,10 @@ int i40e_vc_process_vf_msg(struct i40e_pf *pf, u16 vf_id, u32 v_opcode,\n \n \tswitch (v_opcode) {\n \tcase I40E_VIRTCHNL_OP_VERSION:\n-\t\tret = i40e_vc_get_version_msg(vf);\n+\t\tret = i40e_vc_get_version_msg(vf, msg);\n \t\tbreak;\n \tcase I40E_VIRTCHNL_OP_GET_VF_RESOURCES:\n-\t\tret = i40e_vc_get_vf_resources_msg(vf);\n+\t\tret = i40e_vc_get_vf_resources_msg(vf, msg);\n \t\tbreak;\n \tcase I40E_VIRTCHNL_OP_RESET_VF:\n \t\ti40e_vc_reset_vf_msg(vf);\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h\nindex d254a5e..736f6f0 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.h\n@@ -78,6 +78,8 @@ struct i40e_vf {\n \tu16 vf_id;\n \t/* all VF vsis connect to the same parent */\n \tenum i40e_switch_element_types parent_type;\n+\tstruct i40e_virtchnl_version_info vf_ver;\n+\tu32 driver_caps; /* reported by VF driver */\n \n \t/* VF Port Extender (PE) stag if used */\n \tu16 stag;\n",
    "prefixes": [
        "net-next",
        "3/8"
    ]
}