get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 10592,
    "url": "http://patches.dpdk.org/api/patches/10592/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1455777020-12095-11-git-send-email-helin.zhang@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": "<1455777020-12095-11-git-send-email-helin.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1455777020-12095-11-git-send-email-helin.zhang@intel.com",
    "date": "2016-02-18T06:30:00",
    "name": "[dpdk-dev,v2,10/30] i40e/base: fix up recent proxy and wol bits for X722_SUPPORT",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "a6b99411c65ea7464d7638e027ca81ce5814219f",
    "submitter": {
        "id": 14,
        "url": "http://patches.dpdk.org/api/people/14/?format=api",
        "name": "Zhang, Helin",
        "email": "helin.zhang@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1455777020-12095-11-git-send-email-helin.zhang@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/10592/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/10592/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 C45B9C37E;\n\tThu, 18 Feb 2016 07:30:54 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby dpdk.org (Postfix) with ESMTP id 8509BC366\n\tfor <dev@dpdk.org>; Thu, 18 Feb 2016 07:30:52 +0100 (CET)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby fmsmga101.fm.intel.com with ESMTP; 17 Feb 2016 22:30:52 -0800",
            "from shvmail01.sh.intel.com ([10.239.29.42])\n\tby fmsmga001.fm.intel.com with ESMTP; 17 Feb 2016 22:30:49 -0800",
            "from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com\n\t[10.239.29.89])\n\tby shvmail01.sh.intel.com with ESMTP id u1I6UkN1030694;\n\tThu, 18 Feb 2016 14:30:46 +0800",
            "from shecgisg004.sh.intel.com (localhost [127.0.0.1])\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP\n\tid u1I6Uhsh012200; Thu, 18 Feb 2016 14:30:45 +0800",
            "(from hzhan75@localhost)\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id u1I6UhWJ012196; \n\tThu, 18 Feb 2016 14:30:43 +0800"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.22,464,1449561600\"; d=\"scan'208\";a=\"905782568\"",
        "From": "Helin Zhang <helin.zhang@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 18 Feb 2016 14:30:00 +0800",
        "Message-Id": "<1455777020-12095-11-git-send-email-helin.zhang@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "In-Reply-To": "<1455777020-12095-1-git-send-email-helin.zhang@intel.com>",
        "References": "<1452825653-623-1-git-send-email-helin.zhang@intel.com>\n\t<1455777020-12095-1-git-send-email-helin.zhang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 10/30] i40e/base: fix up recent proxy and wol\n\tbits for X722_SUPPORT",
        "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": "The recently added opcodes should be available only with X722\nSUPPORT, so move them into the #ifdef, and reorder these to be\nin numerical order with the rest of the opcodes. Several structs\nthat were added are unnecessary, so they are removed here.\n\nSigned-off-by: Helin Zhang <helin.zhang@intel.com>\n---\n drivers/net/i40e/base/i40e_adminq_cmd.h | 138 ++++++++++++--------------------\n drivers/net/i40e/base/i40e_common.c     |  14 ++--\n 2 files changed, 56 insertions(+), 96 deletions(-)",
    "diff": "diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h b/drivers/net/i40e/base/i40e_adminq_cmd.h\nindex 1874653..ff6449c 100644\n--- a/drivers/net/i40e/base/i40e_adminq_cmd.h\n+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h\n@@ -139,6 +139,12 @@ enum i40e_admin_queue_opc {\n \ti40e_aqc_opc_list_func_capabilities\t= 0x000A,\n \ti40e_aqc_opc_list_dev_capabilities\t= 0x000B,\n \n+#ifdef X722_SUPPORT\n+\t/* Proxy commands */\n+\ti40e_aqc_opc_set_proxy_config\t\t= 0x0104,\n+\ti40e_aqc_opc_set_ns_proxy_table_entry\t= 0x0105,\n+\n+#endif\n \t/* LAA */\n \ti40e_aqc_opc_mac_address_read\t= 0x0107,\n \ti40e_aqc_opc_mac_address_write\t= 0x0108,\n@@ -146,6 +152,12 @@ enum i40e_admin_queue_opc {\n \t/* PXE */\n \ti40e_aqc_opc_clear_pxe_mode\t= 0x0110,\n \n+#ifdef X722_SUPPORT\n+\t/* WoL commands */\n+\ti40e_aqc_opc_set_wol_filter\t= 0x0120,\n+\ti40e_aqc_opc_get_wake_reason\t= 0x0121,\n+\n+#endif\n \t/* internal switch commands */\n \ti40e_aqc_opc_get_switch_config\t\t= 0x0200,\n \ti40e_aqc_opc_add_statistics\t\t= 0x0201,\n@@ -270,16 +282,8 @@ enum i40e_admin_queue_opc {\n \ti40e_aqc_opc_set_rss_lut\t= 0x0B03,\n \ti40e_aqc_opc_get_rss_key\t= 0x0B04,\n \ti40e_aqc_opc_get_rss_lut\t= 0x0B05,\n-\n-\t/* WoL commands */\n-\ti40e_aqc_opc_set_wol_filter = 0x0120,\n-\ti40e_aqc_opc_get_wake_reason = 0x0121,\n #endif\n \n-\t/* Proxy commands */\n-\ti40e_aqc_opc_set_proxy_config\t= 0x0104,\n-\ti40e_aqc_opc_set_ns_proxy_table_entry\t= 0x0105,\n-\n \t/* Async Events */\n \ti40e_aqc_opc_event_lan_overflow\t\t= 0x1001,\n \n@@ -419,6 +423,7 @@ struct i40e_aqc_list_capabilities_element_resp {\n #define I40E_AQ_CAP_ID_OS2BMC_CAP\t0x0004\n #define I40E_AQ_CAP_ID_FUNCTIONS_VALID\t0x0005\n #define I40E_AQ_CAP_ID_ALTERNATE_RAM\t0x0006\n+#define I40E_AQ_CAP_ID_WOL_AND_PROXY\t0x0008\n #define I40E_AQ_CAP_ID_SRIOV\t\t0x0012\n #define I40E_AQ_CAP_ID_VF\t\t0x0013\n #define I40E_AQ_CAP_ID_VMDQ\t\t0x0014\n@@ -567,6 +572,43 @@ struct i40e_aqc_clear_pxe {\n \n I40E_CHECK_CMD_LENGTH(i40e_aqc_clear_pxe);\n \n+#ifdef X722_SUPPORT\n+/* Set WoL Filter (0x0120) */\n+\n+struct i40e_aqc_set_wol_filter {\n+\t__le16 filter_index;\n+#define I40E_AQC_MAX_NUM_WOL_FILTERS\t8\n+\t__le16 cmd_flags;\n+#define I40E_AQC_SET_WOL_FILTER\t\t\t\t0x8000\n+#define I40E_AQC_SET_WOL_FILTER_NO_TCO_WOL\t\t0x4000\n+\t__le16 valid_flags;\n+#define I40E_AQC_SET_WOL_FILTER_ACTION_VALID\t\t0x8000\n+#define I40E_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID\t0x4000\n+\tu8 reserved[2];\n+\t__le32\taddress_high;\n+\t__le32\taddress_low;\n+};\n+\n+I40E_CHECK_CMD_LENGTH(i40e_aqc_set_wol_filter);\n+\n+/* Get Wake Reason (0x0121) */\n+\n+struct i40e_aqc_get_wake_reason_completion {\n+\tu8 reserved_1[2];\n+\t__le16 wake_reason;\n+\tu8 reserved_2[12];\n+};\n+\n+I40E_CHECK_CMD_LENGTH(i40e_aqc_get_wake_reason_completion);\n+\n+struct i40e_aqc_set_wol_filter_data {\n+\tu8 filter[128];\n+\tu8 mask[16];\n+};\n+\n+I40E_CHECK_STRUCT_LEN(0x90, i40e_aqc_set_wol_filter_data);\n+\n+#endif /* X722_SUPPORT */\n /* Switch configuration commands (0x02xx) */\n \n /* Used by many indirect commands that only pass an seid and a buffer in the\n@@ -2426,84 +2468,4 @@ struct i40e_aqc_debug_modify_internals {\n \n I40E_CHECK_CMD_LENGTH(i40e_aqc_debug_modify_internals);\n \n-#ifdef X722_SUPPORT\n-struct i40e_aqc_set_proxy_config {\n-\tu8 reserved_1[4];\n-\tu8 reserved_2[4];\n-\t__le32\taddress_high;\n-\t__le32\taddress_low;\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_proxy_config);\n-\n-struct i40e_aqc_set_proxy_config_resp {\n-\tu8 reserved[8];\n-\t__le32\taddress_high;\n-\t__le32\taddress_low;\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_proxy_config_resp);\n-\n-struct i40e_aqc_set_ns_proxy_table_entry {\n-\tu8 reserved_1[4];\n-\tu8 reserved_2[4];\n-\t__le32\taddress_high;\n-\t__le32\taddress_low;\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_ns_proxy_table_entry);\n-\n-struct i40e_aqc_set_ns_proxy_table_entry_resp {\n-\tu8 reserved_1[4];\n-\tu8 reserved_2[4];\n-\t__le32\taddress_high;\n-\t__le32\taddress_low;\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_ns_proxy_table_entry_resp);\n-\n-struct i40e_aqc_set_wol_filter {\n-\t__le16 filter_index;\n-#define I40E_AQC_MAX_NUM_WOL_FILTERS\t8\n-\t__le16 cmd_flags;\n-#define I40E_AQC_SET_WOL_FILTER\t\t\t\t0x8000\n-#define I40E_AQC_SET_WOL_FILTER_NO_TCO_WOL\t\t0x4000\n-\t__le16 valid_flags;\n-#define I40E_AQC_SET_WOL_FILTER_ACTION_VALID\t\t0x8000\n-#define I40E_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID\t0x4000\n-\tu8 reserved[2];\n-\t__le32\taddress_high;\n-\t__le32\taddress_low;\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_wol_filter);\n-\n-struct i40e_aqc_set_wol_filter_resp {\n-\tu8 reserved[8];\n-\t__le32\taddress_high;\n-\t__le32\taddress_low;\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_wol_filter_resp);\n-\n-struct i40e_aqc_get_wol_wake_reason {\n-\tu8 reserved[16];\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_get_wol_wake_reason);\n-\n-struct i40e_aqc_get_wake_reason_completion {\n-\tu8 reserved_1[2];\n-\t__le16 wake_reason;\n-\tu8 reserved_2[12];\n-};\n-\n-I40E_CHECK_CMD_LENGTH(i40e_aqc_get_wake_reason_completion);\n-\n-struct i40e_aqc_set_wol_filter_data {\n-\tu8 filter[128];\n-\tu8 mask[16];\n-};\n-\n-#endif\n #endif /* _I40E_ADMINQ_CMD_H_ */\ndiff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c\nindex 67a5e21..cfe071b 100644\n--- a/drivers/net/i40e/base/i40e_common.c\n+++ b/drivers/net/i40e/base/i40e_common.c\n@@ -5818,8 +5818,6 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,\n \t\t\t\tstruct i40e_asq_cmd_details *cmd_details)\n {\n \tstruct i40e_aq_desc desc;\n-\tstruct i40e_aqc_set_proxy_config *cmd =\n-\t\t(struct i40e_aqc_set_proxy_config *) &desc.params.raw;\n \tenum i40e_status_code status;\n \n \tif (!proxy_config)\n@@ -5827,8 +5825,10 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,\n \n \ti40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_proxy_config);\n \n-\tcmd->address_high = CPU_TO_LE32(I40E_HI_DWORD((u64)proxy_config));\n-\tcmd->address_low = CPU_TO_LE32(I40E_LO_DWORD((u64)proxy_config));\n+\tdesc.params.external.addr_high =\n+\t\t\t\t  CPU_TO_LE32(I40E_HI_DWORD((u64)proxy_config));\n+\tdesc.params.external.addr_low =\n+\t\t\t\t  CPU_TO_LE32(I40E_LO_DWORD((u64)proxy_config));\n \n \tstatus = i40e_asq_send_command(hw, &desc, proxy_config,\n \t\t\t\t       sizeof(struct i40e_aqc_arp_proxy_data),\n@@ -5851,8 +5851,6 @@ enum i40e_status_code i40e_aq_set_ns_proxy_table_entry(struct i40e_hw *hw,\n \t\t\tstruct i40e_asq_cmd_details *cmd_details)\n {\n \tstruct i40e_aq_desc desc;\n-\tstruct i40e_aqc_set_ns_proxy_table_entry *cmd =\n-\t\t(struct i40e_aqc_set_ns_proxy_table_entry *) &desc.params.raw;\n \tenum i40e_status_code status;\n \n \tif (!ns_proxy_table_entry)\n@@ -5861,9 +5859,9 @@ enum i40e_status_code i40e_aq_set_ns_proxy_table_entry(struct i40e_hw *hw,\n \ti40e_fill_default_direct_cmd_desc(&desc,\n \t\t\t\ti40e_aqc_opc_set_ns_proxy_table_entry);\n \n-\tcmd->address_high =\n+\tdesc.params.external.addr_high =\n \t\tCPU_TO_LE32(I40E_HI_DWORD((u64)ns_proxy_table_entry));\n-\tcmd->address_low =\n+\tdesc.params.external.addr_low =\n \t\tCPU_TO_LE32(I40E_LO_DWORD((u64)ns_proxy_table_entry));\n \n \tstatus = i40e_asq_send_command(hw, &desc, ns_proxy_table_entry,\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "10/30"
    ]
}