i40e/base: fix proxy for X722
authorHelin Zhang <helin.zhang@intel.com>
Tue, 8 Mar 2016 08:14:19 +0000 (16:14 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 16 Mar 2016 16:27:02 +0000 (17:27 +0100)
The recently added proxy 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.

Fixes: 788fc17b2dec ("i40e/base: support proxy config for X722")

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Remy Horton <remy.horton@intel.com>
drivers/net/i40e/base/i40e_adminq_cmd.h
drivers/net/i40e/base/i40e_common.c

index e2e17c5..ff6449c 100644 (file)
@@ -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,
@@ -278,10 +284,6 @@ enum i40e_admin_queue_opc {
        i40e_aqc_opc_get_rss_lut        = 0x0B05,
 #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,
 
@@ -2466,40 +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);
-#endif
 #endif /* _I40E_ADMINQ_CMD_H_ */
index 67a5e21..cfe071b 100644 (file)
@@ -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,