Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/10592/?format=api
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" ] }{ "id": 10592, "url": "