The recently added opcodes should be available only with X722
SUPPORT, so move them into the #ifdef, and reorder these to be
in numerical order with the rest of the opcodes. Several structs
that were added are unnecessary, so they are removed here.

Signed-off-by: Helin Zhang <helin.zhang at intel.com>
---
 drivers/net/i40e/base/i40e_adminq_cmd.h | 138 ++++++++++++--------------------
 drivers/net/i40e/base/i40e_common.c     |  14 ++--
 2 files changed, 56 insertions(+), 96 deletions(-)

diff --git a/drivers/net/i40e/base/i40e_adminq_cmd.h 
b/drivers/net/i40e/base/i40e_adminq_cmd.h
index 1874653..ff6449c 100644
--- a/drivers/net/i40e/base/i40e_adminq_cmd.h
+++ b/drivers/net/i40e/base/i40e_adminq_cmd.h
@@ -139,6 +139,12 @@ enum i40e_admin_queue_opc {
        i40e_aqc_opc_list_func_capabilities     = 0x000A,
        i40e_aqc_opc_list_dev_capabilities      = 0x000B,

+#ifdef X722_SUPPORT
+       /* Proxy commands */
+       i40e_aqc_opc_set_proxy_config           = 0x0104,
+       i40e_aqc_opc_set_ns_proxy_table_entry   = 0x0105,
+
+#endif
        /* LAA */
        i40e_aqc_opc_mac_address_read   = 0x0107,
        i40e_aqc_opc_mac_address_write  = 0x0108,
@@ -146,6 +152,12 @@ enum i40e_admin_queue_opc {
        /* PXE */
        i40e_aqc_opc_clear_pxe_mode     = 0x0110,

+#ifdef X722_SUPPORT
+       /* WoL commands */
+       i40e_aqc_opc_set_wol_filter     = 0x0120,
+       i40e_aqc_opc_get_wake_reason    = 0x0121,
+
+#endif
        /* internal switch commands */
        i40e_aqc_opc_get_switch_config          = 0x0200,
        i40e_aqc_opc_add_statistics             = 0x0201,
@@ -270,16 +282,8 @@ enum i40e_admin_queue_opc {
        i40e_aqc_opc_set_rss_lut        = 0x0B03,
        i40e_aqc_opc_get_rss_key        = 0x0B04,
        i40e_aqc_opc_get_rss_lut        = 0x0B05,
-
-       /* WoL commands */
-       i40e_aqc_opc_set_wol_filter = 0x0120,
-       i40e_aqc_opc_get_wake_reason = 0x0121,
 #endif

-       /* Proxy commands */
-       i40e_aqc_opc_set_proxy_config   = 0x0104,
-       i40e_aqc_opc_set_ns_proxy_table_entry   = 0x0105,
-
        /* Async Events */
        i40e_aqc_opc_event_lan_overflow         = 0x1001,

@@ -419,6 +423,7 @@ struct i40e_aqc_list_capabilities_element_resp {
 #define I40E_AQ_CAP_ID_OS2BMC_CAP      0x0004
 #define I40E_AQ_CAP_ID_FUNCTIONS_VALID 0x0005
 #define I40E_AQ_CAP_ID_ALTERNATE_RAM   0x0006
+#define I40E_AQ_CAP_ID_WOL_AND_PROXY   0x0008
 #define I40E_AQ_CAP_ID_SRIOV           0x0012
 #define I40E_AQ_CAP_ID_VF              0x0013
 #define I40E_AQ_CAP_ID_VMDQ            0x0014
@@ -567,6 +572,43 @@ struct i40e_aqc_clear_pxe {

 I40E_CHECK_CMD_LENGTH(i40e_aqc_clear_pxe);

+#ifdef X722_SUPPORT
+/* Set WoL Filter (0x0120) */
+
+struct i40e_aqc_set_wol_filter {
+       __le16 filter_index;
+#define I40E_AQC_MAX_NUM_WOL_FILTERS   8
+       __le16 cmd_flags;
+#define I40E_AQC_SET_WOL_FILTER                                0x8000
+#define I40E_AQC_SET_WOL_FILTER_NO_TCO_WOL             0x4000
+       __le16 valid_flags;
+#define I40E_AQC_SET_WOL_FILTER_ACTION_VALID           0x8000
+#define I40E_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID    0x4000
+       u8 reserved[2];
+       __le32  address_high;
+       __le32  address_low;
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_set_wol_filter);
+
+/* Get Wake Reason (0x0121) */
+
+struct i40e_aqc_get_wake_reason_completion {
+       u8 reserved_1[2];
+       __le16 wake_reason;
+       u8 reserved_2[12];
+};
+
+I40E_CHECK_CMD_LENGTH(i40e_aqc_get_wake_reason_completion);
+
+struct i40e_aqc_set_wol_filter_data {
+       u8 filter[128];
+       u8 mask[16];
+};
+
+I40E_CHECK_STRUCT_LEN(0x90, i40e_aqc_set_wol_filter_data);
+
+#endif /* X722_SUPPORT */
 /* Switch configuration commands (0x02xx) */

 /* Used by many indirect commands that only pass an seid and a buffer in the
@@ -2426,84 +2468,4 @@ struct i40e_aqc_debug_modify_internals {

 I40E_CHECK_CMD_LENGTH(i40e_aqc_debug_modify_internals);

-#ifdef X722_SUPPORT
-struct i40e_aqc_set_proxy_config {
-       u8 reserved_1[4];
-       u8 reserved_2[4];
-       __le32  address_high;
-       __le32  address_low;
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_proxy_config);
-
-struct i40e_aqc_set_proxy_config_resp {
-       u8 reserved[8];
-       __le32  address_high;
-       __le32  address_low;
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_proxy_config_resp);
-
-struct i40e_aqc_set_ns_proxy_table_entry {
-       u8 reserved_1[4];
-       u8 reserved_2[4];
-       __le32  address_high;
-       __le32  address_low;
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_ns_proxy_table_entry);
-
-struct i40e_aqc_set_ns_proxy_table_entry_resp {
-       u8 reserved_1[4];
-       u8 reserved_2[4];
-       __le32  address_high;
-       __le32  address_low;
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_ns_proxy_table_entry_resp);
-
-struct i40e_aqc_set_wol_filter {
-       __le16 filter_index;
-#define I40E_AQC_MAX_NUM_WOL_FILTERS   8
-       __le16 cmd_flags;
-#define I40E_AQC_SET_WOL_FILTER                                0x8000
-#define I40E_AQC_SET_WOL_FILTER_NO_TCO_WOL             0x4000
-       __le16 valid_flags;
-#define I40E_AQC_SET_WOL_FILTER_ACTION_VALID           0x8000
-#define I40E_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID    0x4000
-       u8 reserved[2];
-       __le32  address_high;
-       __le32  address_low;
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_wol_filter);
-
-struct i40e_aqc_set_wol_filter_resp {
-       u8 reserved[8];
-       __le32  address_high;
-       __le32  address_low;
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_set_wol_filter_resp);
-
-struct i40e_aqc_get_wol_wake_reason {
-       u8 reserved[16];
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_get_wol_wake_reason);
-
-struct i40e_aqc_get_wake_reason_completion {
-       u8 reserved_1[2];
-       __le16 wake_reason;
-       u8 reserved_2[12];
-};
-
-I40E_CHECK_CMD_LENGTH(i40e_aqc_get_wake_reason_completion);
-
-struct i40e_aqc_set_wol_filter_data {
-       u8 filter[128];
-       u8 mask[16];
-};
-
-#endif
 #endif /* _I40E_ADMINQ_CMD_H_ */
diff --git a/drivers/net/i40e/base/i40e_common.c 
b/drivers/net/i40e/base/i40e_common.c
index 67a5e21..cfe071b 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -5818,8 +5818,6 @@ enum i40e_status_code i40e_aq_set_arp_proxy_config(struct 
i40e_hw *hw,
                                struct i40e_asq_cmd_details *cmd_details)
 {
        struct i40e_aq_desc desc;
-       struct i40e_aqc_set_proxy_config *cmd =
-               (struct i40e_aqc_set_proxy_config *) &desc.params.raw;
        enum i40e_status_code status;

        if (!proxy_config)
@@ -5827,8 +5825,10 @@ enum i40e_status_code 
i40e_aq_set_arp_proxy_config(struct i40e_hw *hw,

        i40e_fill_default_direct_cmd_desc(&desc, i40e_aqc_opc_set_proxy_config);

-       cmd->address_high = CPU_TO_LE32(I40E_HI_DWORD((u64)proxy_config));
-       cmd->address_low = CPU_TO_LE32(I40E_LO_DWORD((u64)proxy_config));
+       desc.params.external.addr_high =
+                                 CPU_TO_LE32(I40E_HI_DWORD((u64)proxy_config));
+       desc.params.external.addr_low =
+                                 CPU_TO_LE32(I40E_LO_DWORD((u64)proxy_config));

        status = i40e_asq_send_command(hw, &desc, proxy_config,
                                       sizeof(struct i40e_aqc_arp_proxy_data),
@@ -5851,8 +5851,6 @@ enum i40e_status_code 
i40e_aq_set_ns_proxy_table_entry(struct i40e_hw *hw,
                        struct i40e_asq_cmd_details *cmd_details)
 {
        struct i40e_aq_desc desc;
-       struct i40e_aqc_set_ns_proxy_table_entry *cmd =
-               (struct i40e_aqc_set_ns_proxy_table_entry *) &desc.params.raw;
        enum i40e_status_code status;

        if (!ns_proxy_table_entry)
@@ -5861,9 +5859,9 @@ enum i40e_status_code 
i40e_aq_set_ns_proxy_table_entry(struct i40e_hw *hw,
        i40e_fill_default_direct_cmd_desc(&desc,
                                i40e_aqc_opc_set_ns_proxy_table_entry);

-       cmd->address_high =
+       desc.params.external.addr_high =
                CPU_TO_LE32(I40E_HI_DWORD((u64)ns_proxy_table_entry));
-       cmd->address_low =
+       desc.params.external.addr_low =
                CPU_TO_LE32(I40E_LO_DWORD((u64)ns_proxy_table_entry));

        status = i40e_asq_send_command(hw, &desc, ns_proxy_table_entry,
-- 
2.5.0

Reply via email to