DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 00/17] iavf base code update
@ 2019-12-03  7:03 Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 01/17] net/iavf/base: remove unnecessary header file Qi Zhang
                   ` (17 more replies)
  0 siblings, 18 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang

Update iavf base code to latest.

main changes
1) Add more supported device ID
2) update virtual channel to latest AVF spec.
3) code clean.
4) couple bug fixes 

Qi Zhang (17):
  net/iavf/base: remove unnecessary header file
  net/iavf/base: rename error code enum
  net/iavf/base: rename register macro
  net/iavf/base: update device id
  net/iavf/base: remove unused code
  net/iavf/base: remove unnecessary compile option
  net/iavf/base: rename functions
  net/iavf/base: update virtual channel
  net/iavf/base: adjust code indent
  net/iavf/base: increase max VSI count for VFs
  net/iavf/base: fix command buffer memory free
  net/iavf/base: update FW API version for X722
  net/iavf/base: add more link speed support
  net/iavf/base: update copyright date
  net/iavf/base: fix send adminq return value
  net/iavf: move device state flag
  net/ice/base: update version info

 drivers/net/iavf/base/README            |    4 +-
 drivers/net/iavf/base/iavf_adminq.c     |  121 +-
 drivers/net/iavf/base/iavf_adminq.h     |   45 +-
 drivers/net/iavf/base/iavf_adminq_cmd.h | 2354 ++-----------------------------
 drivers/net/iavf/base/iavf_alloc.h      |   24 +-
 drivers/net/iavf/base/iavf_common.c     |  879 +-----------
 drivers/net/iavf/base/iavf_devids.h     |    7 +-
 drivers/net/iavf/base/iavf_hmc.h        |  216 ---
 drivers/net/iavf/base/iavf_lan_hmc.h    |  171 ---
 drivers/net/iavf/base/iavf_osdep.h      |    2 +-
 drivers/net/iavf/base/iavf_prototype.h  |  149 +-
 drivers/net/iavf/base/iavf_register.h   |  390 ++---
 drivers/net/iavf/base/iavf_status.h     |    4 +-
 drivers/net/iavf/base/iavf_type.h       | 1144 ++-------------
 drivers/net/iavf/base/virtchnl.h        |  345 +++--
 drivers/net/iavf/iavf.h                 |    1 +
 drivers/net/iavf/iavf_ethdev.c          |   80 +-
 drivers/net/iavf/iavf_vchnl.c           |   10 +-
 18 files changed, 692 insertions(+), 5254 deletions(-)
 delete mode 100644 drivers/net/iavf/base/iavf_hmc.h
 delete mode 100644 drivers/net/iavf/base/iavf_lan_hmc.h

-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 01/17] net/iavf/base: remove unnecessary header file
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 02/17] net/iavf/base: rename error code enum Qi Zhang
                   ` (16 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Delete iavf_hmc.h and iavf_lan_hmc.h since its not necessary.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_hmc.h     | 216 -----------------------------------
 drivers/net/iavf/base/iavf_lan_hmc.h | 171 ---------------------------
 drivers/net/iavf/base/iavf_type.h    |   7 +-
 3 files changed, 2 insertions(+), 392 deletions(-)
 delete mode 100644 drivers/net/iavf/base/iavf_hmc.h
 delete mode 100644 drivers/net/iavf/base/iavf_lan_hmc.h

diff --git a/drivers/net/iavf/base/iavf_hmc.h b/drivers/net/iavf/base/iavf_hmc.h
deleted file mode 100644
index d861db04a..000000000
--- a/drivers/net/iavf/base/iavf_hmc.h
+++ /dev/null
@@ -1,216 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
- */
-
-#ifndef _IAVF_HMC_H_
-#define _IAVF_HMC_H_
-
-#define IAVF_HMC_MAX_BP_COUNT 512
-
-/* forward-declare the HW struct for the compiler */
-struct iavf_hw;
-
-#define IAVF_HMC_INFO_SIGNATURE		0x484D5347 /* HMSG */
-#define IAVF_HMC_PD_CNT_IN_SD		512
-#define IAVF_HMC_DIRECT_BP_SIZE		0x200000 /* 2M */
-#define IAVF_HMC_PAGED_BP_SIZE		4096
-#define IAVF_HMC_PD_BP_BUF_ALIGNMENT	4096
-#define IAVF_FIRST_VF_FPM_ID		16
-
-struct iavf_hmc_obj_info {
-	u64 base;	/* base addr in FPM */
-	u32 max_cnt;	/* max count available for this hmc func */
-	u32 cnt;	/* count of objects driver actually wants to create */
-	u64 size;	/* size in bytes of one object */
-};
-
-enum iavf_sd_entry_type {
-	IAVF_SD_TYPE_INVALID = 0,
-	IAVF_SD_TYPE_PAGED   = 1,
-	IAVF_SD_TYPE_DIRECT  = 2
-};
-
-struct iavf_hmc_bp {
-	enum iavf_sd_entry_type entry_type;
-	struct iavf_dma_mem addr; /* populate to be used by hw */
-	u32 sd_pd_index;
-	u32 ref_cnt;
-};
-
-struct iavf_hmc_pd_entry {
-	struct iavf_hmc_bp bp;
-	u32 sd_index;
-	bool rsrc_pg;
-	bool valid;
-};
-
-struct iavf_hmc_pd_table {
-	struct iavf_dma_mem pd_page_addr; /* populate to be used by hw */
-	struct iavf_hmc_pd_entry  *pd_entry; /* [512] for sw book keeping */
-	struct iavf_virt_mem pd_entry_virt_mem; /* virt mem for pd_entry */
-
-	u32 ref_cnt;
-	u32 sd_index;
-};
-
-struct iavf_hmc_sd_entry {
-	enum iavf_sd_entry_type entry_type;
-	bool valid;
-
-	union {
-		struct iavf_hmc_pd_table pd_table;
-		struct iavf_hmc_bp bp;
-	} u;
-};
-
-struct iavf_hmc_sd_table {
-	struct iavf_virt_mem addr; /* used to track sd_entry allocations */
-	u32 sd_cnt;
-	u32 ref_cnt;
-	struct iavf_hmc_sd_entry *sd_entry; /* (sd_cnt*512) entries max */
-};
-
-struct iavf_hmc_info {
-	u32 signature;
-	/* equals to pci func num for PF and dynamically allocated for VFs */
-	u8 hmc_fn_id;
-	u16 first_sd_index; /* index of the first available SD */
-
-	/* hmc objects */
-	struct iavf_hmc_obj_info *hmc_obj;
-	struct iavf_virt_mem hmc_obj_virt_mem;
-	struct iavf_hmc_sd_table sd_table;
-};
-
-#define IAVF_INC_SD_REFCNT(sd_table)	((sd_table)->ref_cnt++)
-#define IAVF_INC_PD_REFCNT(pd_table)	((pd_table)->ref_cnt++)
-#define IAVF_INC_BP_REFCNT(bp)		((bp)->ref_cnt++)
-
-#define IAVF_DEC_SD_REFCNT(sd_table)	((sd_table)->ref_cnt--)
-#define IAVF_DEC_PD_REFCNT(pd_table)	((pd_table)->ref_cnt--)
-#define IAVF_DEC_BP_REFCNT(bp)		((bp)->ref_cnt--)
-
-/**
- * IAVF_SET_PF_SD_ENTRY - marks the sd entry as valid in the hardware
- * @hw: pointer to our hw struct
- * @pa: pointer to physical address
- * @sd_index: segment descriptor index
- * @type: if sd entry is direct or paged
- **/
-#define IAVF_SET_PF_SD_ENTRY(hw, pa, sd_index, type)			\
-{									\
-	u32 val1, val2, val3;						\
-	val1 = (u32)(IAVF_HI_DWORD(pa));				\
-	val2 = (u32)(pa) | (IAVF_HMC_MAX_BP_COUNT <<			\
-		 IAVF_PFHMC_SDDATALOW_PMSDBPCOUNT_SHIFT) |		\
-		((((type) == IAVF_SD_TYPE_PAGED) ? 0 : 1) <<		\
-		IAVF_PFHMC_SDDATALOW_PMSDTYPE_SHIFT) |			\
-		BIT(IAVF_PFHMC_SDDATALOW_PMSDVALID_SHIFT);		\
-	val3 = (sd_index) | BIT_ULL(IAVF_PFHMC_SDCMD_PMSDWR_SHIFT);	\
-	wr32((hw), IAVF_PFHMC_SDDATAHIGH, val1);			\
-	wr32((hw), IAVF_PFHMC_SDDATALOW, val2);				\
-	wr32((hw), IAVF_PFHMC_SDCMD, val3);				\
-}
-
-/**
- * IAVF_CLEAR_PF_SD_ENTRY - marks the sd entry as invalid in the hardware
- * @hw: pointer to our hw struct
- * @sd_index: segment descriptor index
- * @type: if sd entry is direct or paged
- **/
-#define IAVF_CLEAR_PF_SD_ENTRY(hw, sd_index, type)			\
-{									\
-	u32 val2, val3;							\
-	val2 = (IAVF_HMC_MAX_BP_COUNT <<				\
-		IAVF_PFHMC_SDDATALOW_PMSDBPCOUNT_SHIFT) |		\
-		((((type) == IAVF_SD_TYPE_PAGED) ? 0 : 1) <<		\
-		IAVF_PFHMC_SDDATALOW_PMSDTYPE_SHIFT);			\
-	val3 = (sd_index) | BIT_ULL(IAVF_PFHMC_SDCMD_PMSDWR_SHIFT);	\
-	wr32((hw), IAVF_PFHMC_SDDATAHIGH, 0);				\
-	wr32((hw), IAVF_PFHMC_SDDATALOW, val2);				\
-	wr32((hw), IAVF_PFHMC_SDCMD, val3);				\
-}
-
-/**
- * IAVF_INVALIDATE_PF_HMC_PD - Invalidates the pd cache in the hardware
- * @hw: pointer to our hw struct
- * @sd_idx: segment descriptor index
- * @pd_idx: page descriptor index
- **/
-#define IAVF_INVALIDATE_PF_HMC_PD(hw, sd_idx, pd_idx)			\
-	wr32((hw), IAVF_PFHMC_PDINV,					\
-	    (((sd_idx) << IAVF_PFHMC_PDINV_PMSDIDX_SHIFT) |		\
-	     ((pd_idx) << IAVF_PFHMC_PDINV_PMPDIDX_SHIFT)))
-
-/**
- * IAVF_FIND_SD_INDEX_LIMIT - finds segment descriptor index limit
- * @hmc_info: pointer to the HMC configuration information structure
- * @type: type of HMC resources we're searching
- * @index: starting index for the object
- * @cnt: number of objects we're trying to create
- * @sd_idx: pointer to return index of the segment descriptor in question
- * @sd_limit: pointer to return the maximum number of segment descriptors
- *
- * This function calculates the segment descriptor index and index limit
- * for the resource defined by iavf_hmc_rsrc_type.
- **/
-#define IAVF_FIND_SD_INDEX_LIMIT(hmc_info, type, index, cnt, sd_idx, sd_limit)\
-{									\
-	u64 fpm_addr, fpm_limit;					\
-	fpm_addr = (hmc_info)->hmc_obj[(type)].base +			\
-		   (hmc_info)->hmc_obj[(type)].size * (index);		\
-	fpm_limit = fpm_addr + (hmc_info)->hmc_obj[(type)].size * (cnt);\
-	*(sd_idx) = (u32)(fpm_addr / IAVF_HMC_DIRECT_BP_SIZE);		\
-	*(sd_limit) = (u32)((fpm_limit - 1) / IAVF_HMC_DIRECT_BP_SIZE);	\
-	/* add one more to the limit to correct our range */		\
-	*(sd_limit) += 1;						\
-}
-
-/**
- * IAVF_FIND_PD_INDEX_LIMIT - finds page descriptor index limit
- * @hmc_info: pointer to the HMC configuration information struct
- * @type: HMC resource type we're examining
- * @idx: starting index for the object
- * @cnt: number of objects we're trying to create
- * @pd_index: pointer to return page descriptor index
- * @pd_limit: pointer to return page descriptor index limit
- *
- * Calculates the page descriptor index and index limit for the resource
- * defined by iavf_hmc_rsrc_type.
- **/
-#define IAVF_FIND_PD_INDEX_LIMIT(hmc_info, type, idx, cnt, pd_index, pd_limit)\
-{									\
-	u64 fpm_adr, fpm_limit;						\
-	fpm_adr = (hmc_info)->hmc_obj[(type)].base +			\
-		  (hmc_info)->hmc_obj[(type)].size * (idx);		\
-	fpm_limit = fpm_adr + (hmc_info)->hmc_obj[(type)].size * (cnt);	\
-	*(pd_index) = (u32)(fpm_adr / IAVF_HMC_PAGED_BP_SIZE);		\
-	*(pd_limit) = (u32)((fpm_limit - 1) / IAVF_HMC_PAGED_BP_SIZE);	\
-	/* add one more to the limit to correct our range */		\
-	*(pd_limit) += 1;						\
-}
-enum iavf_status_code iavf_add_sd_table_entry(struct iavf_hw *hw,
-					      struct iavf_hmc_info *hmc_info,
-					      u32 sd_index,
-					      enum iavf_sd_entry_type type,
-					      u64 direct_mode_sz);
-
-enum iavf_status_code iavf_add_pd_table_entry(struct iavf_hw *hw,
-					      struct iavf_hmc_info *hmc_info,
-					      u32 pd_index,
-					      struct iavf_dma_mem *rsrc_pg);
-enum iavf_status_code iavf_remove_pd_bp(struct iavf_hw *hw,
-					struct iavf_hmc_info *hmc_info,
-					u32 idx);
-enum iavf_status_code iavf_prep_remove_sd_bp(struct iavf_hmc_info *hmc_info,
-					     u32 idx);
-enum iavf_status_code iavf_remove_sd_bp_new(struct iavf_hw *hw,
-					    struct iavf_hmc_info *hmc_info,
-					    u32 idx, bool is_pf);
-enum iavf_status_code iavf_prep_remove_pd_page(struct iavf_hmc_info *hmc_info,
-					       u32 idx);
-enum iavf_status_code iavf_remove_pd_page_new(struct iavf_hw *hw,
-					      struct iavf_hmc_info *hmc_info,
-					      u32 idx, bool is_pf);
-
-#endif /* _IAVF_HMC_H_ */
diff --git a/drivers/net/iavf/base/iavf_lan_hmc.h b/drivers/net/iavf/base/iavf_lan_hmc.h
deleted file mode 100644
index 8e8752c79..000000000
--- a/drivers/net/iavf/base/iavf_lan_hmc.h
+++ /dev/null
@@ -1,171 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
- */
-
-#ifndef _IAVF_LAN_HMC_H_
-#define _IAVF_LAN_HMC_H_
-
-/* forward-declare the HW struct for the compiler */
-struct iavf_hw;
-
-/* HMC element context information */
-
-/* Rx queue context data
- *
- * The sizes of the variables may be larger than needed due to crossing byte
- * boundaries. If we do not have the width of the variable set to the correct
- * size then we could end up shifting bits off the top of the variable when the
- * variable is at the top of a byte and crosses over into the next byte.
- */
-struct iavf_hmc_obj_rxq {
-	u16 head;
-	u16 cpuid; /* bigger than needed, see above for reason */
-	u64 base;
-	u16 qlen;
-#define IAVF_RXQ_CTX_DBUFF_SHIFT 7
-	u16 dbuff; /* bigger than needed, see above for reason */
-#define IAVF_RXQ_CTX_HBUFF_SHIFT 6
-	u16 hbuff; /* bigger than needed, see above for reason */
-	u8  dtype;
-	u8  dsize;
-	u8  crcstrip;
-	u8  fc_ena;
-	u8  l2tsel;
-	u8  hsplit_0;
-	u8  hsplit_1;
-	u8  showiv;
-	u32 rxmax; /* bigger than needed, see above for reason */
-	u8  tphrdesc_ena;
-	u8  tphwdesc_ena;
-	u8  tphdata_ena;
-	u8  tphhead_ena;
-	u16 lrxqthresh; /* bigger than needed, see above for reason */
-	u8  prefena;	/* NOTE: normally must be set to 1 at init */
-};
-
-/* Tx queue context data
-*
-* The sizes of the variables may be larger than needed due to crossing byte
-* boundaries. If we do not have the width of the variable set to the correct
-* size then we could end up shifting bits off the top of the variable when the
-* variable is at the top of a byte and crosses over into the next byte.
-*/
-struct iavf_hmc_obj_txq {
-	u16 head;
-	u8  new_context;
-	u64 base;
-	u8  fc_ena;
-	u8  timesync_ena;
-	u8  fd_ena;
-	u8  alt_vlan_ena;
-	u16 thead_wb;
-	u8  cpuid;
-	u8  head_wb_ena;
-	u16 qlen;
-	u8  tphrdesc_ena;
-	u8  tphrpacket_ena;
-	u8  tphwdesc_ena;
-	u64 head_wb_addr;
-	u32 crc;
-	u16 rdylist;
-	u8  rdylist_act;
-};
-
-/* for hsplit_0 field of Rx HMC context */
-enum iavf_hmc_obj_rx_hsplit_0 {
-	IAVF_HMC_OBJ_RX_HSPLIT_0_NO_SPLIT      = 0,
-	IAVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_L2      = 1,
-	IAVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_IP      = 2,
-	IAVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_TCP_UDP = 4,
-	IAVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_SCTP    = 8,
-};
-
-/* fcoe_cntx and fcoe_filt are for debugging purpose only */
-struct iavf_hmc_obj_fcoe_cntx {
-	u32 rsv[32];
-};
-
-struct iavf_hmc_obj_fcoe_filt {
-	u32 rsv[8];
-};
-
-/* Context sizes for LAN objects */
-enum iavf_hmc_lan_object_size {
-	IAVF_HMC_LAN_OBJ_SZ_8   = 0x3,
-	IAVF_HMC_LAN_OBJ_SZ_16  = 0x4,
-	IAVF_HMC_LAN_OBJ_SZ_32  = 0x5,
-	IAVF_HMC_LAN_OBJ_SZ_64  = 0x6,
-	IAVF_HMC_LAN_OBJ_SZ_128 = 0x7,
-	IAVF_HMC_LAN_OBJ_SZ_256 = 0x8,
-	IAVF_HMC_LAN_OBJ_SZ_512 = 0x9,
-};
-
-#define IAVF_HMC_L2OBJ_BASE_ALIGNMENT 512
-#define IAVF_HMC_OBJ_SIZE_TXQ         128
-#define IAVF_HMC_OBJ_SIZE_RXQ         32
-#define IAVF_HMC_OBJ_SIZE_FCOE_CNTX   64
-#define IAVF_HMC_OBJ_SIZE_FCOE_FILT   64
-
-enum iavf_hmc_lan_rsrc_type {
-	IAVF_HMC_LAN_FULL  = 0,
-	IAVF_HMC_LAN_TX    = 1,
-	IAVF_HMC_LAN_RX    = 2,
-	IAVF_HMC_FCOE_CTX  = 3,
-	IAVF_HMC_FCOE_FILT = 4,
-	IAVF_HMC_LAN_MAX   = 5
-};
-
-enum iavf_hmc_model {
-	IAVF_HMC_MODEL_DIRECT_PREFERRED = 0,
-	IAVF_HMC_MODEL_DIRECT_ONLY      = 1,
-	IAVF_HMC_MODEL_PAGED_ONLY       = 2,
-	IAVF_HMC_MODEL_UNKNOWN,
-};
-
-struct iavf_hmc_lan_create_obj_info {
-	struct iavf_hmc_info *hmc_info;
-	u32 rsrc_type;
-	u32 start_idx;
-	u32 count;
-	enum iavf_sd_entry_type entry_type;
-	u64 direct_mode_sz;
-};
-
-struct iavf_hmc_lan_delete_obj_info {
-	struct iavf_hmc_info *hmc_info;
-	u32 rsrc_type;
-	u32 start_idx;
-	u32 count;
-};
-
-enum iavf_status_code iavf_init_lan_hmc(struct iavf_hw *hw, u32 txq_num,
-					u32 rxq_num, u32 fcoe_cntx_num,
-					u32 fcoe_filt_num);
-enum iavf_status_code iavf_configure_lan_hmc(struct iavf_hw *hw,
-					     enum iavf_hmc_model model);
-enum iavf_status_code iavf_shutdown_lan_hmc(struct iavf_hw *hw);
-
-u64 iavf_calculate_l2fpm_size(u32 txq_num, u32 rxq_num,
-			      u32 fcoe_cntx_num, u32 fcoe_filt_num);
-enum iavf_status_code iavf_get_lan_tx_queue_context(struct iavf_hw *hw,
-						    u16 queue,
-						    struct iavf_hmc_obj_txq *s);
-enum iavf_status_code iavf_clear_lan_tx_queue_context(struct iavf_hw *hw,
-						      u16 queue);
-enum iavf_status_code iavf_set_lan_tx_queue_context(struct iavf_hw *hw,
-						    u16 queue,
-						    struct iavf_hmc_obj_txq *s);
-enum iavf_status_code iavf_get_lan_rx_queue_context(struct iavf_hw *hw,
-						    u16 queue,
-						    struct iavf_hmc_obj_rxq *s);
-enum iavf_status_code iavf_clear_lan_rx_queue_context(struct iavf_hw *hw,
-						      u16 queue);
-enum iavf_status_code iavf_set_lan_rx_queue_context(struct iavf_hw *hw,
-						    u16 queue,
-						    struct iavf_hmc_obj_rxq *s);
-enum iavf_status_code iavf_create_lan_hmc_object(struct iavf_hw *hw,
-				struct iavf_hmc_lan_create_obj_info *info);
-enum iavf_status_code iavf_delete_lan_hmc_object(struct iavf_hw *hw,
-				struct iavf_hmc_lan_delete_obj_info *info);
-
-#endif /* _IAVF_LAN_HMC_H_ */
diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index eb0eaa4f2..4ccde31a2 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -9,10 +9,10 @@
 #include "iavf_osdep.h"
 #include "iavf_register.h"
 #include "iavf_adminq.h"
-#include "iavf_hmc.h"
-#include "iavf_lan_hmc.h"
 #include "iavf_devids.h"
 
+#define IAVF_RXQ_CTX_DBUFF_SHIFT        7
+
 #define UNREFERENCED_XPARAMETER
 #define UNREFERENCED_1PARAMETER(_p) (_p);
 #define UNREFERENCED_2PARAMETER(_p, _q) (_p); (_q);
@@ -683,9 +683,6 @@ struct iavf_hw {
 	bool nvm_release_on_done;
 	u16 nvm_wait_opcode;
 
-	/* HMC info */
-	struct iavf_hmc_info hmc; /* HMC info struct */
-
 	/* LLDP/DCBX Status */
 	u16 dcbx_status;
 
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 02/17] net/iavf/base: rename error code enum
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 01/17] net/iavf/base: remove unnecessary header file Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 03/17] net/iavf/base: rename register macro Qi Zhang
                   ` (15 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Rename iavf_status_code to iavf_status to align with kernel
driver's implementation.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c    |  56 ++++++++---------
 drivers/net/iavf/base/iavf_alloc.h     |   8 +--
 drivers/net/iavf/base/iavf_common.c    | 106 ++++++++++++++++-----------------
 drivers/net/iavf/base/iavf_prototype.h |  90 ++++++++++++++--------------
 drivers/net/iavf/base/iavf_status.h    |   2 +-
 drivers/net/iavf/iavf_ethdev.c         |   8 +--
 drivers/net/iavf/iavf_vchnl.c          |   8 +--
 7 files changed, 139 insertions(+), 139 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index 1ba8b5221..ae8150e4f 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -35,9 +35,9 @@ STATIC void iavf_adminq_init_regs(struct iavf_hw *hw)
  *  iavf_alloc_adminq_asq_ring - Allocate Admin Queue send rings
  *  @hw: pointer to the hardware structure
  **/
-enum iavf_status_code iavf_alloc_adminq_asq_ring(struct iavf_hw *hw)
+enum iavf_status iavf_alloc_adminq_asq_ring(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code;
+	enum iavf_status ret_code;
 
 	ret_code = iavf_allocate_dma_mem(hw, &hw->aq.asq.desc_buf,
 					 iavf_mem_atq_ring,
@@ -62,9 +62,9 @@ enum iavf_status_code iavf_alloc_adminq_asq_ring(struct iavf_hw *hw)
  *  iavf_alloc_adminq_arq_ring - Allocate Admin Queue receive rings
  *  @hw: pointer to the hardware structure
  **/
-enum iavf_status_code iavf_alloc_adminq_arq_ring(struct iavf_hw *hw)
+enum iavf_status iavf_alloc_adminq_arq_ring(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code;
+	enum iavf_status ret_code;
 
 	ret_code = iavf_allocate_dma_mem(hw, &hw->aq.arq.desc_buf,
 					 iavf_mem_arq_ring,
@@ -103,9 +103,9 @@ void iavf_free_adminq_arq(struct iavf_hw *hw)
  *  iavf_alloc_arq_bufs - Allocate pre-posted buffers for the receive queue
  *  @hw: pointer to the hardware structure
  **/
-STATIC enum iavf_status_code iavf_alloc_arq_bufs(struct iavf_hw *hw)
+STATIC enum iavf_status iavf_alloc_arq_bufs(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code;
+	enum iavf_status ret_code;
 	struct iavf_aq_desc *desc;
 	struct iavf_dma_mem *bi;
 	int i;
@@ -170,9 +170,9 @@ STATIC enum iavf_status_code iavf_alloc_arq_bufs(struct iavf_hw *hw)
  *  iavf_alloc_asq_bufs - Allocate empty buffer structs for the send queue
  *  @hw: pointer to the hardware structure
  **/
-STATIC enum iavf_status_code iavf_alloc_asq_bufs(struct iavf_hw *hw)
+STATIC enum iavf_status iavf_alloc_asq_bufs(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code;
+	enum iavf_status ret_code;
 	struct iavf_dma_mem *bi;
 	int i;
 
@@ -254,9 +254,9 @@ STATIC void iavf_free_asq_bufs(struct iavf_hw *hw)
  *
  *  Configure base address and length registers for the transmit queue
  **/
-STATIC enum iavf_status_code iavf_config_asq_regs(struct iavf_hw *hw)
+STATIC enum iavf_status iavf_config_asq_regs(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 	u32 reg = 0;
 
 	/* Clear Head and Tail */
@@ -289,9 +289,9 @@ STATIC enum iavf_status_code iavf_config_asq_regs(struct iavf_hw *hw)
  *
  * Configure base address and length registers for the receive (event queue)
  **/
-STATIC enum iavf_status_code iavf_config_arq_regs(struct iavf_hw *hw)
+STATIC enum iavf_status iavf_config_arq_regs(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 	u32 reg = 0;
 
 	/* Clear Head and Tail */
@@ -334,9 +334,9 @@ STATIC enum iavf_status_code iavf_config_arq_regs(struct iavf_hw *hw)
  *  Do *NOT* hold the lock when calling this as the memory allocation routines
  *  called are not going to be atomic context safe
  **/
-enum iavf_status_code iavf_init_asq(struct iavf_hw *hw)
+enum iavf_status iavf_init_asq(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 
 	if (hw->aq.asq.count > 0) {
 		/* queue already initialized */
@@ -393,9 +393,9 @@ enum iavf_status_code iavf_init_asq(struct iavf_hw *hw)
  *  Do *NOT* hold the lock when calling this as the memory allocation routines
  *  called are not going to be atomic context safe
  **/
-enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
+enum iavf_status iavf_init_arq(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 
 	if (hw->aq.arq.count > 0) {
 		/* queue already initialized */
@@ -445,9 +445,9 @@ enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
  *
  *  The main shutdown routine for the Admin Send Queue
  **/
-enum iavf_status_code iavf_shutdown_asq(struct iavf_hw *hw)
+enum iavf_status iavf_shutdown_asq(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 
 	iavf_acquire_spinlock(&hw->aq.asq_spinlock);
 
@@ -479,9 +479,9 @@ enum iavf_status_code iavf_shutdown_asq(struct iavf_hw *hw)
  *
  *  The main shutdown routine for the Admin Receive Queue
  **/
-enum iavf_status_code iavf_shutdown_arq(struct iavf_hw *hw)
+enum iavf_status iavf_shutdown_arq(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 
 	iavf_acquire_spinlock(&hw->aq.arq_spinlock);
 
@@ -518,9 +518,9 @@ enum iavf_status_code iavf_shutdown_arq(struct iavf_hw *hw)
  *     - hw->aq.arq_buf_size
  *     - hw->aq.asq_buf_size
  **/
-enum iavf_status_code iavf_init_adminq(struct iavf_hw *hw)
+enum iavf_status iavf_init_adminq(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code;
+	enum iavf_status ret_code;
 
 	/* verify input for valid configuration */
 	if ((hw->aq.num_arq_entries == 0) ||
@@ -568,9 +568,9 @@ enum iavf_status_code iavf_init_adminq(struct iavf_hw *hw)
  *  iavf_shutdown_adminq - shutdown routine for the Admin Queue
  *  @hw: pointer to the hardware structure
  **/
-enum iavf_status_code iavf_shutdown_adminq(struct iavf_hw *hw)
+enum iavf_status iavf_shutdown_adminq(struct iavf_hw *hw)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 
 	if (iavf_check_asq_alive(hw))
 		iavf_aq_queue_shutdown(hw, true);
@@ -654,13 +654,13 @@ bool iavf_asq_done(struct iavf_hw *hw)
  *  This is the main send command driver routine for the Admin Queue send
  *  queue.  It runs the queue, cleans the queue, etc
  **/
-enum iavf_status_code iavf_asq_send_command(struct iavf_hw *hw,
+enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
 				struct iavf_aq_desc *desc,
 				void *buff, /* can be NULL */
 				u16  buff_size,
 				struct iavf_asq_cmd_details *cmd_details)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	struct iavf_dma_mem *dma_buff = NULL;
 	struct iavf_asq_cmd_details *details;
 	struct iavf_aq_desc *desc_on_ring;
@@ -877,11 +877,11 @@ void iavf_fill_default_direct_cmd_desc(struct iavf_aq_desc *desc,
  *  the contents through e.  It can also return how many events are
  *  left to process through 'pending'
  **/
-enum iavf_status_code iavf_clean_arq_element(struct iavf_hw *hw,
+enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
 					     struct iavf_arq_event_info *e,
 					     u16 *pending)
 {
-	enum iavf_status_code ret_code = IAVF_SUCCESS;
+	enum iavf_status ret_code = IAVF_SUCCESS;
 	u16 ntc = hw->aq.arq.next_to_clean;
 	struct iavf_aq_desc *desc;
 	struct iavf_dma_mem *bi;
diff --git a/drivers/net/iavf/base/iavf_alloc.h b/drivers/net/iavf/base/iavf_alloc.h
index 4ff307d23..da872bdbb 100644
--- a/drivers/net/iavf/base/iavf_alloc.h
+++ b/drivers/net/iavf/base/iavf_alloc.h
@@ -21,16 +21,16 @@ enum iavf_memory_type {
 };
 
 /* prototype for functions used for dynamic memory allocation */
-enum iavf_status_code iavf_allocate_dma_mem(struct iavf_hw *hw,
+enum iavf_status iavf_allocate_dma_mem(struct iavf_hw *hw,
 					    struct iavf_dma_mem *mem,
 					    enum iavf_memory_type type,
 					    u64 size, u32 alignment);
-enum iavf_status_code iavf_free_dma_mem(struct iavf_hw *hw,
+enum iavf_status iavf_free_dma_mem(struct iavf_hw *hw,
 					struct iavf_dma_mem *mem);
-enum iavf_status_code iavf_allocate_virt_mem(struct iavf_hw *hw,
+enum iavf_status iavf_allocate_virt_mem(struct iavf_hw *hw,
 					     struct iavf_virt_mem *mem,
 					     u32 size);
-enum iavf_status_code iavf_free_virt_mem(struct iavf_hw *hw,
+enum iavf_status iavf_free_virt_mem(struct iavf_hw *hw,
 					 struct iavf_virt_mem *mem);
 
 #endif /* _IAVF_ALLOC_H_ */
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index 916a8388b..0b9f83415 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -15,9 +15,9 @@
  * This function sets the mac type of the adapter based on the
  * vendor ID and device ID stored in the hw structure.
  **/
-enum iavf_status_code iavf_set_mac_type(struct iavf_hw *hw)
+enum iavf_status iavf_set_mac_type(struct iavf_hw *hw)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 
 	DEBUGFUNC("iavf_set_mac_type\n");
 
@@ -107,7 +107,7 @@ const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err)
  * @hw: pointer to the HW structure
  * @stat_err: the status error code to convert
  **/
-const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status_code stat_err)
+const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status stat_err)
 {
 	switch (stat_err) {
 	case IAVF_SUCCESS:
@@ -348,13 +348,13 @@ bool iavf_check_asq_alive(struct iavf_hw *hw)
  * Tell the Firmware that we're shutting down the AdminQ and whether
  * or not the driver is unloading as well.
  **/
-enum iavf_status_code iavf_aq_queue_shutdown(struct iavf_hw *hw,
+enum iavf_status iavf_aq_queue_shutdown(struct iavf_hw *hw,
 					     bool unloading)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_queue_shutdown *cmd =
 		(struct iavf_aqc_queue_shutdown *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc,
 					  iavf_aqc_opc_queue_shutdown);
@@ -377,12 +377,12 @@ enum iavf_status_code iavf_aq_queue_shutdown(struct iavf_hw *hw,
  *
  * Internal function to get or set RSS look up table
  **/
-STATIC enum iavf_status_code iavf_aq_get_set_rss_lut(struct iavf_hw *hw,
+STATIC enum iavf_status iavf_aq_get_set_rss_lut(struct iavf_hw *hw,
 						     u16 vsi_id, bool pf_lut,
 						     u8 *lut, u16 lut_size,
 						     bool set)
 {
-	enum iavf_status_code status;
+	enum iavf_status status;
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_get_set_rss_lut *cmd_resp =
 		   (struct iavf_aqc_get_set_rss_lut *)&desc.params.raw;
@@ -430,7 +430,7 @@ STATIC enum iavf_status_code iavf_aq_get_set_rss_lut(struct iavf_hw *hw,
  *
  * get the RSS lookup table, PF or VSI type
  **/
-enum iavf_status_code iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 vsi_id,
+enum iavf_status iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 vsi_id,
 					  bool pf_lut, u8 *lut, u16 lut_size)
 {
 	return iavf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size,
@@ -447,7 +447,7 @@ enum iavf_status_code iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 vsi_id,
  *
  * set the RSS lookup table, PF or VSI type
  **/
-enum iavf_status_code iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 vsi_id,
+enum iavf_status iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 vsi_id,
 					  bool pf_lut, u8 *lut, u16 lut_size)
 {
 	return iavf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size, true);
@@ -462,12 +462,12 @@ enum iavf_status_code iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 vsi_id,
  *
  * get the RSS key per VSI
  **/
-STATIC enum iavf_status_code iavf_aq_get_set_rss_key(struct iavf_hw *hw,
+STATIC enum iavf_status iavf_aq_get_set_rss_key(struct iavf_hw *hw,
 				      u16 vsi_id,
 				      struct iavf_aqc_get_set_rss_key_data *key,
 				      bool set)
 {
-	enum iavf_status_code status;
+	enum iavf_status status;
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_get_set_rss_key *cmd_resp =
 			(struct iavf_aqc_get_set_rss_key *)&desc.params.raw;
@@ -502,7 +502,7 @@ STATIC enum iavf_status_code iavf_aq_get_set_rss_key(struct iavf_hw *hw,
  * @key: pointer to key info struct
  *
  **/
-enum iavf_status_code iavf_aq_get_rss_key(struct iavf_hw *hw,
+enum iavf_status iavf_aq_get_rss_key(struct iavf_hw *hw,
 				      u16 vsi_id,
 				      struct iavf_aqc_get_set_rss_key_data *key)
 {
@@ -517,7 +517,7 @@ enum iavf_status_code iavf_aq_get_rss_key(struct iavf_hw *hw,
  *
  * set the RSS key per VSI
  **/
-enum iavf_status_code iavf_aq_set_rss_key(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
 				      u16 vsi_id,
 				      struct iavf_aqc_get_set_rss_key_data *key)
 {
@@ -896,9 +896,9 @@ struct iavf_rx_ptype_decoded iavf_ptype_lookup[] = {
  *
  * Tests a MAC address to ensure it is a valid Individual Address
  **/
-enum iavf_status_code iavf_validate_mac_addr(u8 *mac_addr)
+enum iavf_status iavf_validate_mac_addr(u8 *mac_addr)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 
 	DEBUGFUNC("iavf_validate_mac_addr");
 
@@ -924,14 +924,14 @@ enum iavf_status_code iavf_validate_mac_addr(u8 *mac_addr)
  * Use the firmware to read the Rx control register,
  * especially useful if the Rx unit is under heavy pressure
  **/
-enum iavf_status_code iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
 				u32 reg_addr, u32 *reg_val,
 				struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_rx_ctl_reg_read_write *cmd_resp =
 		(struct iavf_aqc_rx_ctl_reg_read_write *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	if (reg_val == NULL)
 		return IAVF_ERR_PARAM;
@@ -955,7 +955,7 @@ enum iavf_status_code iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
  **/
 u32 iavf_read_rx_ctl(struct iavf_hw *hw, u32 reg_addr)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	bool use_register;
 	int retry = 5;
 	u32 val = 0;
@@ -990,14 +990,14 @@ u32 iavf_read_rx_ctl(struct iavf_hw *hw, u32 reg_addr)
  * Use the firmware to write to an Rx control register,
  * especially useful if the Rx unit is under heavy pressure
  **/
-enum iavf_status_code iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
 				u32 reg_addr, u32 reg_val,
 				struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_rx_ctl_reg_read_write *cmd =
 		(struct iavf_aqc_rx_ctl_reg_read_write *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_rx_ctl_reg_write);
 
@@ -1017,7 +1017,7 @@ enum iavf_status_code iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
  **/
 void iavf_write_rx_ctl(struct iavf_hw *hw, u32 reg_addr, u32 reg_val)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	bool use_register;
 	int retry = 5;
 
@@ -1051,7 +1051,7 @@ void iavf_write_rx_ctl(struct iavf_hw *hw, u32 reg_addr, u32 reg_val)
  *
  * Write the external PHY register.
  **/
-enum iavf_status_code iavf_aq_set_phy_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_phy_register(struct iavf_hw *hw,
 				u8 phy_select, u8 dev_addr,
 				u32 reg_addr, u32 reg_val,
 				struct iavf_asq_cmd_details *cmd_details)
@@ -1059,7 +1059,7 @@ enum iavf_status_code iavf_aq_set_phy_register(struct iavf_hw *hw,
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_phy_register_access *cmd =
 		(struct iavf_aqc_phy_register_access *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc,
 					  iavf_aqc_opc_set_phy_register);
@@ -1085,7 +1085,7 @@ enum iavf_status_code iavf_aq_set_phy_register(struct iavf_hw *hw,
  *
  * Read the external PHY register.
  **/
-enum iavf_status_code iavf_aq_get_phy_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_get_phy_register(struct iavf_hw *hw,
 				u8 phy_select, u8 dev_addr,
 				u32 reg_addr, u32 *reg_val,
 				struct iavf_asq_cmd_details *cmd_details)
@@ -1093,7 +1093,7 @@ enum iavf_status_code iavf_aq_get_phy_register(struct iavf_hw *hw,
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_phy_register_access *cmd =
 		(struct iavf_aqc_phy_register_access *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc,
 					  iavf_aqc_opc_get_phy_register);
@@ -1123,15 +1123,15 @@ enum iavf_status_code iavf_aq_get_phy_register(struct iavf_hw *hw,
  * is sent asynchronously, i.e. iavf_asq_send_command() does not wait for
  * completion before returning.
  **/
-enum iavf_status_code iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
+enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				enum virtchnl_ops v_opcode,
-				enum iavf_status_code v_retval,
+				enum iavf_status v_retval,
 				u8 *msg, u16 msglen,
 				struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_asq_cmd_details details;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_send_msg_to_pf);
 	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_SI);
@@ -1200,7 +1200,7 @@ void iavf_parse_hw_config(struct iavf_hw *hw,
  * as none will be forthcoming. Immediately after calling this function,
  * the admin queue should be shut down and (optionally) reinitialized.
  **/
-enum iavf_status_code iavf_reset(struct iavf_hw *hw)
+enum iavf_status iavf_reset(struct iavf_hw *hw)
 {
 	return iavf_aq_send_msg_to_pf(hw, VIRTCHNL_OP_RESET_VF,
 				      IAVF_SUCCESS, NULL, 0, NULL);
@@ -1215,12 +1215,12 @@ enum iavf_status_code iavf_reset(struct iavf_hw *hw)
  * Set ARP offload parameters from pre-populated
  * iavf_aqc_arp_proxy_data struct
  **/
-enum iavf_status_code iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
 				struct iavf_aqc_arp_proxy_data *proxy_config,
 				struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	if (!proxy_config)
 		return IAVF_ERR_PARAM;
@@ -1251,12 +1251,12 @@ enum iavf_status_code iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
  * Set IPv6 Neighbor Solicitation (NS) protocol offload parameters
  * from pre-populated iavf_aqc_ns_proxy_data struct
  **/
-enum iavf_status_code iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
 			struct iavf_aqc_ns_proxy_data *ns_proxy_table_entry,
 			struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	if (!ns_proxy_table_entry)
 		return IAVF_ERR_PARAM;
@@ -1293,7 +1293,7 @@ enum iavf_status_code iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
  *
  * Set or clear WoL filter for port attached to the PF
  **/
-enum iavf_status_code iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
 				u8 filter_index,
 				struct iavf_aqc_set_wol_filter_data *filter,
 				bool set_filter, bool no_wol_tco,
@@ -1303,7 +1303,7 @@ enum iavf_status_code iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_set_wol_filter *cmd =
 		(struct iavf_aqc_set_wol_filter *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 	u16 cmd_flags = 0;
 	u16 valid_flags = 0;
 	u16 buff_len = 0;
@@ -1355,14 +1355,14 @@ enum iavf_status_code iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
  *
  * Get information for the reason of a Wake Up event
  **/
-enum iavf_status_code iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
+enum iavf_status iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
 				u16 *wake_reason,
 				struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_get_wake_reason_completion *resp =
 		(struct iavf_aqc_get_wake_reason_completion *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_get_wake_reason);
 
@@ -1381,11 +1381,11 @@ enum iavf_status_code iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
 *
 * Get information for the reason of a Wake Up event
 **/
-enum iavf_status_code iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
+enum iavf_status iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
 	struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc,
 					  iavf_aqc_opc_clear_all_wol_filters);
@@ -1406,7 +1406,7 @@ enum iavf_status_code iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
  * @cmd_details: pointer to command details structure or NULL
  **/
 enum
-iavf_status_code iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
+iavf_status iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
 				   u16 buff_size, u32 track_id,
 				   u32 *error_offset, u32 *error_info,
 				   struct iavf_asq_cmd_details *cmd_details)
@@ -1416,7 +1416,7 @@ iavf_status_code iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
 		(struct iavf_aqc_write_personalization_profile *)
 		&desc.params.raw;
 	struct iavf_aqc_write_ddp_resp *resp;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc,
 				  iavf_aqc_opc_write_personalization_profile);
@@ -1450,14 +1450,14 @@ iavf_status_code iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
  * @cmd_details: pointer to command details structure or NULL
  **/
 enum
-iavf_status_code iavf_aq_get_ddp_list(struct iavf_hw *hw, void *buff,
+iavf_status iavf_aq_get_ddp_list(struct iavf_hw *hw, void *buff,
 				      u16 buff_size, u8 flags,
 				      struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_get_applied_profiles *cmd =
 		(struct iavf_aqc_get_applied_profiles *)&desc.params.raw;
-	enum iavf_status_code status;
+	enum iavf_status status;
 
 	iavf_fill_default_direct_cmd_desc(&desc,
 			  iavf_aqc_opc_get_personalization_profile_list);
@@ -1557,10 +1557,10 @@ iavf_find_section_in_profile(u32 section_type,
  * @aq: command buffer containing all data to execute AQ
  **/
 STATIC enum
-iavf_status_code iavf_ddp_exec_aq_section(struct iavf_hw *hw,
+iavf_status iavf_ddp_exec_aq_section(struct iavf_hw *hw,
 					  struct iavf_profile_aq_section *aq)
 {
-	enum iavf_status_code status;
+	enum iavf_status status;
 	struct iavf_aq_desc desc;
 	u8 *msg = NULL;
 	u16 msglen;
@@ -1605,12 +1605,12 @@ iavf_status_code iavf_ddp_exec_aq_section(struct iavf_hw *hw,
  *
  * Validates supported devices and profile's sections.
  */
-STATIC enum iavf_status_code
+STATIC enum iavf_status
 iavf_validate_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
 		      u32 track_id, bool rollback)
 {
 	struct iavf_profile_section_header *sec = NULL;
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	struct iavf_section_table *sec_tbl;
 	u32 vendor_dev_id;
 	u32 dev_cnt;
@@ -1670,11 +1670,11 @@ iavf_validate_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
  *
  * Handles the download of a complete package.
  */
-enum iavf_status_code
+enum iavf_status
 iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
 		   u32 track_id)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	struct iavf_section_table *sec_tbl;
 	struct iavf_profile_section_header *sec = NULL;
 	struct iavf_profile_aq_section *ddp_aq;
@@ -1733,12 +1733,12 @@ iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
  *
  * Rolls back previously loaded package.
  */
-enum iavf_status_code
+enum iavf_status
 iavf_rollback_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
 		      u32 track_id)
 {
 	struct iavf_profile_section_header *sec = NULL;
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	struct iavf_section_table *sec_tbl;
 	u32 offset = 0, info = 0;
 	u32 section_size = 0;
@@ -1785,12 +1785,12 @@ iavf_rollback_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
  *
  * Register a profile to the list of loaded profiles.
  */
-enum iavf_status_code
+enum iavf_status
 iavf_add_pinfo_to_list(struct iavf_hw *hw,
 		       struct iavf_profile_segment *profile,
 		       u8 *profile_info_sec, u32 track_id)
 {
-	enum iavf_status_code status = IAVF_SUCCESS;
+	enum iavf_status status = IAVF_SUCCESS;
 	struct iavf_profile_section_header *sec = NULL;
 	struct iavf_profile_info *pinfo;
 	u32 offset = 0, info = 0;
diff --git a/drivers/net/iavf/base/iavf_prototype.h b/drivers/net/iavf/base/iavf_prototype.h
index fbc2b2382..4b428b8d9 100644
--- a/drivers/net/iavf/base/iavf_prototype.h
+++ b/drivers/net/iavf/base/iavf_prototype.h
@@ -17,23 +17,23 @@
  */
 
 /* adminq functions */
-enum iavf_status_code iavf_init_adminq(struct iavf_hw *hw);
-enum iavf_status_code iavf_shutdown_adminq(struct iavf_hw *hw);
-enum iavf_status_code iavf_init_asq(struct iavf_hw *hw);
-enum iavf_status_code iavf_init_arq(struct iavf_hw *hw);
-enum iavf_status_code iavf_alloc_adminq_asq_ring(struct iavf_hw *hw);
-enum iavf_status_code iavf_alloc_adminq_arq_ring(struct iavf_hw *hw);
-enum iavf_status_code iavf_shutdown_asq(struct iavf_hw *hw);
-enum iavf_status_code iavf_shutdown_arq(struct iavf_hw *hw);
+enum iavf_status iavf_init_adminq(struct iavf_hw *hw);
+enum iavf_status iavf_shutdown_adminq(struct iavf_hw *hw);
+enum iavf_status iavf_init_asq(struct iavf_hw *hw);
+enum iavf_status iavf_init_arq(struct iavf_hw *hw);
+enum iavf_status iavf_alloc_adminq_asq_ring(struct iavf_hw *hw);
+enum iavf_status iavf_alloc_adminq_arq_ring(struct iavf_hw *hw);
+enum iavf_status iavf_shutdown_asq(struct iavf_hw *hw);
+enum iavf_status iavf_shutdown_arq(struct iavf_hw *hw);
 u16 iavf_clean_asq(struct iavf_hw *hw);
 void iavf_free_adminq_asq(struct iavf_hw *hw);
 void iavf_free_adminq_arq(struct iavf_hw *hw);
-enum iavf_status_code iavf_validate_mac_addr(u8 *mac_addr);
+enum iavf_status iavf_validate_mac_addr(u8 *mac_addr);
 void iavf_adminq_init_ring_data(struct iavf_hw *hw);
-enum iavf_status_code iavf_clean_arq_element(struct iavf_hw *hw,
+enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
 					     struct iavf_arq_event_info *e,
 					     u16 *events_pending);
-enum iavf_status_code iavf_asq_send_command(struct iavf_hw *hw,
+enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
 				struct iavf_aq_desc *desc,
 				void *buff, /* can be NULL */
 				u16  buff_size,
@@ -46,23 +46,23 @@ void iavf_debug_aq(struct iavf_hw *hw, enum iavf_debug_mask mask,
 
 void iavf_idle_aq(struct iavf_hw *hw);
 bool iavf_check_asq_alive(struct iavf_hw *hw);
-enum iavf_status_code iavf_aq_queue_shutdown(struct iavf_hw *hw, bool unloading);
+enum iavf_status iavf_aq_queue_shutdown(struct iavf_hw *hw, bool unloading);
 
-enum iavf_status_code iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 seid,
+enum iavf_status iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 seid,
 					  bool pf_lut, u8 *lut, u16 lut_size);
-enum iavf_status_code iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 seid,
+enum iavf_status iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 seid,
 					  bool pf_lut, u8 *lut, u16 lut_size);
-enum iavf_status_code iavf_aq_get_rss_key(struct iavf_hw *hw,
+enum iavf_status iavf_aq_get_rss_key(struct iavf_hw *hw,
 				     u16 seid,
 				     struct iavf_aqc_get_set_rss_key_data *key);
-enum iavf_status_code iavf_aq_set_rss_key(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
 				     u16 seid,
 				     struct iavf_aqc_get_set_rss_key_data *key);
 const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err);
-const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status_code stat_err);
+const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status stat_err);
 
 
-enum iavf_status_code iavf_set_mac_type(struct iavf_hw *hw);
+enum iavf_status iavf_set_mac_type(struct iavf_hw *hw);
 
 extern struct iavf_rx_ptype_decoded iavf_ptype_lookup[];
 
@@ -80,81 +80,81 @@ void iavf_destroy_spinlock(struct iavf_spinlock *sp);
 /* iavf_common for VF drivers*/
 void iavf_parse_hw_config(struct iavf_hw *hw,
 			     struct virtchnl_vf_resource *msg);
-enum iavf_status_code iavf_reset(struct iavf_hw *hw);
-enum iavf_status_code iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
+enum iavf_status iavf_reset(struct iavf_hw *hw);
+enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				enum virtchnl_ops v_opcode,
-				enum iavf_status_code v_retval,
+				enum iavf_status v_retval,
 				u8 *msg, u16 msglen,
 				struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_set_filter_control(struct iavf_hw *hw,
+enum iavf_status iavf_set_filter_control(struct iavf_hw *hw,
 				struct iavf_filter_control_settings *settings);
-enum iavf_status_code iavf_aq_add_rem_control_packet_filter(struct iavf_hw *hw,
+enum iavf_status iavf_aq_add_rem_control_packet_filter(struct iavf_hw *hw,
 				u8 *mac_addr, u16 ethtype, u16 flags,
 				u16 vsi_seid, u16 queue, bool is_add,
 				struct iavf_control_filter_stats *stats,
 				struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_aq_debug_dump(struct iavf_hw *hw, u8 cluster_id,
+enum iavf_status iavf_aq_debug_dump(struct iavf_hw *hw, u8 cluster_id,
 				u8 table_id, u32 start_index, u16 buff_size,
 				void *buff, u16 *ret_buff_size,
 				u8 *ret_next_table, u32 *ret_next_index,
 				struct iavf_asq_cmd_details *cmd_details);
 void iavf_add_filter_to_drop_tx_flow_control_frames(struct iavf_hw *hw,
 						    u16 vsi_seid);
-enum iavf_status_code iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
 				u32 reg_addr, u32 *reg_val,
 				struct iavf_asq_cmd_details *cmd_details);
 u32 iavf_read_rx_ctl(struct iavf_hw *hw, u32 reg_addr);
-enum iavf_status_code iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
 				u32 reg_addr, u32 reg_val,
 				struct iavf_asq_cmd_details *cmd_details);
 void iavf_write_rx_ctl(struct iavf_hw *hw, u32 reg_addr, u32 reg_val);
-enum iavf_status_code iavf_aq_set_phy_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_phy_register(struct iavf_hw *hw,
 				u8 phy_select, u8 dev_addr,
 				u32 reg_addr, u32 reg_val,
 				struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_aq_get_phy_register(struct iavf_hw *hw,
+enum iavf_status iavf_aq_get_phy_register(struct iavf_hw *hw,
 				u8 phy_select, u8 dev_addr,
 				u32 reg_addr, u32 *reg_val,
 				struct iavf_asq_cmd_details *cmd_details);
 
-enum iavf_status_code iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
 			struct iavf_aqc_arp_proxy_data *proxy_config,
 			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
 			struct iavf_aqc_ns_proxy_data *ns_proxy_table_entry,
 			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
+enum iavf_status iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
 			u8 filter_index,
 			struct iavf_aqc_set_wol_filter_data *filter,
 			bool set_filter, bool no_wol_tco,
 			bool filter_valid, bool no_wol_tco_valid,
 			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
+enum iavf_status iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
 			u16 *wake_reason,
 			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
+enum iavf_status iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
 			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status_code iavf_read_phy_register_clause22(struct iavf_hw *hw,
+enum iavf_status iavf_read_phy_register_clause22(struct iavf_hw *hw,
 					u16 reg, u8 phy_addr, u16 *value);
-enum iavf_status_code iavf_write_phy_register_clause22(struct iavf_hw *hw,
+enum iavf_status iavf_write_phy_register_clause22(struct iavf_hw *hw,
 					u16 reg, u8 phy_addr, u16 value);
-enum iavf_status_code iavf_read_phy_register_clause45(struct iavf_hw *hw,
+enum iavf_status iavf_read_phy_register_clause45(struct iavf_hw *hw,
 				u8 page, u16 reg, u8 phy_addr, u16 *value);
-enum iavf_status_code iavf_write_phy_register_clause45(struct iavf_hw *hw,
+enum iavf_status iavf_write_phy_register_clause45(struct iavf_hw *hw,
 				u8 page, u16 reg, u8 phy_addr, u16 value);
-enum iavf_status_code iavf_read_phy_register(struct iavf_hw *hw,
+enum iavf_status iavf_read_phy_register(struct iavf_hw *hw,
 				u8 page, u16 reg, u8 phy_addr, u16 *value);
-enum iavf_status_code iavf_write_phy_register(struct iavf_hw *hw,
+enum iavf_status iavf_write_phy_register(struct iavf_hw *hw,
 				u8 page, u16 reg, u8 phy_addr, u16 value);
 u8 iavf_get_phy_address(struct iavf_hw *hw, u8 dev_num);
-enum iavf_status_code iavf_blink_phy_link_led(struct iavf_hw *hw,
+enum iavf_status iavf_blink_phy_link_led(struct iavf_hw *hw,
 					      u32 time, u32 interval);
-enum iavf_status_code iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
+enum iavf_status iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
 					u16 buff_size, u32 track_id,
 					u32 *error_offset, u32 *error_info,
 					struct iavf_asq_cmd_details *
 					cmd_details);
-enum iavf_status_code iavf_aq_get_ddp_list(struct iavf_hw *hw, void *buff,
+enum iavf_status iavf_aq_get_ddp_list(struct iavf_hw *hw, void *buff,
 					   u16 buff_size, u8 flags,
 					   struct iavf_asq_cmd_details *
 					   cmd_details);
@@ -164,13 +164,13 @@ iavf_find_segment_in_package(u32 segment_type,
 struct iavf_profile_section_header *
 iavf_find_section_in_profile(u32 section_type,
 			     struct iavf_profile_segment *profile);
-enum iavf_status_code
+enum iavf_status
 iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *iavf_seg,
 		   u32 track_id);
-enum iavf_status_code
+enum iavf_status
 iavf_rollback_profile(struct iavf_hw *hw, struct iavf_profile_segment *iavf_seg,
 		      u32 track_id);
-enum iavf_status_code
+enum iavf_status
 iavf_add_pinfo_to_list(struct iavf_hw *hw,
 		       struct iavf_profile_segment *profile,
 		       u8 *profile_info_sec, u32 track_id);
diff --git a/drivers/net/iavf/base/iavf_status.h b/drivers/net/iavf/base/iavf_status.h
index cb91afb01..32b391589 100644
--- a/drivers/net/iavf/base/iavf_status.h
+++ b/drivers/net/iavf/base/iavf_status.h
@@ -6,7 +6,7 @@
 #define _IAVF_STATUS_H_
 
 /* Error Codes */
-enum iavf_status_code {
+enum iavf_status {
 	IAVF_SUCCESS				= 0,
 	IAVF_ERR_NVM				= -1,
 	IAVF_ERR_NVM_CHECKSUM			= -2,
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index a39ba1466..4f80113ae 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1470,7 +1470,7 @@ RTE_INIT(iavf_init_log)
 }
 
 /* memory func for base code */
-enum iavf_status_code
+enum iavf_status
 iavf_allocate_dma_mem_d(__rte_unused struct iavf_hw *hw,
 		       struct iavf_dma_mem *mem,
 		       u64 size,
@@ -1499,7 +1499,7 @@ iavf_allocate_dma_mem_d(__rte_unused struct iavf_hw *hw,
 	return IAVF_SUCCESS;
 }
 
-enum iavf_status_code
+enum iavf_status
 iavf_free_dma_mem_d(__rte_unused struct iavf_hw *hw,
 		   struct iavf_dma_mem *mem)
 {
@@ -1517,7 +1517,7 @@ iavf_free_dma_mem_d(__rte_unused struct iavf_hw *hw,
 	return IAVF_SUCCESS;
 }
 
-enum iavf_status_code
+enum iavf_status
 iavf_allocate_virt_mem_d(__rte_unused struct iavf_hw *hw,
 			struct iavf_virt_mem *mem,
 			u32 size)
@@ -1534,7 +1534,7 @@ iavf_allocate_virt_mem_d(__rte_unused struct iavf_hw *hw,
 		return IAVF_ERR_NO_MEMORY;
 }
 
-enum iavf_status_code
+enum iavf_status
 iavf_free_virt_mem_d(__rte_unused struct iavf_hw *hw,
 		    struct iavf_virt_mem *mem)
 {
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 14395fed3..4320a7f91 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -31,7 +31,7 @@
 #define ASQ_DELAY_MS  10
 
 /* Read data in admin queue to get msg from pf driver */
-static enum iavf_status_code
+static enum iavf_status
 iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
 		     uint8_t *buf)
 {
@@ -69,7 +69,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args)
 {
 	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
 	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
-	enum iavf_status_code ret;
+	enum iavf_status ret;
 	int err = 0;
 	int i = 0;
 
@@ -175,7 +175,7 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 	struct iavf_arq_event_info info;
 	uint16_t pending, aq_opc;
 	enum virtchnl_ops msg_opc;
-	enum iavf_status_code msg_ret;
+	enum iavf_status msg_ret;
 	int ret;
 
 	info.buf_len = IAVF_AQ_BUF_SZ;
@@ -201,7 +201,7 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 		 */
 		msg_opc = (enum virtchnl_ops)rte_le_to_cpu_32(
 						  info.desc.cookie_high);
-		msg_ret = (enum iavf_status_code)rte_le_to_cpu_32(
+		msg_ret = (enum iavf_status)rte_le_to_cpu_32(
 						  info.desc.cookie_low);
 		switch (aq_opc) {
 		case iavf_aqc_opc_send_msg_to_vf:
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 03/17] net/iavf/base: rename register macro
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 01/17] net/iavf/base: remove unnecessary header file Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 02/17] net/iavf/base: rename error code enum Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 04/17] net/iavf/base: update device id Qi Zhang
                   ` (14 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Rename all register macro to align with kernel driver's
implementation.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c   |  34 +--
 drivers/net/iavf/base/iavf_common.c   |   4 +-
 drivers/net/iavf/base/iavf_osdep.h    |   2 +-
 drivers/net/iavf/base/iavf_register.h | 388 +++++++---------------------------
 drivers/net/iavf/iavf_ethdev.c        |  59 +++---
 5 files changed, 134 insertions(+), 353 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index ae8150e4f..193e2e7d1 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -18,16 +18,16 @@ STATIC void iavf_adminq_init_regs(struct iavf_hw *hw)
 {
 	/* set head and tail registers in our local struct */
 	if (iavf_is_vf(hw)) {
-		hw->aq.asq.tail = IAVF_ATQT1;
-		hw->aq.asq.head = IAVF_ATQH1;
-		hw->aq.asq.len  = IAVF_ATQLEN1;
-		hw->aq.asq.bal  = IAVF_ATQBAL1;
-		hw->aq.asq.bah  = IAVF_ATQBAH1;
-		hw->aq.arq.tail = IAVF_ARQT1;
-		hw->aq.arq.head = IAVF_ARQH1;
-		hw->aq.arq.len  = IAVF_ARQLEN1;
-		hw->aq.arq.bal  = IAVF_ARQBAL1;
-		hw->aq.arq.bah  = IAVF_ARQBAH1;
+		hw->aq.asq.tail = IAVF_VF_ATQT1;
+		hw->aq.asq.head = IAVF_VF_ATQH1;
+		hw->aq.asq.len  = IAVF_VF_ATQLEN1;
+		hw->aq.asq.bal  = IAVF_VF_ATQBAL1;
+		hw->aq.asq.bah  = IAVF_VF_ATQBAH1;
+		hw->aq.arq.tail = IAVF_VF_ARQT1;
+		hw->aq.arq.head = IAVF_VF_ARQH1;
+		hw->aq.arq.len  = IAVF_VF_ARQLEN1;
+		hw->aq.arq.bal  = IAVF_VF_ARQBAL1;
+		hw->aq.arq.bah  = IAVF_VF_ARQBAH1;
 	}
 }
 
@@ -267,10 +267,10 @@ STATIC enum iavf_status iavf_config_asq_regs(struct iavf_hw *hw)
 #ifdef INTEGRATED_VF
 	if (iavf_is_vf(hw))
 		wr32(hw, hw->aq.asq.len, (hw->aq.num_asq_entries |
-					  IAVF_ATQLEN1_ATQENABLE_MASK));
+					  IAVF_VF_ATQLEN1_ATQENABLE_MASK));
 #else
 	wr32(hw, hw->aq.asq.len, (hw->aq.num_asq_entries |
-				  IAVF_ATQLEN1_ATQENABLE_MASK));
+				  IAVF_VF_ATQLEN1_ATQENABLE_MASK));
 #endif /* INTEGRATED_VF */
 	wr32(hw, hw->aq.asq.bal, IAVF_LO_DWORD(hw->aq.asq.desc_buf.pa));
 	wr32(hw, hw->aq.asq.bah, IAVF_HI_DWORD(hw->aq.asq.desc_buf.pa));
@@ -302,10 +302,10 @@ STATIC enum iavf_status iavf_config_arq_regs(struct iavf_hw *hw)
 #ifdef INTEGRATED_VF
 	if (iavf_is_vf(hw))
 		wr32(hw, hw->aq.arq.len, (hw->aq.num_arq_entries |
-					  IAVF_ARQLEN1_ARQENABLE_MASK));
+					  IAVF_VF_ARQLEN1_ARQENABLE_MASK));
 #else
 	wr32(hw, hw->aq.arq.len, (hw->aq.num_arq_entries |
-				  IAVF_ARQLEN1_ARQENABLE_MASK));
+				  IAVF_VF_ARQLEN1_ARQENABLE_MASK));
 #endif /* INTEGRATED_VF */
 	wr32(hw, hw->aq.arq.bal, IAVF_LO_DWORD(hw->aq.arq.desc_buf.pa));
 	wr32(hw, hw->aq.arq.bah, IAVF_HI_DWORD(hw->aq.arq.desc_buf.pa));
@@ -834,7 +834,7 @@ enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
 	/* update the error if time out occurred */
 	if ((!cmd_completed) &&
 	    (!details->async && !details->postpone)) {
-		if (rd32(hw, hw->aq.asq.len) & IAVF_ATQLEN1_ATQCRIT_MASK) {
+		if (rd32(hw, hw->aq.asq.len) & IAVF_VF_ATQLEN1_ATQCRIT_MASK) {
 			iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 				   "AQTX: AQ Critical error.\n");
 			status = IAVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR;
@@ -908,9 +908,9 @@ enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
 	if (!iavf_is_vf(hw))
 		ntu = rd32(hw, hw->aq.arq.head) & IAVF_PF_ARQH_ARQH_MASK;
 	else
-		ntu = rd32(hw, hw->aq.arq.head) & IAVF_ARQH1_ARQH_MASK;
+		ntu = rd32(hw, hw->aq.arq.head) & IAVF_VF_ARQH1_ARQH_MASK;
 #else
-	ntu = rd32(hw, hw->aq.arq.head) & IAVF_ARQH1_ARQH_MASK;
+	ntu = rd32(hw, hw->aq.arq.head) & IAVF_VF_ARQH1_ARQH_MASK;
 #endif /* INTEGRATED_VF */
 	if (ntu == ntc) {
 		/* nothing to do - shouldn't need to update ring's values */
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index 0b9f83415..5df4410e0 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -332,10 +332,10 @@ bool iavf_check_asq_alive(struct iavf_hw *hw)
 #ifdef INTEGRATED_VF
 		if (iavf_is_vf(hw))
 			return !!(rd32(hw, hw->aq.asq.len) &
-				IAVF_ATQLEN1_ATQENABLE_MASK);
+				IAVF_VF_ATQLEN1_ATQENABLE_MASK);
 #else
 		return !!(rd32(hw, hw->aq.asq.len) &
-			IAVF_ATQLEN1_ATQENABLE_MASK);
+			IAVF_VF_ATQLEN1_ATQENABLE_MASK);
 #endif /* INTEGRATED_VF */
 	return false;
 }
diff --git a/drivers/net/iavf/base/iavf_osdep.h b/drivers/net/iavf/base/iavf_osdep.h
index 648026693..1b22f9fbc 100644
--- a/drivers/net/iavf/base/iavf_osdep.h
+++ b/drivers/net/iavf/base/iavf_osdep.h
@@ -115,7 +115,7 @@ uint32_t iavf_read_addr(volatile void *addr)
 #define IAVF_WRITE_REG(hw, reg, value) \
 	IAVF_PCI_REG_WRITE(IAVF_PCI_REG_ADDR((hw), (reg)), (value))
 #define IAVF_WRITE_FLUSH(a) \
-	IAVF_READ_REG(a, IAVFGEN_RSTAT)
+	IAVF_READ_REG(a, IAVF_VFGEN_RSTAT)
 
 #define rd32(a, reg) iavf_read_addr(IAVF_PCI_REG_ADDR((a), (reg)))
 #define wr32(a, reg, value) \
diff --git a/drivers/net/iavf/base/iavf_register.h b/drivers/net/iavf/base/iavf_register.h
index b66d88c44..7d2b20710 100644
--- a/drivers/net/iavf/base/iavf_register.h
+++ b/drivers/net/iavf/base/iavf_register.h
@@ -5,313 +5,89 @@
 #ifndef _IAVF_REGISTER_H_
 #define _IAVF_REGISTER_H_
 
-
-#define IAVFMSIX_PBA1(_i)          (0x00002000 + ((_i) * 4)) /* _i=0...19 */ /* Reset: VFLR */
-#define IAVFMSIX_PBA1_MAX_INDEX    19
-#define IAVFMSIX_PBA1_PENBIT_SHIFT 0
-#define IAVFMSIX_PBA1_PENBIT_MASK  IAVF_MASK(0xFFFFFFFF, IAVFMSIX_PBA1_PENBIT_SHIFT)
-#define IAVFMSIX_TADD1(_i)              (0x00002100 + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define IAVFMSIX_TADD1_MAX_INDEX        639
-#define IAVFMSIX_TADD1_MSIXTADD10_SHIFT 0
-#define IAVFMSIX_TADD1_MSIXTADD10_MASK  IAVF_MASK(0x3, IAVFMSIX_TADD1_MSIXTADD10_SHIFT)
-#define IAVFMSIX_TADD1_MSIXTADD_SHIFT   2
-#define IAVFMSIX_TADD1_MSIXTADD_MASK    IAVF_MASK(0x3FFFFFFF, IAVFMSIX_TADD1_MSIXTADD_SHIFT)
-#define IAVFMSIX_TMSG1(_i)            (0x00002108 + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define IAVFMSIX_TMSG1_MAX_INDEX      639
-#define IAVFMSIX_TMSG1_MSIXTMSG_SHIFT 0
-#define IAVFMSIX_TMSG1_MSIXTMSG_MASK  IAVF_MASK(0xFFFFFFFF, IAVFMSIX_TMSG1_MSIXTMSG_SHIFT)
-#define IAVFMSIX_TUADD1(_i)             (0x00002104 + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define IAVFMSIX_TUADD1_MAX_INDEX       639
-#define IAVFMSIX_TUADD1_MSIXTUADD_SHIFT 0
-#define IAVFMSIX_TUADD1_MSIXTUADD_MASK  IAVF_MASK(0xFFFFFFFF, IAVFMSIX_TUADD1_MSIXTUADD_SHIFT)
-#define IAVFMSIX_TVCTRL1(_i)        (0x0000210C + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define IAVFMSIX_TVCTRL1_MAX_INDEX  639
-#define IAVFMSIX_TVCTRL1_MASK_SHIFT 0
-#define IAVFMSIX_TVCTRL1_MASK_MASK  IAVF_MASK(0x1, IAVFMSIX_TVCTRL1_MASK_SHIFT)
-#define IAVF_ARQBAH1              0x00006000 /* Reset: EMPR */
-#define IAVF_ARQBAH1_ARQBAH_SHIFT 0
-#define IAVF_ARQBAH1_ARQBAH_MASK  IAVF_MASK(0xFFFFFFFF, IAVF_ARQBAH1_ARQBAH_SHIFT)
-#define IAVF_ARQBAL1              0x00006C00 /* Reset: EMPR */
-#define IAVF_ARQBAL1_ARQBAL_SHIFT 0
-#define IAVF_ARQBAL1_ARQBAL_MASK  IAVF_MASK(0xFFFFFFFF, IAVF_ARQBAL1_ARQBAL_SHIFT)
-#define IAVF_ARQH1            0x00007400 /* Reset: EMPR */
-#define IAVF_ARQH1_ARQH_SHIFT 0
-#define IAVF_ARQH1_ARQH_MASK  IAVF_MASK(0x3FF, IAVF_ARQH1_ARQH_SHIFT)
-#define IAVF_ARQLEN1                 0x00008000 /* Reset: EMPR */
-#define IAVF_ARQLEN1_ARQLEN_SHIFT    0
-#define IAVF_ARQLEN1_ARQLEN_MASK     IAVF_MASK(0x3FF, IAVF_ARQLEN1_ARQLEN_SHIFT)
-#define IAVF_ARQLEN1_ARQVFE_SHIFT    28
-#define IAVF_ARQLEN1_ARQVFE_MASK     IAVF_MASK(0x1, IAVF_ARQLEN1_ARQVFE_SHIFT)
-#define IAVF_ARQLEN1_ARQOVFL_SHIFT   29
-#define IAVF_ARQLEN1_ARQOVFL_MASK    IAVF_MASK(0x1, IAVF_ARQLEN1_ARQOVFL_SHIFT)
-#define IAVF_ARQLEN1_ARQCRIT_SHIFT   30
-#define IAVF_ARQLEN1_ARQCRIT_MASK    IAVF_MASK(0x1, IAVF_ARQLEN1_ARQCRIT_SHIFT)
-#define IAVF_ARQLEN1_ARQENABLE_SHIFT 31
-#define IAVF_ARQLEN1_ARQENABLE_MASK  IAVF_MASK(0x1U, IAVF_ARQLEN1_ARQENABLE_SHIFT)
-#define IAVF_ARQT1            0x00007000 /* Reset: EMPR */
-#define IAVF_ARQT1_ARQT_SHIFT 0
-#define IAVF_ARQT1_ARQT_MASK  IAVF_MASK(0x3FF, IAVF_ARQT1_ARQT_SHIFT)
-#define IAVF_ATQBAH1              0x00007800 /* Reset: EMPR */
-#define IAVF_ATQBAH1_ATQBAH_SHIFT 0
-#define IAVF_ATQBAH1_ATQBAH_MASK  IAVF_MASK(0xFFFFFFFF, IAVF_ATQBAH1_ATQBAH_SHIFT)
-#define IAVF_ATQBAL1              0x00007C00 /* Reset: EMPR */
-#define IAVF_ATQBAL1_ATQBAL_SHIFT 0
-#define IAVF_ATQBAL1_ATQBAL_MASK  IAVF_MASK(0xFFFFFFFF, IAVF_ATQBAL1_ATQBAL_SHIFT)
-#define IAVF_ATQH1            0x00006400 /* Reset: EMPR */
-#define IAVF_ATQH1_ATQH_SHIFT 0
-#define IAVF_ATQH1_ATQH_MASK  IAVF_MASK(0x3FF, IAVF_ATQH1_ATQH_SHIFT)
-#define IAVF_ATQLEN1                 0x00006800 /* Reset: EMPR */
-#define IAVF_ATQLEN1_ATQLEN_SHIFT    0
-#define IAVF_ATQLEN1_ATQLEN_MASK     IAVF_MASK(0x3FF, IAVF_ATQLEN1_ATQLEN_SHIFT)
-#define IAVF_ATQLEN1_ATQVFE_SHIFT    28
-#define IAVF_ATQLEN1_ATQVFE_MASK     IAVF_MASK(0x1, IAVF_ATQLEN1_ATQVFE_SHIFT)
-#define IAVF_ATQLEN1_ATQOVFL_SHIFT   29
-#define IAVF_ATQLEN1_ATQOVFL_MASK    IAVF_MASK(0x1, IAVF_ATQLEN1_ATQOVFL_SHIFT)
-#define IAVF_ATQLEN1_ATQCRIT_SHIFT   30
-#define IAVF_ATQLEN1_ATQCRIT_MASK    IAVF_MASK(0x1, IAVF_ATQLEN1_ATQCRIT_SHIFT)
-#define IAVF_ATQLEN1_ATQENABLE_SHIFT 31
-#define IAVF_ATQLEN1_ATQENABLE_MASK  IAVF_MASK(0x1U, IAVF_ATQLEN1_ATQENABLE_SHIFT)
-#define IAVF_ATQT1            0x00008400 /* Reset: EMPR */
-#define IAVF_ATQT1_ATQT_SHIFT 0
-#define IAVF_ATQT1_ATQT_MASK  IAVF_MASK(0x3FF, IAVF_ATQT1_ATQT_SHIFT)
-#define IAVFGEN_RSTAT                 0x00008800 /* Reset: VFR */
-#define IAVFGEN_RSTAT_VFR_STATE_SHIFT 0
-#define IAVFGEN_RSTAT_VFR_STATE_MASK  IAVF_MASK(0x3, IAVFGEN_RSTAT_VFR_STATE_SHIFT)
-#define IAVFINT_DYN_CTL01                       0x00005C00 /* Reset: VFR */
-#define IAVFINT_DYN_CTL01_INTENA_SHIFT          0
-#define IAVFINT_DYN_CTL01_INTENA_MASK           IAVF_MASK(0x1, IAVFINT_DYN_CTL01_INTENA_SHIFT)
-#define IAVFINT_DYN_CTL01_CLEARPBA_SHIFT        1
-#define IAVFINT_DYN_CTL01_CLEARPBA_MASK         IAVF_MASK(0x1, IAVFINT_DYN_CTL01_CLEARPBA_SHIFT)
-#define IAVFINT_DYN_CTL01_SWINT_TRIG_SHIFT      2
-#define IAVFINT_DYN_CTL01_SWINT_TRIG_MASK       IAVF_MASK(0x1, IAVFINT_DYN_CTL01_SWINT_TRIG_SHIFT)
-#define IAVFINT_DYN_CTL01_ITR_INDX_SHIFT        3
-#define IAVFINT_DYN_CTL01_ITR_INDX_MASK         IAVF_MASK(0x3, IAVFINT_DYN_CTL01_ITR_INDX_SHIFT)
-#define IAVFINT_DYN_CTL01_INTERVAL_SHIFT        5
-#define IAVFINT_DYN_CTL01_INTERVAL_MASK         IAVF_MASK(0xFFF, IAVFINT_DYN_CTL01_INTERVAL_SHIFT)
-#define IAVFINT_DYN_CTL01_SW_ITR_INDX_ENA_SHIFT 24
-#define IAVFINT_DYN_CTL01_SW_ITR_INDX_ENA_MASK  IAVF_MASK(0x1, IAVFINT_DYN_CTL01_SW_ITR_INDX_ENA_SHIFT)
-#define IAVFINT_DYN_CTL01_SW_ITR_INDX_SHIFT     25
-#define IAVFINT_DYN_CTL01_SW_ITR_INDX_MASK      IAVF_MASK(0x3, IAVFINT_DYN_CTL01_SW_ITR_INDX_SHIFT)
-#define IAVFINT_DYN_CTL01_INTENA_MSK_SHIFT      31
-#define IAVFINT_DYN_CTL01_INTENA_MSK_MASK       IAVF_MASK(0x1, IAVFINT_DYN_CTL01_INTENA_MSK_SHIFT)
-#define IAVFINT_DYN_CTLN1(_INTVF)               (0x00003800 + ((_INTVF) * 4)) /* _i=0...15 */ /* Reset: VFR */
-#define IAVFINT_DYN_CTLN1_MAX_INDEX             15
-#define IAVFINT_DYN_CTLN1_INTENA_SHIFT          0
-#define IAVFINT_DYN_CTLN1_INTENA_MASK           IAVF_MASK(0x1, IAVFINT_DYN_CTLN1_INTENA_SHIFT)
-#define IAVFINT_DYN_CTLN1_CLEARPBA_SHIFT        1
-#define IAVFINT_DYN_CTLN1_CLEARPBA_MASK         IAVF_MASK(0x1, IAVFINT_DYN_CTLN1_CLEARPBA_SHIFT)
-#define IAVFINT_DYN_CTLN1_SWINT_TRIG_SHIFT      2
-#define IAVFINT_DYN_CTLN1_SWINT_TRIG_MASK       IAVF_MASK(0x1, IAVFINT_DYN_CTLN1_SWINT_TRIG_SHIFT)
-#define IAVFINT_DYN_CTLN1_ITR_INDX_SHIFT        3
-#define IAVFINT_DYN_CTLN1_ITR_INDX_MASK         IAVF_MASK(0x3, IAVFINT_DYN_CTLN1_ITR_INDX_SHIFT)
-#define IAVFINT_DYN_CTLN1_INTERVAL_SHIFT        5
-#define IAVFINT_DYN_CTLN1_INTERVAL_MASK         IAVF_MASK(0xFFF, IAVFINT_DYN_CTLN1_INTERVAL_SHIFT)
-#define IAVFINT_DYN_CTLN1_SW_ITR_INDX_ENA_SHIFT 24
-#define IAVFINT_DYN_CTLN1_SW_ITR_INDX_ENA_MASK  IAVF_MASK(0x1, IAVFINT_DYN_CTLN1_SW_ITR_INDX_ENA_SHIFT)
-#define IAVFINT_DYN_CTLN1_SW_ITR_INDX_SHIFT     25
-#define IAVFINT_DYN_CTLN1_SW_ITR_INDX_MASK      IAVF_MASK(0x3, IAVFINT_DYN_CTLN1_SW_ITR_INDX_SHIFT)
-#define IAVFINT_DYN_CTLN1_INTENA_MSK_SHIFT      31
-#define IAVFINT_DYN_CTLN1_INTENA_MSK_MASK       IAVF_MASK(0x1, IAVFINT_DYN_CTLN1_INTENA_MSK_SHIFT)
-#define IAVFINT_ICR0_ENA1                        0x00005000 /* Reset: CORER */
-#define IAVFINT_ICR0_ENA1_LINK_STAT_CHANGE_SHIFT 25
-#define IAVFINT_ICR0_ENA1_LINK_STAT_CHANGE_MASK  IAVF_MASK(0x1, IAVFINT_ICR0_ENA1_LINK_STAT_CHANGE_SHIFT)
-#define IAVFINT_ICR0_ENA1_ADMINQ_SHIFT           30
-#define IAVFINT_ICR0_ENA1_ADMINQ_MASK            IAVF_MASK(0x1, IAVFINT_ICR0_ENA1_ADMINQ_SHIFT)
-#define IAVFINT_ICR0_ENA1_RSVD_SHIFT             31
-#define IAVFINT_ICR0_ENA1_RSVD_MASK              IAVF_MASK(0x1, IAVFINT_ICR0_ENA1_RSVD_SHIFT)
-#define IAVFINT_ICR01                        0x00004800 /* Reset: CORER */
-#define IAVFINT_ICR01_INTEVENT_SHIFT         0
-#define IAVFINT_ICR01_INTEVENT_MASK          IAVF_MASK(0x1, IAVFINT_ICR01_INTEVENT_SHIFT)
-#define IAVFINT_ICR01_QUEUE_0_SHIFT          1
-#define IAVFINT_ICR01_QUEUE_0_MASK           IAVF_MASK(0x1, IAVFINT_ICR01_QUEUE_0_SHIFT)
-#define IAVFINT_ICR01_QUEUE_1_SHIFT          2
-#define IAVFINT_ICR01_QUEUE_1_MASK           IAVF_MASK(0x1, IAVFINT_ICR01_QUEUE_1_SHIFT)
-#define IAVFINT_ICR01_QUEUE_2_SHIFT          3
-#define IAVFINT_ICR01_QUEUE_2_MASK           IAVF_MASK(0x1, IAVFINT_ICR01_QUEUE_2_SHIFT)
-#define IAVFINT_ICR01_QUEUE_3_SHIFT          4
-#define IAVFINT_ICR01_QUEUE_3_MASK           IAVF_MASK(0x1, IAVFINT_ICR01_QUEUE_3_SHIFT)
-#define IAVFINT_ICR01_LINK_STAT_CHANGE_SHIFT 25
-#define IAVFINT_ICR01_LINK_STAT_CHANGE_MASK  IAVF_MASK(0x1, IAVFINT_ICR01_LINK_STAT_CHANGE_SHIFT)
-#define IAVFINT_ICR01_ADMINQ_SHIFT           30
-#define IAVFINT_ICR01_ADMINQ_MASK            IAVF_MASK(0x1, IAVFINT_ICR01_ADMINQ_SHIFT)
-#define IAVFINT_ICR01_SWINT_SHIFT            31
-#define IAVFINT_ICR01_SWINT_MASK             IAVF_MASK(0x1, IAVFINT_ICR01_SWINT_SHIFT)
-#define IAVFINT_ITR01(_i)            (0x00004C00 + ((_i) * 4)) /* _i=0...2 */ /* Reset: VFR */
-#define IAVFINT_ITR01_MAX_INDEX      2
-#define IAVFINT_ITR01_INTERVAL_SHIFT 0
-#define IAVFINT_ITR01_INTERVAL_MASK  IAVF_MASK(0xFFF, IAVFINT_ITR01_INTERVAL_SHIFT)
-#define IAVFINT_ITRN1(_i, _INTVF)     (0x00002800 + ((_i) * 64 + (_INTVF) * 4)) /* _i=0...2, _INTVF=0...15 */ /* Reset: VFR */
-#define IAVFINT_ITRN1_MAX_INDEX      2
-#define IAVFINT_ITRN1_INTERVAL_SHIFT 0
-#define IAVFINT_ITRN1_INTERVAL_MASK  IAVF_MASK(0xFFF, IAVFINT_ITRN1_INTERVAL_SHIFT)
-#define IAVFINT_STAT_CTL01                      0x00005400 /* Reset: CORER */
-#define IAVFINT_STAT_CTL01_OTHER_ITR_INDX_SHIFT 2
-#define IAVFINT_STAT_CTL01_OTHER_ITR_INDX_MASK  IAVF_MASK(0x3, IAVFINT_STAT_CTL01_OTHER_ITR_INDX_SHIFT)
+#define IAVF_VF_ARQBAH1              0x00006000 /* Reset: EMPR */
+#define IAVF_VF_ARQBAL1              0x00006C00 /* Reset: EMPR */
+#define IAVF_VF_ARQH1            0x00007400 /* Reset: EMPR */
+#define IAVF_VF_ARQH1_ARQH_SHIFT 0
+#define IAVF_VF_ARQH1_ARQH_MASK  IAVF_MASK(0x3FF, IAVF_VF_ARQH1_ARQH_SHIFT)
+#define IAVF_VF_ARQLEN1                 0x00008000 /* Reset: EMPR */
+#define IAVF_VF_ARQLEN1_ARQVFE_SHIFT    28
+#define IAVF_VF_ARQLEN1_ARQVFE_MASK     IAVF_MASK(1UL, IAVF_VF_ARQLEN1_ARQVFE_SHIFT)
+#define IAVF_VF_ARQLEN1_ARQOVFL_SHIFT   29
+#define IAVF_VF_ARQLEN1_ARQOVFL_MASK    IAVF_MASK(1UL, IAVF_VF_ARQLEN1_ARQOVFL_SHIFT)
+#define IAVF_VF_ARQLEN1_ARQCRIT_SHIFT   30
+#define IAVF_VF_ARQLEN1_ARQCRIT_MASK    IAVF_MASK(1UL, IAVF_VF_ARQLEN1_ARQCRIT_SHIFT)
+#define IAVF_VF_ARQLEN1_ARQENABLE_SHIFT 31
+#define IAVF_VF_ARQLEN1_ARQENABLE_MASK  IAVF_MASK(1UL, IAVF_VF_ARQLEN1_ARQENABLE_SHIFT)
+#define IAVF_VF_ARQT1            0x00007000 /* Reset: EMPR */
+#define IAVF_VF_ATQBAH1              0x00007800 /* Reset: EMPR */
+#define IAVF_VF_ATQBAL1              0x00007C00 /* Reset: EMPR */
+#define IAVF_VF_ATQH1            0x00006400 /* Reset: EMPR */
+#define IAVF_VF_ATQLEN1                 0x00006800 /* Reset: EMPR */
+#define IAVF_VF_ATQLEN1_ATQVFE_SHIFT    28
+#define IAVF_VF_ATQLEN1_ATQVFE_MASK     IAVF_MASK(1UL, IAVF_VF_ATQLEN1_ATQVFE_SHIFT)
+#define IAVF_VF_ATQLEN1_ATQOVFL_SHIFT   29
+#define IAVF_VF_ATQLEN1_ATQOVFL_MASK    IAVF_MASK(1UL, IAVF_VF_ATQLEN1_ATQOVFL_SHIFT)
+#define IAVF_VF_ATQLEN1_ATQCRIT_SHIFT   30
+#define IAVF_VF_ATQLEN1_ATQCRIT_MASK    IAVF_MASK(1UL, IAVF_VF_ATQLEN1_ATQCRIT_SHIFT)
+#define IAVF_VF_ATQLEN1_ATQENABLE_SHIFT 31
+#define IAVF_VF_ATQLEN1_ATQENABLE_MASK  IAVF_MASK(1UL, IAVF_VF_ATQLEN1_ATQENABLE_SHIFT)
+#define IAVF_VF_ATQT1            0x00008400 /* Reset: EMPR */
+#define IAVF_VFGEN_RSTAT                 0x00008800 /* Reset: VFR */
+#define IAVF_VFGEN_RSTAT_VFR_STATE_SHIFT 0
+#define IAVF_VFGEN_RSTAT_VFR_STATE_MASK  IAVF_MASK(0x3, IAVF_VFGEN_RSTAT_VFR_STATE_SHIFT)
+#define IAVF_VFINT_DYN_CTL01                       0x00005C00 /* Reset: VFR */
+#define IAVF_VFINT_DYN_CTL01_INTENA_SHIFT          0
+#define IAVF_VFINT_DYN_CTL01_INTENA_MASK           IAVF_MASK(1UL, IAVF_VFINT_DYN_CTL01_INTENA_SHIFT)
+#define IAVF_VFINT_DYN_CTL01_CLEARPBA_SHIFT        1
+#define IAVF_VFINT_DYN_CTL01_CLEARPBA_MASK         IAVF_MASK(1UL, IAVF_VFINT_DYN_CTL01_CLEARPBA_SHIFT)
+#define IAVF_VFINT_DYN_CTL01_SWINT_TRIG_SHIFT      2
+#define IAVF_VFINT_DYN_CTL01_SWINT_TRIG_MASK       IAVF_MASK(1UL, IAVF_VFINT_DYN_CTL01_SWINT_TRIG_SHIFT)
+#define IAVF_VFINT_DYN_CTL01_ITR_INDX_SHIFT        3
+#define IAVF_VFINT_DYN_CTL01_ITR_INDX_MASK         IAVF_MASK(0x3, IAVF_VFINT_DYN_CTL01_ITR_INDX_SHIFT)
+#define IAVF_VFINT_DYN_CTL01_INTERVAL_SHIFT        5
+#define IAVF_VFINT_DYN_CTL01_INTERVAL_MASK         IAVF_MASK(0xFFF, IAVF_VFINT_DYN_CTL01_INTERVAL_SHIFT)
+#define IAVF_VFINT_DYN_CTL01_SW_ITR_INDX_ENA_SHIFT 24
+#define IAVF_VFINT_DYN_CTL01_SW_ITR_INDX_ENA_MASK  IAVF_MASK(1UL, IAVF_VFINT_DYN_CTL01_SW_ITR_INDX_ENA_SHIFT)
+#define IAVF_VFINT_DYN_CTL01_SW_ITR_INDX_SHIFT     25
+#define IAVF_VFINT_DYN_CTL01_SW_ITR_INDX_MASK      IAVF_MASK(0x3, IAVF_VFINT_DYN_CTL01_SW_ITR_INDX_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1(_INTVF)               (0x00003800 + ((_INTVF) * 4)) /* _i=0...15 */ /* Reset: VFR */
+#define IAVF_VFINT_DYN_CTLN1_INTENA_SHIFT          0
+#define IAVF_VFINT_DYN_CTLN1_INTENA_MASK           IAVF_MASK(1UL, IAVF_VFINT_DYN_CTLN1_INTENA_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1_CLEARPBA_SHIFT        1
+#define IAVF_VFINT_DYN_CTLN1_CLEARPBA_MASK         IAVF_MASK(1UL, IAVF_VFINT_DYN_CTLN1_CLEARPBA_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1_SWINT_TRIG_SHIFT      2
+#define IAVF_VFINT_DYN_CTLN1_SWINT_TRIG_MASK       IAVF_MASK(1UL, IAVF_VFINT_DYN_CTLN1_SWINT_TRIG_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1_ITR_INDX_SHIFT        3
+#define IAVF_VFINT_DYN_CTLN1_ITR_INDX_MASK         IAVF_MASK(0x3, IAVF_VFINT_DYN_CTLN1_ITR_INDX_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1_INTERVAL_SHIFT        5
+#define IAVF_VFINT_DYN_CTLN1_INTERVAL_MASK         IAVF_MASK(0xFFF, IAVF_VFINT_DYN_CTLN1_INTERVAL_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1_SW_ITR_INDX_ENA_SHIFT 24
+#define IAVF_VFINT_DYN_CTLN1_SW_ITR_INDX_ENA_MASK  IAVF_MASK(1UL, IAVF_VFINT_DYN_CTLN1_SW_ITR_INDX_ENA_SHIFT)
+#define IAVF_VFINT_DYN_CTLN1_SW_ITR_INDX_SHIFT     25
+#define IAVF_VFINT_DYN_CTLN1_SW_ITR_INDX_MASK      IAVF_MASK(0x3, IAVF_VFINT_DYN_CTLN1_SW_ITR_INDX_SHIFT)
+#define IAVF_VFINT_ICR0_ENA1                        0x00005000 /* Reset: CORER */
+#define IAVF_VFINT_ICR0_ENA1_ADMINQ_SHIFT           30
+#define IAVF_VFINT_ICR0_ENA1_ADMINQ_MASK            IAVF_MASK(1UL, IAVF_VFINT_ICR0_ENA1_ADMINQ_SHIFT)
+#define IAVF_VFINT_ICR0_ENA1_RSVD_SHIFT             31
+#define IAVF_VFINT_ICR01                        0x00004800 /* Reset: CORER */
+#define IAVF_VFINT_ICR01_QUEUE_0_SHIFT          1
+#define IAVF_VFINT_ICR01_QUEUE_0_MASK           IAVF_MASK(1UL, IAVF_VFINT_ICR01_QUEUE_0_SHIFT)
+#define IAVF_VFINT_ICR01_LINK_STAT_CHANGE_SHIFT 25
+#define IAVF_VFINT_ICR01_LINK_STAT_CHANGE_MASK  IAVF_MASK(1UL, IAVF_VFINT_ICR01_LINK_STAT_CHANGE_SHIFT)
+#define IAVF_VFINT_ICR01_ADMINQ_SHIFT           30
+#define IAVF_VFINT_ICR01_ADMINQ_MASK            IAVF_MASK(1UL, IAVF_VFINT_ICR01_ADMINQ_SHIFT)
+#define IAVF_VFINT_ITR01(_i)            (0x00004C00 + ((_i) * 4)) /* _i=0...2 */ /* Reset: VFR */
+#define IAVF_VFINT_ITRN1(_i, _INTVF)     (0x00002800 + ((_i) * 64 + (_INTVF) * 4)) /* _i=0...2, _INTVF=0...15 */ /* Reset: VFR */
+#define IAVF_VFINT_STAT_CTL01                      0x00005400 /* Reset: CORER */
 #define IAVF_QRX_TAIL1(_Q)        (0x00002000 + ((_Q) * 4)) /* _i=0...15 */ /* Reset: CORER */
-#define IAVF_QRX_TAIL1_MAX_INDEX  15
-#define IAVF_QRX_TAIL1_TAIL_SHIFT 0
-#define IAVF_QRX_TAIL1_TAIL_MASK  IAVF_MASK(0x1FFF, IAVF_QRX_TAIL1_TAIL_SHIFT)
 #define IAVF_QTX_TAIL1(_Q)        (0x00000000 + ((_Q) * 4)) /* _i=0...15 */ /* Reset: PFR */
-#define IAVF_QTX_TAIL1_MAX_INDEX  15
-#define IAVF_QTX_TAIL1_TAIL_SHIFT 0
-#define IAVF_QTX_TAIL1_TAIL_MASK  IAVF_MASK(0x1FFF, IAVF_QTX_TAIL1_TAIL_SHIFT)
-#define IAVFMSIX_PBA              0x00002000 /* Reset: VFLR */
-#define IAVFMSIX_PBA_PENBIT_SHIFT 0
-#define IAVFMSIX_PBA_PENBIT_MASK  IAVF_MASK(0xFFFFFFFF, IAVFMSIX_PBA_PENBIT_SHIFT)
-#define IAVFMSIX_TADD(_i)              (0x00000000 + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define IAVFMSIX_TADD_MAX_INDEX        16
-#define IAVFMSIX_TADD_MSIXTADD10_SHIFT 0
-#define IAVFMSIX_TADD_MSIXTADD10_MASK  IAVF_MASK(0x3, IAVFMSIX_TADD_MSIXTADD10_SHIFT)
-#define IAVFMSIX_TADD_MSIXTADD_SHIFT   2
-#define IAVFMSIX_TADD_MSIXTADD_MASK    IAVF_MASK(0x3FFFFFFF, IAVFMSIX_TADD_MSIXTADD_SHIFT)
-#define IAVFMSIX_TMSG(_i)            (0x00000008 + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define IAVFMSIX_TMSG_MAX_INDEX      16
-#define IAVFMSIX_TMSG_MSIXTMSG_SHIFT 0
-#define IAVFMSIX_TMSG_MSIXTMSG_MASK  IAVF_MASK(0xFFFFFFFF, IAVFMSIX_TMSG_MSIXTMSG_SHIFT)
-#define IAVFMSIX_TUADD(_i)             (0x00000004 + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define IAVFMSIX_TUADD_MAX_INDEX       16
-#define IAVFMSIX_TUADD_MSIXTUADD_SHIFT 0
-#define IAVFMSIX_TUADD_MSIXTUADD_MASK  IAVF_MASK(0xFFFFFFFF, IAVFMSIX_TUADD_MSIXTUADD_SHIFT)
-#define IAVFMSIX_TVCTRL(_i)        (0x0000000C + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define IAVFMSIX_TVCTRL_MAX_INDEX  16
-#define IAVFMSIX_TVCTRL_MASK_SHIFT 0
-#define IAVFMSIX_TVCTRL_MASK_MASK  IAVF_MASK(0x1, IAVFMSIX_TVCTRL_MASK_SHIFT)
-#define IAVFCM_PE_ERRDATA                  0x0000DC00 /* Reset: VFR */
-#define IAVFCM_PE_ERRDATA_ERROR_CODE_SHIFT 0
-#define IAVFCM_PE_ERRDATA_ERROR_CODE_MASK  IAVF_MASK(0xF, IAVFCM_PE_ERRDATA_ERROR_CODE_SHIFT)
-#define IAVFCM_PE_ERRDATA_Q_TYPE_SHIFT     4
-#define IAVFCM_PE_ERRDATA_Q_TYPE_MASK      IAVF_MASK(0x7, IAVFCM_PE_ERRDATA_Q_TYPE_SHIFT)
-#define IAVFCM_PE_ERRDATA_Q_NUM_SHIFT      8
-#define IAVFCM_PE_ERRDATA_Q_NUM_MASK       IAVF_MASK(0x3FFFF, IAVFCM_PE_ERRDATA_Q_NUM_SHIFT)
-#define IAVFCM_PE_ERRINFO                     0x0000D800 /* Reset: VFR */
-#define IAVFCM_PE_ERRINFO_ERROR_VALID_SHIFT   0
-#define IAVFCM_PE_ERRINFO_ERROR_VALID_MASK    IAVF_MASK(0x1, IAVFCM_PE_ERRINFO_ERROR_VALID_SHIFT)
-#define IAVFCM_PE_ERRINFO_ERROR_INST_SHIFT    4
-#define IAVFCM_PE_ERRINFO_ERROR_INST_MASK     IAVF_MASK(0x7, IAVFCM_PE_ERRINFO_ERROR_INST_SHIFT)
-#define IAVFCM_PE_ERRINFO_DBL_ERROR_CNT_SHIFT 8
-#define IAVFCM_PE_ERRINFO_DBL_ERROR_CNT_MASK  IAVF_MASK(0xFF, IAVFCM_PE_ERRINFO_DBL_ERROR_CNT_SHIFT)
-#define IAVFCM_PE_ERRINFO_RLU_ERROR_CNT_SHIFT 16
-#define IAVFCM_PE_ERRINFO_RLU_ERROR_CNT_MASK  IAVF_MASK(0xFF, IAVFCM_PE_ERRINFO_RLU_ERROR_CNT_SHIFT)
-#define IAVFCM_PE_ERRINFO_RLS_ERROR_CNT_SHIFT 24
-#define IAVFCM_PE_ERRINFO_RLS_ERROR_CNT_MASK  IAVF_MASK(0xFF, IAVFCM_PE_ERRINFO_RLS_ERROR_CNT_SHIFT)
-#define IAVFQF_HENA(_i)             (0x0000C400 + ((_i) * 4)) /* _i=0...1 */ /* Reset: CORER */
-#define IAVFQF_HENA_MAX_INDEX       1
-#define IAVFQF_HENA_PTYPE_ENA_SHIFT 0
-#define IAVFQF_HENA_PTYPE_ENA_MASK  IAVF_MASK(0xFFFFFFFF, IAVFQF_HENA_PTYPE_ENA_SHIFT)
-#define IAVFQF_HKEY(_i)         (0x0000CC00 + ((_i) * 4)) /* _i=0...12 */ /* Reset: CORER */
-#define IAVFQF_HKEY_MAX_INDEX   12
-#define IAVFQF_HKEY_KEY_0_SHIFT 0
-#define IAVFQF_HKEY_KEY_0_MASK  IAVF_MASK(0xFF, IAVFQF_HKEY_KEY_0_SHIFT)
-#define IAVFQF_HKEY_KEY_1_SHIFT 8
-#define IAVFQF_HKEY_KEY_1_MASK  IAVF_MASK(0xFF, IAVFQF_HKEY_KEY_1_SHIFT)
-#define IAVFQF_HKEY_KEY_2_SHIFT 16
-#define IAVFQF_HKEY_KEY_2_MASK  IAVF_MASK(0xFF, IAVFQF_HKEY_KEY_2_SHIFT)
-#define IAVFQF_HKEY_KEY_3_SHIFT 24
-#define IAVFQF_HKEY_KEY_3_MASK  IAVF_MASK(0xFF, IAVFQF_HKEY_KEY_3_SHIFT)
-#define IAVFQF_HLUT(_i)        (0x0000D000 + ((_i) * 4)) /* _i=0...15 */ /* Reset: CORER */
-#define IAVFQF_HLUT_MAX_INDEX  15
-#define IAVFQF_HLUT_LUT0_SHIFT 0
-#define IAVFQF_HLUT_LUT0_MASK  IAVF_MASK(0xF, IAVFQF_HLUT_LUT0_SHIFT)
-#define IAVFQF_HLUT_LUT1_SHIFT 8
-#define IAVFQF_HLUT_LUT1_MASK  IAVF_MASK(0xF, IAVFQF_HLUT_LUT1_SHIFT)
-#define IAVFQF_HLUT_LUT2_SHIFT 16
-#define IAVFQF_HLUT_LUT2_MASK  IAVF_MASK(0xF, IAVFQF_HLUT_LUT2_SHIFT)
-#define IAVFQF_HLUT_LUT3_SHIFT 24
-#define IAVFQF_HLUT_LUT3_MASK  IAVF_MASK(0xF, IAVFQF_HLUT_LUT3_SHIFT)
-#define IAVFQF_HREGION(_i)                  (0x0000D400 + ((_i) * 4)) /* _i=0...7 */ /* Reset: CORER */
-#define IAVFQF_HREGION_MAX_INDEX            7
-#define IAVFQF_HREGION_OVERRIDE_ENA_0_SHIFT 0
-#define IAVFQF_HREGION_OVERRIDE_ENA_0_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_0_SHIFT)
-#define IAVFQF_HREGION_REGION_0_SHIFT       1
-#define IAVFQF_HREGION_REGION_0_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_0_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_1_SHIFT 4
-#define IAVFQF_HREGION_OVERRIDE_ENA_1_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_1_SHIFT)
-#define IAVFQF_HREGION_REGION_1_SHIFT       5
-#define IAVFQF_HREGION_REGION_1_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_1_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_2_SHIFT 8
-#define IAVFQF_HREGION_OVERRIDE_ENA_2_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_2_SHIFT)
-#define IAVFQF_HREGION_REGION_2_SHIFT       9
-#define IAVFQF_HREGION_REGION_2_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_2_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_3_SHIFT 12
-#define IAVFQF_HREGION_OVERRIDE_ENA_3_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_3_SHIFT)
-#define IAVFQF_HREGION_REGION_3_SHIFT       13
-#define IAVFQF_HREGION_REGION_3_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_3_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_4_SHIFT 16
-#define IAVFQF_HREGION_OVERRIDE_ENA_4_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_4_SHIFT)
-#define IAVFQF_HREGION_REGION_4_SHIFT       17
-#define IAVFQF_HREGION_REGION_4_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_4_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_5_SHIFT 20
-#define IAVFQF_HREGION_OVERRIDE_ENA_5_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_5_SHIFT)
-#define IAVFQF_HREGION_REGION_5_SHIFT       21
-#define IAVFQF_HREGION_REGION_5_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_5_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_6_SHIFT 24
-#define IAVFQF_HREGION_OVERRIDE_ENA_6_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_6_SHIFT)
-#define IAVFQF_HREGION_REGION_6_SHIFT       25
-#define IAVFQF_HREGION_REGION_6_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_6_SHIFT)
-#define IAVFQF_HREGION_OVERRIDE_ENA_7_SHIFT 28
-#define IAVFQF_HREGION_OVERRIDE_ENA_7_MASK  IAVF_MASK(0x1, IAVFQF_HREGION_OVERRIDE_ENA_7_SHIFT)
-#define IAVFQF_HREGION_REGION_7_SHIFT       29
-#define IAVFQF_HREGION_REGION_7_MASK        IAVF_MASK(0x7, IAVFQF_HREGION_REGION_7_SHIFT)
-
-#define IAVFINT_DYN_CTL01_WB_ON_ITR_SHIFT       30
-#define IAVFINT_DYN_CTL01_WB_ON_ITR_MASK        IAVF_MASK(0x1, IAVFINT_DYN_CTL01_WB_ON_ITR_SHIFT)
-#define IAVFINT_DYN_CTLN1_WB_ON_ITR_SHIFT       30
-#define IAVFINT_DYN_CTLN1_WB_ON_ITR_MASK        IAVF_MASK(0x1, IAVFINT_DYN_CTLN1_WB_ON_ITR_SHIFT)
-#define IAVFPE_AEQALLOC1               0x0000A400 /* Reset: VFR */
-#define IAVFPE_AEQALLOC1_AECOUNT_SHIFT 0
-#define IAVFPE_AEQALLOC1_AECOUNT_MASK  IAVF_MASK(0xFFFFFFFF, IAVFPE_AEQALLOC1_AECOUNT_SHIFT)
-#define IAVFPE_CCQPHIGH1                  0x00009800 /* Reset: VFR */
-#define IAVFPE_CCQPHIGH1_PECCQPHIGH_SHIFT 0
-#define IAVFPE_CCQPHIGH1_PECCQPHIGH_MASK  IAVF_MASK(0xFFFFFFFF, IAVFPE_CCQPHIGH1_PECCQPHIGH_SHIFT)
-#define IAVFPE_CCQPLOW1                 0x0000AC00 /* Reset: VFR */
-#define IAVFPE_CCQPLOW1_PECCQPLOW_SHIFT 0
-#define IAVFPE_CCQPLOW1_PECCQPLOW_MASK  IAVF_MASK(0xFFFFFFFF, IAVFPE_CCQPLOW1_PECCQPLOW_SHIFT)
-#define IAVFPE_CCQPSTATUS1                   0x0000B800 /* Reset: VFR */
-#define IAVFPE_CCQPSTATUS1_CCQP_DONE_SHIFT   0
-#define IAVFPE_CCQPSTATUS1_CCQP_DONE_MASK    IAVF_MASK(0x1, IAVFPE_CCQPSTATUS1_CCQP_DONE_SHIFT)
-#define IAVFPE_CCQPSTATUS1_HMC_PROFILE_SHIFT 4
-#define IAVFPE_CCQPSTATUS1_HMC_PROFILE_MASK  IAVF_MASK(0x7, IAVFPE_CCQPSTATUS1_HMC_PROFILE_SHIFT)
-#define IAVFPE_CCQPSTATUS1_RDMA_EN_VFS_SHIFT 16
-#define IAVFPE_CCQPSTATUS1_RDMA_EN_VFS_MASK  IAVF_MASK(0x3F, IAVFPE_CCQPSTATUS1_RDMA_EN_VFS_SHIFT)
-#define IAVFPE_CCQPSTATUS1_CCQP_ERR_SHIFT    31
-#define IAVFPE_CCQPSTATUS1_CCQP_ERR_MASK     IAVF_MASK(0x1, IAVFPE_CCQPSTATUS1_CCQP_ERR_SHIFT)
-#define IAVFPE_CQACK1              0x0000B000 /* Reset: VFR */
-#define IAVFPE_CQACK1_PECQID_SHIFT 0
-#define IAVFPE_CQACK1_PECQID_MASK  IAVF_MASK(0x1FFFF, IAVFPE_CQACK1_PECQID_SHIFT)
-#define IAVFPE_CQARM1              0x0000B400 /* Reset: VFR */
-#define IAVFPE_CQARM1_PECQID_SHIFT 0
-#define IAVFPE_CQARM1_PECQID_MASK  IAVF_MASK(0x1FFFF, IAVFPE_CQARM1_PECQID_SHIFT)
-#define IAVFPE_CQPDB1              0x0000BC00 /* Reset: VFR */
-#define IAVFPE_CQPDB1_WQHEAD_SHIFT 0
-#define IAVFPE_CQPDB1_WQHEAD_MASK  IAVF_MASK(0x7FF, IAVFPE_CQPDB1_WQHEAD_SHIFT)
-#define IAVFPE_CQPERRCODES1                      0x00009C00 /* Reset: VFR */
-#define IAVFPE_CQPERRCODES1_CQP_MINOR_CODE_SHIFT 0
-#define IAVFPE_CQPERRCODES1_CQP_MINOR_CODE_MASK  IAVF_MASK(0xFFFF, IAVFPE_CQPERRCODES1_CQP_MINOR_CODE_SHIFT)
-#define IAVFPE_CQPERRCODES1_CQP_MAJOR_CODE_SHIFT 16
-#define IAVFPE_CQPERRCODES1_CQP_MAJOR_CODE_MASK  IAVF_MASK(0xFFFF, IAVFPE_CQPERRCODES1_CQP_MAJOR_CODE_SHIFT)
-#define IAVFPE_CQPTAIL1                  0x0000A000 /* Reset: VFR */
-#define IAVFPE_CQPTAIL1_WQTAIL_SHIFT     0
-#define IAVFPE_CQPTAIL1_WQTAIL_MASK      IAVF_MASK(0x7FF, IAVFPE_CQPTAIL1_WQTAIL_SHIFT)
-#define IAVFPE_CQPTAIL1_CQP_OP_ERR_SHIFT 31
-#define IAVFPE_CQPTAIL1_CQP_OP_ERR_MASK  IAVF_MASK(0x1, IAVFPE_CQPTAIL1_CQP_OP_ERR_SHIFT)
-#define IAVFPE_IPCONFIG01                        0x00008C00 /* Reset: VFR */
-#define IAVFPE_IPCONFIG01_PEIPID_SHIFT           0
-#define IAVFPE_IPCONFIG01_PEIPID_MASK            IAVF_MASK(0xFFFF, IAVFPE_IPCONFIG01_PEIPID_SHIFT)
-#define IAVFPE_IPCONFIG01_USEENTIREIDRANGE_SHIFT 16
-#define IAVFPE_IPCONFIG01_USEENTIREIDRANGE_MASK  IAVF_MASK(0x1, IAVFPE_IPCONFIG01_USEENTIREIDRANGE_SHIFT)
-#define IAVFPE_MRTEIDXMASK1                       0x00009000 /* Reset: VFR */
-#define IAVFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_SHIFT 0
-#define IAVFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_MASK  IAVF_MASK(0x1F, IAVFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_SHIFT)
-#define IAVFPE_RCVUNEXPECTEDERROR1                        0x00009400 /* Reset: VFR */
-#define IAVFPE_RCVUNEXPECTEDERROR1_TCP_RX_UNEXP_ERR_SHIFT 0
-#define IAVFPE_RCVUNEXPECTEDERROR1_TCP_RX_UNEXP_ERR_MASK  IAVF_MASK(0xFFFFFF, IAVFPE_RCVUNEXPECTEDERROR1_TCP_RX_UNEXP_ERR_SHIFT)
-#define IAVFPE_TCPNOWTIMER1               0x0000A800 /* Reset: VFR */
-#define IAVFPE_TCPNOWTIMER1_TCP_NOW_SHIFT 0
-#define IAVFPE_TCPNOWTIMER1_TCP_NOW_MASK  IAVF_MASK(0xFFFFFFFF, IAVFPE_TCPNOWTIMER1_TCP_NOW_SHIFT)
-#define IAVFPE_WQEALLOC1                      0x0000C000 /* Reset: VFR */
-#define IAVFPE_WQEALLOC1_PEQPID_SHIFT         0
-#define IAVFPE_WQEALLOC1_PEQPID_MASK          IAVF_MASK(0x3FFFF, IAVFPE_WQEALLOC1_PEQPID_SHIFT)
-#define IAVFPE_WQEALLOC1_WQE_DESC_INDEX_SHIFT 20
-#define IAVFPE_WQEALLOC1_WQE_DESC_INDEX_MASK  IAVF_MASK(0xFFF, IAVFPE_WQEALLOC1_WQE_DESC_INDEX_SHIFT)
+#define IAVF_VFQF_HENA(_i)             (0x0000C400 + ((_i) * 4)) /* _i=0...1 */ /* Reset: CORER */
+#define IAVF_VFQF_HKEY(_i)         (0x0000CC00 + ((_i) * 4)) /* _i=0...12 */ /* Reset: CORER */
+#define IAVF_VFQF_HKEY_MAX_INDEX   12
+#define IAVF_VFQF_HLUT(_i)        (0x0000D000 + ((_i) * 4)) /* _i=0...15 */ /* Reset: CORER */
+#define IAVF_VFQF_HLUT_MAX_INDEX  15
+#define IAVF_VFINT_DYN_CTLN1_WB_ON_ITR_SHIFT       30
+#define IAVF_VFINT_DYN_CTLN1_WB_ON_ITR_MASK        IAVF_MASK(1UL, IAVF_VFINT_DYN_CTLN1_WB_ON_ITR_SHIFT)
 
 #endif /* _IAVF_REGISTER_H_ */
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 4f80113ae..39faf7fac 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -323,9 +323,10 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 		    VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
 			/* If WB_ON_ITR supports, enable it */
 			vf->msix_base = IAVF_RX_VEC_START;
-			IAVF_WRITE_REG(hw, IAVFINT_DYN_CTLN1(vf->msix_base - 1),
-				      IAVFINT_DYN_CTLN1_ITR_INDX_MASK |
-				      IAVFINT_DYN_CTLN1_WB_ON_ITR_MASK);
+			IAVF_WRITE_REG(hw,
+				       IAVF_VFINT_DYN_CTLN1(vf->msix_base - 1),
+				       IAVF_VFINT_DYN_CTLN1_ITR_INDX_MASK |
+				       IAVF_VFINT_DYN_CTLN1_WB_ON_ITR_MASK);
 		} else {
 			/* If no WB_ON_ITR offload flags, need to set
 			 * interrupt for descriptor write back.
@@ -335,12 +336,12 @@ static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 			/* set ITR to max */
 			interval = iavf_calc_itr_interval(
 					IAVF_QUEUE_ITR_INTERVAL_MAX);
-			IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01,
-				      IAVFINT_DYN_CTL01_INTENA_MASK |
-				      (IAVF_ITR_INDEX_DEFAULT <<
-				       IAVFINT_DYN_CTL01_ITR_INDX_SHIFT) |
-				      (interval <<
-				       IAVFINT_DYN_CTL01_INTERVAL_SHIFT));
+			IAVF_WRITE_REG(hw, IAVF_VFINT_DYN_CTL01,
+				       IAVF_VFINT_DYN_CTL01_INTENA_MASK |
+				       (IAVF_ITR_INDEX_DEFAULT <<
+					IAVF_VFINT_DYN_CTL01_ITR_INDX_SHIFT) |
+				       (interval <<
+					IAVF_VFINT_DYN_CTL01_INTERVAL_SHIFT));
 		}
 		IAVF_WRITE_FLUSH(hw);
 		/* map all queues to the same interrupt */
@@ -1115,16 +1116,17 @@ iavf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 	msix_intr = pci_dev->intr_handle.intr_vec[queue_id];
 	if (msix_intr == IAVF_MISC_VEC_ID) {
 		PMD_DRV_LOG(INFO, "MISC is also enabled for control");
-		IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01,
-			      IAVFINT_DYN_CTL01_INTENA_MASK |
-			      IAVFINT_DYN_CTL01_CLEARPBA_MASK |
-			      IAVFINT_DYN_CTL01_ITR_INDX_MASK);
+		IAVF_WRITE_REG(hw, IAVF_VFINT_DYN_CTL01,
+			       IAVF_VFINT_DYN_CTL01_INTENA_MASK |
+			       IAVF_VFINT_DYN_CTL01_CLEARPBA_MASK |
+			       IAVF_VFINT_DYN_CTL01_ITR_INDX_MASK);
 	} else {
 		IAVF_WRITE_REG(hw,
-			      IAVFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
-			      IAVFINT_DYN_CTLN1_INTENA_MASK |
-			      IAVFINT_DYN_CTL01_CLEARPBA_MASK |
-			      IAVFINT_DYN_CTLN1_ITR_INDX_MASK);
+			       IAVF_VFINT_DYN_CTLN1
+				(msix_intr - IAVF_RX_VEC_START),
+			       IAVF_VFINT_DYN_CTLN1_INTENA_MASK |
+			       IAVF_VFINT_DYN_CTL01_CLEARPBA_MASK |
+			       IAVF_VFINT_DYN_CTLN1_ITR_INDX_MASK);
 	}
 
 	IAVF_WRITE_FLUSH(hw);
@@ -1148,7 +1150,7 @@ iavf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 	}
 
 	IAVF_WRITE_REG(hw,
-		      IAVFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
+		      IAVF_VFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
 		      0);
 
 	IAVF_WRITE_FLUSH(hw);
@@ -1161,9 +1163,9 @@ iavf_check_vf_reset_done(struct iavf_hw *hw)
 	int i, reset;
 
 	for (i = 0; i < IAVF_RESET_WAIT_CNT; i++) {
-		reset = IAVF_READ_REG(hw, IAVFGEN_RSTAT) &
-			IAVFGEN_RSTAT_VFR_STATE_MASK;
-		reset = reset >> IAVFGEN_RSTAT_VFR_STATE_SHIFT;
+		reset = IAVF_READ_REG(hw, IAVF_VFGEN_RSTAT) &
+			IAVF_VFGEN_RSTAT_VFR_STATE_MASK;
+		reset = reset >> IAVF_VFGEN_RSTAT_VFR_STATE_SHIFT;
 		if (reset == VIRTCHNL_VFR_VFACTIVE ||
 		    reset == VIRTCHNL_VFR_COMPLETED)
 			break;
@@ -1260,10 +1262,13 @@ static inline void
 iavf_enable_irq0(struct iavf_hw *hw)
 {
 	/* Enable admin queue interrupt trigger */
-	IAVF_WRITE_REG(hw, IAVFINT_ICR0_ENA1, IAVFINT_ICR0_ENA1_ADMINQ_MASK);
+	IAVF_WRITE_REG(hw, IAVF_VFINT_ICR0_ENA1,
+		       IAVF_VFINT_ICR0_ENA1_ADMINQ_MASK);
 
-	IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01, IAVFINT_DYN_CTL01_INTENA_MASK |
-		IAVFINT_DYN_CTL01_CLEARPBA_MASK | IAVFINT_DYN_CTL01_ITR_INDX_MASK);
+	IAVF_WRITE_REG(hw, IAVF_VFINT_DYN_CTL01,
+		       IAVF_VFINT_DYN_CTL01_INTENA_MASK |
+		       IAVF_VFINT_DYN_CTL01_CLEARPBA_MASK |
+		       IAVF_VFINT_DYN_CTL01_ITR_INDX_MASK);
 
 	IAVF_WRITE_FLUSH(hw);
 }
@@ -1272,9 +1277,9 @@ static inline void
 iavf_disable_irq0(struct iavf_hw *hw)
 {
 	/* Disable all interrupt types */
-	IAVF_WRITE_REG(hw, IAVFINT_ICR0_ENA1, 0);
-	IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01,
-		      IAVFINT_DYN_CTL01_ITR_INDX_MASK);
+	IAVF_WRITE_REG(hw, IAVF_VFINT_ICR0_ENA1, 0);
+	IAVF_WRITE_REG(hw, IAVF_VFINT_DYN_CTL01,
+		       IAVF_VFINT_DYN_CTL01_ITR_INDX_MASK);
 	IAVF_WRITE_FLUSH(hw);
 }
 
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 04/17] net/iavf/base: update device id
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (2 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 03/17] net/iavf/base: rename register macro Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 05/17] net/iavf/base: remove unused code Qi Zhang
                   ` (13 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Add all supported device id.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_common.c | 8 +++++---
 drivers/net/iavf/base/iavf_devids.h | 5 ++++-
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index 5df4410e0..026dc4756 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -23,9 +23,11 @@ enum iavf_status iavf_set_mac_type(struct iavf_hw *hw)
 
 	if (hw->vendor_id == IAVF_INTEL_VENDOR_ID) {
 		switch (hw->device_id) {
-	/* TODO: remove undefined device ID now, need to think how to
-	 * remove them in share code
-	 */
+		case IAVF_DEV_ID_X722_VF:
+			hw->mac.type = IAVF_MAC_X722_VF;
+			break;
+		case IAVF_DEV_ID_VF:
+		case IAVF_DEV_ID_VF_HV:
 		case IAVF_DEV_ID_ADAPTIVE_VF:
 			hw->mac.type = IAVF_MAC_VF;
 			break;
diff --git a/drivers/net/iavf/base/iavf_devids.h b/drivers/net/iavf/base/iavf_devids.h
index 2cd88d62f..cd92631f4 100644
--- a/drivers/net/iavf/base/iavf_devids.h
+++ b/drivers/net/iavf/base/iavf_devids.h
@@ -8,7 +8,10 @@
 /* Vendor ID */
 #define IAVF_INTEL_VENDOR_ID		0x8086
 
-/* Device IDs */
+/* Device IDs for the VF driver */
+#define IAVF_DEV_ID_VF			0x154C
+#define IAVF_DEV_ID_VF_HV		0x1571
 #define IAVF_DEV_ID_ADAPTIVE_VF		0x1889
+#define IAVF_DEV_ID_X722_VF		0x37CD
 
 #endif /* _IAVF_DEVIDS_H_ */
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 05/17] net/iavf/base: remove unused code
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (3 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 04/17] net/iavf/base: update device id Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 06/17] net/iavf/base: remove unnecessary compile option Qi Zhang
                   ` (12 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Remove unused APIs in iavf_prototype.h, iavf_adminq_cmd.h
iavf_type.h, iavf_adminq.h and iavf_common.c

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c     |   27 +-
 drivers/net/iavf/base/iavf_adminq.h     |   43 -
 drivers/net/iavf/base/iavf_adminq_cmd.h | 2344 ++-----------------------------
 drivers/net/iavf/base/iavf_common.c     |  787 -----------
 drivers/net/iavf/base/iavf_prototype.h  |   83 --
 drivers/net/iavf/base/iavf_type.h       | 1109 +--------------
 6 files changed, 168 insertions(+), 4225 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index 193e2e7d1..68c51daac 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -17,18 +17,16 @@
 STATIC void iavf_adminq_init_regs(struct iavf_hw *hw)
 {
 	/* set head and tail registers in our local struct */
-	if (iavf_is_vf(hw)) {
-		hw->aq.asq.tail = IAVF_VF_ATQT1;
-		hw->aq.asq.head = IAVF_VF_ATQH1;
-		hw->aq.asq.len  = IAVF_VF_ATQLEN1;
-		hw->aq.asq.bal  = IAVF_VF_ATQBAL1;
-		hw->aq.asq.bah  = IAVF_VF_ATQBAH1;
-		hw->aq.arq.tail = IAVF_VF_ARQT1;
-		hw->aq.arq.head = IAVF_VF_ARQH1;
-		hw->aq.arq.len  = IAVF_VF_ARQLEN1;
-		hw->aq.arq.bal  = IAVF_VF_ARQBAL1;
-		hw->aq.arq.bah  = IAVF_VF_ARQBAH1;
-	}
+	hw->aq.asq.tail = IAVF_VF_ATQT1;
+	hw->aq.asq.head = IAVF_VF_ATQH1;
+	hw->aq.asq.len  = IAVF_VF_ATQLEN1;
+	hw->aq.asq.bal  = IAVF_VF_ATQBAL1;
+	hw->aq.asq.bah  = IAVF_VF_ATQBAH1;
+	hw->aq.arq.tail = IAVF_VF_ARQT1;
+	hw->aq.arq.head = IAVF_VF_ARQH1;
+	hw->aq.arq.len  = IAVF_VF_ARQLEN1;
+	hw->aq.arq.bal  = IAVF_VF_ARQBAL1;
+	hw->aq.arq.bah  = IAVF_VF_ARQBAH1;
 }
 
 /**
@@ -549,8 +547,6 @@ enum iavf_status iavf_init_adminq(struct iavf_hw *hw)
 	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_free_asq;
 
-	ret_code = IAVF_SUCCESS;
-
 	/* success! */
 	goto init_adminq_exit;
 
@@ -580,9 +576,6 @@ enum iavf_status iavf_shutdown_adminq(struct iavf_hw *hw)
 	iavf_destroy_spinlock(&hw->aq.asq_spinlock);
 	iavf_destroy_spinlock(&hw->aq.arq_spinlock);
 
-	if (hw->nvm_buff.va)
-		iavf_free_virt_mem(hw, &hw->nvm_buff);
-
 	return ret_code;
 }
 
diff --git a/drivers/net/iavf/base/iavf_adminq.h b/drivers/net/iavf/base/iavf_adminq.h
index 715621644..bdc5e0187 100644
--- a/drivers/net/iavf/base/iavf_adminq.h
+++ b/drivers/net/iavf/base/iavf_adminq.h
@@ -84,49 +84,6 @@ struct iavf_adminq_info {
 	enum iavf_admin_queue_err arq_last_status;
 };
 
-/**
- * iavf_aq_rc_to_posix - convert errors to user-land codes
- * aq_ret: AdminQ handler error code can override aq_rc
- * aq_rc: AdminQ firmware error code to convert
- **/
-STATIC INLINE int iavf_aq_rc_to_posix(int aq_ret, int aq_rc)
-{
-	int aq_to_posix[] = {
-		0,           /* IAVF_AQ_RC_OK */
-		-EPERM,      /* IAVF_AQ_RC_EPERM */
-		-ENOENT,     /* IAVF_AQ_RC_ENOENT */
-		-ESRCH,      /* IAVF_AQ_RC_ESRCH */
-		-EINTR,      /* IAVF_AQ_RC_EINTR */
-		-EIO,        /* IAVF_AQ_RC_EIO */
-		-ENXIO,      /* IAVF_AQ_RC_ENXIO */
-		-E2BIG,      /* IAVF_AQ_RC_E2BIG */
-		-EAGAIN,     /* IAVF_AQ_RC_EAGAIN */
-		-ENOMEM,     /* IAVF_AQ_RC_ENOMEM */
-		-EACCES,     /* IAVF_AQ_RC_EACCES */
-		-EFAULT,     /* IAVF_AQ_RC_EFAULT */
-		-EBUSY,      /* IAVF_AQ_RC_EBUSY */
-		-EEXIST,     /* IAVF_AQ_RC_EEXIST */
-		-EINVAL,     /* IAVF_AQ_RC_EINVAL */
-		-ENOTTY,     /* IAVF_AQ_RC_ENOTTY */
-		-ENOSPC,     /* IAVF_AQ_RC_ENOSPC */
-		-ENOSYS,     /* IAVF_AQ_RC_ENOSYS */
-		-ERANGE,     /* IAVF_AQ_RC_ERANGE */
-		-EPIPE,      /* IAVF_AQ_RC_EFLUSHED */
-		-ESPIPE,     /* IAVF_AQ_RC_BAD_ADDR */
-		-EROFS,      /* IAVF_AQ_RC_EMODE */
-		-EFBIG,      /* IAVF_AQ_RC_EFBIG */
-	};
-
-	/* aq_rc is invalid if AQ timed out */
-	if (aq_ret == IAVF_ERR_ADMIN_QUEUE_TIMEOUT)
-		return -EAGAIN;
-
-	if (!((u32)aq_rc < (sizeof(aq_to_posix) / sizeof((aq_to_posix)[0]))))
-		return -ERANGE;
-
-	return aq_to_posix[aq_rc];
-}
-
 /* general information */
 #define IAVF_AQ_LARGE_BUF	512
 #define IAVF_ASQ_CMD_TIMEOUT	250000  /* usecs */
diff --git a/drivers/net/iavf/base/iavf_adminq_cmd.h b/drivers/net/iavf/base/iavf_adminq_cmd.h
index 45388c8b7..b0ee0b082 100644
--- a/drivers/net/iavf/base/iavf_adminq_cmd.h
+++ b/drivers/net/iavf/base/iavf_adminq_cmd.h
@@ -11,7 +11,6 @@
  * This file needs to comply with the Linux Kernel coding style.
  */
 
-
 #define IAVF_FW_API_VERSION_MAJOR	0x0001
 #define IAVF_FW_API_VERSION_MINOR_X722	0x0005
 #define IAVF_FW_API_VERSION_MINOR_X710	0x0007
@@ -317,33 +316,6 @@ enum iavf_admin_queue_opc {
  */
 #define IAVF_CHECK_CMD_LENGTH(X)	IAVF_CHECK_STRUCT_LEN(16, X)
 
-/* internal (0x00XX) commands */
-
-/* Get version (direct 0x0001) */
-struct iavf_aqc_get_version {
-	__le32 rom_ver;
-	__le32 fw_build;
-	__le16 fw_major;
-	__le16 fw_minor;
-	__le16 api_major;
-	__le16 api_minor;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_version);
-
-/* Send driver version (indirect 0x0002) */
-struct iavf_aqc_driver_version {
-	u8	driver_major_ver;
-	u8	driver_minor_ver;
-	u8	driver_build_ver;
-	u8	driver_subbuild_ver;
-	u8	reserved[4];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_driver_version);
-
 /* Queue Shutdown (direct 0x0003) */
 struct iavf_aqc_queue_shutdown {
 	__le32	driver_unloading;
@@ -353,493 +325,9 @@ struct iavf_aqc_queue_shutdown {
 
 IAVF_CHECK_CMD_LENGTH(iavf_aqc_queue_shutdown);
 
-/* Set PF context (0x0004, direct) */
-struct iavf_aqc_set_pf_context {
-	u8	pf_id;
-	u8	reserved[15];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_pf_context);
-
-/* Request resource ownership (direct 0x0008)
- * Release resource ownership (direct 0x0009)
- */
-#define IAVF_AQ_RESOURCE_NVM			1
-#define IAVF_AQ_RESOURCE_SDP			2
-#define IAVF_AQ_RESOURCE_ACCESS_READ		1
-#define IAVF_AQ_RESOURCE_ACCESS_WRITE		2
-#define IAVF_AQ_RESOURCE_NVM_READ_TIMEOUT	3000
-#define IAVF_AQ_RESOURCE_NVM_WRITE_TIMEOUT	180000
-
-struct iavf_aqc_request_resource {
-	__le16	resource_id;
-	__le16	access_type;
-	__le32	timeout;
-	__le32	resource_number;
-	u8	reserved[4];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_request_resource);
-
-/* Get function capabilities (indirect 0x000A)
- * Get device capabilities (indirect 0x000B)
- */
-struct iavf_aqc_list_capabilites {
-	u8 command_flags;
-#define IAVF_AQ_LIST_CAP_PF_INDEX_EN	1
-	u8 pf_index;
-	u8 reserved[2];
-	__le32 count;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_list_capabilites);
-
-struct iavf_aqc_list_capabilities_element_resp {
-	__le16	id;
-	u8	major_rev;
-	u8	minor_rev;
-	__le32	number;
-	__le32	logical_id;
-	__le32	phys_id;
-	u8	reserved[16];
-};
-
-/* list of caps */
-
-#define IAVF_AQ_CAP_ID_SWITCH_MODE	0x0001
-#define IAVF_AQ_CAP_ID_MNG_MODE		0x0002
-#define IAVF_AQ_CAP_ID_NPAR_ACTIVE	0x0003
-#define IAVF_AQ_CAP_ID_OS2BMC_CAP	0x0004
-#define IAVF_AQ_CAP_ID_FUNCTIONS_VALID	0x0005
-#define IAVF_AQ_CAP_ID_ALTERNATE_RAM	0x0006
-#define IAVF_AQ_CAP_ID_WOL_AND_PROXY	0x0008
-#define IAVF_AQ_CAP_ID_SRIOV		0x0012
-#define IAVF_AQ_CAP_ID_VF		0x0013
-#define IAVF_AQ_CAP_ID_VMDQ		0x0014
-#define IAVF_AQ_CAP_ID_8021QBG		0x0015
-#define IAVF_AQ_CAP_ID_8021QBR		0x0016
-#define IAVF_AQ_CAP_ID_VSI		0x0017
-#define IAVF_AQ_CAP_ID_DCB		0x0018
-#define IAVF_AQ_CAP_ID_FCOE		0x0021
-#define IAVF_AQ_CAP_ID_ISCSI		0x0022
-#define IAVF_AQ_CAP_ID_RSS		0x0040
-#define IAVF_AQ_CAP_ID_RXQ		0x0041
-#define IAVF_AQ_CAP_ID_TXQ		0x0042
-#define IAVF_AQ_CAP_ID_MSIX		0x0043
-#define IAVF_AQ_CAP_ID_VF_MSIX		0x0044
-#define IAVF_AQ_CAP_ID_FLOW_DIRECTOR	0x0045
-#define IAVF_AQ_CAP_ID_1588		0x0046
-#define IAVF_AQ_CAP_ID_IWARP		0x0051
-#define IAVF_AQ_CAP_ID_LED		0x0061
-#define IAVF_AQ_CAP_ID_SDP		0x0062
-#define IAVF_AQ_CAP_ID_MDIO		0x0063
-#define IAVF_AQ_CAP_ID_WSR_PROT		0x0064
-#define IAVF_AQ_CAP_ID_NVM_MGMT		0x0080
-#define IAVF_AQ_CAP_ID_FLEX10		0x00F1
-#define IAVF_AQ_CAP_ID_CEM		0x00F2
-
-/* Set CPPM Configuration (direct 0x0103) */
-struct iavf_aqc_cppm_configuration {
-	__le16	command_flags;
-#define IAVF_AQ_CPPM_EN_LTRC	0x0800
-#define IAVF_AQ_CPPM_EN_DMCTH	0x1000
-#define IAVF_AQ_CPPM_EN_DMCTLX	0x2000
-#define IAVF_AQ_CPPM_EN_HPTC	0x4000
-#define IAVF_AQ_CPPM_EN_DMARC	0x8000
-	__le16	ttlx;
-	__le32	dmacr;
-	__le16	dmcth;
-	u8	hptc;
-	u8	reserved;
-	__le32	pfltrc;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_cppm_configuration);
-
-/* Set ARP Proxy command / response (indirect 0x0104) */
-struct iavf_aqc_arp_proxy_data {
-	__le16	command_flags;
-#define IAVF_AQ_ARP_INIT_IPV4	0x0800
-#define IAVF_AQ_ARP_UNSUP_CTL	0x1000
-#define IAVF_AQ_ARP_ENA		0x2000
-#define IAVF_AQ_ARP_ADD_IPV4	0x4000
-#define IAVF_AQ_ARP_DEL_IPV4	0x8000
-	__le16	table_id;
-	__le32	enabled_offloads;
-#define IAVF_AQ_ARP_DIRECTED_OFFLOAD_ENABLE	0x00000020
-#define IAVF_AQ_ARP_OFFLOAD_ENABLE		0x00000800
-	__le32	ip_addr;
-	u8	mac_addr[6];
-	u8	reserved[2];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x14, iavf_aqc_arp_proxy_data);
-
-/* Set NS Proxy Table Entry Command (indirect 0x0105) */
-struct iavf_aqc_ns_proxy_data {
-	__le16	table_idx_mac_addr_0;
-	__le16	table_idx_mac_addr_1;
-	__le16	table_idx_ipv6_0;
-	__le16	table_idx_ipv6_1;
-	__le16	control;
-#define IAVF_AQ_NS_PROXY_ADD_0		0x0001
-#define IAVF_AQ_NS_PROXY_DEL_0		0x0002
-#define IAVF_AQ_NS_PROXY_ADD_1		0x0004
-#define IAVF_AQ_NS_PROXY_DEL_1		0x0008
-#define IAVF_AQ_NS_PROXY_ADD_IPV6_0	0x0010
-#define IAVF_AQ_NS_PROXY_DEL_IPV6_0	0x0020
-#define IAVF_AQ_NS_PROXY_ADD_IPV6_1	0x0040
-#define IAVF_AQ_NS_PROXY_DEL_IPV6_1	0x0080
-#define IAVF_AQ_NS_PROXY_COMMAND_SEQ	0x0100
-#define IAVF_AQ_NS_PROXY_INIT_IPV6_TBL	0x0200
-#define IAVF_AQ_NS_PROXY_INIT_MAC_TBL	0x0400
-#define IAVF_AQ_NS_PROXY_OFFLOAD_ENABLE	0x0800
-#define IAVF_AQ_NS_PROXY_DIRECTED_OFFLOAD_ENABLE	0x1000
-	u8	mac_addr_0[6];
-	u8	mac_addr_1[6];
-	u8	local_mac_addr[6];
-	u8	ipv6_addr_0[16]; /* Warning! spec specifies BE byte order */
-	u8	ipv6_addr_1[16];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x3c, iavf_aqc_ns_proxy_data);
-
-/* Manage LAA Command (0x0106) - obsolete */
-struct iavf_aqc_mng_laa {
-	__le16	command_flags;
-#define IAVF_AQ_LAA_FLAG_WR	0x8000
-	u8	reserved[2];
-	__le32	sal;
-	__le16	sah;
-	u8	reserved2[6];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_mng_laa);
-
-/* Manage MAC Address Read Command (indirect 0x0107) */
-struct iavf_aqc_mac_address_read {
-	__le16	command_flags;
-#define IAVF_AQC_LAN_ADDR_VALID		0x10
-#define IAVF_AQC_SAN_ADDR_VALID		0x20
-#define IAVF_AQC_PORT_ADDR_VALID	0x40
-#define IAVF_AQC_WOL_ADDR_VALID		0x80
-#define IAVF_AQC_MC_MAG_EN_VALID	0x100
 #define IAVF_AQC_WOL_PRESERVE_STATUS	0x200
-#define IAVF_AQC_ADDR_VALID_MASK	0x3F0
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_mac_address_read);
-
-struct iavf_aqc_mac_address_read_data {
-	u8 pf_lan_mac[6];
-	u8 pf_san_mac[6];
-	u8 port_mac[6];
-	u8 pf_wol_mac[6];
-};
-
-IAVF_CHECK_STRUCT_LEN(24, iavf_aqc_mac_address_read_data);
-
-/* Manage MAC Address Write Command (0x0108) */
-struct iavf_aqc_mac_address_write {
-	__le16	command_flags;
 #define IAVF_AQC_MC_MAG_EN		0x0100
 #define IAVF_AQC_WOL_PRESERVE_ON_PFR	0x0200
-#define IAVF_AQC_WRITE_TYPE_LAA_ONLY	0x0000
-#define IAVF_AQC_WRITE_TYPE_LAA_WOL	0x4000
-#define IAVF_AQC_WRITE_TYPE_PORT	0x8000
-#define IAVF_AQC_WRITE_TYPE_UPDATE_MC_MAG	0xC000
-#define IAVF_AQC_WRITE_TYPE_MASK	0xC000
-
-	__le16	mac_sah;
-	__le32	mac_sal;
-	u8	reserved[8];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_mac_address_write);
-
-/* PXE commands (0x011x) */
-
-/* Clear PXE Command and response  (direct 0x0110) */
-struct iavf_aqc_clear_pxe {
-	u8	rx_cnt;
-	u8	reserved[15];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_clear_pxe);
-
-/* Set WoL Filter (0x0120) */
-
-struct iavf_aqc_set_wol_filter {
-	__le16 filter_index;
-#define IAVF_AQC_MAX_NUM_WOL_FILTERS	8
-#define IAVF_AQC_SET_WOL_FILTER_TYPE_MAGIC_SHIFT	15
-#define IAVF_AQC_SET_WOL_FILTER_TYPE_MAGIC_MASK	(0x1 << \
-		IAVF_AQC_SET_WOL_FILTER_TYPE_MAGIC_SHIFT)
-
-#define IAVF_AQC_SET_WOL_FILTER_INDEX_SHIFT		0
-#define IAVF_AQC_SET_WOL_FILTER_INDEX_MASK	(0x7 << \
-		IAVF_AQC_SET_WOL_FILTER_INDEX_SHIFT)
-	__le16 cmd_flags;
-#define IAVF_AQC_SET_WOL_FILTER				0x8000
-#define IAVF_AQC_SET_WOL_FILTER_NO_TCO_WOL		0x4000
-#define IAVF_AQC_SET_WOL_FILTER_WOL_PRESERVE_ON_PFR	0x2000
-#define IAVF_AQC_SET_WOL_FILTER_ACTION_CLEAR		0
-#define IAVF_AQC_SET_WOL_FILTER_ACTION_SET		1
-	__le16 valid_flags;
-#define IAVF_AQC_SET_WOL_FILTER_ACTION_VALID		0x8000
-#define IAVF_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID	0x4000
-	u8 reserved[2];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_wol_filter);
-
-struct iavf_aqc_set_wol_filter_data {
-	u8 filter[128];
-	u8 mask[16];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x90, iavf_aqc_set_wol_filter_data);
-
-/* Get Wake Reason (0x0121) */
-
-struct iavf_aqc_get_wake_reason_completion {
-	u8 reserved_1[2];
-	__le16 wake_reason;
-#define IAVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_MATCHED_INDEX_SHIFT	0
-#define IAVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_MATCHED_INDEX_MASK (0xFF << \
-		IAVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_MATCHED_INDEX_SHIFT)
-#define IAVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_RESERVED_SHIFT	8
-#define IAVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_RESERVED_MASK	(0xFF << \
-		IAVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_RESERVED_SHIFT)
-	u8 reserved_2[12];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_wake_reason_completion);
-
-/* Switch configuration commands (0x02xx) */
-
-/* Used by many indirect commands that only pass an seid and a buffer in the
- * command
- */
-struct iavf_aqc_switch_seid {
-	__le16	seid;
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_switch_seid);
-
-/* Get Switch Configuration command (indirect 0x0200)
- * uses iavf_aqc_switch_seid for the descriptor
- */
-struct iavf_aqc_get_switch_config_header_resp {
-	__le16	num_reported;
-	__le16	num_total;
-	u8	reserved[12];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_switch_config_header_resp);
-
-struct iavf_aqc_switch_config_element_resp {
-	u8	element_type;
-#define IAVF_AQ_SW_ELEM_TYPE_MAC	1
-#define IAVF_AQ_SW_ELEM_TYPE_PF		2
-#define IAVF_AQ_SW_ELEM_TYPE_VF		3
-#define IAVF_AQ_SW_ELEM_TYPE_EMP	4
-#define IAVF_AQ_SW_ELEM_TYPE_BMC	5
-#define IAVF_AQ_SW_ELEM_TYPE_PV		16
-#define IAVF_AQ_SW_ELEM_TYPE_VEB	17
-#define IAVF_AQ_SW_ELEM_TYPE_PA		18
-#define IAVF_AQ_SW_ELEM_TYPE_VSI	19
-	u8	revision;
-#define IAVF_AQ_SW_ELEM_REV_1		1
-	__le16	seid;
-	__le16	uplink_seid;
-	__le16	downlink_seid;
-	u8	reserved[3];
-	u8	connection_type;
-#define IAVF_AQ_CONN_TYPE_REGULAR	0x1
-#define IAVF_AQ_CONN_TYPE_DEFAULT	0x2
-#define IAVF_AQ_CONN_TYPE_CASCADED	0x3
-	__le16	scheduler_id;
-	__le16	element_info;
-};
-
-IAVF_CHECK_STRUCT_LEN(0x10, iavf_aqc_switch_config_element_resp);
-
-/* Get Switch Configuration (indirect 0x0200)
- *    an array of elements are returned in the response buffer
- *    the first in the array is the header, remainder are elements
- */
-struct iavf_aqc_get_switch_config_resp {
-	struct iavf_aqc_get_switch_config_header_resp	header;
-	struct iavf_aqc_switch_config_element_resp	element[1];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_get_switch_config_resp);
-
-/* Add Statistics (direct 0x0201)
- * Remove Statistics (direct 0x0202)
- */
-struct iavf_aqc_add_remove_statistics {
-	__le16	seid;
-	__le16	vlan;
-	__le16	stat_index;
-	u8	reserved[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_statistics);
-
-/* Set Port Parameters command (direct 0x0203) */
-struct iavf_aqc_set_port_parameters {
-	__le16	command_flags;
-#define IAVF_AQ_SET_P_PARAMS_SAVE_BAD_PACKETS	1
-#define IAVF_AQ_SET_P_PARAMS_PAD_SHORT_PACKETS	2 /* must set! */
-#define IAVF_AQ_SET_P_PARAMS_DOUBLE_VLAN_ENA	4
-	__le16	bad_frame_vsi;
-#define IAVF_AQ_SET_P_PARAMS_BFRAME_SEID_SHIFT	0x0
-#define IAVF_AQ_SET_P_PARAMS_BFRAME_SEID_MASK	0x3FF
-	__le16	default_seid;        /* reserved for command */
-	u8	reserved[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_port_parameters);
-
-/* Get Switch Resource Allocation (indirect 0x0204) */
-struct iavf_aqc_get_switch_resource_alloc {
-	u8	num_entries;         /* reserved for command */
-	u8	reserved[7];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_switch_resource_alloc);
-
-/* expect an array of these structs in the response buffer */
-struct iavf_aqc_switch_resource_alloc_element_resp {
-	u8	resource_type;
-#define IAVF_AQ_RESOURCE_TYPE_VEB		0x0
-#define IAVF_AQ_RESOURCE_TYPE_VSI		0x1
-#define IAVF_AQ_RESOURCE_TYPE_MACADDR		0x2
-#define IAVF_AQ_RESOURCE_TYPE_STAG		0x3
-#define IAVF_AQ_RESOURCE_TYPE_ETAG		0x4
-#define IAVF_AQ_RESOURCE_TYPE_MULTICAST_HASH	0x5
-#define IAVF_AQ_RESOURCE_TYPE_UNICAST_HASH	0x6
-#define IAVF_AQ_RESOURCE_TYPE_VLAN		0x7
-#define IAVF_AQ_RESOURCE_TYPE_VSI_LIST_ENTRY	0x8
-#define IAVF_AQ_RESOURCE_TYPE_ETAG_LIST_ENTRY	0x9
-#define IAVF_AQ_RESOURCE_TYPE_VLAN_STAT_POOL	0xA
-#define IAVF_AQ_RESOURCE_TYPE_MIRROR_RULE	0xB
-#define IAVF_AQ_RESOURCE_TYPE_QUEUE_SETS	0xC
-#define IAVF_AQ_RESOURCE_TYPE_VLAN_FILTERS	0xD
-#define IAVF_AQ_RESOURCE_TYPE_INNER_MAC_FILTERS	0xF
-#define IAVF_AQ_RESOURCE_TYPE_IP_FILTERS	0x10
-#define IAVF_AQ_RESOURCE_TYPE_GRE_VN_KEYS	0x11
-#define IAVF_AQ_RESOURCE_TYPE_VN2_KEYS		0x12
-#define IAVF_AQ_RESOURCE_TYPE_TUNNEL_PORTS	0x13
-	u8	reserved1;
-	__le16	guaranteed;
-	__le16	total;
-	__le16	used;
-	__le16	total_unalloced;
-	u8	reserved2[6];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x10, iavf_aqc_switch_resource_alloc_element_resp);
-
-/* Set Switch Configuration (direct 0x0205) */
-struct iavf_aqc_set_switch_config {
-	__le16	flags;
-/* flags used for both fields below */
-#define IAVF_AQ_SET_SWITCH_CFG_PROMISC		0x0001
-#define IAVF_AQ_SET_SWITCH_CFG_L2_FILTER	0x0002
-#define IAVF_AQ_SET_SWITCH_CFG_HW_ATR_EVICT	0x0004
-	__le16	valid_flags;
-	/* The ethertype in switch_tag is dropped on ingress and used
-	 * internally by the switch. Set this to zero for the default
-	 * of 0x88a8 (802.1ad). Should be zero for firmware API
-	 * versions lower than 1.7.
-	 */
-	__le16	switch_tag;
-	/* The ethertypes in first_tag and second_tag are used to
-	 * match the outer and inner VLAN tags (respectively) when HW
-	 * double VLAN tagging is enabled via the set port parameters
-	 * AQ command. Otherwise these are both ignored. Set them to
-	 * zero for their defaults of 0x8100 (802.1Q). Should be zero
-	 * for firmware API versions lower than 1.7.
-	 */
-	__le16	first_tag;
-	__le16	second_tag;
-	u8	reserved[6];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_switch_config);
-
-/* Read Receive control registers  (direct 0x0206)
- * Write Receive control registers (direct 0x0207)
- *     used for accessing Rx control registers that can be
- *     slow and need special handling when under high Rx load
- */
-struct iavf_aqc_rx_ctl_reg_read_write {
-	__le32 reserved1;
-	__le32 address;
-	__le32 reserved2;
-	__le32 value;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_rx_ctl_reg_read_write);
-
-/* Add VSI (indirect 0x0210)
- *    this indirect command uses struct iavf_aqc_vsi_properties_data
- *    as the indirect buffer (128 bytes)
- *
- * Update VSI (indirect 0x211)
- *     uses the same data structure as Add VSI
- *
- * Get VSI (indirect 0x0212)
- *     uses the same completion and data structure as Add VSI
- */
-struct iavf_aqc_add_get_update_vsi {
-	__le16	uplink_seid;
-	u8	connection_type;
-#define IAVF_AQ_VSI_CONN_TYPE_NORMAL	0x1
-#define IAVF_AQ_VSI_CONN_TYPE_DEFAULT	0x2
-#define IAVF_AQ_VSI_CONN_TYPE_CASCADED	0x3
-	u8	reserved1;
-	u8	vf_id;
-	u8	reserved2;
-	__le16	vsi_flags;
-#define IAVF_AQ_VSI_TYPE_SHIFT		0x0
-#define IAVF_AQ_VSI_TYPE_MASK		(0x3 << IAVF_AQ_VSI_TYPE_SHIFT)
-#define IAVF_AQ_VSI_TYPE_VF		0x0
-#define IAVF_AQ_VSI_TYPE_VMDQ2		0x1
-#define IAVF_AQ_VSI_TYPE_PF		0x2
-#define IAVF_AQ_VSI_TYPE_EMP_MNG	0x3
-#define IAVF_AQ_VSI_FLAG_CASCADED_PV	0x4
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_get_update_vsi);
-
-struct iavf_aqc_add_get_update_vsi_completion {
-	__le16 seid;
-	__le16 vsi_number;
-	__le16 vsi_used;
-	__le16 vsi_free;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_get_update_vsi_completion);
 
 struct iavf_aqc_vsi_properties_data {
 	/* first 96 byte are written by SW */
@@ -966,87 +454,6 @@ struct iavf_aqc_vsi_properties_data {
 
 IAVF_CHECK_STRUCT_LEN(128, iavf_aqc_vsi_properties_data);
 
-/* Add Port Virtualizer (direct 0x0220)
- * also used for update PV (direct 0x0221) but only flags are used
- * (IS_CTRL_PORT only works on add PV)
- */
-struct iavf_aqc_add_update_pv {
-	__le16	command_flags;
-#define IAVF_AQC_PV_FLAG_PV_TYPE		0x1
-#define IAVF_AQC_PV_FLAG_FWD_UNKNOWN_STAG_EN	0x2
-#define IAVF_AQC_PV_FLAG_FWD_UNKNOWN_ETAG_EN	0x4
-#define IAVF_AQC_PV_FLAG_IS_CTRL_PORT		0x8
-	__le16	uplink_seid;
-	__le16	connected_seid;
-	u8	reserved[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_update_pv);
-
-struct iavf_aqc_add_update_pv_completion {
-	/* reserved for update; for add also encodes error if rc == ENOSPC */
-	__le16	pv_seid;
-#define IAVF_AQC_PV_ERR_FLAG_NO_PV	0x1
-#define IAVF_AQC_PV_ERR_FLAG_NO_SCHED	0x2
-#define IAVF_AQC_PV_ERR_FLAG_NO_COUNTER	0x4
-#define IAVF_AQC_PV_ERR_FLAG_NO_ENTRY	0x8
-	u8	reserved[14];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_update_pv_completion);
-
-/* Get PV Params (direct 0x0222)
- * uses iavf_aqc_switch_seid for the descriptor
- */
-
-struct iavf_aqc_get_pv_params_completion {
-	__le16	seid;
-	__le16	default_stag;
-	__le16	pv_flags; /* same flags as add_pv */
-#define IAVF_AQC_GET_PV_PV_TYPE			0x1
-#define IAVF_AQC_GET_PV_FRWD_UNKNOWN_STAG	0x2
-#define IAVF_AQC_GET_PV_FRWD_UNKNOWN_ETAG	0x4
-	u8	reserved[8];
-	__le16	default_port_seid;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_pv_params_completion);
-
-/* Add VEB (direct 0x0230) */
-struct iavf_aqc_add_veb {
-	__le16	uplink_seid;
-	__le16	downlink_seid;
-	__le16	veb_flags;
-#define IAVF_AQC_ADD_VEB_FLOATING		0x1
-#define IAVF_AQC_ADD_VEB_PORT_TYPE_SHIFT	1
-#define IAVF_AQC_ADD_VEB_PORT_TYPE_MASK		(0x3 << \
-					IAVF_AQC_ADD_VEB_PORT_TYPE_SHIFT)
-#define IAVF_AQC_ADD_VEB_PORT_TYPE_DEFAULT	0x2
-#define IAVF_AQC_ADD_VEB_PORT_TYPE_DATA		0x4
-#define IAVF_AQC_ADD_VEB_ENABLE_L2_FILTER	0x8     /* deprecated */
-#define IAVF_AQC_ADD_VEB_ENABLE_DISABLE_STATS	0x10
-	u8	enable_tcs;
-	u8	reserved[9];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_veb);
-
-struct iavf_aqc_add_veb_completion {
-	u8	reserved[6];
-	__le16	switch_seid;
-	/* also encodes error if rc == ENOSPC; codes are the same as add_pv */
-	__le16	veb_seid;
-#define IAVF_AQC_VEB_ERR_FLAG_NO_VEB		0x1
-#define IAVF_AQC_VEB_ERR_FLAG_NO_SCHED		0x2
-#define IAVF_AQC_VEB_ERR_FLAG_NO_COUNTER	0x4
-#define IAVF_AQC_VEB_ERR_FLAG_NO_ENTRY		0x8
-	__le16	statistic_index;
-	__le16	vebs_used;
-	__le16	vebs_free;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_veb_completion);
-
 /* Get VEB Parameters (direct 0x0232)
  * uses iavf_aqc_switch_seid for the descriptor
  */
@@ -1062,1486 +469,116 @@ struct iavf_aqc_get_veb_parameters_completion {
 
 IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_veb_parameters_completion);
 
-/* Delete Element (direct 0x0243)
- * uses the generic iavf_aqc_switch_seid
- */
-
-/* Add MAC-VLAN (indirect 0x0250) */
-
-/* used for the command for most vlan commands */
-struct iavf_aqc_macvlan {
-	__le16	num_addresses;
-	__le16	seid[3];
-#define IAVF_AQC_MACVLAN_CMD_SEID_NUM_SHIFT	0
-#define IAVF_AQC_MACVLAN_CMD_SEID_NUM_MASK	(0x3FF << \
-					IAVF_AQC_MACVLAN_CMD_SEID_NUM_SHIFT)
-#define IAVF_AQC_MACVLAN_CMD_SEID_VALID		0x8000
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_macvlan);
-
-/* indirect data for command and response */
-struct iavf_aqc_add_macvlan_element_data {
-	u8	mac_addr[6];
-	__le16	vlan_tag;
-	__le16	flags;
-#define IAVF_AQC_MACVLAN_ADD_PERFECT_MATCH	0x0001
-#define IAVF_AQC_MACVLAN_ADD_HASH_MATCH		0x0002
-#define IAVF_AQC_MACVLAN_ADD_IGNORE_VLAN	0x0004
-#define IAVF_AQC_MACVLAN_ADD_TO_QUEUE		0x0008
-#define IAVF_AQC_MACVLAN_ADD_USE_SHARED_MAC	0x0010
-	__le16	queue_number;
-#define IAVF_AQC_MACVLAN_CMD_QUEUE_SHIFT	0
-#define IAVF_AQC_MACVLAN_CMD_QUEUE_MASK		(0x7FF << \
-					IAVF_AQC_MACVLAN_CMD_SEID_NUM_SHIFT)
-	/* response section */
-	u8	match_method;
-#define IAVF_AQC_MM_PERFECT_MATCH	0x01
-#define IAVF_AQC_MM_HASH_MATCH		0x02
-#define IAVF_AQC_MM_ERR_NO_RES		0xFF
-	u8	reserved1[3];
-};
+#define IAVF_LINK_SPEED_100MB_SHIFT	0x1
+#define IAVF_LINK_SPEED_1000MB_SHIFT	0x2
+#define IAVF_LINK_SPEED_10GB_SHIFT	0x3
+#define IAVF_LINK_SPEED_40GB_SHIFT	0x4
+#define IAVF_LINK_SPEED_20GB_SHIFT	0x5
+#define IAVF_LINK_SPEED_25GB_SHIFT	0x6
 
-struct iavf_aqc_add_remove_macvlan_completion {
-	__le16 perfect_mac_used;
-	__le16 perfect_mac_free;
-	__le16 unicast_hash_free;
-	__le16 multicast_hash_free;
-	__le32 addr_high;
-	__le32 addr_low;
+enum iavf_aq_link_speed {
+	IAVF_LINK_SPEED_UNKNOWN	= 0,
+	IAVF_LINK_SPEED_100MB	= (1 << IAVF_LINK_SPEED_100MB_SHIFT),
+	IAVF_LINK_SPEED_1GB	= (1 << IAVF_LINK_SPEED_1000MB_SHIFT),
+	IAVF_LINK_SPEED_10GB	= (1 << IAVF_LINK_SPEED_10GB_SHIFT),
+	IAVF_LINK_SPEED_40GB	= (1 << IAVF_LINK_SPEED_40GB_SHIFT),
+	IAVF_LINK_SPEED_20GB	= (1 << IAVF_LINK_SPEED_20GB_SHIFT),
+	IAVF_LINK_SPEED_25GB	= (1 << IAVF_LINK_SPEED_25GB_SHIFT),
 };
 
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_macvlan_completion);
-
-/* Remove MAC-VLAN (indirect 0x0251)
- * uses iavf_aqc_macvlan for the descriptor
- * data points to an array of num_addresses of elements
- */
-
-struct iavf_aqc_remove_macvlan_element_data {
-	u8	mac_addr[6];
-	__le16	vlan_tag;
-	u8	flags;
-#define IAVF_AQC_MACVLAN_DEL_PERFECT_MATCH	0x01
-#define IAVF_AQC_MACVLAN_DEL_HASH_MATCH		0x02
-#define IAVF_AQC_MACVLAN_DEL_IGNORE_VLAN	0x08
-#define IAVF_AQC_MACVLAN_DEL_ALL_VSIS		0x10
-	u8	reserved[3];
-	/* reply section */
-	u8	error_code;
-#define IAVF_AQC_REMOVE_MACVLAN_SUCCESS		0x0
-#define IAVF_AQC_REMOVE_MACVLAN_FAIL		0xFF
-	u8	reply_reserved[3];
-};
+#define IAVF_AQ_LINK_UP_FUNCTION	0x01
 
-/* Add VLAN (indirect 0x0252)
- * Remove VLAN (indirect 0x0253)
- * use the generic iavf_aqc_macvlan for the command
+/* Send to PF command (indirect 0x0801) id is only used by PF
+ * Send to VF command (indirect 0x0802) id is only used by PF
+ * Send to Peer PF command (indirect 0x0803)
  */
-struct iavf_aqc_add_remove_vlan_element_data {
-	__le16	vlan_tag;
-	u8	vlan_flags;
-/* flags for add VLAN */
-#define IAVF_AQC_ADD_VLAN_LOCAL			0x1
-#define IAVF_AQC_ADD_PVLAN_TYPE_SHIFT		1
-#define IAVF_AQC_ADD_PVLAN_TYPE_MASK	(0x3 << IAVF_AQC_ADD_PVLAN_TYPE_SHIFT)
-#define IAVF_AQC_ADD_PVLAN_TYPE_REGULAR		0x0
-#define IAVF_AQC_ADD_PVLAN_TYPE_PRIMARY		0x2
-#define IAVF_AQC_ADD_PVLAN_TYPE_SECONDARY	0x4
-#define IAVF_AQC_VLAN_PTYPE_SHIFT		3
-#define IAVF_AQC_VLAN_PTYPE_MASK	(0x3 << IAVF_AQC_VLAN_PTYPE_SHIFT)
-#define IAVF_AQC_VLAN_PTYPE_REGULAR_VSI		0x0
-#define IAVF_AQC_VLAN_PTYPE_PROMISC_VSI		0x8
-#define IAVF_AQC_VLAN_PTYPE_COMMUNITY_VSI	0x10
-#define IAVF_AQC_VLAN_PTYPE_ISOLATED_VSI	0x18
-/* flags for remove VLAN */
-#define IAVF_AQC_REMOVE_VLAN_ALL	0x1
-	u8	reserved;
-	u8	result;
-/* flags for add VLAN */
-#define IAVF_AQC_ADD_VLAN_SUCCESS	0x0
-#define IAVF_AQC_ADD_VLAN_FAIL_REQUEST	0xFE
-#define IAVF_AQC_ADD_VLAN_FAIL_RESOURCE	0xFF
-/* flags for remove VLAN */
-#define IAVF_AQC_REMOVE_VLAN_SUCCESS	0x0
-#define IAVF_AQC_REMOVE_VLAN_FAIL	0xFF
-	u8	reserved1[3];
-};
-
-struct iavf_aqc_add_remove_vlan_completion {
+struct iavf_aqc_pf_vf_message {
+	__le32	id;
 	u8	reserved[4];
-	__le16	vlans_used;
-	__le16	vlans_free;
 	__le32	addr_high;
 	__le32	addr_low;
 };
 
-/* Set VSI Promiscuous Modes (direct 0x0254) */
-struct iavf_aqc_set_vsi_promiscuous_modes {
-	__le16	promiscuous_flags;
-	__le16	valid_flags;
-/* flags used for both fields above */
-#define IAVF_AQC_SET_VSI_PROMISC_UNICAST	0x01
-#define IAVF_AQC_SET_VSI_PROMISC_MULTICAST	0x02
-#define IAVF_AQC_SET_VSI_PROMISC_BROADCAST	0x04
-#define IAVF_AQC_SET_VSI_DEFAULT		0x08
-#define IAVF_AQC_SET_VSI_PROMISC_VLAN		0x10
-#define IAVF_AQC_SET_VSI_PROMISC_TX		0x8000
-	__le16	seid;
-#define IAVF_AQC_VSI_PROM_CMD_SEID_MASK		0x3FF
-	__le16	vlan_tag;
-#define IAVF_AQC_SET_VSI_VLAN_MASK		0x0FFF
-#define IAVF_AQC_SET_VSI_VLAN_VALID		0x8000
-	u8	reserved[8];
-};
+IAVF_CHECK_CMD_LENGTH(iavf_aqc_pf_vf_message);
+
+/* Get CEE DCBX Oper Config (0x0A07)
+ * uses the generic descriptor struct
+ * returns below as indirect response
+ */
+
+#define IAVF_AQC_CEE_APP_FCOE_SHIFT	0x0
+#define IAVF_AQC_CEE_APP_FCOE_MASK	(0x7 << IAVF_AQC_CEE_APP_FCOE_SHIFT)
+#define IAVF_AQC_CEE_APP_ISCSI_SHIFT	0x3
+#define IAVF_AQC_CEE_APP_ISCSI_MASK	(0x7 << IAVF_AQC_CEE_APP_ISCSI_SHIFT)
+#define IAVF_AQC_CEE_APP_FIP_SHIFT	0x8
+#define IAVF_AQC_CEE_APP_FIP_MASK	(0x7 << IAVF_AQC_CEE_APP_FIP_SHIFT)
 
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_vsi_promiscuous_modes);
+#define IAVF_AQC_CEE_PG_STATUS_SHIFT	0x0
+#define IAVF_AQC_CEE_PG_STATUS_MASK	(0x7 << IAVF_AQC_CEE_PG_STATUS_SHIFT)
+#define IAVF_AQC_CEE_PFC_STATUS_SHIFT	0x3
+#define IAVF_AQC_CEE_PFC_STATUS_MASK	(0x7 << IAVF_AQC_CEE_PFC_STATUS_SHIFT)
+#define IAVF_AQC_CEE_APP_STATUS_SHIFT	0x8
+#define IAVF_AQC_CEE_APP_STATUS_MASK	(0x7 << IAVF_AQC_CEE_APP_STATUS_SHIFT)
+#define IAVF_AQC_CEE_FCOE_STATUS_SHIFT	0x8
+#define IAVF_AQC_CEE_FCOE_STATUS_MASK	(0x7 << IAVF_AQC_CEE_FCOE_STATUS_SHIFT)
+#define IAVF_AQC_CEE_ISCSI_STATUS_SHIFT	0xB
+#define IAVF_AQC_CEE_ISCSI_STATUS_MASK	(0x7 << IAVF_AQC_CEE_ISCSI_STATUS_SHIFT)
+#define IAVF_AQC_CEE_FIP_STATUS_SHIFT	0x10
+#define IAVF_AQC_CEE_FIP_STATUS_MASK	(0x7 << IAVF_AQC_CEE_FIP_STATUS_SHIFT)
 
-/* Add S/E-tag command (direct 0x0255)
- * Uses generic iavf_aqc_add_remove_tag_completion for completion
+/* struct iavf_aqc_get_cee_dcb_cfg_v1_resp was originally defined with
+ * word boundary layout issues, which the Linux compilers silently deal
+ * with by adding padding, making the actual struct larger than designed.
+ * However, the FW compiler for the NIC is less lenient and complains
+ * about the struct.  Hence, the struct defined here has an extra byte in
+ * fields reserved3 and reserved4 to directly acknowledge that padding,
+ * and the new length is used in the length check macro.
  */
-struct iavf_aqc_add_tag {
-	__le16	flags;
-#define IAVF_AQC_ADD_TAG_FLAG_TO_QUEUE		0x0001
-	__le16	seid;
-#define IAVF_AQC_ADD_TAG_CMD_SEID_NUM_SHIFT	0
-#define IAVF_AQC_ADD_TAG_CMD_SEID_NUM_MASK	(0x3FF << \
-					IAVF_AQC_ADD_TAG_CMD_SEID_NUM_SHIFT)
-	__le16	tag;
-	__le16	queue_number;
-	u8	reserved[8];
+struct iavf_aqc_get_cee_dcb_cfg_v1_resp {
+	u8	reserved1;
+	u8	oper_num_tc;
+	u8	oper_prio_tc[4];
+	u8	reserved2;
+	u8	oper_tc_bw[8];
+	u8	oper_pfc_en;
+	u8	reserved3[2];
+	__le16	oper_app_prio;
+	u8	reserved4[2];
+	__le16	tlv_status;
 };
 
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_tag);
+IAVF_CHECK_STRUCT_LEN(0x18, iavf_aqc_get_cee_dcb_cfg_v1_resp);
 
-struct iavf_aqc_add_remove_tag_completion {
+struct iavf_aqc_get_cee_dcb_cfg_resp {
+	u8	oper_num_tc;
+	u8	oper_prio_tc[4];
+	u8	oper_tc_bw[8];
+	u8	oper_pfc_en;
+	__le16	oper_app_prio;
+	__le32	tlv_status;
 	u8	reserved[12];
-	__le16	tags_used;
-	__le16	tags_free;
 };
 
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_tag_completion);
+IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_get_cee_dcb_cfg_resp);
 
-/* Remove S/E-tag command (direct 0x0256)
- * Uses generic iavf_aqc_add_remove_tag_completion for completion
+/*	Set Local LLDP MIB (indirect 0x0A08)
+ *	Used to replace the local MIB of a given LLDP agent. e.g. DCBx
  */
-struct iavf_aqc_remove_tag {
-	__le16	seid;
-#define IAVF_AQC_REMOVE_TAG_CMD_SEID_NUM_SHIFT	0
-#define IAVF_AQC_REMOVE_TAG_CMD_SEID_NUM_MASK	(0x3FF << \
-					IAVF_AQC_REMOVE_TAG_CMD_SEID_NUM_SHIFT)
-	__le16	tag;
-	u8	reserved[12];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_remove_tag);
-
-/* Add multicast E-Tag (direct 0x0257)
- * del multicast E-Tag (direct 0x0258) only uses pv_seid and etag fields
- * and no external data
- */
-struct iavf_aqc_add_remove_mcast_etag {
-	__le16	pv_seid;
-	__le16	etag;
-	u8	num_unicast_etags;
-	u8	reserved[3];
-	__le32	addr_high;          /* address of array of 2-byte s-tags */
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_mcast_etag);
-
-struct iavf_aqc_add_remove_mcast_etag_completion {
-	u8	reserved[4];
-	__le16	mcast_etags_used;
-	__le16	mcast_etags_free;
-	__le32	addr_high;
-	__le32	addr_low;
-
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_mcast_etag_completion);
-
-/* Update S/E-Tag (direct 0x0259) */
-struct iavf_aqc_update_tag {
-	__le16	seid;
-#define IAVF_AQC_UPDATE_TAG_CMD_SEID_NUM_SHIFT	0
-#define IAVF_AQC_UPDATE_TAG_CMD_SEID_NUM_MASK	(0x3FF << \
-					IAVF_AQC_UPDATE_TAG_CMD_SEID_NUM_SHIFT)
-	__le16	old_tag;
-	__le16	new_tag;
-	u8	reserved[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_update_tag);
-
-struct iavf_aqc_update_tag_completion {
-	u8	reserved[12];
-	__le16	tags_used;
-	__le16	tags_free;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_update_tag_completion);
-
-/* Add Control Packet filter (direct 0x025A)
- * Remove Control Packet filter (direct 0x025B)
- * uses the iavf_aqc_add_oveb_cloud,
- * and the generic direct completion structure
- */
-struct iavf_aqc_add_remove_control_packet_filter {
-	u8	mac[6];
-	__le16	etype;
-	__le16	flags;
-#define IAVF_AQC_ADD_CONTROL_PACKET_FLAGS_IGNORE_MAC	0x0001
-#define IAVF_AQC_ADD_CONTROL_PACKET_FLAGS_DROP		0x0002
-#define IAVF_AQC_ADD_CONTROL_PACKET_FLAGS_TO_QUEUE	0x0004
-#define IAVF_AQC_ADD_CONTROL_PACKET_FLAGS_TX		0x0008
-#define IAVF_AQC_ADD_CONTROL_PACKET_FLAGS_RX		0x0000
-	__le16	seid;
-#define IAVF_AQC_ADD_CONTROL_PACKET_CMD_SEID_NUM_SHIFT	0
-#define IAVF_AQC_ADD_CONTROL_PACKET_CMD_SEID_NUM_MASK	(0x3FF << \
-				IAVF_AQC_ADD_CONTROL_PACKET_CMD_SEID_NUM_SHIFT)
-	__le16	queue;
-	u8	reserved[2];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_control_packet_filter);
-
-struct iavf_aqc_add_remove_control_packet_filter_completion {
-	__le16	mac_etype_used;
-	__le16	etype_used;
-	__le16	mac_etype_free;
-	__le16	etype_free;
-	u8	reserved[8];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_control_packet_filter_completion);
-
-/* Add Cloud filters (indirect 0x025C)
- * Remove Cloud filters (indirect 0x025D)
- * uses the iavf_aqc_add_remove_cloud_filters,
- * and the generic indirect completion structure
- */
-struct iavf_aqc_add_remove_cloud_filters {
-	u8	num_filters;
-	u8	reserved;
-	__le16	seid;
-#define IAVF_AQC_ADD_CLOUD_CMD_SEID_NUM_SHIFT	0
-#define IAVF_AQC_ADD_CLOUD_CMD_SEID_NUM_MASK	(0x3FF << \
-					IAVF_AQC_ADD_CLOUD_CMD_SEID_NUM_SHIFT)
-	u8	big_buffer_flag;
-#define IAVF_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER	1
-	u8	reserved2[3];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_cloud_filters);
-
-struct iavf_aqc_add_remove_cloud_filters_element_data {
-	u8	outer_mac[6];
-	u8	inner_mac[6];
-	__le16	inner_vlan;
-	union {
-		struct {
-			u8 reserved[12];
-			u8 data[4];
-		} v4;
-		struct {
-			u8 data[16];
-		} v6;
-	} ipaddr;
-	__le16	flags;
-#define IAVF_AQC_ADD_CLOUD_FILTER_SHIFT			0
-#define IAVF_AQC_ADD_CLOUD_FILTER_MASK	(0x3F << \
-					IAVF_AQC_ADD_CLOUD_FILTER_SHIFT)
-/* 0x0000 reserved */
-#define IAVF_AQC_ADD_CLOUD_FILTER_OIP			0x0001
-/* 0x0002 reserved */
-#define IAVF_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN		0x0003
-#define IAVF_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN_TEN_ID	0x0004
-/* 0x0005 reserved */
-#define IAVF_AQC_ADD_CLOUD_FILTER_IMAC_TEN_ID		0x0006
-/* 0x0007 reserved */
-/* 0x0008 reserved */
-#define IAVF_AQC_ADD_CLOUD_FILTER_OMAC			0x0009
-#define IAVF_AQC_ADD_CLOUD_FILTER_IMAC			0x000A
-#define IAVF_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC	0x000B
-#define IAVF_AQC_ADD_CLOUD_FILTER_IIP			0x000C
-/* 0x0010 to 0x0017 is for custom filters */
-
-#define IAVF_AQC_ADD_CLOUD_FLAGS_TO_QUEUE		0x0080
-#define IAVF_AQC_ADD_CLOUD_VNK_SHIFT			6
-#define IAVF_AQC_ADD_CLOUD_VNK_MASK			0x00C0
-#define IAVF_AQC_ADD_CLOUD_FLAGS_IPV4			0
-#define IAVF_AQC_ADD_CLOUD_FLAGS_IPV6			0x0100
-
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_SHIFT		9
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_MASK		0x1E00
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_VXLAN		0
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_NVGRE_OMAC		1
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_GENEVE		2
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_IP			3
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_RESERVED		4
-#define IAVF_AQC_ADD_CLOUD_TNL_TYPE_VXLAN_GPE		5
-
-#define IAVF_AQC_ADD_CLOUD_FLAGS_SHARED_OUTER_MAC	0x2000
-#define IAVF_AQC_ADD_CLOUD_FLAGS_SHARED_INNER_MAC	0x4000
-#define IAVF_AQC_ADD_CLOUD_FLAGS_SHARED_OUTER_IP	0x8000
-
-	__le32	tenant_id;
-	u8	reserved[4];
-	__le16	queue_number;
-#define IAVF_AQC_ADD_CLOUD_QUEUE_SHIFT		0
-#define IAVF_AQC_ADD_CLOUD_QUEUE_MASK		(0x7FF << \
-						 IAVF_AQC_ADD_CLOUD_QUEUE_SHIFT)
-	u8	reserved2[14];
-	/* response section */
-	u8	allocation_result;
-#define IAVF_AQC_ADD_CLOUD_FILTER_SUCCESS	0x0
-#define IAVF_AQC_ADD_CLOUD_FILTER_FAIL		0xFF
-	u8	response_reserved[7];
-};
-
-/* iavf_aqc_add_rm_cloud_filt_elem_ext is used when
- * IAVF_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER flag is set.
- */
-struct iavf_aqc_add_rm_cloud_filt_elem_ext {
-	struct iavf_aqc_add_remove_cloud_filters_element_data element;
-	u16     general_fields[32];
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X10_WORD0	0
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X10_WORD1	1
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X10_WORD2	2
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X11_WORD0	3
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X11_WORD1	4
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X11_WORD2	5
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X12_WORD0	6
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X12_WORD1	7
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X12_WORD2	8
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X13_WORD0	9
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X13_WORD1	10
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X13_WORD2	11
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X14_WORD0	12
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X14_WORD1	13
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X14_WORD2	14
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD0	15
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD1	16
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD2	17
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD3	18
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD4	19
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD5	20
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD6	21
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD7	22
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD0	23
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD1	24
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD2	25
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD3	26
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD4	27
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD5	28
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD6	29
-#define IAVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD7	30
-};
-
-struct iavf_aqc_remove_cloud_filters_completion {
-	__le16 perfect_ovlan_used;
-	__le16 perfect_ovlan_free;
-	__le16 vlan_used;
-	__le16 vlan_free;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_remove_cloud_filters_completion);
-
-/* Replace filter Command 0x025F
- * uses the iavf_aqc_replace_cloud_filters,
- * and the generic indirect completion structure
- */
-struct iavf_filter_data {
-	u8 filter_type;
-	u8 input[3];
-};
-
-struct iavf_aqc_replace_cloud_filters_cmd {
-	u8	valid_flags;
-#define IAVF_AQC_REPLACE_L1_FILTER		0x0
-#define IAVF_AQC_REPLACE_CLOUD_FILTER		0x1
-#define IAVF_AQC_GET_CLOUD_FILTERS		0x2
-#define IAVF_AQC_MIRROR_CLOUD_FILTER		0x4
-#define IAVF_AQC_HIGH_PRIORITY_CLOUD_FILTER	0x8
-	u8	old_filter_type;
-	u8	new_filter_type;
-	u8	tr_bit;
-	u8	reserved[4];
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-struct iavf_aqc_replace_cloud_filters_cmd_buf {
-	u8	data[32];
-/* Filter type INPUT codes*/
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_ENTRIES_MAX	3
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_VALIDATED	(1 << 7UL)
-
-/* Field Vector offsets */
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_MAC_DA		0
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG_ETH		6
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG		7
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_VLAN		8
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG_OVLAN		9
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG_IVLAN		10
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_TUNNLE_KEY		11
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_IMAC		12
-/* big FLU */
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_IP_DA		14
-/* big FLU */
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_OIP_DA		15
-
-#define IAVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_INNER_VLAN		37
-	struct iavf_filter_data	filters[8];
-};
-
-/* Add Mirror Rule (indirect or direct 0x0260)
- * Delete Mirror Rule (indirect or direct 0x0261)
- * note: some rule types (4,5) do not use an external buffer.
- *       take care to set the flags correctly.
- */
-struct iavf_aqc_add_delete_mirror_rule {
-	__le16 seid;
-	__le16 rule_type;
-#define IAVF_AQC_MIRROR_RULE_TYPE_SHIFT		0
-#define IAVF_AQC_MIRROR_RULE_TYPE_MASK		(0x7 << \
-						IAVF_AQC_MIRROR_RULE_TYPE_SHIFT)
-#define IAVF_AQC_MIRROR_RULE_TYPE_VPORT_INGRESS	1
-#define IAVF_AQC_MIRROR_RULE_TYPE_VPORT_EGRESS	2
-#define IAVF_AQC_MIRROR_RULE_TYPE_VLAN		3
-#define IAVF_AQC_MIRROR_RULE_TYPE_ALL_INGRESS	4
-#define IAVF_AQC_MIRROR_RULE_TYPE_ALL_EGRESS	5
-	__le16 num_entries;
-	__le16 destination;  /* VSI for add, rule id for delete */
-	__le32 addr_high;    /* address of array of 2-byte VSI or VLAN ids */
-	__le32 addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_delete_mirror_rule);
-
-struct iavf_aqc_add_delete_mirror_rule_completion {
-	u8	reserved[2];
-	__le16	rule_id;  /* only used on add */
-	__le16	mirror_rules_used;
-	__le16	mirror_rules_free;
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_delete_mirror_rule_completion);
-
-/* Dynamic Device Personalization */
-struct iavf_aqc_write_personalization_profile {
-	u8      flags;
-	u8      reserved[3];
-	__le32  profile_track_id;
-	__le32  addr_high;
-	__le32  addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_write_personalization_profile);
-
-struct iavf_aqc_write_ddp_resp {
-	__le32 error_offset;
-	__le32 error_info;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-struct iavf_aqc_get_applied_profiles {
-	u8      flags;
-#define IAVF_AQC_GET_DDP_GET_CONF	0x1
-#define IAVF_AQC_GET_DDP_GET_RDPU_CONF	0x2
-	u8      rsv[3];
-	__le32  reserved;
-	__le32  addr_high;
-	__le32  addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_applied_profiles);
-
-/* DCB 0x03xx*/
-
-/* PFC Ignore (direct 0x0301)
- *    the command and response use the same descriptor structure
- */
-struct iavf_aqc_pfc_ignore {
-	u8	tc_bitmap;
-	u8	command_flags; /* unused on response */
-#define IAVF_AQC_PFC_IGNORE_SET		0x80
-#define IAVF_AQC_PFC_IGNORE_CLEAR	0x0
-	u8	reserved[14];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_pfc_ignore);
-
-/* DCB Update (direct 0x0302) uses the iavf_aq_desc structure
- * with no parameters
- */
-
-/* TX scheduler 0x04xx */
-
-/* Almost all the indirect commands use
- * this generic struct to pass the SEID in param0
- */
-struct iavf_aqc_tx_sched_ind {
-	__le16	vsi_seid;
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_tx_sched_ind);
-
-/* Several commands respond with a set of queue set handles */
-struct iavf_aqc_qs_handles_resp {
-	__le16 qs_handles[8];
-};
-
-/* Configure VSI BW limits (direct 0x0400) */
-struct iavf_aqc_configure_vsi_bw_limit {
-	__le16	vsi_seid;
-	u8	reserved[2];
-	__le16	credit;
-	u8	reserved1[2];
-	u8	max_credit; /* 0-3, limit = 2^max */
-	u8	reserved2[7];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_configure_vsi_bw_limit);
-
-/* Configure VSI Bandwidth Limit per Traffic Type (indirect 0x0406)
- *    responds with iavf_aqc_qs_handles_resp
- */
-struct iavf_aqc_configure_vsi_ets_sla_bw_data {
-	u8	tc_valid_bits;
-	u8	reserved[15];
-	__le16	tc_bw_credits[8]; /* FW writesback QS handles here */
-
-	/* 4 bits per tc 0-7, 4th bit is reserved, limit = 2^max */
-	__le16	tc_bw_max[2];
-	u8	reserved1[28];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x40, iavf_aqc_configure_vsi_ets_sla_bw_data);
-
-/* Configure VSI Bandwidth Allocation per Traffic Type (indirect 0x0407)
- *    responds with iavf_aqc_qs_handles_resp
- */
-struct iavf_aqc_configure_vsi_tc_bw_data {
-	u8	tc_valid_bits;
-	u8	reserved[3];
-	u8	tc_bw_credits[8];
-	u8	reserved1[4];
-	__le16	qs_handles[8];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_configure_vsi_tc_bw_data);
-
-/* Query vsi bw configuration (indirect 0x0408) */
-struct iavf_aqc_query_vsi_bw_config_resp {
-	u8	tc_valid_bits;
-	u8	tc_suspended_bits;
-	u8	reserved[14];
-	__le16	qs_handles[8];
-	u8	reserved1[4];
-	__le16	port_bw_limit;
-	u8	reserved2[2];
-	u8	max_bw; /* 0-3, limit = 2^max */
-	u8	reserved3[23];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x40, iavf_aqc_query_vsi_bw_config_resp);
-
-/* Query VSI Bandwidth Allocation per Traffic Type (indirect 0x040A) */
-struct iavf_aqc_query_vsi_ets_sla_config_resp {
-	u8	tc_valid_bits;
-	u8	reserved[3];
-	u8	share_credits[8];
-	__le16	credits[8];
-
-	/* 4 bits per tc 0-7, 4th bit is reserved, limit = 2^max */
-	__le16	tc_bw_max[2];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_query_vsi_ets_sla_config_resp);
-
-/* Configure Switching Component Bandwidth Limit (direct 0x0410) */
-struct iavf_aqc_configure_switching_comp_bw_limit {
-	__le16	seid;
-	u8	reserved[2];
-	__le16	credit;
-	u8	reserved1[2];
-	u8	max_bw; /* 0-3, limit = 2^max */
-	u8	reserved2[7];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_configure_switching_comp_bw_limit);
-
-/* Enable  Physical Port ETS (indirect 0x0413)
- * Modify  Physical Port ETS (indirect 0x0414)
- * Disable Physical Port ETS (indirect 0x0415)
- */
-struct iavf_aqc_configure_switching_comp_ets_data {
-	u8	reserved[4];
-	u8	tc_valid_bits;
-	u8	seepage;
-#define IAVF_AQ_ETS_SEEPAGE_EN_MASK	0x1
-	u8	tc_strict_priority_flags;
-	u8	reserved1[17];
-	u8	tc_bw_share_credits[8];
-	u8	reserved2[96];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x80, iavf_aqc_configure_switching_comp_ets_data);
-
-/* Configure Switching Component Bandwidth Limits per Tc (indirect 0x0416) */
-struct iavf_aqc_configure_switching_comp_ets_bw_limit_data {
-	u8	tc_valid_bits;
-	u8	reserved[15];
-	__le16	tc_bw_credit[8];
-
-	/* 4 bits per tc 0-7, 4th bit is reserved, limit = 2^max */
-	__le16	tc_bw_max[2];
-	u8	reserved1[28];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x40,
-		      iavf_aqc_configure_switching_comp_ets_bw_limit_data);
-
-/* Configure Switching Component Bandwidth Allocation per Tc
- * (indirect 0x0417)
- */
-struct iavf_aqc_configure_switching_comp_bw_config_data {
-	u8	tc_valid_bits;
-	u8	reserved[2];
-	u8	absolute_credits; /* bool */
-	u8	tc_bw_share_credits[8];
-	u8	reserved1[20];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_configure_switching_comp_bw_config_data);
-
-/* Query Switching Component Configuration (indirect 0x0418) */
-struct iavf_aqc_query_switching_comp_ets_config_resp {
-	u8	tc_valid_bits;
-	u8	reserved[35];
-	__le16	port_bw_limit;
-	u8	reserved1[2];
-	u8	tc_bw_max; /* 0-3, limit = 2^max */
-	u8	reserved2[23];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x40, iavf_aqc_query_switching_comp_ets_config_resp);
-
-/* Query PhysicalPort ETS Configuration (indirect 0x0419) */
-struct iavf_aqc_query_port_ets_config_resp {
-	u8	reserved[4];
-	u8	tc_valid_bits;
-	u8	reserved1;
-	u8	tc_strict_priority_bits;
-	u8	reserved2;
-	u8	tc_bw_share_credits[8];
-	__le16	tc_bw_limits[8];
-
-	/* 4 bits per tc 0-7, 4th bit reserved, limit = 2^max */
-	__le16	tc_bw_max[2];
-	u8	reserved3[32];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x44, iavf_aqc_query_port_ets_config_resp);
-
-/* Query Switching Component Bandwidth Allocation per Traffic Type
- * (indirect 0x041A)
- */
-struct iavf_aqc_query_switching_comp_bw_config_resp {
-	u8	tc_valid_bits;
-	u8	reserved[2];
-	u8	absolute_credits_enable; /* bool */
-	u8	tc_bw_share_credits[8];
-	__le16	tc_bw_limits[8];
-
-	/* 4 bits per tc 0-7, 4th bit is reserved, limit = 2^max */
-	__le16	tc_bw_max[2];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_query_switching_comp_bw_config_resp);
-
-/* Suspend/resume port TX traffic
- * (direct 0x041B and 0x041C) uses the generic SEID struct
- */
-
-/* Configure partition BW
- * (indirect 0x041D)
- */
-struct iavf_aqc_configure_partition_bw_data {
-	__le16	pf_valid_bits;
-	u8	min_bw[16];      /* guaranteed bandwidth */
-	u8	max_bw[16];      /* bandwidth limit */
-};
-
-IAVF_CHECK_STRUCT_LEN(0x22, iavf_aqc_configure_partition_bw_data);
-
-/* Get and set the active HMC resource profile and status.
- * (direct 0x0500) and (direct 0x0501)
- */
-struct iavf_aq_get_set_hmc_resource_profile {
-	u8	pm_profile;
-	u8	pe_vf_enabled;
-	u8	reserved[14];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aq_get_set_hmc_resource_profile);
-
-enum iavf_aq_hmc_profile {
-	/* IAVF_HMC_PROFILE_NO_CHANGE	= 0, reserved */
-	IAVF_HMC_PROFILE_DEFAULT	= 1,
-	IAVF_HMC_PROFILE_FAVOR_VF	= 2,
-	IAVF_HMC_PROFILE_EQUAL		= 3,
-};
-
-/* Get PHY Abilities (indirect 0x0600) uses the generic indirect struct */
-
-/* set in param0 for get phy abilities to report qualified modules */
-#define IAVF_AQ_PHY_REPORT_QUALIFIED_MODULES	0x0001
-#define IAVF_AQ_PHY_REPORT_INITIAL_VALUES	0x0002
-
-enum iavf_aq_phy_type {
-	IAVF_PHY_TYPE_SGMII			= 0x0,
-	IAVF_PHY_TYPE_1000BASE_KX		= 0x1,
-	IAVF_PHY_TYPE_10GBASE_KX4		= 0x2,
-	IAVF_PHY_TYPE_10GBASE_KR		= 0x3,
-	IAVF_PHY_TYPE_40GBASE_KR4		= 0x4,
-	IAVF_PHY_TYPE_XAUI			= 0x5,
-	IAVF_PHY_TYPE_XFI			= 0x6,
-	IAVF_PHY_TYPE_SFI			= 0x7,
-	IAVF_PHY_TYPE_XLAUI			= 0x8,
-	IAVF_PHY_TYPE_XLPPI			= 0x9,
-	IAVF_PHY_TYPE_40GBASE_CR4_CU		= 0xA,
-	IAVF_PHY_TYPE_10GBASE_CR1_CU		= 0xB,
-	IAVF_PHY_TYPE_10GBASE_AOC		= 0xC,
-	IAVF_PHY_TYPE_40GBASE_AOC		= 0xD,
-	IAVF_PHY_TYPE_UNRECOGNIZED		= 0xE,
-	IAVF_PHY_TYPE_UNSUPPORTED		= 0xF,
-	IAVF_PHY_TYPE_100BASE_TX		= 0x11,
-	IAVF_PHY_TYPE_1000BASE_T		= 0x12,
-	IAVF_PHY_TYPE_10GBASE_T			= 0x13,
-	IAVF_PHY_TYPE_10GBASE_SR		= 0x14,
-	IAVF_PHY_TYPE_10GBASE_LR		= 0x15,
-	IAVF_PHY_TYPE_10GBASE_SFPP_CU		= 0x16,
-	IAVF_PHY_TYPE_10GBASE_CR1		= 0x17,
-	IAVF_PHY_TYPE_40GBASE_CR4		= 0x18,
-	IAVF_PHY_TYPE_40GBASE_SR4		= 0x19,
-	IAVF_PHY_TYPE_40GBASE_LR4		= 0x1A,
-	IAVF_PHY_TYPE_1000BASE_SX		= 0x1B,
-	IAVF_PHY_TYPE_1000BASE_LX		= 0x1C,
-	IAVF_PHY_TYPE_1000BASE_T_OPTICAL	= 0x1D,
-	IAVF_PHY_TYPE_20GBASE_KR2		= 0x1E,
-	IAVF_PHY_TYPE_25GBASE_KR		= 0x1F,
-	IAVF_PHY_TYPE_25GBASE_CR		= 0x20,
-	IAVF_PHY_TYPE_25GBASE_SR		= 0x21,
-	IAVF_PHY_TYPE_25GBASE_LR		= 0x22,
-	IAVF_PHY_TYPE_25GBASE_AOC		= 0x23,
-	IAVF_PHY_TYPE_25GBASE_ACC		= 0x24,
-	IAVF_PHY_TYPE_MAX,
-	IAVF_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP	= 0xFD,
-	IAVF_PHY_TYPE_EMPTY			= 0xFE,
-	IAVF_PHY_TYPE_DEFAULT			= 0xFF,
-};
-
-#define IAVF_LINK_SPEED_100MB_SHIFT	0x1
-#define IAVF_LINK_SPEED_1000MB_SHIFT	0x2
-#define IAVF_LINK_SPEED_10GB_SHIFT	0x3
-#define IAVF_LINK_SPEED_40GB_SHIFT	0x4
-#define IAVF_LINK_SPEED_20GB_SHIFT	0x5
-#define IAVF_LINK_SPEED_25GB_SHIFT	0x6
-
-enum iavf_aq_link_speed {
-	IAVF_LINK_SPEED_UNKNOWN	= 0,
-	IAVF_LINK_SPEED_100MB	= (1 << IAVF_LINK_SPEED_100MB_SHIFT),
-	IAVF_LINK_SPEED_1GB	= (1 << IAVF_LINK_SPEED_1000MB_SHIFT),
-	IAVF_LINK_SPEED_10GB	= (1 << IAVF_LINK_SPEED_10GB_SHIFT),
-	IAVF_LINK_SPEED_40GB	= (1 << IAVF_LINK_SPEED_40GB_SHIFT),
-	IAVF_LINK_SPEED_20GB	= (1 << IAVF_LINK_SPEED_20GB_SHIFT),
-	IAVF_LINK_SPEED_25GB	= (1 << IAVF_LINK_SPEED_25GB_SHIFT),
-};
-
-struct iavf_aqc_module_desc {
-	u8 oui[3];
-	u8 reserved1;
-	u8 part_number[16];
-	u8 revision[4];
-	u8 reserved2[8];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_module_desc);
-
-struct iavf_aq_get_phy_abilities_resp {
-	__le32	phy_type;       /* bitmap using the above enum for offsets */
-	u8	link_speed;     /* bitmap using the above enum bit patterns */
-	u8	abilities;
-#define IAVF_AQ_PHY_FLAG_PAUSE_TX	0x01
-#define IAVF_AQ_PHY_FLAG_PAUSE_RX	0x02
-#define IAVF_AQ_PHY_FLAG_LOW_POWER	0x04
-#define IAVF_AQ_PHY_LINK_ENABLED	0x08
-#define IAVF_AQ_PHY_AN_ENABLED		0x10
-#define IAVF_AQ_PHY_FLAG_MODULE_QUAL	0x20
-#define IAVF_AQ_PHY_FEC_ABILITY_KR	0x40
-#define IAVF_AQ_PHY_FEC_ABILITY_RS	0x80
-	__le16	eee_capability;
-#define IAVF_AQ_EEE_100BASE_TX		0x0002
-#define IAVF_AQ_EEE_1000BASE_T		0x0004
-#define IAVF_AQ_EEE_10GBASE_T		0x0008
-#define IAVF_AQ_EEE_1000BASE_KX		0x0010
-#define IAVF_AQ_EEE_10GBASE_KX4		0x0020
-#define IAVF_AQ_EEE_10GBASE_KR		0x0040
-	__le32	eeer_val;
-	u8	d3_lpan;
-#define IAVF_AQ_SET_PHY_D3_LPAN_ENA	0x01
-	u8	phy_type_ext;
-#define IAVF_AQ_PHY_TYPE_EXT_25G_KR	0x01
-#define IAVF_AQ_PHY_TYPE_EXT_25G_CR	0x02
-#define IAVF_AQ_PHY_TYPE_EXT_25G_SR	0x04
-#define IAVF_AQ_PHY_TYPE_EXT_25G_LR	0x08
-#define IAVF_AQ_PHY_TYPE_EXT_25G_AOC	0x10
-#define IAVF_AQ_PHY_TYPE_EXT_25G_ACC	0x20
-	u8	fec_cfg_curr_mod_ext_info;
-#define IAVF_AQ_ENABLE_FEC_KR		0x01
-#define IAVF_AQ_ENABLE_FEC_RS		0x02
-#define IAVF_AQ_REQUEST_FEC_KR		0x04
-#define IAVF_AQ_REQUEST_FEC_RS		0x08
-#define IAVF_AQ_ENABLE_FEC_AUTO		0x10
-#define IAVF_AQ_FEC
-#define IAVF_AQ_MODULE_TYPE_EXT_MASK	0xE0
-#define IAVF_AQ_MODULE_TYPE_EXT_SHIFT	5
-
-	u8	ext_comp_code;
-	u8	phy_id[4];
-	u8	module_type[3];
-	u8	qualified_module_count;
-#define IAVF_AQ_PHY_MAX_QMS		16
-	struct iavf_aqc_module_desc	qualified_module[IAVF_AQ_PHY_MAX_QMS];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x218, iavf_aq_get_phy_abilities_resp);
-
-/* Set PHY Config (direct 0x0601) */
-struct iavf_aq_set_phy_config { /* same bits as above in all */
-	__le32	phy_type;
-	u8	link_speed;
-	u8	abilities;
-/* bits 0-2 use the values from get_phy_abilities_resp */
-#define IAVF_AQ_PHY_ENABLE_LINK		0x08
-#define IAVF_AQ_PHY_ENABLE_AN		0x10
-#define IAVF_AQ_PHY_ENABLE_ATOMIC_LINK	0x20
-	__le16	eee_capability;
-	__le32	eeer;
-	u8	low_power_ctrl;
-	u8	phy_type_ext;
-	u8	fec_config;
-#define IAVF_AQ_SET_FEC_ABILITY_KR	BIT(0)
-#define IAVF_AQ_SET_FEC_ABILITY_RS	BIT(1)
-#define IAVF_AQ_SET_FEC_REQUEST_KR	BIT(2)
-#define IAVF_AQ_SET_FEC_REQUEST_RS	BIT(3)
-#define IAVF_AQ_SET_FEC_AUTO		BIT(4)
-#define IAVF_AQ_PHY_FEC_CONFIG_SHIFT	0x0
-#define IAVF_AQ_PHY_FEC_CONFIG_MASK	(0x1F << IAVF_AQ_PHY_FEC_CONFIG_SHIFT)
-	u8	reserved;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aq_set_phy_config);
-
-/* Set MAC Config command data structure (direct 0x0603) */
-struct iavf_aq_set_mac_config {
-	__le16	max_frame_size;
-	u8	params;
-#define IAVF_AQ_SET_MAC_CONFIG_CRC_EN		0x04
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_MASK	0x78
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_SHIFT	3
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_NONE	0x0
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_1B_13TX	0xF
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_1DW_9TX	0x9
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_1DW_4TX	0x8
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_3DW_7TX	0x7
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_2DW_3TX	0x6
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_1DW_1TX	0x5
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_3DW_2TX	0x4
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_7DW_3TX	0x3
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_4DW_1TX	0x2
-#define IAVF_AQ_SET_MAC_CONFIG_PACING_9DW_1TX	0x1
-	u8	tx_timer_priority; /* bitmap */
-	__le16	tx_timer_value;
-	__le16	fc_refresh_threshold;
-	u8	reserved[8];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aq_set_mac_config);
-
-/* Restart Auto-Negotiation (direct 0x605) */
-struct iavf_aqc_set_link_restart_an {
-	u8	command;
-#define IAVF_AQ_PHY_RESTART_AN	0x02
-#define IAVF_AQ_PHY_LINK_ENABLE	0x04
-	u8	reserved[15];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_link_restart_an);
-
-/* Get Link Status cmd & response data structure (direct 0x0607) */
-struct iavf_aqc_get_link_status {
-	__le16	command_flags; /* only field set on command */
-#define IAVF_AQ_LSE_MASK		0x3
-#define IAVF_AQ_LSE_NOP			0x0
-#define IAVF_AQ_LSE_DISABLE		0x2
-#define IAVF_AQ_LSE_ENABLE		0x3
-/* only response uses this flag */
-#define IAVF_AQ_LSE_IS_ENABLED		0x1
-	u8	phy_type;    /* iavf_aq_phy_type   */
-	u8	link_speed;  /* iavf_aq_link_speed */
-	u8	link_info;
-#define IAVF_AQ_LINK_UP			0x01    /* obsolete */
-#define IAVF_AQ_LINK_UP_FUNCTION	0x01
-#define IAVF_AQ_LINK_FAULT		0x02
-#define IAVF_AQ_LINK_FAULT_TX		0x04
-#define IAVF_AQ_LINK_FAULT_RX		0x08
-#define IAVF_AQ_LINK_FAULT_REMOTE	0x10
-#define IAVF_AQ_LINK_UP_PORT		0x20
-#define IAVF_AQ_MEDIA_AVAILABLE		0x40
-#define IAVF_AQ_SIGNAL_DETECT		0x80
-	u8	an_info;
-#define IAVF_AQ_AN_COMPLETED		0x01
-#define IAVF_AQ_LP_AN_ABILITY		0x02
-#define IAVF_AQ_PD_FAULT		0x04
-#define IAVF_AQ_FEC_EN			0x08
-#define IAVF_AQ_PHY_LOW_POWER		0x10
-#define IAVF_AQ_LINK_PAUSE_TX		0x20
-#define IAVF_AQ_LINK_PAUSE_RX		0x40
-#define IAVF_AQ_QUALIFIED_MODULE	0x80
-	u8	ext_info;
-#define IAVF_AQ_LINK_PHY_TEMP_ALARM	0x01
-#define IAVF_AQ_LINK_XCESSIVE_ERRORS	0x02
-#define IAVF_AQ_LINK_TX_SHIFT		0x02
-#define IAVF_AQ_LINK_TX_MASK		(0x03 << IAVF_AQ_LINK_TX_SHIFT)
-#define IAVF_AQ_LINK_TX_ACTIVE		0x00
-#define IAVF_AQ_LINK_TX_DRAINED		0x01
-#define IAVF_AQ_LINK_TX_FLUSHED		0x03
-#define IAVF_AQ_LINK_FORCED_40G		0x10
-/* 25G Error Codes */
-#define IAVF_AQ_25G_NO_ERR		0X00
-#define IAVF_AQ_25G_NOT_PRESENT		0X01
-#define IAVF_AQ_25G_NVM_CRC_ERR		0X02
-#define IAVF_AQ_25G_SBUS_UCODE_ERR	0X03
-#define IAVF_AQ_25G_SERDES_UCODE_ERR	0X04
-#define IAVF_AQ_25G_NIMB_UCODE_ERR	0X05
-	u8	loopback; /* use defines from iavf_aqc_set_lb_mode */
-/* Since firmware API 1.7 loopback field keeps power class info as well */
-#define IAVF_AQ_LOOPBACK_MASK		0x07
-#define IAVF_AQ_PWR_CLASS_SHIFT_LB	6
-#define IAVF_AQ_PWR_CLASS_MASK_LB	(0x03 << IAVF_AQ_PWR_CLASS_SHIFT_LB)
-	__le16	max_frame_size;
-	u8	config;
-#define IAVF_AQ_CONFIG_FEC_KR_ENA	0x01
-#define IAVF_AQ_CONFIG_FEC_RS_ENA	0x02
-#define IAVF_AQ_CONFIG_CRC_ENA		0x04
-#define IAVF_AQ_CONFIG_PACING_MASK	0x78
-	union {
-		struct {
-			u8	power_desc;
-#define IAVF_AQ_LINK_POWER_CLASS_1	0x00
-#define IAVF_AQ_LINK_POWER_CLASS_2	0x01
-#define IAVF_AQ_LINK_POWER_CLASS_3	0x02
-#define IAVF_AQ_LINK_POWER_CLASS_4	0x03
-#define IAVF_AQ_PWR_CLASS_MASK		0x03
-			u8	reserved[4];
-		};
-		struct {
-			u8	link_type[4];
-			u8	link_type_ext;
-		};
-	};
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_link_status);
-
-/* Set event mask command (direct 0x613) */
-struct iavf_aqc_set_phy_int_mask {
-	u8	reserved[8];
-	__le16	event_mask;
-#define IAVF_AQ_EVENT_LINK_UPDOWN	0x0002
-#define IAVF_AQ_EVENT_MEDIA_NA		0x0004
-#define IAVF_AQ_EVENT_LINK_FAULT	0x0008
-#define IAVF_AQ_EVENT_PHY_TEMP_ALARM	0x0010
-#define IAVF_AQ_EVENT_EXCESSIVE_ERRORS	0x0020
-#define IAVF_AQ_EVENT_SIGNAL_DETECT	0x0040
-#define IAVF_AQ_EVENT_AN_COMPLETED	0x0080
-#define IAVF_AQ_EVENT_MODULE_QUAL_FAIL	0x0100
-#define IAVF_AQ_EVENT_PORT_TX_SUSPENDED	0x0200
-	u8	reserved1[6];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_phy_int_mask);
-
-/* Get Local AN advt register (direct 0x0614)
- * Set Local AN advt register (direct 0x0615)
- * Get Link Partner AN advt register (direct 0x0616)
- */
-struct iavf_aqc_an_advt_reg {
-	__le32	local_an_reg0;
-	__le16	local_an_reg1;
-	u8	reserved[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_an_advt_reg);
-
-/* Set Loopback mode (0x0618) */
-struct iavf_aqc_set_lb_mode {
-	u8	lb_level;
-#define IAVF_AQ_LB_NONE	0
-#define IAVF_AQ_LB_MAC	1
-#define IAVF_AQ_LB_SERDES	2
-#define IAVF_AQ_LB_PHY_INT	3
-#define IAVF_AQ_LB_PHY_EXT	4
-#define IAVF_AQ_LB_CPVL_PCS	5
-#define IAVF_AQ_LB_CPVL_EXT	6
-#define IAVF_AQ_LB_PHY_LOCAL	0x01
-#define IAVF_AQ_LB_PHY_REMOTE	0x02
-#define IAVF_AQ_LB_MAC_LOCAL	0x04
-	u8	lb_type;
-#define IAVF_AQ_LB_LOCAL	0
-#define IAVF_AQ_LB_FAR	0x01
-	u8	speed;
-#define IAVF_AQ_LB_SPEED_NONE	0
-#define IAVF_AQ_LB_SPEED_1G	1
-#define IAVF_AQ_LB_SPEED_10G	2
-#define IAVF_AQ_LB_SPEED_40G	3
-#define IAVF_AQ_LB_SPEED_20G	4
-	u8	force_speed;
-	u8	reserved[12];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_lb_mode);
-
-/* Set PHY Debug command (0x0622) */
-struct iavf_aqc_set_phy_debug {
-	u8	command_flags;
-#define IAVF_AQ_PHY_DEBUG_RESET_INTERNAL	0x02
-#define IAVF_AQ_PHY_DEBUG_RESET_EXTERNAL_SHIFT	2
-#define IAVF_AQ_PHY_DEBUG_RESET_EXTERNAL_MASK	(0x03 << \
-					IAVF_AQ_PHY_DEBUG_RESET_EXTERNAL_SHIFT)
-#define IAVF_AQ_PHY_DEBUG_RESET_EXTERNAL_NONE	0x00
-#define IAVF_AQ_PHY_DEBUG_RESET_EXTERNAL_HARD	0x01
-#define IAVF_AQ_PHY_DEBUG_RESET_EXTERNAL_SOFT	0x02
-/* Disable link manageability on a single port */
-#define IAVF_AQ_PHY_DEBUG_DISABLE_LINK_FW	0x10
-/* Disable link manageability on all ports needs both bits 4 and 5 */
-#define IAVF_AQ_PHY_DEBUG_DISABLE_ALL_LINK_FW	0x20
-	u8	reserved[15];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_phy_debug);
-
-enum iavf_aq_phy_reg_type {
-	IAVF_AQC_PHY_REG_INTERNAL	= 0x1,
-	IAVF_AQC_PHY_REG_EXERNAL_BASET	= 0x2,
-	IAVF_AQC_PHY_REG_EXERNAL_MODULE	= 0x3
-};
-
-/* Run PHY Activity (0x0626) */
-struct iavf_aqc_run_phy_activity {
-	__le16  activity_id;
-	u8      flags;
-	u8      reserved1;
-	__le32  control;
-	__le32  data;
-	u8      reserved2[4];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_run_phy_activity);
-
-/* Set PHY Register command (0x0628) */
-/* Get PHY Register command (0x0629) */
-struct iavf_aqc_phy_register_access {
-	u8	phy_interface;
-#define IAVF_AQ_PHY_REG_ACCESS_INTERNAL	0
-#define IAVF_AQ_PHY_REG_ACCESS_EXTERNAL	1
-#define IAVF_AQ_PHY_REG_ACCESS_EXTERNAL_MODULE	2
-	u8	dev_addres;
-	u8	reserved1[2];
-	__le32	reg_address;
-	__le32	reg_value;
-	u8	reserved2[4];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_phy_register_access);
-
-/* NVM Read command (indirect 0x0701)
- * NVM Erase commands (direct 0x0702)
- * NVM Update commands (indirect 0x0703)
- */
-struct iavf_aqc_nvm_update {
-	u8	command_flags;
-#define IAVF_AQ_NVM_LAST_CMD			0x01
-#define IAVF_AQ_NVM_FLASH_ONLY			0x80
-#define IAVF_AQ_NVM_PRESERVATION_FLAGS_SHIFT	1
-#define IAVF_AQ_NVM_PRESERVATION_FLAGS_MASK	0x03
-#define IAVF_AQ_NVM_PRESERVATION_FLAGS_SELECTED	0x03
-#define IAVF_AQ_NVM_PRESERVATION_FLAGS_ALL	0x01
-	u8	module_pointer;
-	__le16	length;
-	__le32	offset;
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_nvm_update);
-
-/* NVM Config Read (indirect 0x0704) */
-struct iavf_aqc_nvm_config_read {
-	__le16	cmd_flags;
-#define IAVF_AQ_ANVM_SINGLE_OR_MULTIPLE_FEATURES_MASK	1
-#define IAVF_AQ_ANVM_READ_SINGLE_FEATURE		0
-#define IAVF_AQ_ANVM_READ_MULTIPLE_FEATURES		1
-	__le16	element_count;
-	__le16	element_id;	/* Feature/field ID */
-	__le16	element_id_msw;	/* MSWord of field ID */
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_nvm_config_read);
-
-/* NVM Config Write (indirect 0x0705) */
-struct iavf_aqc_nvm_config_write {
-	__le16	cmd_flags;
-	__le16	element_count;
-	u8	reserved[4];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_nvm_config_write);
-
-/* Used for 0x0704 as well as for 0x0705 commands */
-#define IAVF_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT		1
-#define IAVF_AQ_ANVM_FEATURE_OR_IMMEDIATE_MASK \
-				(1 << IAVF_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT)
-#define IAVF_AQ_ANVM_FEATURE		0
-#define IAVF_AQ_ANVM_IMMEDIATE_FIELD	(1 << FEATURE_OR_IMMEDIATE_SHIFT)
-struct iavf_aqc_nvm_config_data_feature {
-	__le16 feature_id;
-#define IAVF_AQ_ANVM_FEATURE_OPTION_OEM_ONLY		0x01
-#define IAVF_AQ_ANVM_FEATURE_OPTION_DWORD_MAP		0x08
-#define IAVF_AQ_ANVM_FEATURE_OPTION_POR_CSR		0x10
-	__le16 feature_options;
-	__le16 feature_selection;
-};
-
-IAVF_CHECK_STRUCT_LEN(0x6, iavf_aqc_nvm_config_data_feature);
-
-struct iavf_aqc_nvm_config_data_immediate_field {
-	__le32 field_id;
-	__le32 field_value;
-	__le16 field_options;
-	__le16 reserved;
-};
-
-IAVF_CHECK_STRUCT_LEN(0xc, iavf_aqc_nvm_config_data_immediate_field);
-
-/* OEM Post Update (indirect 0x0720)
- * no command data struct used
- */
-struct iavf_aqc_nvm_oem_post_update {
-#define IAVF_AQ_NVM_OEM_POST_UPDATE_EXTERNAL_DATA	0x01
-	u8 sel_data;
-	u8 reserved[7];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x8, iavf_aqc_nvm_oem_post_update);
-
-struct iavf_aqc_nvm_oem_post_update_buffer {
-	u8 str_len;
-	u8 dev_addr;
-	__le16 eeprom_addr;
-	u8 data[36];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x28, iavf_aqc_nvm_oem_post_update_buffer);
-
-/* Thermal Sensor (indirect 0x0721)
- *     read or set thermal sensor configs and values
- *     takes a sensor and command specific data buffer, not detailed here
- */
-struct iavf_aqc_thermal_sensor {
-	u8 sensor_action;
-#define IAVF_AQ_THERMAL_SENSOR_READ_CONFIG	0
-#define IAVF_AQ_THERMAL_SENSOR_SET_CONFIG	1
-#define IAVF_AQ_THERMAL_SENSOR_READ_TEMP	2
-	u8 reserved[7];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_thermal_sensor);
-
-/* Send to PF command (indirect 0x0801) id is only used by PF
- * Send to VF command (indirect 0x0802) id is only used by PF
- * Send to Peer PF command (indirect 0x0803)
- */
-struct iavf_aqc_pf_vf_message {
-	__le32	id;
-	u8	reserved[4];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_pf_vf_message);
-
-/* Alternate structure */
-
-/* Direct write (direct 0x0900)
- * Direct read (direct 0x0902)
- */
-struct iavf_aqc_alternate_write {
-	__le32 address0;
-	__le32 data0;
-	__le32 address1;
-	__le32 data1;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_alternate_write);
-
-/* Indirect write (indirect 0x0901)
- * Indirect read (indirect 0x0903)
- */
-
-struct iavf_aqc_alternate_ind_write {
-	__le32 address;
-	__le32 length;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_alternate_ind_write);
-
-/* Done alternate write (direct 0x0904)
- * uses iavf_aq_desc
- */
-struct iavf_aqc_alternate_write_done {
-	__le16	cmd_flags;
-#define IAVF_AQ_ALTERNATE_MODE_BIOS_MASK	1
-#define IAVF_AQ_ALTERNATE_MODE_BIOS_LEGACY	0
-#define IAVF_AQ_ALTERNATE_MODE_BIOS_UEFI	1
-#define IAVF_AQ_ALTERNATE_RESET_NEEDED		2
-	u8	reserved[14];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_alternate_write_done);
-
-/* Set OEM mode (direct 0x0905) */
-struct iavf_aqc_alternate_set_mode {
-	__le32	mode;
-#define IAVF_AQ_ALTERNATE_MODE_NONE	0
-#define IAVF_AQ_ALTERNATE_MODE_OEM	1
-	u8	reserved[12];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_alternate_set_mode);
-
-/* Clear port Alternate RAM (direct 0x0906) uses iavf_aq_desc */
-
-/* async events 0x10xx */
-
-/* Lan Queue Overflow Event (direct, 0x1001) */
-struct iavf_aqc_lan_overflow {
-	__le32	prtdcb_rupto;
-	__le32	otx_ctl;
-	u8	reserved[8];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lan_overflow);
-
-/* Get LLDP MIB (indirect 0x0A00) */
-struct iavf_aqc_lldp_get_mib {
-	u8	type;
-	u8	reserved1;
-#define IAVF_AQ_LLDP_MIB_TYPE_MASK		0x3
-#define IAVF_AQ_LLDP_MIB_LOCAL			0x0
-#define IAVF_AQ_LLDP_MIB_REMOTE			0x1
-#define IAVF_AQ_LLDP_MIB_LOCAL_AND_REMOTE	0x2
-#define IAVF_AQ_LLDP_BRIDGE_TYPE_MASK		0xC
-#define IAVF_AQ_LLDP_BRIDGE_TYPE_SHIFT		0x2
-#define IAVF_AQ_LLDP_BRIDGE_TYPE_NEAREST_BRIDGE	0x0
-#define IAVF_AQ_LLDP_BRIDGE_TYPE_NON_TPMR	0x1
-#define IAVF_AQ_LLDP_TX_SHIFT			0x4
-#define IAVF_AQ_LLDP_TX_MASK			(0x03 << IAVF_AQ_LLDP_TX_SHIFT)
-/* TX pause flags use IAVF_AQ_LINK_TX_* above */
-	__le16	local_len;
-	__le16	remote_len;
-	u8	reserved2[2];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_get_mib);
-
-/* Configure LLDP MIB Change Event (direct 0x0A01)
- * also used for the event (with type in the command field)
- */
-struct iavf_aqc_lldp_update_mib {
-	u8	command;
-#define IAVF_AQ_LLDP_MIB_UPDATE_ENABLE	0x0
-#define IAVF_AQ_LLDP_MIB_UPDATE_DISABLE	0x1
-	u8	reserved[7];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_update_mib);
-
-/* Add LLDP TLV (indirect 0x0A02)
- * Delete LLDP TLV (indirect 0x0A04)
- */
-struct iavf_aqc_lldp_add_tlv {
-	u8	type; /* only nearest bridge and non-TPMR from 0x0A00 */
-	u8	reserved1[1];
-	__le16	len;
-	u8	reserved2[4];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_add_tlv);
-
-/* Update LLDP TLV (indirect 0x0A03) */
-struct iavf_aqc_lldp_update_tlv {
-	u8	type; /* only nearest bridge and non-TPMR from 0x0A00 */
-	u8	reserved;
-	__le16	old_len;
-	__le16	new_offset;
-	__le16	new_len;
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_update_tlv);
-
-/* Stop LLDP (direct 0x0A05) */
-struct iavf_aqc_lldp_stop {
-	u8	command;
-#define IAVF_AQ_LLDP_AGENT_STOP		0x0
-#define IAVF_AQ_LLDP_AGENT_SHUTDOWN	0x1
-	u8	reserved[15];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_stop);
-
-/* Start LLDP (direct 0x0A06) */
-
-struct iavf_aqc_lldp_start {
-	u8	command;
-#define IAVF_AQ_LLDP_AGENT_START	0x1
-	u8	reserved[15];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_start);
-
-/* Set DCB (direct 0x0303) */
-struct iavf_aqc_set_dcb_parameters {
-	u8 command;
-#define IAVF_AQ_DCB_SET_AGENT	0x1
-#define IAVF_DCB_VALID		0x1
-	u8 valid_flags;
-	u8 reserved[14];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_set_dcb_parameters);
-
-/* Get CEE DCBX Oper Config (0x0A07)
- * uses the generic descriptor struct
- * returns below as indirect response
- */
-
-#define IAVF_AQC_CEE_APP_FCOE_SHIFT	0x0
-#define IAVF_AQC_CEE_APP_FCOE_MASK	(0x7 << IAVF_AQC_CEE_APP_FCOE_SHIFT)
-#define IAVF_AQC_CEE_APP_ISCSI_SHIFT	0x3
-#define IAVF_AQC_CEE_APP_ISCSI_MASK	(0x7 << IAVF_AQC_CEE_APP_ISCSI_SHIFT)
-#define IAVF_AQC_CEE_APP_FIP_SHIFT	0x8
-#define IAVF_AQC_CEE_APP_FIP_MASK	(0x7 << IAVF_AQC_CEE_APP_FIP_SHIFT)
-
-#define IAVF_AQC_CEE_PG_STATUS_SHIFT	0x0
-#define IAVF_AQC_CEE_PG_STATUS_MASK	(0x7 << IAVF_AQC_CEE_PG_STATUS_SHIFT)
-#define IAVF_AQC_CEE_PFC_STATUS_SHIFT	0x3
-#define IAVF_AQC_CEE_PFC_STATUS_MASK	(0x7 << IAVF_AQC_CEE_PFC_STATUS_SHIFT)
-#define IAVF_AQC_CEE_APP_STATUS_SHIFT	0x8
-#define IAVF_AQC_CEE_APP_STATUS_MASK	(0x7 << IAVF_AQC_CEE_APP_STATUS_SHIFT)
-#define IAVF_AQC_CEE_FCOE_STATUS_SHIFT	0x8
-#define IAVF_AQC_CEE_FCOE_STATUS_MASK	(0x7 << IAVF_AQC_CEE_FCOE_STATUS_SHIFT)
-#define IAVF_AQC_CEE_ISCSI_STATUS_SHIFT	0xB
-#define IAVF_AQC_CEE_ISCSI_STATUS_MASK	(0x7 << IAVF_AQC_CEE_ISCSI_STATUS_SHIFT)
-#define IAVF_AQC_CEE_FIP_STATUS_SHIFT	0x10
-#define IAVF_AQC_CEE_FIP_STATUS_MASK	(0x7 << IAVF_AQC_CEE_FIP_STATUS_SHIFT)
-
-/* struct iavf_aqc_get_cee_dcb_cfg_v1_resp was originally defined with
- * word boundary layout issues, which the Linux compilers silently deal
- * with by adding padding, making the actual struct larger than designed.
- * However, the FW compiler for the NIC is less lenient and complains
- * about the struct.  Hence, the struct defined here has an extra byte in
- * fields reserved3 and reserved4 to directly acknowledge that padding,
- * and the new length is used in the length check macro.
- */
-struct iavf_aqc_get_cee_dcb_cfg_v1_resp {
-	u8	reserved1;
-	u8	oper_num_tc;
-	u8	oper_prio_tc[4];
-	u8	reserved2;
-	u8	oper_tc_bw[8];
-	u8	oper_pfc_en;
-	u8	reserved3[2];
-	__le16	oper_app_prio;
-	u8	reserved4[2];
-	__le16	tlv_status;
-};
-
-IAVF_CHECK_STRUCT_LEN(0x18, iavf_aqc_get_cee_dcb_cfg_v1_resp);
-
-struct iavf_aqc_get_cee_dcb_cfg_resp {
-	u8	oper_num_tc;
-	u8	oper_prio_tc[4];
-	u8	oper_tc_bw[8];
-	u8	oper_pfc_en;
-	__le16	oper_app_prio;
-	__le32	tlv_status;
-	u8	reserved[12];
-};
-
-IAVF_CHECK_STRUCT_LEN(0x20, iavf_aqc_get_cee_dcb_cfg_resp);
-
-/*	Set Local LLDP MIB (indirect 0x0A08)
- *	Used to replace the local MIB of a given LLDP agent. e.g. DCBx
- */
-struct iavf_aqc_lldp_set_local_mib {
-#define SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT	0
-#define SET_LOCAL_MIB_AC_TYPE_DCBX_MASK	(1 << \
-					SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT)
-#define SET_LOCAL_MIB_AC_TYPE_LOCAL_MIB	0x0
-#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT	(1)
-#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_MASK	(1 << \
-				SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT)
-#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS		0x1
-	u8	type;
-	u8	reserved0;
-	__le16	length;
-	u8	reserved1[4];
-	__le32	address_high;
-	__le32	address_low;
+struct iavf_aqc_lldp_set_local_mib {
+#define SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT	0
+#define SET_LOCAL_MIB_AC_TYPE_DCBX_MASK	(1 << \
+					SET_LOCAL_MIB_AC_TYPE_DCBX_SHIFT)
+#define SET_LOCAL_MIB_AC_TYPE_LOCAL_MIB	0x0
+#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT	(1)
+#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_MASK	(1 << \
+				SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS_SHIFT)
+#define SET_LOCAL_MIB_AC_TYPE_NON_WILLING_APPS		0x1
+	u8	type;
+	u8	reserved0;
+	__le16	length;
+	u8	reserved1[4];
+	__le32	address_high;
+	__le32	address_low;
 };
 
 IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_set_local_mib);
@@ -2567,51 +604,6 @@ struct iavf_aqc_lldp_stop_start_specific_agent {
 
 IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_stop_start_specific_agent);
 
-/* Add Udp Tunnel command and completion (direct 0x0B00) */
-struct iavf_aqc_add_udp_tunnel {
-	__le16	udp_port;
-	u8	reserved0[3];
-	u8	protocol_type;
-#define IAVF_AQC_TUNNEL_TYPE_VXLAN	0x00
-#define IAVF_AQC_TUNNEL_TYPE_NGE	0x01
-#define IAVF_AQC_TUNNEL_TYPE_TEREDO	0x10
-#define IAVF_AQC_TUNNEL_TYPE_VXLAN_GPE	0x11
-	u8	reserved1[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_udp_tunnel);
-
-struct iavf_aqc_add_udp_tunnel_completion {
-	__le16	udp_port;
-	u8	filter_entry_index;
-	u8	multiple_pfs;
-#define IAVF_AQC_SINGLE_PF		0x0
-#define IAVF_AQC_MULTIPLE_PFS		0x1
-	u8	total_filters;
-	u8	reserved[11];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_udp_tunnel_completion);
-
-/* remove UDP Tunnel command (0x0B01) */
-struct iavf_aqc_remove_udp_tunnel {
-	u8	reserved[2];
-	u8	index; /* 0 to 15 */
-	u8	reserved2[13];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_remove_udp_tunnel);
-
-struct iavf_aqc_del_udp_tunnel_completion {
-	__le16	udp_port;
-	u8	index; /* 0 to 15 */
-	u8	multiple_pfs;
-	u8	total_filters_used;
-	u8	reserved1[11];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_del_udp_tunnel_completion);
-
 struct iavf_aqc_get_set_rss_key {
 #define IAVF_AQC_SET_RSS_KEY_VSI_VALID		(0x1 << 15)
 #define IAVF_AQC_SET_RSS_KEY_VSI_ID_SHIFT	0
@@ -2651,162 +643,4 @@ struct  iavf_aqc_get_set_rss_lut {
 };
 
 IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_set_rss_lut);
-
-/* tunnel key structure 0x0B10 */
-
-struct iavf_aqc_tunnel_key_structure {
-	u8	key1_off;
-	u8	key2_off;
-	u8	key1_len;  /* 0 to 15 */
-	u8	key2_len;  /* 0 to 15 */
-	u8	flags;
-#define IAVF_AQC_TUNNEL_KEY_STRUCT_OVERRIDE	0x01
-/* response flags */
-#define IAVF_AQC_TUNNEL_KEY_STRUCT_SUCCESS	0x01
-#define IAVF_AQC_TUNNEL_KEY_STRUCT_MODIFIED	0x02
-#define IAVF_AQC_TUNNEL_KEY_STRUCT_OVERRIDDEN	0x03
-	u8	network_key_index;
-#define IAVF_AQC_NETWORK_KEY_INDEX_VXLAN		0x0
-#define IAVF_AQC_NETWORK_KEY_INDEX_NGE			0x1
-#define IAVF_AQC_NETWORK_KEY_INDEX_FLEX_MAC_IN_UDP	0x2
-#define IAVF_AQC_NETWORK_KEY_INDEX_GRE			0x3
-	u8	reserved[10];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_tunnel_key_structure);
-
-/* OEM mode commands (direct 0xFE0x) */
-struct iavf_aqc_oem_param_change {
-	__le32	param_type;
-#define IAVF_AQ_OEM_PARAM_TYPE_PF_CTL	0
-#define IAVF_AQ_OEM_PARAM_TYPE_BW_CTL	1
-#define IAVF_AQ_OEM_PARAM_MAC		2
-	__le32	param_value1;
-	__le16	param_value2;
-	u8	reserved[6];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_oem_param_change);
-
-struct iavf_aqc_oem_state_change {
-	__le32	state;
-#define IAVF_AQ_OEM_STATE_LINK_DOWN	0x0
-#define IAVF_AQ_OEM_STATE_LINK_UP	0x1
-	u8	reserved[12];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_oem_state_change);
-
-/* Initialize OCSD (0xFE02, direct) */
-struct iavf_aqc_opc_oem_ocsd_initialize {
-	u8 type_status;
-	u8 reserved1[3];
-	__le32 ocsd_memory_block_addr_high;
-	__le32 ocsd_memory_block_addr_low;
-	__le32 requested_update_interval;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_opc_oem_ocsd_initialize);
-
-/* Initialize OCBB  (0xFE03, direct) */
-struct iavf_aqc_opc_oem_ocbb_initialize {
-	u8 type_status;
-	u8 reserved1[3];
-	__le32 ocbb_memory_block_addr_high;
-	__le32 ocbb_memory_block_addr_low;
-	u8 reserved2[4];
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_opc_oem_ocbb_initialize);
-
-/* debug commands */
-
-/* get device id (0xFF00) uses the generic structure */
-
-/* set test more (0xFF01, internal) */
-
-struct iavf_acq_set_test_mode {
-	u8	mode;
-#define IAVF_AQ_TEST_PARTIAL	0
-#define IAVF_AQ_TEST_FULL	1
-#define IAVF_AQ_TEST_NVM	2
-	u8	reserved[3];
-	u8	command;
-#define IAVF_AQ_TEST_OPEN	0
-#define IAVF_AQ_TEST_CLOSE	1
-#define IAVF_AQ_TEST_INC	2
-	u8	reserved2[3];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_acq_set_test_mode);
-
-/* Debug Read Register command (0xFF03)
- * Debug Write Register command (0xFF04)
- */
-struct iavf_aqc_debug_reg_read_write {
-	__le32 reserved;
-	__le32 address;
-	__le32 value_high;
-	__le32 value_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_debug_reg_read_write);
-
-/* Scatter/gather Reg Read  (indirect 0xFF05)
- * Scatter/gather Reg Write (indirect 0xFF06)
- */
-
-/* iavf_aq_desc is used for the command */
-struct iavf_aqc_debug_reg_sg_element_data {
-	__le32 address;
-	__le32 value;
-};
-
-/* Debug Modify register (direct 0xFF07) */
-struct iavf_aqc_debug_modify_reg {
-	__le32 address;
-	__le32 value;
-	__le32 clear_mask;
-	__le32 set_mask;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_debug_modify_reg);
-
-/* dump internal data (0xFF08, indirect) */
-
-#define IAVF_AQ_CLUSTER_ID_AUX		0
-#define IAVF_AQ_CLUSTER_ID_SWITCH_FLU	1
-#define IAVF_AQ_CLUSTER_ID_TXSCHED	2
-#define IAVF_AQ_CLUSTER_ID_HMC		3
-#define IAVF_AQ_CLUSTER_ID_MAC0		4
-#define IAVF_AQ_CLUSTER_ID_MAC1		5
-#define IAVF_AQ_CLUSTER_ID_MAC2		6
-#define IAVF_AQ_CLUSTER_ID_MAC3		7
-#define IAVF_AQ_CLUSTER_ID_DCB		8
-#define IAVF_AQ_CLUSTER_ID_EMP_MEM	9
-#define IAVF_AQ_CLUSTER_ID_PKT_BUF	10
-#define IAVF_AQ_CLUSTER_ID_ALTRAM	11
-
-struct iavf_aqc_debug_dump_internals {
-	u8	cluster_id;
-	u8	table_id;
-	__le16	data_size;
-	__le32	idx;
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_debug_dump_internals);
-
-struct iavf_aqc_debug_modify_internals {
-	u8	cluster_id;
-	u8	cluster_specific_params[7];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-IAVF_CHECK_CMD_LENGTH(iavf_aqc_debug_modify_internals);
-
 #endif /* _IAVF_ADMINQ_CMD_H_ */
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index 026dc4756..926081e87 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -891,7 +891,6 @@ struct iavf_rx_ptype_decoded iavf_ptype_lookup[] = {
 	IAVF_PTT_UNUSED_ENTRY(255)
 };
 
-
 /**
  * iavf_validate_mac_addr - Validate unicast MAC address
  * @mac_addr: pointer to MAC address
@@ -917,202 +916,6 @@ enum iavf_status iavf_validate_mac_addr(u8 *mac_addr)
 }
 
 /**
- * iavf_aq_rx_ctl_read_register - use FW to read from an Rx control register
- * @hw: pointer to the hw struct
- * @reg_addr: register address
- * @reg_val: ptr to register value
- * @cmd_details: pointer to command details structure or NULL
- *
- * Use the firmware to read the Rx control register,
- * especially useful if the Rx unit is under heavy pressure
- **/
-enum iavf_status iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
-				u32 reg_addr, u32 *reg_val,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_rx_ctl_reg_read_write *cmd_resp =
-		(struct iavf_aqc_rx_ctl_reg_read_write *)&desc.params.raw;
-	enum iavf_status status;
-
-	if (reg_val == NULL)
-		return IAVF_ERR_PARAM;
-
-	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_rx_ctl_reg_read);
-
-	cmd_resp->address = CPU_TO_LE32(reg_addr);
-
-	status = iavf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	if (status == IAVF_SUCCESS)
-		*reg_val = LE32_TO_CPU(cmd_resp->value);
-
-	return status;
-}
-
-/**
- * iavf_read_rx_ctl - read from an Rx control register
- * @hw: pointer to the hw struct
- * @reg_addr: register address
- **/
-u32 iavf_read_rx_ctl(struct iavf_hw *hw, u32 reg_addr)
-{
-	enum iavf_status status = IAVF_SUCCESS;
-	bool use_register;
-	int retry = 5;
-	u32 val = 0;
-
-	use_register = (((hw->aq.api_maj_ver == 1) &&
-			(hw->aq.api_min_ver < 5)) ||
-			(hw->mac.type == IAVF_MAC_X722));
-	if (!use_register) {
-do_retry:
-		status = iavf_aq_rx_ctl_read_register(hw, reg_addr, &val, NULL);
-		if (hw->aq.asq_last_status == IAVF_AQ_RC_EAGAIN && retry) {
-			iavf_msec_delay(1);
-			retry--;
-			goto do_retry;
-		}
-	}
-
-	/* if the AQ access failed, try the old-fashioned way */
-	if (status || use_register)
-		val = rd32(hw, reg_addr);
-
-	return val;
-}
-
-/**
- * iavf_aq_rx_ctl_write_register
- * @hw: pointer to the hw struct
- * @reg_addr: register address
- * @reg_val: register value
- * @cmd_details: pointer to command details structure or NULL
- *
- * Use the firmware to write to an Rx control register,
- * especially useful if the Rx unit is under heavy pressure
- **/
-enum iavf_status iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
-				u32 reg_addr, u32 reg_val,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_rx_ctl_reg_read_write *cmd =
-		(struct iavf_aqc_rx_ctl_reg_read_write *)&desc.params.raw;
-	enum iavf_status status;
-
-	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_rx_ctl_reg_write);
-
-	cmd->address = CPU_TO_LE32(reg_addr);
-	cmd->value = CPU_TO_LE32(reg_val);
-
-	status = iavf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	return status;
-}
-
-/**
- * iavf_write_rx_ctl - write to an Rx control register
- * @hw: pointer to the hw struct
- * @reg_addr: register address
- * @reg_val: register value
- **/
-void iavf_write_rx_ctl(struct iavf_hw *hw, u32 reg_addr, u32 reg_val)
-{
-	enum iavf_status status = IAVF_SUCCESS;
-	bool use_register;
-	int retry = 5;
-
-	use_register = (((hw->aq.api_maj_ver == 1) &&
-			(hw->aq.api_min_ver < 5)) ||
-			(hw->mac.type == IAVF_MAC_X722));
-	if (!use_register) {
-do_retry:
-		status = iavf_aq_rx_ctl_write_register(hw, reg_addr,
-						       reg_val, NULL);
-		if (hw->aq.asq_last_status == IAVF_AQ_RC_EAGAIN && retry) {
-			iavf_msec_delay(1);
-			retry--;
-			goto do_retry;
-		}
-	}
-
-	/* if the AQ access failed, try the old-fashioned way */
-	if (status || use_register)
-		wr32(hw, reg_addr, reg_val);
-}
-
-/**
- * iavf_aq_set_phy_register
- * @hw: pointer to the hw struct
- * @phy_select: select which phy should be accessed
- * @dev_addr: PHY device address
- * @reg_addr: PHY register address
- * @reg_val: new register value
- * @cmd_details: pointer to command details structure or NULL
- *
- * Write the external PHY register.
- **/
-enum iavf_status iavf_aq_set_phy_register(struct iavf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 reg_val,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_phy_register_access *cmd =
-		(struct iavf_aqc_phy_register_access *)&desc.params.raw;
-	enum iavf_status status;
-
-	iavf_fill_default_direct_cmd_desc(&desc,
-					  iavf_aqc_opc_set_phy_register);
-
-	cmd->phy_interface = phy_select;
-	cmd->dev_addres = dev_addr;
-	cmd->reg_address = CPU_TO_LE32(reg_addr);
-	cmd->reg_value = CPU_TO_LE32(reg_val);
-
-	status = iavf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	return status;
-}
-
-/**
- * iavf_aq_get_phy_register
- * @hw: pointer to the hw struct
- * @phy_select: select which phy should be accessed
- * @dev_addr: PHY device address
- * @reg_addr: PHY register address
- * @reg_val: read register value
- * @cmd_details: pointer to command details structure or NULL
- *
- * Read the external PHY register.
- **/
-enum iavf_status iavf_aq_get_phy_register(struct iavf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 *reg_val,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_phy_register_access *cmd =
-		(struct iavf_aqc_phy_register_access *)&desc.params.raw;
-	enum iavf_status status;
-
-	iavf_fill_default_direct_cmd_desc(&desc,
-					  iavf_aqc_opc_get_phy_register);
-
-	cmd->phy_interface = phy_select;
-	cmd->dev_addres = dev_addr;
-	cmd->reg_address = CPU_TO_LE32(reg_addr);
-
-	status = iavf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-	if (!status)
-		*reg_val = LE32_TO_CPU(cmd->reg_value);
-
-	return status;
-}
-
-
-/**
  * iavf_aq_send_msg_to_pf
  * @hw: pointer to the hardware structure
  * @v_opcode: opcodes for VF-PF communication
@@ -1178,8 +981,6 @@ void iavf_parse_hw_config(struct iavf_hw *hw,
 	hw->dev_caps.num_msix_vectors_vf = msg->max_vectors;
 	hw->dev_caps.dcb = msg->vf_cap_flags &
 			   VIRTCHNL_VF_OFFLOAD_L2;
-	hw->dev_caps.iwarp = (msg->vf_cap_flags &
-			      VIRTCHNL_VF_OFFLOAD_IWARP) ? 1 : 0;
 	for (i = 0; i < msg->num_vsis; i++) {
 		if (vsi_res->vsi_type == VIRTCHNL_VSI_SRIOV) {
 			iavf_memcpy(hw->mac.perm_addr,
@@ -1209,174 +1010,6 @@ enum iavf_status iavf_reset(struct iavf_hw *hw)
 }
 
 /**
- * iavf_aq_set_arp_proxy_config
- * @hw: pointer to the HW structure
- * @proxy_config: pointer to proxy config command table struct
- * @cmd_details: pointer to command details
- *
- * Set ARP offload parameters from pre-populated
- * iavf_aqc_arp_proxy_data struct
- **/
-enum iavf_status iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
-				struct iavf_aqc_arp_proxy_data *proxy_config,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	enum iavf_status status;
-
-	if (!proxy_config)
-		return IAVF_ERR_PARAM;
-
-	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_set_proxy_config);
-
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_RD);
-	desc.params.external.addr_high =
-				  CPU_TO_LE32(IAVF_HI_DWORD((u64)proxy_config));
-	desc.params.external.addr_low =
-				  CPU_TO_LE32(IAVF_LO_DWORD((u64)proxy_config));
-	desc.datalen = CPU_TO_LE16(sizeof(struct iavf_aqc_arp_proxy_data));
-
-	status = iavf_asq_send_command(hw, &desc, proxy_config,
-				       sizeof(struct iavf_aqc_arp_proxy_data),
-				       cmd_details);
-
-	return status;
-}
-
-/**
- * iavf_aq_opc_set_ns_proxy_table_entry
- * @hw: pointer to the HW structure
- * @ns_proxy_table_entry: pointer to NS table entry command struct
- * @cmd_details: pointer to command details
- *
- * Set IPv6 Neighbor Solicitation (NS) protocol offload parameters
- * from pre-populated iavf_aqc_ns_proxy_data struct
- **/
-enum iavf_status iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
-			struct iavf_aqc_ns_proxy_data *ns_proxy_table_entry,
-			struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	enum iavf_status status;
-
-	if (!ns_proxy_table_entry)
-		return IAVF_ERR_PARAM;
-
-	iavf_fill_default_direct_cmd_desc(&desc,
-				iavf_aqc_opc_set_ns_proxy_table_entry);
-
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_RD);
-	desc.params.external.addr_high =
-		CPU_TO_LE32(IAVF_HI_DWORD((u64)ns_proxy_table_entry));
-	desc.params.external.addr_low =
-		CPU_TO_LE32(IAVF_LO_DWORD((u64)ns_proxy_table_entry));
-	desc.datalen = CPU_TO_LE16(sizeof(struct iavf_aqc_ns_proxy_data));
-
-	status = iavf_asq_send_command(hw, &desc, ns_proxy_table_entry,
-				       sizeof(struct iavf_aqc_ns_proxy_data),
-				       cmd_details);
-
-	return status;
-}
-
-/**
- * iavf_aq_set_clear_wol_filter
- * @hw: pointer to the hw struct
- * @filter_index: index of filter to modify (0-7)
- * @filter: buffer containing filter to be set
- * @set_filter: true to set filter, false to clear filter
- * @no_wol_tco: if true, pass through packets cannot cause wake-up
- *		if false, pass through packets may cause wake-up
- * @filter_valid: true if filter action is valid
- * @no_wol_tco_valid: true if no WoL in TCO traffic action valid
- * @cmd_details: pointer to command details structure or NULL
- *
- * Set or clear WoL filter for port attached to the PF
- **/
-enum iavf_status iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
-				u8 filter_index,
-				struct iavf_aqc_set_wol_filter_data *filter,
-				bool set_filter, bool no_wol_tco,
-				bool filter_valid, bool no_wol_tco_valid,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_set_wol_filter *cmd =
-		(struct iavf_aqc_set_wol_filter *)&desc.params.raw;
-	enum iavf_status status;
-	u16 cmd_flags = 0;
-	u16 valid_flags = 0;
-	u16 buff_len = 0;
-
-	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_set_wol_filter);
-
-	if (filter_index >= IAVF_AQC_MAX_NUM_WOL_FILTERS)
-		return  IAVF_ERR_PARAM;
-	cmd->filter_index = CPU_TO_LE16(filter_index);
-
-	if (set_filter) {
-		if (!filter)
-			return  IAVF_ERR_PARAM;
-
-		cmd_flags |= IAVF_AQC_SET_WOL_FILTER;
-		cmd_flags |= IAVF_AQC_SET_WOL_FILTER_WOL_PRESERVE_ON_PFR;
-	}
-
-	if (no_wol_tco)
-		cmd_flags |= IAVF_AQC_SET_WOL_FILTER_NO_TCO_WOL;
-	cmd->cmd_flags = CPU_TO_LE16(cmd_flags);
-
-	if (filter_valid)
-		valid_flags |= IAVF_AQC_SET_WOL_FILTER_ACTION_VALID;
-	if (no_wol_tco_valid)
-		valid_flags |= IAVF_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID;
-	cmd->valid_flags = CPU_TO_LE16(valid_flags);
-
-	buff_len = sizeof(*filter);
-	desc.datalen = CPU_TO_LE16(buff_len);
-
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_RD);
-
-	cmd->address_high = CPU_TO_LE32(IAVF_HI_DWORD((u64)filter));
-	cmd->address_low = CPU_TO_LE32(IAVF_LO_DWORD((u64)filter));
-
-	status = iavf_asq_send_command(hw, &desc, filter,
-				       buff_len, cmd_details);
-
-	return status;
-}
-
-/**
- * iavf_aq_get_wake_event_reason
- * @hw: pointer to the hw struct
- * @wake_reason: return value, index of matching filter
- * @cmd_details: pointer to command details structure or NULL
- *
- * Get information for the reason of a Wake Up event
- **/
-enum iavf_status iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
-				u16 *wake_reason,
-				struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_get_wake_reason_completion *resp =
-		(struct iavf_aqc_get_wake_reason_completion *)&desc.params.raw;
-	enum iavf_status status;
-
-	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_get_wake_reason);
-
-	status = iavf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	if (status == IAVF_SUCCESS)
-		*wake_reason = LE16_TO_CPU(resp->wake_reason);
-
-	return status;
-}
-
-/**
 * iavf_aq_clear_all_wol_filters
 * @hw: pointer to the hw struct
 * @cmd_details: pointer to command details structure or NULL
@@ -1396,423 +1029,3 @@ enum iavf_status iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
 
 	return status;
 }
-
-/**
- * iavf_aq_write_ddp - Write dynamic device personalization (ddp)
- * @hw: pointer to the hw struct
- * @buff: command buffer (size in bytes = buff_size)
- * @buff_size: buffer size in bytes
- * @track_id: package tracking id
- * @error_offset: returns error offset
- * @error_info: returns error information
- * @cmd_details: pointer to command details structure or NULL
- **/
-enum
-iavf_status iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
-				   u16 buff_size, u32 track_id,
-				   u32 *error_offset, u32 *error_info,
-				   struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_write_personalization_profile *cmd =
-		(struct iavf_aqc_write_personalization_profile *)
-		&desc.params.raw;
-	struct iavf_aqc_write_ddp_resp *resp;
-	enum iavf_status status;
-
-	iavf_fill_default_direct_cmd_desc(&desc,
-				  iavf_aqc_opc_write_personalization_profile);
-
-	desc.flags |= CPU_TO_LE16(IAVF_AQ_FLAG_BUF | IAVF_AQ_FLAG_RD);
-	if (buff_size > IAVF_AQ_LARGE_BUF)
-		desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_LB);
-
-	desc.datalen = CPU_TO_LE16(buff_size);
-
-	cmd->profile_track_id = CPU_TO_LE32(track_id);
-
-	status = iavf_asq_send_command(hw, &desc, buff, buff_size, cmd_details);
-	if (!status) {
-		resp = (struct iavf_aqc_write_ddp_resp *)&desc.params.raw;
-		if (error_offset)
-			*error_offset = LE32_TO_CPU(resp->error_offset);
-		if (error_info)
-			*error_info = LE32_TO_CPU(resp->error_info);
-	}
-
-	return status;
-}
-
-/**
- * iavf_aq_get_ddp_list - Read dynamic device personalization (ddp)
- * @hw: pointer to the hw struct
- * @buff: command buffer (size in bytes = buff_size)
- * @buff_size: buffer size in bytes
- * @flags: AdminQ command flags
- * @cmd_details: pointer to command details structure or NULL
- **/
-enum
-iavf_status iavf_aq_get_ddp_list(struct iavf_hw *hw, void *buff,
-				      u16 buff_size, u8 flags,
-				      struct iavf_asq_cmd_details *cmd_details)
-{
-	struct iavf_aq_desc desc;
-	struct iavf_aqc_get_applied_profiles *cmd =
-		(struct iavf_aqc_get_applied_profiles *)&desc.params.raw;
-	enum iavf_status status;
-
-	iavf_fill_default_direct_cmd_desc(&desc,
-			  iavf_aqc_opc_get_personalization_profile_list);
-
-	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_BUF);
-	if (buff_size > IAVF_AQ_LARGE_BUF)
-		desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_LB);
-	desc.datalen = CPU_TO_LE16(buff_size);
-
-	cmd->flags = flags;
-
-	status = iavf_asq_send_command(hw, &desc, buff, buff_size, cmd_details);
-
-	return status;
-}
-
-/**
- * iavf_find_segment_in_package
- * @segment_type: the segment type to search for (i.e., SEGMENT_TYPE_IAVF)
- * @pkg_hdr: pointer to the package header to be searched
- *
- * This function searches a package file for a particular segment type. On
- * success it returns a pointer to the segment header, otherwise it will
- * return NULL.
- **/
-struct iavf_generic_seg_header *
-iavf_find_segment_in_package(u32 segment_type,
-			     struct iavf_package_header *pkg_hdr)
-{
-	struct iavf_generic_seg_header *segment;
-	u32 i;
-
-	/* Search all package segments for the requested segment type */
-	for (i = 0; i < pkg_hdr->segment_count; i++) {
-		segment =
-			(struct iavf_generic_seg_header *)((u8 *)pkg_hdr +
-			 pkg_hdr->segment_offset[i]);
-
-		if (segment->type == segment_type)
-			return segment;
-	}
-
-	return NULL;
-}
-
-/* Get section table in profile */
-#define IAVF_SECTION_TABLE(profile, sec_tbl)				\
-	do {								\
-		struct iavf_profile_segment *p = (profile);		\
-		u32 count;						\
-		u32 *nvm;						\
-		count = p->device_table_count;				\
-		nvm = (u32 *)&p->device_table[count];			\
-		sec_tbl = (struct iavf_section_table *)&nvm[nvm[0] + 1]; \
-	} while (0)
-
-/* Get section header in profile */
-#define IAVF_SECTION_HEADER(profile, offset)				\
-	(struct iavf_profile_section_header *)((u8 *)(profile) + (offset))
-
-/**
- * iavf_find_section_in_profile
- * @section_type: the section type to search for (i.e., SECTION_TYPE_NOTE)
- * @profile: pointer to the iavf segment header to be searched
- *
- * This function searches iavf segment for a particular section type. On
- * success it returns a pointer to the section header, otherwise it will
- * return NULL.
- **/
-struct iavf_profile_section_header *
-iavf_find_section_in_profile(u32 section_type,
-			     struct iavf_profile_segment *profile)
-{
-	struct iavf_profile_section_header *sec;
-	struct iavf_section_table *sec_tbl;
-	u32 sec_off;
-	u32 i;
-
-	if (profile->header.type != SEGMENT_TYPE_IAVF)
-		return NULL;
-
-	IAVF_SECTION_TABLE(profile, sec_tbl);
-
-	for (i = 0; i < sec_tbl->section_count; i++) {
-		sec_off = sec_tbl->section_offset[i];
-		sec = IAVF_SECTION_HEADER(profile, sec_off);
-		if (sec->section.type == section_type)
-			return sec;
-	}
-
-	return NULL;
-}
-
-/**
- * iavf_ddp_exec_aq_section - Execute generic AQ for DDP
- * @hw: pointer to the hw struct
- * @aq: command buffer containing all data to execute AQ
- **/
-STATIC enum
-iavf_status iavf_ddp_exec_aq_section(struct iavf_hw *hw,
-					  struct iavf_profile_aq_section *aq)
-{
-	enum iavf_status status;
-	struct iavf_aq_desc desc;
-	u8 *msg = NULL;
-	u16 msglen;
-
-	iavf_fill_default_direct_cmd_desc(&desc, aq->opcode);
-	desc.flags |= CPU_TO_LE16(aq->flags);
-	iavf_memcpy(desc.params.raw, aq->param, sizeof(desc.params.raw),
-		    IAVF_NONDMA_TO_NONDMA);
-
-	msglen = aq->datalen;
-	if (msglen) {
-		desc.flags |= CPU_TO_LE16((u16)(IAVF_AQ_FLAG_BUF |
-						IAVF_AQ_FLAG_RD));
-		if (msglen > IAVF_AQ_LARGE_BUF)
-			desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_LB);
-		desc.datalen = CPU_TO_LE16(msglen);
-		msg = &aq->data[0];
-	}
-
-	status = iavf_asq_send_command(hw, &desc, msg, msglen, NULL);
-
-	if (status != IAVF_SUCCESS) {
-		iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-			   "unable to exec DDP AQ opcode %u, error %d\n",
-			   aq->opcode, status);
-		return status;
-	}
-
-	/* copy returned desc to aq_buf */
-	iavf_memcpy(aq->param, desc.params.raw, sizeof(desc.params.raw),
-		    IAVF_NONDMA_TO_NONDMA);
-
-	return IAVF_SUCCESS;
-}
-
-/**
- * iavf_validate_profile
- * @hw: pointer to the hardware structure
- * @profile: pointer to the profile segment of the package to be validated
- * @track_id: package tracking id
- * @rollback: flag if the profile is for rollback.
- *
- * Validates supported devices and profile's sections.
- */
-STATIC enum iavf_status
-iavf_validate_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
-		      u32 track_id, bool rollback)
-{
-	struct iavf_profile_section_header *sec = NULL;
-	enum iavf_status status = IAVF_SUCCESS;
-	struct iavf_section_table *sec_tbl;
-	u32 vendor_dev_id;
-	u32 dev_cnt;
-	u32 sec_off;
-	u32 i;
-
-	if (track_id == IAVF_DDP_TRACKID_INVALID) {
-		iavf_debug(hw, IAVF_DEBUG_PACKAGE, "Invalid track_id\n");
-		return IAVF_NOT_SUPPORTED;
-	}
-
-	dev_cnt = profile->device_table_count;
-	for (i = 0; i < dev_cnt; i++) {
-		vendor_dev_id = profile->device_table[i].vendor_dev_id;
-		if ((vendor_dev_id >> 16) == IAVF_INTEL_VENDOR_ID &&
-		    hw->device_id == (vendor_dev_id & 0xFFFF))
-			break;
-	}
-	if (dev_cnt && (i == dev_cnt)) {
-		iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-			   "Device doesn't support DDP\n");
-		return IAVF_ERR_DEVICE_NOT_SUPPORTED;
-	}
-
-	IAVF_SECTION_TABLE(profile, sec_tbl);
-
-	/* Validate sections types */
-	for (i = 0; i < sec_tbl->section_count; i++) {
-		sec_off = sec_tbl->section_offset[i];
-		sec = IAVF_SECTION_HEADER(profile, sec_off);
-		if (rollback) {
-			if (sec->section.type == SECTION_TYPE_MMIO ||
-			    sec->section.type == SECTION_TYPE_AQ ||
-			    sec->section.type == SECTION_TYPE_RB_AQ) {
-				iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-					   "Not a roll-back package\n");
-				return IAVF_NOT_SUPPORTED;
-			}
-		} else {
-			if (sec->section.type == SECTION_TYPE_RB_AQ ||
-			    sec->section.type == SECTION_TYPE_RB_MMIO) {
-				iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-					   "Not an original package\n");
-				return IAVF_NOT_SUPPORTED;
-			}
-		}
-	}
-
-	return status;
-}
-
-/**
- * iavf_write_profile
- * @hw: pointer to the hardware structure
- * @profile: pointer to the profile segment of the package to be downloaded
- * @track_id: package tracking id
- *
- * Handles the download of a complete package.
- */
-enum iavf_status
-iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
-		   u32 track_id)
-{
-	enum iavf_status status = IAVF_SUCCESS;
-	struct iavf_section_table *sec_tbl;
-	struct iavf_profile_section_header *sec = NULL;
-	struct iavf_profile_aq_section *ddp_aq;
-	u32 section_size = 0;
-	u32 offset = 0, info = 0;
-	u32 sec_off;
-	u32 i;
-
-	status = iavf_validate_profile(hw, profile, track_id, false);
-	if (status)
-		return status;
-
-	IAVF_SECTION_TABLE(profile, sec_tbl);
-
-	for (i = 0; i < sec_tbl->section_count; i++) {
-		sec_off = sec_tbl->section_offset[i];
-		sec = IAVF_SECTION_HEADER(profile, sec_off);
-		/* Process generic admin command */
-		if (sec->section.type == SECTION_TYPE_AQ) {
-			ddp_aq = (struct iavf_profile_aq_section *)&sec[1];
-			status = iavf_ddp_exec_aq_section(hw, ddp_aq);
-			if (status) {
-				iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-					   "Failed to execute aq: section %d, opcode %u\n",
-					   i, ddp_aq->opcode);
-				break;
-			}
-			sec->section.type = SECTION_TYPE_RB_AQ;
-		}
-
-		/* Skip any non-mmio sections */
-		if (sec->section.type != SECTION_TYPE_MMIO)
-			continue;
-
-		section_size = sec->section.size +
-			sizeof(struct iavf_profile_section_header);
-
-		/* Write MMIO section */
-		status = iavf_aq_write_ddp(hw, (void *)sec, (u16)section_size,
-					   track_id, &offset, &info, NULL);
-		if (status) {
-			iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-				   "Failed to write profile: section %d, offset %d, info %d\n",
-				   i, offset, info);
-			break;
-		}
-	}
-	return status;
-}
-
-/**
- * iavf_rollback_profile
- * @hw: pointer to the hardware structure
- * @profile: pointer to the profile segment of the package to be removed
- * @track_id: package tracking id
- *
- * Rolls back previously loaded package.
- */
-enum iavf_status
-iavf_rollback_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
-		      u32 track_id)
-{
-	struct iavf_profile_section_header *sec = NULL;
-	enum iavf_status status = IAVF_SUCCESS;
-	struct iavf_section_table *sec_tbl;
-	u32 offset = 0, info = 0;
-	u32 section_size = 0;
-	u32 sec_off;
-	int i;
-
-	status = iavf_validate_profile(hw, profile, track_id, true);
-	if (status)
-		return status;
-
-	IAVF_SECTION_TABLE(profile, sec_tbl);
-
-	/* For rollback write sections in reverse */
-	for (i = sec_tbl->section_count - 1; i >= 0; i--) {
-		sec_off = sec_tbl->section_offset[i];
-		sec = IAVF_SECTION_HEADER(profile, sec_off);
-
-		/* Skip any non-rollback sections */
-		if (sec->section.type != SECTION_TYPE_RB_MMIO)
-			continue;
-
-		section_size = sec->section.size +
-			sizeof(struct iavf_profile_section_header);
-
-		/* Write roll-back MMIO section */
-		status = iavf_aq_write_ddp(hw, (void *)sec, (u16)section_size,
-					   track_id, &offset, &info, NULL);
-		if (status) {
-			iavf_debug(hw, IAVF_DEBUG_PACKAGE,
-				   "Failed to write profile: section %d, offset %d, info %d\n",
-				   i, offset, info);
-			break;
-		}
-	}
-	return status;
-}
-
-/**
- * iavf_add_pinfo_to_list
- * @hw: pointer to the hardware structure
- * @profile: pointer to the profile segment of the package
- * @profile_info_sec: buffer for information section
- * @track_id: package tracking id
- *
- * Register a profile to the list of loaded profiles.
- */
-enum iavf_status
-iavf_add_pinfo_to_list(struct iavf_hw *hw,
-		       struct iavf_profile_segment *profile,
-		       u8 *profile_info_sec, u32 track_id)
-{
-	enum iavf_status status = IAVF_SUCCESS;
-	struct iavf_profile_section_header *sec = NULL;
-	struct iavf_profile_info *pinfo;
-	u32 offset = 0, info = 0;
-
-	sec = (struct iavf_profile_section_header *)profile_info_sec;
-	sec->tbl_size = 1;
-	sec->data_end = sizeof(struct iavf_profile_section_header) +
-			sizeof(struct iavf_profile_info);
-	sec->section.type = SECTION_TYPE_INFO;
-	sec->section.offset = sizeof(struct iavf_profile_section_header);
-	sec->section.size = sizeof(struct iavf_profile_info);
-	pinfo = (struct iavf_profile_info *)(profile_info_sec +
-					     sec->section.offset);
-	pinfo->track_id = track_id;
-	pinfo->version = profile->version;
-	pinfo->op = IAVF_DDP_ADD_TRACKID;
-	iavf_memcpy(pinfo->name, profile->name, IAVF_DDP_NAME_SIZE,
-		    IAVF_NONDMA_TO_NONDMA);
-
-	status = iavf_aq_write_ddp(hw, (void *)sec, sec->data_end,
-				   track_id, &offset, &info, NULL);
-	return status;
-}
diff --git a/drivers/net/iavf/base/iavf_prototype.h b/drivers/net/iavf/base/iavf_prototype.h
index 4b428b8d9..5b61b43d9 100644
--- a/drivers/net/iavf/base/iavf_prototype.h
+++ b/drivers/net/iavf/base/iavf_prototype.h
@@ -61,7 +61,6 @@ enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
 const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err);
 const char *iavf_stat_str(struct iavf_hw *hw, enum iavf_status stat_err);
 
-
 enum iavf_status iavf_set_mac_type(struct iavf_hw *hw);
 
 extern struct iavf_rx_ptype_decoded iavf_ptype_lookup[];
@@ -77,7 +76,6 @@ void iavf_acquire_spinlock(struct iavf_spinlock *sp);
 void iavf_release_spinlock(struct iavf_spinlock *sp);
 void iavf_destroy_spinlock(struct iavf_spinlock *sp);
 
-/* iavf_common for VF drivers*/
 void iavf_parse_hw_config(struct iavf_hw *hw,
 			     struct virtchnl_vf_resource *msg);
 enum iavf_status iavf_reset(struct iavf_hw *hw);
@@ -86,92 +84,11 @@ enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				enum iavf_status v_retval,
 				u8 *msg, u16 msglen,
 				struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status iavf_set_filter_control(struct iavf_hw *hw,
-				struct iavf_filter_control_settings *settings);
-enum iavf_status iavf_aq_add_rem_control_packet_filter(struct iavf_hw *hw,
-				u8 *mac_addr, u16 ethtype, u16 flags,
-				u16 vsi_seid, u16 queue, bool is_add,
-				struct iavf_control_filter_stats *stats,
-				struct iavf_asq_cmd_details *cmd_details);
 enum iavf_status iavf_aq_debug_dump(struct iavf_hw *hw, u8 cluster_id,
 				u8 table_id, u32 start_index, u16 buff_size,
 				void *buff, u16 *ret_buff_size,
 				u8 *ret_next_table, u32 *ret_next_index,
 				struct iavf_asq_cmd_details *cmd_details);
-void iavf_add_filter_to_drop_tx_flow_control_frames(struct iavf_hw *hw,
-						    u16 vsi_seid);
-enum iavf_status iavf_aq_rx_ctl_read_register(struct iavf_hw *hw,
-				u32 reg_addr, u32 *reg_val,
-				struct iavf_asq_cmd_details *cmd_details);
-u32 iavf_read_rx_ctl(struct iavf_hw *hw, u32 reg_addr);
-enum iavf_status iavf_aq_rx_ctl_write_register(struct iavf_hw *hw,
-				u32 reg_addr, u32 reg_val,
-				struct iavf_asq_cmd_details *cmd_details);
-void iavf_write_rx_ctl(struct iavf_hw *hw, u32 reg_addr, u32 reg_val);
-enum iavf_status iavf_aq_set_phy_register(struct iavf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 reg_val,
-				struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status iavf_aq_get_phy_register(struct iavf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 *reg_val,
-				struct iavf_asq_cmd_details *cmd_details);
-
-enum iavf_status iavf_aq_set_arp_proxy_config(struct iavf_hw *hw,
-			struct iavf_aqc_arp_proxy_data *proxy_config,
-			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status iavf_aq_set_ns_proxy_table_entry(struct iavf_hw *hw,
-			struct iavf_aqc_ns_proxy_data *ns_proxy_table_entry,
-			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status iavf_aq_set_clear_wol_filter(struct iavf_hw *hw,
-			u8 filter_index,
-			struct iavf_aqc_set_wol_filter_data *filter,
-			bool set_filter, bool no_wol_tco,
-			bool filter_valid, bool no_wol_tco_valid,
-			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status iavf_aq_get_wake_event_reason(struct iavf_hw *hw,
-			u16 *wake_reason,
-			struct iavf_asq_cmd_details *cmd_details);
 enum iavf_status iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
 			struct iavf_asq_cmd_details *cmd_details);
-enum iavf_status iavf_read_phy_register_clause22(struct iavf_hw *hw,
-					u16 reg, u8 phy_addr, u16 *value);
-enum iavf_status iavf_write_phy_register_clause22(struct iavf_hw *hw,
-					u16 reg, u8 phy_addr, u16 value);
-enum iavf_status iavf_read_phy_register_clause45(struct iavf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 *value);
-enum iavf_status iavf_write_phy_register_clause45(struct iavf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 value);
-enum iavf_status iavf_read_phy_register(struct iavf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 *value);
-enum iavf_status iavf_write_phy_register(struct iavf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 value);
-u8 iavf_get_phy_address(struct iavf_hw *hw, u8 dev_num);
-enum iavf_status iavf_blink_phy_link_led(struct iavf_hw *hw,
-					      u32 time, u32 interval);
-enum iavf_status iavf_aq_write_ddp(struct iavf_hw *hw, void *buff,
-					u16 buff_size, u32 track_id,
-					u32 *error_offset, u32 *error_info,
-					struct iavf_asq_cmd_details *
-					cmd_details);
-enum iavf_status iavf_aq_get_ddp_list(struct iavf_hw *hw, void *buff,
-					   u16 buff_size, u8 flags,
-					   struct iavf_asq_cmd_details *
-					   cmd_details);
-struct iavf_generic_seg_header *
-iavf_find_segment_in_package(u32 segment_type,
-			     struct iavf_package_header *pkg_header);
-struct iavf_profile_section_header *
-iavf_find_section_in_profile(u32 section_type,
-			     struct iavf_profile_segment *profile);
-enum iavf_status
-iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *iavf_seg,
-		   u32 track_id);
-enum iavf_status
-iavf_rollback_profile(struct iavf_hw *hw, struct iavf_profile_segment *iavf_seg,
-		      u32 track_id);
-enum iavf_status
-iavf_add_pinfo_to_list(struct iavf_hw *hw,
-		       struct iavf_profile_segment *profile,
-		       u8 *profile_info_sec, u32 track_id);
 #endif /* _IAVF_PROTOTYPE_H_ */
diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index 4ccde31a2..487352f51 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -29,10 +29,8 @@
 #endif /* BIT_ULL */
 #endif /* LINUX_MACROS */
 
-#ifndef IAVF_MASK
 /* IAVF_MASK is a macro used on 32 bit registers */
 #define IAVF_MASK(mask, shift) (mask << shift)
-#endif
 
 #define IAVF_MAX_PF			16
 #define IAVF_MAX_PF_VSI			64
@@ -40,16 +38,10 @@
 #define IAVF_MAX_VSI_QP			16
 #define IAVF_MAX_VF_VSI			3
 #define IAVF_MAX_CHAINED_RX_BUFFERS	5
-#define IAVF_MAX_PF_UDP_OFFLOAD_PORTS	16
 
 /* something less than 1 minute */
 #define IAVF_HEARTBEAT_TIMEOUT		(HZ * 50)
 
-/* Max default timeout in ms, */
-#define IAVF_MAX_NVM_TIMEOUT		18000
-
-/* Max timeout in ms for the phy to respond */
-#define IAVF_MAX_PHY_TIMEOUT		500
 
 /* Check whether address is multicast. */
 #define IAVF_IS_MULTICAST(address) (bool)(((u8 *)(address))[0] & ((u8)0x01))
@@ -59,8 +51,6 @@
 	((((u8 *)(address))[0] == ((u8)0xff)) && \
 	(((u8 *)(address))[1] == ((u8)0xff)))
 
-/* Switch from ms to the 1usec global time (this is the GTIME resolution) */
-#define IAVF_MS_TO_GTIME(time)		((time) * 1000)
 
 /* forward declaration */
 struct iavf_hw;
@@ -190,33 +180,6 @@ enum iavf_mac_type {
 	IAVF_MAC_GENERIC,
 };
 
-enum iavf_media_type {
-	IAVF_MEDIA_TYPE_UNKNOWN = 0,
-	IAVF_MEDIA_TYPE_FIBER,
-	IAVF_MEDIA_TYPE_BASET,
-	IAVF_MEDIA_TYPE_BACKPLANE,
-	IAVF_MEDIA_TYPE_CX4,
-	IAVF_MEDIA_TYPE_DA,
-	IAVF_MEDIA_TYPE_VIRTUAL
-};
-
-enum iavf_fc_mode {
-	IAVF_FC_NONE = 0,
-	IAVF_FC_RX_PAUSE,
-	IAVF_FC_TX_PAUSE,
-	IAVF_FC_FULL,
-	IAVF_FC_PFC,
-	IAVF_FC_DEFAULT
-};
-
-enum iavf_set_fc_aq_failures {
-	IAVF_SET_FC_AQ_FAIL_NONE = 0,
-	IAVF_SET_FC_AQ_FAIL_GET = 1,
-	IAVF_SET_FC_AQ_FAIL_SET = 2,
-	IAVF_SET_FC_AQ_FAIL_UPDATE = 4,
-	IAVF_SET_FC_AQ_FAIL_SET_UPDATE = 6
-};
-
 enum iavf_vsi_type {
 	IAVF_VSI_MAIN	= 0,
 	IAVF_VSI_VMDQ1	= 1,
@@ -236,99 +199,6 @@ enum iavf_queue_type {
 	IAVF_QUEUE_TYPE_UNKNOWN
 };
 
-struct iavf_link_status {
-	enum iavf_aq_phy_type phy_type;
-	enum iavf_aq_link_speed link_speed;
-	u8 link_info;
-	u8 an_info;
-	u8 req_fec_info;
-	u8 fec_info;
-	u8 ext_info;
-	u8 loopback;
-	/* is Link Status Event notification to SW enabled */
-	bool lse_enable;
-	u16 max_frame_size;
-	bool crc_enable;
-	u8 pacing;
-	u8 requested_speeds;
-	u8 module_type[3];
-	/* 1st byte: module identifier */
-#define IAVF_MODULE_TYPE_SFP		0x03
-#define IAVF_MODULE_TYPE_QSFP		0x0D
-	/* 2nd byte: ethernet compliance codes for 10/40G */
-#define IAVF_MODULE_TYPE_40G_ACTIVE	0x01
-#define IAVF_MODULE_TYPE_40G_LR4	0x02
-#define IAVF_MODULE_TYPE_40G_SR4	0x04
-#define IAVF_MODULE_TYPE_40G_CR4	0x08
-#define IAVF_MODULE_TYPE_10G_BASE_SR	0x10
-#define IAVF_MODULE_TYPE_10G_BASE_LR	0x20
-#define IAVF_MODULE_TYPE_10G_BASE_LRM	0x40
-#define IAVF_MODULE_TYPE_10G_BASE_ER	0x80
-	/* 3rd byte: ethernet compliance codes for 1G */
-#define IAVF_MODULE_TYPE_1000BASE_SX	0x01
-#define IAVF_MODULE_TYPE_1000BASE_LX	0x02
-#define IAVF_MODULE_TYPE_1000BASE_CX	0x04
-#define IAVF_MODULE_TYPE_1000BASE_T	0x08
-};
-
-struct iavf_phy_info {
-	struct iavf_link_status link_info;
-	struct iavf_link_status link_info_old;
-	bool get_link_info;
-	enum iavf_media_type media_type;
-	/* all the phy types the NVM is capable of */
-	u64 phy_types;
-};
-
-#define IAVF_CAP_PHY_TYPE_SGMII BIT_ULL(IAVF_PHY_TYPE_SGMII)
-#define IAVF_CAP_PHY_TYPE_1000BASE_KX BIT_ULL(IAVF_PHY_TYPE_1000BASE_KX)
-#define IAVF_CAP_PHY_TYPE_10GBASE_KX4 BIT_ULL(IAVF_PHY_TYPE_10GBASE_KX4)
-#define IAVF_CAP_PHY_TYPE_10GBASE_KR BIT_ULL(IAVF_PHY_TYPE_10GBASE_KR)
-#define IAVF_CAP_PHY_TYPE_40GBASE_KR4 BIT_ULL(IAVF_PHY_TYPE_40GBASE_KR4)
-#define IAVF_CAP_PHY_TYPE_XAUI BIT_ULL(IAVF_PHY_TYPE_XAUI)
-#define IAVF_CAP_PHY_TYPE_XFI BIT_ULL(IAVF_PHY_TYPE_XFI)
-#define IAVF_CAP_PHY_TYPE_SFI BIT_ULL(IAVF_PHY_TYPE_SFI)
-#define IAVF_CAP_PHY_TYPE_XLAUI BIT_ULL(IAVF_PHY_TYPE_XLAUI)
-#define IAVF_CAP_PHY_TYPE_XLPPI BIT_ULL(IAVF_PHY_TYPE_XLPPI)
-#define IAVF_CAP_PHY_TYPE_40GBASE_CR4_CU BIT_ULL(IAVF_PHY_TYPE_40GBASE_CR4_CU)
-#define IAVF_CAP_PHY_TYPE_10GBASE_CR1_CU BIT_ULL(IAVF_PHY_TYPE_10GBASE_CR1_CU)
-#define IAVF_CAP_PHY_TYPE_10GBASE_AOC BIT_ULL(IAVF_PHY_TYPE_10GBASE_AOC)
-#define IAVF_CAP_PHY_TYPE_40GBASE_AOC BIT_ULL(IAVF_PHY_TYPE_40GBASE_AOC)
-#define IAVF_CAP_PHY_TYPE_100BASE_TX BIT_ULL(IAVF_PHY_TYPE_100BASE_TX)
-#define IAVF_CAP_PHY_TYPE_1000BASE_T BIT_ULL(IAVF_PHY_TYPE_1000BASE_T)
-#define IAVF_CAP_PHY_TYPE_10GBASE_T BIT_ULL(IAVF_PHY_TYPE_10GBASE_T)
-#define IAVF_CAP_PHY_TYPE_10GBASE_SR BIT_ULL(IAVF_PHY_TYPE_10GBASE_SR)
-#define IAVF_CAP_PHY_TYPE_10GBASE_LR BIT_ULL(IAVF_PHY_TYPE_10GBASE_LR)
-#define IAVF_CAP_PHY_TYPE_10GBASE_SFPP_CU BIT_ULL(IAVF_PHY_TYPE_10GBASE_SFPP_CU)
-#define IAVF_CAP_PHY_TYPE_10GBASE_CR1 BIT_ULL(IAVF_PHY_TYPE_10GBASE_CR1)
-#define IAVF_CAP_PHY_TYPE_40GBASE_CR4 BIT_ULL(IAVF_PHY_TYPE_40GBASE_CR4)
-#define IAVF_CAP_PHY_TYPE_40GBASE_SR4 BIT_ULL(IAVF_PHY_TYPE_40GBASE_SR4)
-#define IAVF_CAP_PHY_TYPE_40GBASE_LR4 BIT_ULL(IAVF_PHY_TYPE_40GBASE_LR4)
-#define IAVF_CAP_PHY_TYPE_1000BASE_SX BIT_ULL(IAVF_PHY_TYPE_1000BASE_SX)
-#define IAVF_CAP_PHY_TYPE_1000BASE_LX BIT_ULL(IAVF_PHY_TYPE_1000BASE_LX)
-#define IAVF_CAP_PHY_TYPE_1000BASE_T_OPTICAL \
-				BIT_ULL(IAVF_PHY_TYPE_1000BASE_T_OPTICAL)
-#define IAVF_CAP_PHY_TYPE_20GBASE_KR2 BIT_ULL(IAVF_PHY_TYPE_20GBASE_KR2)
-/*
- * Defining the macro IAVF_TYPE_OFFSET to implement a bit shift for some
- * PHY types. There is an unused bit (31) in the IAVF_CAP_PHY_TYPE_* bit
- * fields but no corresponding gap in the iavf_aq_phy_type enumeration. So,
- * a shift is needed to adjust for this with values larger than 31. The
- * only affected values are IAVF_PHY_TYPE_25GBASE_*.
- */
-#define IAVF_PHY_TYPE_OFFSET 1
-#define IAVF_CAP_PHY_TYPE_25GBASE_KR BIT_ULL(IAVF_PHY_TYPE_25GBASE_KR + \
-					     IAVF_PHY_TYPE_OFFSET)
-#define IAVF_CAP_PHY_TYPE_25GBASE_CR BIT_ULL(IAVF_PHY_TYPE_25GBASE_CR + \
-					     IAVF_PHY_TYPE_OFFSET)
-#define IAVF_CAP_PHY_TYPE_25GBASE_SR BIT_ULL(IAVF_PHY_TYPE_25GBASE_SR + \
-					     IAVF_PHY_TYPE_OFFSET)
-#define IAVF_CAP_PHY_TYPE_25GBASE_LR BIT_ULL(IAVF_PHY_TYPE_25GBASE_LR + \
-					     IAVF_PHY_TYPE_OFFSET)
-#define IAVF_CAP_PHY_TYPE_25GBASE_AOC BIT_ULL(IAVF_PHY_TYPE_25GBASE_AOC + \
-					     IAVF_PHY_TYPE_OFFSET)
-#define IAVF_CAP_PHY_TYPE_25GBASE_ACC BIT_ULL(IAVF_PHY_TYPE_25GBASE_ACC + \
-					     IAVF_PHY_TYPE_OFFSET)
 #define IAVF_HW_CAP_MAX_GPIO			30
 #define IAVF_HW_CAP_MDIO_PORT_MODE_MDIO		0
 #define IAVF_HW_CAP_MDIO_PORT_MODE_I2C		1
@@ -344,71 +214,24 @@ enum iavf_acpi_programming_method {
 
 /* Capabilities of a PF or a VF or the whole device */
 struct iavf_hw_capabilities {
-	u32  switch_mode;
-#define IAVF_NVM_IMAGE_TYPE_EVB		0x0
-#define IAVF_NVM_IMAGE_TYPE_CLOUD	0x2
-#define IAVF_NVM_IMAGE_TYPE_UDP_CLOUD	0x3
-
-	u32  management_mode;
-	u32  mng_protocols_over_mctp;
-#define IAVF_MNG_PROTOCOL_PLDM		0x2
-#define IAVF_MNG_PROTOCOL_OEM_COMMANDS	0x4
-#define IAVF_MNG_PROTOCOL_NCSI		0x8
-	u32  npar_enable;
-	u32  os2bmc;
-	u32  valid_functions;
-	bool sr_iov_1_1;
-	bool vmdq;
-	bool evb_802_1_qbg; /* Edge Virtual Bridging */
-	bool evb_802_1_qbh; /* Bridge Port Extension */
+	/* Cloud filter modes:
+	 * Mode1: Filter on L4 port only
+	 * Mode2: Filter for non-tunneled traffic
+	 * Mode3: Filter for tunnel traffic
+	 */
+#define IAVF_CLOUD_FILTER_MODE1	0x6
+#define IAVF_CLOUD_FILTER_MODE2	0x7
+#define IAVF_CLOUD_FILTER_MODE3	0x8
+#define IAVF_SWITCH_MODE_MASK	0xF
+
 	bool dcb;
 	bool fcoe;
-	bool iscsi; /* Indicates iSCSI enabled */
-	bool flex10_enable;
-	bool flex10_capable;
-	u32  flex10_mode;
-#define IAVF_FLEX10_MODE_UNKNOWN	0x0
-#define IAVF_FLEX10_MODE_DCC		0x1
-#define IAVF_FLEX10_MODE_DCI		0x2
-
-	u32 flex10_status;
-#define IAVF_FLEX10_STATUS_DCC_ERROR	0x1
-#define IAVF_FLEX10_STATUS_VC_MODE	0x2
-
-	bool sec_rev_disabled;
-	bool update_disabled;
-#define IAVF_NVM_MGMT_SEC_REV_DISABLED	0x1
-#define IAVF_NVM_MGMT_UPDATE_DISABLED	0x2
-
-	bool mgmt_cem;
-	bool ieee_1588;
 	bool iwarp;
-	bool fd;
-	u32 fd_filters_guaranteed;
-	u32 fd_filters_best_effort;
-	bool rss;
-	u32 rss_table_size;
-	u32 rss_table_entry_width;
-	bool led[IAVF_HW_CAP_MAX_GPIO];
-	bool sdp[IAVF_HW_CAP_MAX_GPIO];
-	u32 nvm_image_type;
-	u32 num_flow_director_filters;
-	u32 num_vfs;
-	u32 vf_base_id;
 	u32 num_vsis;
 	u32 num_rx_qp;
 	u32 num_tx_qp;
 	u32 base_queue;
-	u32 num_msix_vectors;
 	u32 num_msix_vectors_vf;
-	u32 led_pin_num;
-	u32 sdp_pin_num;
-	u32 mdio_port_num;
-	u32 mdio_port_mode;
-	u8 rx_buf_chain_len;
-	u32 enabled_tcmap;
-	u32 maxtc;
-	u64 wr_csr_prot;
 	bool apm_wol_support;
 	enum iavf_acpi_programming_method acpi_prog_method;
 	bool proxy_support;
@@ -423,107 +246,25 @@ struct iavf_mac_info {
 	u16 max_fcoeq;
 };
 
-enum iavf_aq_resources_ids {
-	IAVF_NVM_RESOURCE_ID = 1
-};
-
-enum iavf_aq_resource_access_type {
-	IAVF_RESOURCE_READ = 1,
-	IAVF_RESOURCE_WRITE
-};
+#define IAVF_NVM_EXEC_GET_AQ_RESULT		0x0
+#define IAVF_NVM_EXEC_FEATURES			0xe
+#define IAVF_NVM_EXEC_STATUS			0xf
 
-struct iavf_nvm_info {
-	u64 hw_semaphore_timeout; /* usec global time (GTIME resolution) */
-	u32 timeout;              /* [ms] */
-	u16 sr_size;              /* Shadow RAM size in words */
-	bool blank_nvm_mode;      /* is NVM empty (no FW present)*/
-	u16 version;              /* NVM package version */
-	u32 eetrack;              /* NVM data version */
-	u32 oem_ver;              /* OEM version info */
-};
+/* NVMUpdate features API */
+#define IAVF_NVMUPD_FEATURES_API_VER_MAJOR		0
+#define IAVF_NVMUPD_FEATURES_API_VER_MINOR		14
+#define IAVF_NVMUPD_FEATURES_API_FEATURES_ARRAY_LEN	12
 
-/* definitions used in NVM update support */
-
-enum iavf_nvmupd_cmd {
-	IAVF_NVMUPD_INVALID,
-	IAVF_NVMUPD_READ_CON,
-	IAVF_NVMUPD_READ_SNT,
-	IAVF_NVMUPD_READ_LCB,
-	IAVF_NVMUPD_READ_SA,
-	IAVF_NVMUPD_WRITE_ERA,
-	IAVF_NVMUPD_WRITE_CON,
-	IAVF_NVMUPD_WRITE_SNT,
-	IAVF_NVMUPD_WRITE_LCB,
-	IAVF_NVMUPD_WRITE_SA,
-	IAVF_NVMUPD_CSUM_CON,
-	IAVF_NVMUPD_CSUM_SA,
-	IAVF_NVMUPD_CSUM_LCB,
-	IAVF_NVMUPD_STATUS,
-	IAVF_NVMUPD_EXEC_AQ,
-	IAVF_NVMUPD_GET_AQ_RESULT,
-	IAVF_NVMUPD_GET_AQ_EVENT,
-};
-
-enum iavf_nvmupd_state {
-	IAVF_NVMUPD_STATE_INIT,
-	IAVF_NVMUPD_STATE_READING,
-	IAVF_NVMUPD_STATE_WRITING,
-	IAVF_NVMUPD_STATE_INIT_WAIT,
-	IAVF_NVMUPD_STATE_WRITE_WAIT,
-	IAVF_NVMUPD_STATE_ERROR
-};
+#define IAVF_NVMUPD_FEATURE_FLAT_NVM_SUPPORT		BIT(0)
 
-/* nvm_access definition and its masks/shifts need to be accessible to
- * application, core driver, and shared code.  Where is the right file?
- */
-#define IAVF_NVM_READ	0xB
-#define IAVF_NVM_WRITE	0xC
-
-#define IAVF_NVM_MOD_PNT_MASK 0xFF
-
-#define IAVF_NVM_TRANS_SHIFT			8
-#define IAVF_NVM_TRANS_MASK			(0xf << IAVF_NVM_TRANS_SHIFT)
-#define IAVF_NVM_PRESERVATION_FLAGS_SHIFT	12
-#define IAVF_NVM_PRESERVATION_FLAGS_MASK \
-				(0x3 << IAVF_NVM_PRESERVATION_FLAGS_SHIFT)
-#define IAVF_NVM_PRESERVATION_FLAGS_SELECTED	0x01
-#define IAVF_NVM_PRESERVATION_FLAGS_ALL		0x02
-#define IAVF_NVM_CON				0x0
-#define IAVF_NVM_SNT				0x1
-#define IAVF_NVM_LCB				0x2
-#define IAVF_NVM_SA				(IAVF_NVM_SNT | IAVF_NVM_LCB)
-#define IAVF_NVM_ERA				0x4
-#define IAVF_NVM_CSUM				0x8
-#define IAVF_NVM_AQE				0xe
-#define IAVF_NVM_EXEC				0xf
-
-#define IAVF_NVM_ADAPT_SHIFT	16
-#define IAVF_NVM_ADAPT_MASK	(0xffffULL << IAVF_NVM_ADAPT_SHIFT)
-
-#define IAVF_NVMUPD_MAX_DATA	4096
-#define IAVF_NVMUPD_IFACE_TIMEOUT 2 /* seconds */
-
-struct iavf_nvm_access {
-	u32 command;
-	u32 config;
-	u32 offset;	/* in bytes */
-	u32 data_size;	/* in bytes */
-	u8 data[1];
+struct iavf_nvmupd_features {
+	u8 major;
+	u8 minor;
+	u16 size;
+	u8 features[IAVF_NVMUPD_FEATURES_API_FEATURES_ARRAY_LEN];
 };
 
-/* (Q)SFP module access definitions */
-#define IAVF_I2C_EEPROM_DEV_ADDR	0xA0
-#define IAVF_I2C_EEPROM_DEV_ADDR2	0xA2
-#define IAVF_MODULE_TYPE_ADDR		0x00
-#define IAVF_MODULE_REVISION_ADDR	0x01
-#define IAVF_MODULE_SFF_8472_COMP	0x5E
-#define IAVF_MODULE_SFF_8472_SWAP	0x5C
-#define IAVF_MODULE_SFF_ADDR_MODE	0x04
 #define IAVF_MODULE_SFF_DIAG_CAPAB	0x40
-#define IAVF_MODULE_TYPE_QSFP_PLUS	0x0D
-#define IAVF_MODULE_TYPE_QSFP28		0x11
-#define IAVF_MODULE_QSFP_MAX_LEN	640
-
 /* PCI bus types */
 enum iavf_bus_type {
 	iavf_bus_type_unknown = 0,
@@ -571,16 +312,7 @@ struct iavf_bus_info {
 	u16 bus_id;
 };
 
-/* Flow control (FC) parameters */
-struct iavf_fc_info {
-	enum iavf_fc_mode current_mode; /* FC mode in effect */
-	enum iavf_fc_mode requested_mode; /* FC mode requested by caller */
-};
-
-#define IAVF_MAX_TRAFFIC_CLASS		8
 #define IAVF_MAX_USER_PRIORITY		8
-#define IAVF_DCBX_MAX_APPS		32
-#define IAVF_LLDPDU_SIZE		1500
 #define IAVF_TLV_STATUS_OPER		0x1
 #define IAVF_TLV_STATUS_SYNC		0x2
 #define IAVF_TLV_STATUS_ERR		0x4
@@ -593,56 +325,14 @@ struct iavf_fc_info {
 #define IAVF_CEE_APP_SEL_ETHTYPE	0x0
 #define IAVF_CEE_APP_SEL_TCPIP		0x1
 
-/* CEE or IEEE 802.1Qaz ETS Configuration data */
-struct iavf_dcb_ets_config {
-	u8 willing;
-	u8 cbs;
-	u8 maxtcs;
-	u8 prioritytable[IAVF_MAX_TRAFFIC_CLASS];
-	u8 tcbwtable[IAVF_MAX_TRAFFIC_CLASS];
-	u8 tsatable[IAVF_MAX_TRAFFIC_CLASS];
-};
-
-/* CEE or IEEE 802.1Qaz PFC Configuration data */
-struct iavf_dcb_pfc_config {
-	u8 willing;
-	u8 mbc;
-	u8 pfccap;
-	u8 pfcenable;
-};
-
-/* CEE or IEEE 802.1Qaz Application Priority data */
-struct iavf_dcb_app_priority_table {
-	u8  priority;
-	u8  selector;
-	u16 protocolid;
-};
-
-struct iavf_dcbx_config {
-	u8  dcbx_mode;
-#define IAVF_DCBX_MODE_CEE	0x1
-#define IAVF_DCBX_MODE_IEEE	0x2
-	u8  app_mode;
-#define IAVF_DCBX_APPS_NON_WILLING	0x1
-	u32 numapps;
-	u32 tlv_status; /* CEE mode TLV status */
-	struct iavf_dcb_ets_config etscfg;
-	struct iavf_dcb_ets_config etsrec;
-	struct iavf_dcb_pfc_config pfc;
-	struct iavf_dcb_app_priority_table app[IAVF_DCBX_MAX_APPS];
-};
-
 /* Port hardware description */
 struct iavf_hw {
 	u8 *hw_addr;
 	void *back;
 
 	/* subsystem structs */
-	struct iavf_phy_info phy;
 	struct iavf_mac_info mac;
 	struct iavf_bus_info bus;
-	struct iavf_nvm_info nvm;
-	struct iavf_fc_info fc;
 
 	/* pci info */
 	u16 device_id;
@@ -650,47 +340,14 @@ struct iavf_hw {
 	u16 subsystem_device_id;
 	u16 subsystem_vendor_id;
 	u8 revision_id;
-	u8 port;
 	bool adapter_stopped;
 
 	/* capabilities for entire device and PCI func */
 	struct iavf_hw_capabilities dev_caps;
-	struct iavf_hw_capabilities func_caps;
-
-	/* Flow Director shared filter space */
-	u16 fdir_shared_filter_count;
-
-	/* device profile info */
-	u8  pf_id;
-	u16 main_vsi_seid;
-
-	/* for multi-function MACs */
-	u16 partition_id;
-	u16 num_partitions;
-	u16 num_ports;
-
-	/* Closest numa node to the device */
-	u16 numa_node;
 
 	/* Admin Queue info */
 	struct iavf_adminq_info aq;
 
-	/* state of nvm update process */
-	enum iavf_nvmupd_state nvmupd_state;
-	struct iavf_aq_desc nvm_wb_desc;
-	struct iavf_aq_desc nvm_aq_event_desc;
-	struct iavf_virt_mem nvm_buff;
-	bool nvm_release_on_done;
-	u16 nvm_wait_opcode;
-
-	/* LLDP/DCBX Status */
-	u16 dcbx_status;
-
-	/* DCBX info */
-	struct iavf_dcbx_config local_dcbx_config; /* Oper/Local Cfg */
-	struct iavf_dcbx_config remote_dcbx_config; /* Peer Cfg */
-	struct iavf_dcbx_config desired_dcbx_config; /* CEE Desired Cfg */
-
 	/* WoL and proxy support */
 	u16 num_wol_proxy_filters;
 	u16 wol_proxy_vsi_seid;
@@ -699,24 +356,17 @@ struct iavf_hw {
 #define IAVF_HW_FLAG_802_1AD_CAPABLE        BIT_ULL(1)
 #define IAVF_HW_FLAG_AQ_PHY_ACCESS_CAPABLE  BIT_ULL(2)
 #define IAVF_HW_FLAG_NVM_READ_REQUIRES_LOCK BIT_ULL(3)
+#define IAVF_HW_FLAG_FW_LLDP_STOPPABLE	    BIT_ULL(4)
 	u64 flags;
 
-	/* Used in set switch config AQ command */
-	u16 switch_tag;
-	u16 first_tag;
-	u16 second_tag;
+	/* NVMUpdate features */
+	struct iavf_nvmupd_features nvmupd_features;
 
 	/* debug mask */
 	u32 debug_mask;
 	char err_str[16];
 };
 
-STATIC INLINE bool iavf_is_vf(struct iavf_hw *hw)
-{
-	return (hw->mac.type == IAVF_MAC_VF ||
-		hw->mac.type == IAVF_MAC_X722_VF);
-}
-
 struct iavf_driver_version {
 	u8 major_version;
 	u8 minor_version;
@@ -1159,53 +809,6 @@ enum iavf_tx_ctx_desc_cmd_bits {
 	IAVF_TX_CTX_DESC_SWPE		= 0x40
 };
 
-#define IAVF_TXD_CTX_QW1_TSO_LEN_SHIFT	30
-#define IAVF_TXD_CTX_QW1_TSO_LEN_MASK	(0x3FFFFULL << \
-					 IAVF_TXD_CTX_QW1_TSO_LEN_SHIFT)
-
-#define IAVF_TXD_CTX_QW1_MSS_SHIFT	50
-#define IAVF_TXD_CTX_QW1_MSS_MASK	(0x3FFFULL << \
-					 IAVF_TXD_CTX_QW1_MSS_SHIFT)
-
-#define IAVF_TXD_CTX_QW1_VSI_SHIFT	50
-#define IAVF_TXD_CTX_QW1_VSI_MASK	(0x1FFULL << IAVF_TXD_CTX_QW1_VSI_SHIFT)
-
-#define IAVF_TXD_CTX_QW0_EXT_IP_SHIFT	0
-#define IAVF_TXD_CTX_QW0_EXT_IP_MASK	(0x3ULL << \
-					 IAVF_TXD_CTX_QW0_EXT_IP_SHIFT)
-
-enum iavf_tx_ctx_desc_eipt_offload {
-	IAVF_TX_CTX_EXT_IP_NONE		= 0x0,
-	IAVF_TX_CTX_EXT_IP_IPV6		= 0x1,
-	IAVF_TX_CTX_EXT_IP_IPV4_NO_CSUM	= 0x2,
-	IAVF_TX_CTX_EXT_IP_IPV4		= 0x3
-};
-
-#define IAVF_TXD_CTX_QW0_EXT_IPLEN_SHIFT	2
-#define IAVF_TXD_CTX_QW0_EXT_IPLEN_MASK	(0x3FULL << \
-					 IAVF_TXD_CTX_QW0_EXT_IPLEN_SHIFT)
-
-#define IAVF_TXD_CTX_QW0_NATT_SHIFT	9
-#define IAVF_TXD_CTX_QW0_NATT_MASK	(0x3ULL << IAVF_TXD_CTX_QW0_NATT_SHIFT)
-
-#define IAVF_TXD_CTX_UDP_TUNNELING	BIT_ULL(IAVF_TXD_CTX_QW0_NATT_SHIFT)
-#define IAVF_TXD_CTX_GRE_TUNNELING	(0x2ULL << IAVF_TXD_CTX_QW0_NATT_SHIFT)
-
-#define IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT	11
-#define IAVF_TXD_CTX_QW0_EIP_NOINC_MASK	BIT_ULL(IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT)
-
-#define IAVF_TXD_CTX_EIP_NOINC_IPID_CONST	IAVF_TXD_CTX_QW0_EIP_NOINC_MASK
-
-#define IAVF_TXD_CTX_QW0_NATLEN_SHIFT	12
-#define IAVF_TXD_CTX_QW0_NATLEN_MASK	(0X7FULL << \
-					 IAVF_TXD_CTX_QW0_NATLEN_SHIFT)
-
-#define IAVF_TXD_CTX_QW0_DECTTL_SHIFT	19
-#define IAVF_TXD_CTX_QW0_DECTTL_MASK	(0xFULL << \
-					 IAVF_TXD_CTX_QW0_DECTTL_SHIFT)
-
-#define IAVF_TXD_CTX_QW0_L4T_CS_SHIFT	23
-#define IAVF_TXD_CTX_QW0_L4T_CS_MASK	BIT_ULL(IAVF_TXD_CTX_QW0_L4T_CS_SHIFT)
 struct iavf_nop_desc {
 	__le64 rsvd;
 	__le64 dtype_cmd;
@@ -1224,22 +827,6 @@ enum iavf_tx_nop_desc_cmd_bits {
 	IAVF_TX_NOP_DESC_RSV_SHIFT	= 2 /* 5 bits */
 };
 
-struct iavf_filter_program_desc {
-	__le32 qindex_flex_ptype_vsi;
-	__le32 rsvd;
-	__le32 dtype_cmd_cntindex;
-	__le32 fd_id;
-};
-#define IAVF_TXD_FLTR_QW0_QINDEX_SHIFT	0
-#define IAVF_TXD_FLTR_QW0_QINDEX_MASK	(0x7FFUL << \
-					 IAVF_TXD_FLTR_QW0_QINDEX_SHIFT)
-#define IAVF_TXD_FLTR_QW0_FLEXOFF_SHIFT	11
-#define IAVF_TXD_FLTR_QW0_FLEXOFF_MASK	(0x7UL << \
-					 IAVF_TXD_FLTR_QW0_FLEXOFF_SHIFT)
-#define IAVF_TXD_FLTR_QW0_PCTYPE_SHIFT	17
-#define IAVF_TXD_FLTR_QW0_PCTYPE_MASK	(0x3FUL << \
-					 IAVF_TXD_FLTR_QW0_PCTYPE_SHIFT)
-
 /* Packet Classifier Types for filters */
 enum iavf_filter_pctype {
 	/* Note: Values 0-28 are reserved for future use.
@@ -1272,88 +859,61 @@ enum iavf_filter_pctype {
 	IAVF_FILTER_PCTYPE_L2_PAYLOAD			= 63,
 };
 
-enum iavf_filter_program_desc_dest {
-	IAVF_FILTER_PROGRAM_DESC_DEST_DROP_PACKET		= 0x0,
-	IAVF_FILTER_PROGRAM_DESC_DEST_DIRECT_PACKET_QINDEX	= 0x1,
-	IAVF_FILTER_PROGRAM_DESC_DEST_DIRECT_PACKET_OTHER	= 0x2,
-};
-
-enum iavf_filter_program_desc_fd_status {
-	IAVF_FILTER_PROGRAM_DESC_FD_STATUS_NONE			= 0x0,
-	IAVF_FILTER_PROGRAM_DESC_FD_STATUS_FD_ID		= 0x1,
-	IAVF_FILTER_PROGRAM_DESC_FD_STATUS_FD_ID_4FLEX_BYTES	= 0x2,
-	IAVF_FILTER_PROGRAM_DESC_FD_STATUS_8FLEX_BYTES		= 0x3,
-};
-
-#define IAVF_TXD_FLTR_QW0_DEST_VSI_SHIFT	23
-#define IAVF_TXD_FLTR_QW0_DEST_VSI_MASK	(0x1FFUL << \
-					 IAVF_TXD_FLTR_QW0_DEST_VSI_SHIFT)
-
 #define IAVF_TXD_FLTR_QW1_DTYPE_SHIFT	0
 #define IAVF_TXD_FLTR_QW1_DTYPE_MASK	(0xFUL << IAVF_TXD_FLTR_QW1_DTYPE_SHIFT)
 
-#define IAVF_TXD_FLTR_QW1_CMD_SHIFT	4
-#define IAVF_TXD_FLTR_QW1_CMD_MASK	(0xFFFFULL << \
+#define IAVF_TXD_FLTR_QW1_ATR_SHIFT	(0xEULL + \
 					 IAVF_TXD_FLTR_QW1_CMD_SHIFT)
+#define IAVF_TXD_FLTR_QW1_ATR_MASK	BIT_ULL(IAVF_TXD_FLTR_QW1_ATR_SHIFT)
 
-#define IAVF_TXD_FLTR_QW1_PCMD_SHIFT	(0x0ULL + IAVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define IAVF_TXD_FLTR_QW1_PCMD_MASK	(0x7ULL << IAVF_TXD_FLTR_QW1_PCMD_SHIFT)
 
-enum iavf_filter_program_desc_pcmd {
-	IAVF_FILTER_PROGRAM_DESC_PCMD_ADD_UPDATE	= 0x1,
-	IAVF_FILTER_PROGRAM_DESC_PCMD_REMOVE		= 0x2,
+#define IAVF_TXD_CTX_QW1_TSO_LEN_SHIFT	30
+#define IAVF_TXD_CTX_QW1_TSO_LEN_MASK	(0x3FFFFULL << \
+					 IAVF_TXD_CTX_QW1_TSO_LEN_SHIFT)
+
+#define IAVF_TXD_CTX_QW1_MSS_SHIFT	50
+#define IAVF_TXD_CTX_QW1_MSS_MASK	(0x3FFFULL << \
+					 IAVF_TXD_CTX_QW1_MSS_SHIFT)
+
+#define IAVF_TXD_CTX_QW1_VSI_SHIFT	50
+#define IAVF_TXD_CTX_QW1_VSI_MASK	(0x1FFULL << IAVF_TXD_CTX_QW1_VSI_SHIFT)
+
+#define IAVF_TXD_CTX_QW0_EXT_IP_SHIFT	0
+#define IAVF_TXD_CTX_QW0_EXT_IP_MASK	(0x3ULL << \
+					 IAVF_TXD_CTX_QW0_EXT_IP_SHIFT)
+
+enum iavf_tx_ctx_desc_eipt_offload {
+	IAVF_TX_CTX_EXT_IP_NONE		= 0x0,
+	IAVF_TX_CTX_EXT_IP_IPV6		= 0x1,
+	IAVF_TX_CTX_EXT_IP_IPV4_NO_CSUM	= 0x2,
+	IAVF_TX_CTX_EXT_IP_IPV4		= 0x3
 };
 
-#define IAVF_TXD_FLTR_QW1_DEST_SHIFT	(0x3ULL + IAVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define IAVF_TXD_FLTR_QW1_DEST_MASK	(0x3ULL << IAVF_TXD_FLTR_QW1_DEST_SHIFT)
+#define IAVF_TXD_CTX_QW0_EXT_IPLEN_SHIFT	2
+#define IAVF_TXD_CTX_QW0_EXT_IPLEN_MASK	(0x3FULL << \
+					 IAVF_TXD_CTX_QW0_EXT_IPLEN_SHIFT)
 
-#define IAVF_TXD_FLTR_QW1_CNT_ENA_SHIFT	(0x7ULL + IAVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define IAVF_TXD_FLTR_QW1_CNT_ENA_MASK	BIT_ULL(IAVF_TXD_FLTR_QW1_CNT_ENA_SHIFT)
+#define IAVF_TXD_CTX_QW0_NATT_SHIFT	9
+#define IAVF_TXD_CTX_QW0_NATT_MASK	(0x3ULL << IAVF_TXD_CTX_QW0_NATT_SHIFT)
 
-#define IAVF_TXD_FLTR_QW1_FD_STATUS_SHIFT	(0x9ULL + \
-						 IAVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define IAVF_TXD_FLTR_QW1_FD_STATUS_MASK (0x3ULL << \
-					  IAVF_TXD_FLTR_QW1_FD_STATUS_SHIFT)
+#define IAVF_TXD_CTX_UDP_TUNNELING	BIT_ULL(IAVF_TXD_CTX_QW0_NATT_SHIFT)
+#define IAVF_TXD_CTX_GRE_TUNNELING	(0x2ULL << IAVF_TXD_CTX_QW0_NATT_SHIFT)
 
-#define IAVF_TXD_FLTR_QW1_ATR_SHIFT	(0xEULL + \
-					 IAVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define IAVF_TXD_FLTR_QW1_ATR_MASK	BIT_ULL(IAVF_TXD_FLTR_QW1_ATR_SHIFT)
+#define IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT	11
+#define IAVF_TXD_CTX_QW0_EIP_NOINC_MASK	BIT_ULL(IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT)
 
-#define IAVF_TXD_FLTR_QW1_CNTINDEX_SHIFT 20
-#define IAVF_TXD_FLTR_QW1_CNTINDEX_MASK	(0x1FFUL << \
-					 IAVF_TXD_FLTR_QW1_CNTINDEX_SHIFT)
-
-enum iavf_filter_type {
-	IAVF_FLOW_DIRECTOR_FLTR = 0,
-	IAVF_PE_QUAD_HASH_FLTR = 1,
-	IAVF_ETHERTYPE_FLTR,
-	IAVF_FCOE_CTX_FLTR,
-	IAVF_MAC_VLAN_FLTR,
-	IAVF_HASH_FLTR
-};
+#define IAVF_TXD_CTX_EIP_NOINC_IPID_CONST	IAVF_TXD_CTX_QW0_EIP_NOINC_MASK
 
-struct iavf_vsi_context {
-	u16 seid;
-	u16 uplink_seid;
-	u16 vsi_number;
-	u16 vsis_allocated;
-	u16 vsis_unallocated;
-	u16 flags;
-	u8 pf_num;
-	u8 vf_num;
-	u8 connection_type;
-	struct iavf_aqc_vsi_properties_data info;
-};
+#define IAVF_TXD_CTX_QW0_NATLEN_SHIFT	12
+#define IAVF_TXD_CTX_QW0_NATLEN_MASK	(0X7FULL << \
+					 IAVF_TXD_CTX_QW0_NATLEN_SHIFT)
 
-struct iavf_veb_context {
-	u16 seid;
-	u16 uplink_seid;
-	u16 veb_number;
-	u16 vebs_allocated;
-	u16 vebs_unallocated;
-	u16 flags;
-	struct iavf_aqc_get_veb_parameters_completion info;
-};
+#define IAVF_TXD_CTX_QW0_DECTTL_SHIFT	19
+#define IAVF_TXD_CTX_QW0_DECTTL_MASK	(0xFULL << \
+					 IAVF_TXD_CTX_QW0_DECTTL_SHIFT)
+
+#define IAVF_TXD_CTX_QW0_L4T_CS_SHIFT	23
+#define IAVF_TXD_CTX_QW0_L4T_CS_MASK	BIT_ULL(IAVF_TXD_CTX_QW0_L4T_CS_SHIFT)
 
 /* Statistics collected by each port, VSI, VEB, and S-channel */
 struct iavf_eth_stats {
@@ -1370,89 +930,6 @@ struct iavf_eth_stats {
 	u64 tx_discards;		/* tdpc */
 	u64 tx_errors;			/* tepc */
 };
-
-/* Statistics collected per VEB per TC */
-struct iavf_veb_tc_stats {
-	u64 tc_rx_packets[IAVF_MAX_TRAFFIC_CLASS];
-	u64 tc_rx_bytes[IAVF_MAX_TRAFFIC_CLASS];
-	u64 tc_tx_packets[IAVF_MAX_TRAFFIC_CLASS];
-	u64 tc_tx_bytes[IAVF_MAX_TRAFFIC_CLASS];
-};
-
-/* Statistics collected per function for FCoE */
-struct iavf_fcoe_stats {
-	u64 rx_fcoe_packets;		/* fcoeprc */
-	u64 rx_fcoe_dwords;		/* focedwrc */
-	u64 rx_fcoe_dropped;		/* fcoerpdc */
-	u64 tx_fcoe_packets;		/* fcoeptc */
-	u64 tx_fcoe_dwords;		/* focedwtc */
-	u64 fcoe_bad_fccrc;		/* fcoecrc */
-	u64 fcoe_last_error;		/* fcoelast */
-	u64 fcoe_ddp_count;		/* fcoeddpc */
-};
-
-/* offset to per function FCoE statistics block */
-#define IAVF_FCOE_VF_STAT_OFFSET	0
-#define IAVF_FCOE_PF_STAT_OFFSET	128
-#define IAVF_FCOE_STAT_MAX		(IAVF_FCOE_PF_STAT_OFFSET + IAVF_MAX_PF)
-
-/* Statistics collected by the MAC */
-struct iavf_hw_port_stats {
-	/* eth stats collected by the port */
-	struct iavf_eth_stats eth;
-
-	/* additional port specific stats */
-	u64 tx_dropped_link_down;	/* tdold */
-	u64 crc_errors;			/* crcerrs */
-	u64 illegal_bytes;		/* illerrc */
-	u64 error_bytes;		/* errbc */
-	u64 mac_local_faults;		/* mlfc */
-	u64 mac_remote_faults;		/* mrfc */
-	u64 rx_length_errors;		/* rlec */
-	u64 link_xon_rx;		/* lxonrxc */
-	u64 link_xoff_rx;		/* lxoffrxc */
-	u64 priority_xon_rx[8];		/* pxonrxc[8] */
-	u64 priority_xoff_rx[8];	/* pxoffrxc[8] */
-	u64 link_xon_tx;		/* lxontxc */
-	u64 link_xoff_tx;		/* lxofftxc */
-	u64 priority_xon_tx[8];		/* pxontxc[8] */
-	u64 priority_xoff_tx[8];	/* pxofftxc[8] */
-	u64 priority_xon_2_xoff[8];	/* pxon2offc[8] */
-	u64 rx_size_64;			/* prc64 */
-	u64 rx_size_127;		/* prc127 */
-	u64 rx_size_255;		/* prc255 */
-	u64 rx_size_511;		/* prc511 */
-	u64 rx_size_1023;		/* prc1023 */
-	u64 rx_size_1522;		/* prc1522 */
-	u64 rx_size_big;		/* prc9522 */
-	u64 rx_undersize;		/* ruc */
-	u64 rx_fragments;		/* rfc */
-	u64 rx_oversize;		/* roc */
-	u64 rx_jabber;			/* rjc */
-	u64 tx_size_64;			/* ptc64 */
-	u64 tx_size_127;		/* ptc127 */
-	u64 tx_size_255;		/* ptc255 */
-	u64 tx_size_511;		/* ptc511 */
-	u64 tx_size_1023;		/* ptc1023 */
-	u64 tx_size_1522;		/* ptc1522 */
-	u64 tx_size_big;		/* ptc9522 */
-	u64 mac_short_packet_dropped;	/* mspdc */
-	u64 checksum_error;		/* xec */
-	/* flow director stats */
-	u64 fd_atr_match;
-	u64 fd_sb_match;
-	u64 fd_atr_tunnel_match;
-	u32 fd_atr_status;
-	u32 fd_sb_status;
-	/* EEE LPI */
-	u32 tx_lpi_status;
-	u32 rx_lpi_status;
-	u64 tx_lpi_count;		/* etlpic */
-	u64 rx_lpi_count;		/* erlpic */
-};
-
-/* Checksum and Shadow RAM pointers */
-#define IAVF_SR_NVM_CONTROL_WORD		0x00
 #define IAVF_SR_PCIE_ANALOG_CONFIG_PTR		0x03
 #define IAVF_SR_PHY_ANALOG_CONFIG_PTR		0x04
 #define IAVF_SR_OPTION_ROM_PTR			0x05
@@ -1465,22 +942,13 @@ struct iavf_hw_port_stats {
 #define IAVF_SR_PE_IMAGE_PTR			0x0C
 #define IAVF_SR_CSR_PROTECTED_LIST_PTR		0x0D
 #define IAVF_SR_MNG_CONFIG_PTR			0x0E
-#define IAVF_EMP_MODULE_PTR			0x0F
-#define IAVF_SR_EMP_MODULE_PTR			0x48
 #define IAVF_SR_PBA_FLAGS			0x15
 #define IAVF_SR_PBA_BLOCK_PTR			0x16
 #define IAVF_SR_BOOT_CONFIG_PTR			0x17
-#define IAVF_NVM_OEM_VER_OFF			0x83
-#define IAVF_SR_NVM_DEV_STARTER_VERSION		0x18
-#define IAVF_SR_NVM_WAKE_ON_LAN			0x19
-#define IAVF_SR_ALTERNATE_SAN_MAC_ADDRESS_PTR	0x27
 #define IAVF_SR_PERMANENT_SAN_MAC_ADDRESS_PTR	0x28
 #define IAVF_SR_NVM_MAP_VERSION			0x29
 #define IAVF_SR_NVM_IMAGE_VERSION		0x2A
 #define IAVF_SR_NVM_STRUCTURE_VERSION		0x2B
-#define IAVF_SR_NVM_EETRACK_LO			0x2D
-#define IAVF_SR_NVM_EETRACK_HI			0x2E
-#define IAVF_SR_VPD_PTR				0x2F
 #define IAVF_SR_PXE_SETUP_PTR			0x30
 #define IAVF_SR_PXE_CONFIG_CUST_OPTIONS_PTR	0x31
 #define IAVF_SR_NVM_ORIGINAL_EETRACK_LO		0x34
@@ -1491,8 +959,6 @@ struct iavf_hw_port_stats {
 #define IAVF_SR_GLOBR_REGS_AUTO_LOAD_PTR	0x3B
 #define IAVF_SR_CORER_REGS_AUTO_LOAD_PTR	0x3C
 #define IAVF_SR_PHY_ACTIVITY_LIST_PTR		0x3D
-#define IAVF_SR_PCIE_ALT_AUTO_LOAD_PTR		0x3E
-#define IAVF_SR_SW_CHECKSUM_WORD		0x3F
 #define IAVF_SR_1ST_FREE_PROVISION_AREA_PTR	0x40
 #define IAVF_SR_4TH_FREE_PROVISION_AREA_PTR	0x42
 #define IAVF_SR_3RD_FREE_PROVISION_AREA_PTR	0x44
@@ -1501,334 +967,11 @@ struct iavf_hw_port_stats {
 #define IAVF_SR_FEATURE_CONFIGURATION_PTR	0x49
 #define IAVF_SR_CONFIGURATION_METADATA_PTR	0x4D
 #define IAVF_SR_IMMEDIATE_VALUES_PTR		0x4E
-
-/* Auxiliary field, mask and shift definition for Shadow RAM and NVM Flash */
-#define IAVF_SR_VPD_MODULE_MAX_SIZE		1024
-#define IAVF_SR_PCIE_ALT_MODULE_MAX_SIZE	1024
-#define IAVF_SR_CONTROL_WORD_1_SHIFT		0x06
-#define IAVF_SR_CONTROL_WORD_1_MASK	(0x03 << IAVF_SR_CONTROL_WORD_1_SHIFT)
-#define IAVF_SR_CONTROL_WORD_1_NVM_BANK_VALID	BIT(5)
-#define IAVF_SR_NVM_MAP_STRUCTURE_TYPE		BIT(12)
-#define IAVF_PTR_TYPE                           BIT(15)
-
-/* Shadow RAM related */
-#define IAVF_SR_SECTOR_SIZE_IN_WORDS	0x800
+#define IAVF_SR_OCP_CFG_WORD0			0x2B
+#define IAVF_SR_OCP_ENABLED			BIT(15)
 #define IAVF_SR_BUF_ALIGNMENT		4096
-#define IAVF_SR_WORDS_IN_1KB		512
-/* Checksum should be calculated such that after adding all the words,
- * including the checksum word itself, the sum should be 0xBABA.
- */
-#define IAVF_SR_SW_CHECKSUM_BASE	0xBABA
-
-#define IAVF_SRRD_SRCTL_ATTEMPTS	100000
-
-/* FCoE Tx context descriptor - Use the iavf_tx_context_desc struct */
-
-enum i40E_fcoe_tx_ctx_desc_cmd_bits {
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_SINGLE_SEND	= 0x00, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_TSO_FC_CLASS2	= 0x01, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_TSO_FC_CLASS3	= 0x05, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_ETSO_FC_CLASS2	= 0x02, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_ETSO_FC_CLASS3	= 0x06, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_DWO_FC_CLASS2	= 0x03, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_DWO_FC_CLASS3	= 0x07, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_DDP_CTX_INVL	= 0x08, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_OPCODE_DWO_CTX_INVL	= 0x09, /* 4 BITS */
-	IAVF_FCOE_TX_CTX_DESC_RELOFF			= 0x10,
-	IAVF_FCOE_TX_CTX_DESC_CLRSEQ			= 0x20,
-	IAVF_FCOE_TX_CTX_DESC_DIFENA			= 0x40,
-	IAVF_FCOE_TX_CTX_DESC_IL2TAG2			= 0x80
-};
 
-/* FCoE DIF/DIX Context descriptor */
-struct iavf_fcoe_difdix_context_desc {
-	__le64 flags_buff0_buff1_ref;
-	__le64 difapp_msk_bias;
-};
-
-#define IAVF_FCOE_DIFDIX_CTX_QW0_FLAGS_SHIFT	0
-#define IAVF_FCOE_DIFDIX_CTX_QW0_FLAGS_MASK	(0xFFFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW0_FLAGS_SHIFT)
-
-enum iavf_fcoe_difdix_ctx_desc_flags_bits {
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_RSVD				= 0x0000,
-	/* 1 BIT  */
-	IAVF_FCOE_DIFDIX_CTX_DESC_APPTYPE_TAGCHK		= 0x0000,
-	/* 1 BIT  */
-	IAVF_FCOE_DIFDIX_CTX_DESC_APPTYPE_TAGNOTCHK		= 0x0004,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_GTYPE_OPAQUE			= 0x0000,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_GTYPE_CHKINTEGRITY		= 0x0008,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_GTYPE_CHKINTEGRITY_APPTAG	= 0x0010,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_GTYPE_CHKINTEGRITY_APPREFTAG	= 0x0018,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_CNST			= 0x0000,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_INC1BLK		= 0x0020,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_APPTAG		= 0x0040,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_RSVD			= 0x0060,
-	/* 1 BIT  */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIXMODE_XSUM			= 0x0000,
-	/* 1 BIT  */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIXMODE_CRC			= 0x0080,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_UNTAG			= 0x0000,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_BUF			= 0x0100,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_RSVD			= 0x0200,
-	/* 2 BITS */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_EMBDTAGS		= 0x0300,
-	/* 1 BIT  */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFLAN_UNTAG			= 0x0000,
-	/* 1 BIT  */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFLAN_TAG			= 0x0400,
-	/* 1 BIT */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFBLK_512B			= 0x0000,
-	/* 1 BIT */
-	IAVF_FCOE_DIFDIX_CTX_DESC_DIFBLK_4K			= 0x0800
-};
-
-#define IAVF_FCOE_DIFDIX_CTX_QW0_BUFF0_SHIFT	12
-#define IAVF_FCOE_DIFDIX_CTX_QW0_BUFF0_MASK	(0x3FFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW0_BUFF0_SHIFT)
-
-#define IAVF_FCOE_DIFDIX_CTX_QW0_BUFF1_SHIFT	22
-#define IAVF_FCOE_DIFDIX_CTX_QW0_BUFF1_MASK	(0x3FFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW0_BUFF1_SHIFT)
-
-#define IAVF_FCOE_DIFDIX_CTX_QW0_REF_SHIFT	32
-#define IAVF_FCOE_DIFDIX_CTX_QW0_REF_MASK	(0xFFFFFFFFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW0_REF_SHIFT)
-
-#define IAVF_FCOE_DIFDIX_CTX_QW1_APP_SHIFT	0
-#define IAVF_FCOE_DIFDIX_CTX_QW1_APP_MASK	(0xFFFFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW1_APP_SHIFT)
-
-#define IAVF_FCOE_DIFDIX_CTX_QW1_APP_MSK_SHIFT	16
-#define IAVF_FCOE_DIFDIX_CTX_QW1_APP_MSK_MASK	(0xFFFFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW1_APP_MSK_SHIFT)
-
-#define IAVF_FCOE_DIFDIX_CTX_QW1_REF_BIAS_SHIFT	32
-#define IAVF_FCOE_DIFDIX_CTX_QW0_REF_BIAS_MASK	(0xFFFFFFFFULL << \
-					IAVF_FCOE_DIFDIX_CTX_QW1_REF_BIAS_SHIFT)
-
-/* FCoE DIF/DIX Buffers descriptor */
-struct iavf_fcoe_difdix_buffers_desc {
-	__le64 buff_addr0;
-	__le64 buff_addr1;
-};
-
-/* FCoE DDP Context descriptor */
-struct iavf_fcoe_ddp_context_desc {
-	__le64 rsvd;
-	__le64 type_cmd_foff_lsize;
-};
 
-#define IAVF_FCOE_DDP_CTX_QW1_DTYPE_SHIFT	0
-#define IAVF_FCOE_DDP_CTX_QW1_DTYPE_MASK	(0xFULL << \
-					IAVF_FCOE_DDP_CTX_QW1_DTYPE_SHIFT)
-
-#define IAVF_FCOE_DDP_CTX_QW1_CMD_SHIFT	4
-#define IAVF_FCOE_DDP_CTX_QW1_CMD_MASK	(0xFULL << \
-					 IAVF_FCOE_DDP_CTX_QW1_CMD_SHIFT)
-
-enum iavf_fcoe_ddp_ctx_desc_cmd_bits {
-	IAVF_FCOE_DDP_CTX_DESC_BSIZE_512B	= 0x00, /* 2 BITS */
-	IAVF_FCOE_DDP_CTX_DESC_BSIZE_4K		= 0x01, /* 2 BITS */
-	IAVF_FCOE_DDP_CTX_DESC_BSIZE_8K		= 0x02, /* 2 BITS */
-	IAVF_FCOE_DDP_CTX_DESC_BSIZE_16K	= 0x03, /* 2 BITS */
-	IAVF_FCOE_DDP_CTX_DESC_DIFENA		= 0x04, /* 1 BIT  */
-	IAVF_FCOE_DDP_CTX_DESC_LASTSEQH		= 0x08, /* 1 BIT  */
-};
-
-#define IAVF_FCOE_DDP_CTX_QW1_FOFF_SHIFT	16
-#define IAVF_FCOE_DDP_CTX_QW1_FOFF_MASK	(0x3FFFULL << \
-					 IAVF_FCOE_DDP_CTX_QW1_FOFF_SHIFT)
-
-#define IAVF_FCOE_DDP_CTX_QW1_LSIZE_SHIFT	32
-#define IAVF_FCOE_DDP_CTX_QW1_LSIZE_MASK	(0x3FFFULL << \
-					IAVF_FCOE_DDP_CTX_QW1_LSIZE_SHIFT)
-
-/* FCoE DDP/DWO Queue Context descriptor */
-struct iavf_fcoe_queue_context_desc {
-	__le64 dmaindx_fbase;           /* 0:11 DMAINDX, 12:63 FBASE */
-	__le64 flen_tph;                /* 0:12 FLEN, 13:15 TPH */
-};
-
-#define IAVF_FCOE_QUEUE_CTX_QW0_DMAINDX_SHIFT	0
-#define IAVF_FCOE_QUEUE_CTX_QW0_DMAINDX_MASK	(0xFFFULL << \
-					IAVF_FCOE_QUEUE_CTX_QW0_DMAINDX_SHIFT)
-
-#define IAVF_FCOE_QUEUE_CTX_QW0_FBASE_SHIFT	12
-#define IAVF_FCOE_QUEUE_CTX_QW0_FBASE_MASK	(0xFFFFFFFFFFFFFULL << \
-					IAVF_FCOE_QUEUE_CTX_QW0_FBASE_SHIFT)
-
-#define IAVF_FCOE_QUEUE_CTX_QW1_FLEN_SHIFT	0
-#define IAVF_FCOE_QUEUE_CTX_QW1_FLEN_MASK	(0x1FFFULL << \
-					IAVF_FCOE_QUEUE_CTX_QW1_FLEN_SHIFT)
-
-#define IAVF_FCOE_QUEUE_CTX_QW1_TPH_SHIFT	13
-#define IAVF_FCOE_QUEUE_CTX_QW1_TPH_MASK	(0x7ULL << \
-					IAVF_FCOE_QUEUE_CTX_QW1_FLEN_SHIFT)
-
-enum iavf_fcoe_queue_ctx_desc_tph_bits {
-	IAVF_FCOE_QUEUE_CTX_DESC_TPHRDESC	= 0x1,
-	IAVF_FCOE_QUEUE_CTX_DESC_TPHDATA	= 0x2
-};
-
-#define IAVF_FCOE_QUEUE_CTX_QW1_RECIPE_SHIFT	30
-#define IAVF_FCOE_QUEUE_CTX_QW1_RECIPE_MASK	(0x3ULL << \
-					IAVF_FCOE_QUEUE_CTX_QW1_RECIPE_SHIFT)
-
-/* FCoE DDP/DWO Filter Context descriptor */
-struct iavf_fcoe_filter_context_desc {
-	__le32 param;
-	__le16 seqn;
-
-	/* 48:51(0:3) RSVD, 52:63(4:15) DMAINDX */
-	__le16 rsvd_dmaindx;
-
-	/* 0:7 FLAGS, 8:52 RSVD, 53:63 LANQ */
-	__le64 flags_rsvd_lanq;
-};
-
-#define IAVF_FCOE_FILTER_CTX_QW0_DMAINDX_SHIFT	4
-#define IAVF_FCOE_FILTER_CTX_QW0_DMAINDX_MASK	(0xFFF << \
-					IAVF_FCOE_FILTER_CTX_QW0_DMAINDX_SHIFT)
-
-enum iavf_fcoe_filter_ctx_desc_flags_bits {
-	IAVF_FCOE_FILTER_CTX_DESC_CTYP_DDP	= 0x00,
-	IAVF_FCOE_FILTER_CTX_DESC_CTYP_DWO	= 0x01,
-	IAVF_FCOE_FILTER_CTX_DESC_ENODE_INIT	= 0x00,
-	IAVF_FCOE_FILTER_CTX_DESC_ENODE_RSP	= 0x02,
-	IAVF_FCOE_FILTER_CTX_DESC_FC_CLASS2	= 0x00,
-	IAVF_FCOE_FILTER_CTX_DESC_FC_CLASS3	= 0x04
-};
-
-#define IAVF_FCOE_FILTER_CTX_QW1_FLAGS_SHIFT	0
-#define IAVF_FCOE_FILTER_CTX_QW1_FLAGS_MASK	(0xFFULL << \
-					IAVF_FCOE_FILTER_CTX_QW1_FLAGS_SHIFT)
-
-#define IAVF_FCOE_FILTER_CTX_QW1_PCTYPE_SHIFT     8
-#define IAVF_FCOE_FILTER_CTX_QW1_PCTYPE_MASK      (0x3FULL << \
-			IAVF_FCOE_FILTER_CTX_QW1_PCTYPE_SHIFT)
-
-#define IAVF_FCOE_FILTER_CTX_QW1_LANQINDX_SHIFT     53
-#define IAVF_FCOE_FILTER_CTX_QW1_LANQINDX_MASK      (0x7FFULL << \
-			IAVF_FCOE_FILTER_CTX_QW1_LANQINDX_SHIFT)
-
-enum iavf_switch_element_types {
-	IAVF_SWITCH_ELEMENT_TYPE_MAC	= 1,
-	IAVF_SWITCH_ELEMENT_TYPE_PF	= 2,
-	IAVF_SWITCH_ELEMENT_TYPE_VF	= 3,
-	IAVF_SWITCH_ELEMENT_TYPE_EMP	= 4,
-	IAVF_SWITCH_ELEMENT_TYPE_BMC	= 6,
-	IAVF_SWITCH_ELEMENT_TYPE_PE	= 16,
-	IAVF_SWITCH_ELEMENT_TYPE_VEB	= 17,
-	IAVF_SWITCH_ELEMENT_TYPE_PA	= 18,
-	IAVF_SWITCH_ELEMENT_TYPE_VSI	= 19,
-};
-
-/* Supported EtherType filters */
-enum iavf_ether_type_index {
-	IAVF_ETHER_TYPE_1588		= 0,
-	IAVF_ETHER_TYPE_FIP		= 1,
-	IAVF_ETHER_TYPE_OUI_EXTENDED	= 2,
-	IAVF_ETHER_TYPE_MAC_CONTROL	= 3,
-	IAVF_ETHER_TYPE_LLDP		= 4,
-	IAVF_ETHER_TYPE_EVB_PROTOCOL1	= 5,
-	IAVF_ETHER_TYPE_EVB_PROTOCOL2	= 6,
-	IAVF_ETHER_TYPE_QCN_CNM		= 7,
-	IAVF_ETHER_TYPE_8021X		= 8,
-	IAVF_ETHER_TYPE_ARP		= 9,
-	IAVF_ETHER_TYPE_RSV1		= 10,
-	IAVF_ETHER_TYPE_RSV2		= 11,
-};
-
-/* Filter context base size is 1K */
-#define IAVF_HASH_FILTER_BASE_SIZE	1024
-/* Supported Hash filter values */
-enum iavf_hash_filter_size {
-	IAVF_HASH_FILTER_SIZE_1K	= 0,
-	IAVF_HASH_FILTER_SIZE_2K	= 1,
-	IAVF_HASH_FILTER_SIZE_4K	= 2,
-	IAVF_HASH_FILTER_SIZE_8K	= 3,
-	IAVF_HASH_FILTER_SIZE_16K	= 4,
-	IAVF_HASH_FILTER_SIZE_32K	= 5,
-	IAVF_HASH_FILTER_SIZE_64K	= 6,
-	IAVF_HASH_FILTER_SIZE_128K	= 7,
-	IAVF_HASH_FILTER_SIZE_256K	= 8,
-	IAVF_HASH_FILTER_SIZE_512K	= 9,
-	IAVF_HASH_FILTER_SIZE_1M	= 10,
-};
-
-/* DMA context base size is 0.5K */
-#define IAVF_DMA_CNTX_BASE_SIZE		512
-/* Supported DMA context values */
-enum iavf_dma_cntx_size {
-	IAVF_DMA_CNTX_SIZE_512		= 0,
-	IAVF_DMA_CNTX_SIZE_1K		= 1,
-	IAVF_DMA_CNTX_SIZE_2K		= 2,
-	IAVF_DMA_CNTX_SIZE_4K		= 3,
-	IAVF_DMA_CNTX_SIZE_8K		= 4,
-	IAVF_DMA_CNTX_SIZE_16K		= 5,
-	IAVF_DMA_CNTX_SIZE_32K		= 6,
-	IAVF_DMA_CNTX_SIZE_64K		= 7,
-	IAVF_DMA_CNTX_SIZE_128K		= 8,
-	IAVF_DMA_CNTX_SIZE_256K		= 9,
-};
-
-/* Supported Hash look up table (LUT) sizes */
-enum iavf_hash_lut_size {
-	IAVF_HASH_LUT_SIZE_128		= 0,
-	IAVF_HASH_LUT_SIZE_512		= 1,
-};
-
-/* Structure to hold a per PF filter control settings */
-struct iavf_filter_control_settings {
-	/* number of PE Quad Hash filter buckets */
-	enum iavf_hash_filter_size pe_filt_num;
-	/* number of PE Quad Hash contexts */
-	enum iavf_dma_cntx_size pe_cntx_num;
-	/* number of FCoE filter buckets */
-	enum iavf_hash_filter_size fcoe_filt_num;
-	/* number of FCoE DDP contexts */
-	enum iavf_dma_cntx_size fcoe_cntx_num;
-	/* size of the Hash LUT */
-	enum iavf_hash_lut_size	hash_lut_size;
-	/* enable FDIR filters for PF and its VFs */
-	bool enable_fdir;
-	/* enable Ethertype filters for PF and its VFs */
-	bool enable_ethtype;
-	/* enable MAC/VLAN filters for PF and its VFs */
-	bool enable_macvlan;
-};
-
-/* Structure to hold device level control filter counts */
-struct iavf_control_filter_stats {
-	u16 mac_etype_used;   /* Used perfect match MAC/EtherType filters */
-	u16 etype_used;       /* Used perfect EtherType filters */
-	u16 mac_etype_free;   /* Un-used perfect match MAC/EtherType filters */
-	u16 etype_free;       /* Un-used perfect EtherType filters */
-};
-
-enum iavf_reset_type {
-	IAVF_RESET_POR		= 0,
-	IAVF_RESET_CORER	= 1,
-	IAVF_RESET_GLOBR	= 2,
-	IAVF_RESET_EMPR		= 3,
-};
-
-/* IEEE 802.1AB LLDP Agent Variables from NVM */
-#define IAVF_NVM_LLDP_CFG_PTR   0x06
-#define IAVF_SR_LLDP_CFG_PTR    0x31
 struct iavf_lldp_variables {
 	u16 length;
 	u16 adminstatus;
@@ -1852,118 +995,13 @@ struct iavf_lldp_variables {
 #define IAVF_ALT_BW_RELATIVE_MASK	0x40000000
 #define IAVF_ALT_BW_VALID_MASK		0x80000000
 
-/* RSS Hash Table Size */
-#define IAVF_PFQF_CTL_0_HASHLUTSIZE_512	0x00010000
-
-/* INPUT SET MASK for RSS, flow director, and flexible payload */
-#define IAVF_L3_SRC_SHIFT		47
-#define IAVF_L3_SRC_MASK		(0x3ULL << IAVF_L3_SRC_SHIFT)
-#define IAVF_L3_V6_SRC_SHIFT		43
-#define IAVF_L3_V6_SRC_MASK		(0xFFULL << IAVF_L3_V6_SRC_SHIFT)
-#define IAVF_L3_DST_SHIFT		35
-#define IAVF_L3_DST_MASK		(0x3ULL << IAVF_L3_DST_SHIFT)
-#define IAVF_L3_V6_DST_SHIFT		35
-#define IAVF_L3_V6_DST_MASK		(0xFFULL << IAVF_L3_V6_DST_SHIFT)
-#define IAVF_L4_SRC_SHIFT		34
-#define IAVF_L4_SRC_MASK		(0x1ULL << IAVF_L4_SRC_SHIFT)
-#define IAVF_L4_DST_SHIFT		33
-#define IAVF_L4_DST_MASK		(0x1ULL << IAVF_L4_DST_SHIFT)
-#define IAVF_VERIFY_TAG_SHIFT		31
-#define IAVF_VERIFY_TAG_MASK		(0x3ULL << IAVF_VERIFY_TAG_SHIFT)
-
-#define IAVF_FLEX_50_SHIFT		13
-#define IAVF_FLEX_50_MASK		(0x1ULL << IAVF_FLEX_50_SHIFT)
-#define IAVF_FLEX_51_SHIFT		12
-#define IAVF_FLEX_51_MASK		(0x1ULL << IAVF_FLEX_51_SHIFT)
-#define IAVF_FLEX_52_SHIFT		11
-#define IAVF_FLEX_52_MASK		(0x1ULL << IAVF_FLEX_52_SHIFT)
-#define IAVF_FLEX_53_SHIFT		10
-#define IAVF_FLEX_53_MASK		(0x1ULL << IAVF_FLEX_53_SHIFT)
-#define IAVF_FLEX_54_SHIFT		9
-#define IAVF_FLEX_54_MASK		(0x1ULL << IAVF_FLEX_54_SHIFT)
-#define IAVF_FLEX_55_SHIFT		8
-#define IAVF_FLEX_55_MASK		(0x1ULL << IAVF_FLEX_55_SHIFT)
-#define IAVF_FLEX_56_SHIFT		7
-#define IAVF_FLEX_56_MASK		(0x1ULL << IAVF_FLEX_56_SHIFT)
-#define IAVF_FLEX_57_SHIFT		6
-#define IAVF_FLEX_57_MASK		(0x1ULL << IAVF_FLEX_57_SHIFT)
-
-/* Version format for Dynamic Device Personalization(DDP) */
-struct iavf_ddp_version {
-	u8 major;
-	u8 minor;
-	u8 update;
-	u8 draft;
-};
-
-#define IAVF_DDP_NAME_SIZE	32
-
-/* Package header */
-struct iavf_package_header {
-	struct iavf_ddp_version version;
-	u32 segment_count;
-	u32 segment_offset[1];
-};
-
-/* Generic segment header */
-struct iavf_generic_seg_header {
-#define SEGMENT_TYPE_METADATA	0x00000001
-#define SEGMENT_TYPE_NOTES	0x00000002
-#define SEGMENT_TYPE_IAVF	0x00000011
-#define SEGMENT_TYPE_X722	0x00000012
-	u32 type;
-	struct iavf_ddp_version version;
-	u32 size;
-	char name[IAVF_DDP_NAME_SIZE];
-};
-
-struct iavf_metadata_segment {
-	struct iavf_generic_seg_header header;
-	struct iavf_ddp_version version;
 #define IAVF_DDP_TRACKID_RDONLY		0
 #define IAVF_DDP_TRACKID_INVALID	0xFFFFFFFF
-	u32 track_id;
-	char name[IAVF_DDP_NAME_SIZE];
-};
-
-struct iavf_device_id_entry {
-	u32 vendor_dev_id;
-	u32 sub_vendor_dev_id;
-};
-
-struct iavf_profile_segment {
-	struct iavf_generic_seg_header header;
-	struct iavf_ddp_version version;
-	char name[IAVF_DDP_NAME_SIZE];
-	u32 device_table_count;
-	struct iavf_device_id_entry device_table[1];
-};
-
-struct iavf_section_table {
-	u32 section_count;
-	u32 section_offset[1];
-};
-
-struct iavf_profile_section_header {
-	u16 tbl_size;
-	u16 data_end;
-	struct {
-#define SECTION_TYPE_INFO	0x00000010
-#define SECTION_TYPE_MMIO	0x00000800
 #define SECTION_TYPE_RB_MMIO	0x00001800
-#define SECTION_TYPE_AQ		0x00000801
 #define SECTION_TYPE_RB_AQ	0x00001801
-#define SECTION_TYPE_NOTE	0x80000000
-#define SECTION_TYPE_NAME	0x80000001
 #define SECTION_TYPE_PROTO	0x80000002
 #define SECTION_TYPE_PCTYPE	0x80000003
 #define SECTION_TYPE_PTYPE	0x80000004
-		u32 type;
-		u32 offset;
-		u32 size;
-	} section;
-};
-
 struct iavf_profile_tlv_section_record {
 	u8 rtype;
 	u8 type;
@@ -1980,13 +1018,4 @@ struct iavf_profile_aq_section {
 	u8  data[1];
 };
 
-struct iavf_profile_info {
-	u32 track_id;
-	struct iavf_ddp_version version;
-	u8 op;
-#define IAVF_DDP_ADD_TRACKID		0x01
-#define IAVF_DDP_REMOVE_TRACKID	0x02
-	u8 reserved[7];
-	u8 name[IAVF_DDP_NAME_SIZE];
-};
 #endif /* _IAVF_TYPE_H_ */
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 06/17] net/iavf/base: remove unnecessary compile option
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (4 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 05/17] net/iavf/base: remove unused code Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 07/17] net/iavf/base: rename functions Qi Zhang
                   ` (11 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Remove compile option INTEGRATED_VF.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c | 19 -------------------
 drivers/net/iavf/base/iavf_common.c |  9 ++-------
 drivers/net/iavf/base/iavf_type.h   |  8 --------
 3 files changed, 2 insertions(+), 34 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index 68c51daac..ef352ac4c 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -262,14 +262,8 @@ STATIC enum iavf_status iavf_config_asq_regs(struct iavf_hw *hw)
 	wr32(hw, hw->aq.asq.tail, 0);
 
 	/* set starting point */
-#ifdef INTEGRATED_VF
-	if (iavf_is_vf(hw))
-		wr32(hw, hw->aq.asq.len, (hw->aq.num_asq_entries |
-					  IAVF_VF_ATQLEN1_ATQENABLE_MASK));
-#else
 	wr32(hw, hw->aq.asq.len, (hw->aq.num_asq_entries |
 				  IAVF_VF_ATQLEN1_ATQENABLE_MASK));
-#endif /* INTEGRATED_VF */
 	wr32(hw, hw->aq.asq.bal, IAVF_LO_DWORD(hw->aq.asq.desc_buf.pa));
 	wr32(hw, hw->aq.asq.bah, IAVF_HI_DWORD(hw->aq.asq.desc_buf.pa));
 
@@ -297,14 +291,8 @@ STATIC enum iavf_status iavf_config_arq_regs(struct iavf_hw *hw)
 	wr32(hw, hw->aq.arq.tail, 0);
 
 	/* set starting point */
-#ifdef INTEGRATED_VF
-	if (iavf_is_vf(hw))
-		wr32(hw, hw->aq.arq.len, (hw->aq.num_arq_entries |
-					  IAVF_VF_ARQLEN1_ARQENABLE_MASK));
-#else
 	wr32(hw, hw->aq.arq.len, (hw->aq.num_arq_entries |
 				  IAVF_VF_ARQLEN1_ARQENABLE_MASK));
-#endif /* INTEGRATED_VF */
 	wr32(hw, hw->aq.arq.bal, IAVF_LO_DWORD(hw->aq.arq.desc_buf.pa));
 	wr32(hw, hw->aq.arq.bah, IAVF_HI_DWORD(hw->aq.arq.desc_buf.pa));
 
@@ -897,14 +885,7 @@ enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
 	}
 
 	/* set next_to_use to head */
-#ifdef INTEGRATED_VF
-	if (!iavf_is_vf(hw))
-		ntu = rd32(hw, hw->aq.arq.head) & IAVF_PF_ARQH_ARQH_MASK;
-	else
-		ntu = rd32(hw, hw->aq.arq.head) & IAVF_VF_ARQH1_ARQH_MASK;
-#else
 	ntu = rd32(hw, hw->aq.arq.head) & IAVF_VF_ARQH1_ARQH_MASK;
-#endif /* INTEGRATED_VF */
 	if (ntu == ntc) {
 		/* nothing to do - shouldn't need to update ring's values */
 		ret_code = IAVF_ERR_ADMIN_QUEUE_NO_WORK;
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index 926081e87..53e877732 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -331,15 +331,10 @@ void iavf_debug_aq(struct iavf_hw *hw, enum iavf_debug_mask mask, void *desc,
 bool iavf_check_asq_alive(struct iavf_hw *hw)
 {
 	if (hw->aq.asq.len)
-#ifdef INTEGRATED_VF
-		if (iavf_is_vf(hw))
-			return !!(rd32(hw, hw->aq.asq.len) &
-				IAVF_VF_ATQLEN1_ATQENABLE_MASK);
-#else
 		return !!(rd32(hw, hw->aq.asq.len) &
 			IAVF_VF_ATQLEN1_ATQENABLE_MASK);
-#endif /* INTEGRATED_VF */
-	return false;
+	else
+		return false;
 }
 
 /**
diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index 487352f51..c1910ff75 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -20,14 +20,8 @@
 #define UNREFERENCED_4PARAMETER(_p, _q, _r, _s) (_p); (_q); (_r); (_s);
 #define UNREFERENCED_5PARAMETER(_p, _q, _r, _s, _t) (_p); (_q); (_r); (_s); (_t);
 
-#ifndef LINUX_MACROS
-#ifndef BIT
 #define BIT(a) (1UL << (a))
-#endif /* BIT */
-#ifndef BIT_ULL
 #define BIT_ULL(a) (1ULL << (a))
-#endif /* BIT_ULL */
-#endif /* LINUX_MACROS */
 
 /* IAVF_MASK is a macro used on 32 bit registers */
 #define IAVF_MASK(mask, shift) (mask << shift)
@@ -56,9 +50,7 @@
 struct iavf_hw;
 typedef void (*IAVF_ADMINQ_CALLBACK)(struct iavf_hw *, struct iavf_aq_desc *);
 
-#ifndef ETH_ALEN
 #define ETH_ALEN	6
-#endif
 /* Data type manipulation macros. */
 #define IAVF_HI_DWORD(x)	((u32)((((x) >> 16) >> 16) & 0xFFFFFFFF))
 #define IAVF_LO_DWORD(x)	((u32)((x) & 0xFFFFFFFF))
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 07/17] net/iavf/base: rename functions
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (5 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 06/17] net/iavf/base: remove unnecessary compile option Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 08/17] net/iavf/base: update virtual channel Qi Zhang
                   ` (10 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Rename iavf_parse_hw_config to iavf_vf_parse_hw_config.
Rename iavf_reset to iavf_vf_reset.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_common.c    | 8 ++++----
 drivers/net/iavf/base/iavf_prototype.h | 4 ++--
 drivers/net/iavf/iavf_vchnl.c          | 2 +-
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index 53e877732..b6e875440 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -955,14 +955,14 @@ enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 }
 
 /**
- * iavf_parse_hw_config
+ * iavf_vf_parse_hw_config
  * @hw: pointer to the hardware structure
  * @msg: pointer to the virtual channel VF resource structure
  *
  * Given a VF resource message from the PF, populate the hw struct
  * with appropriate information.
  **/
-void iavf_parse_hw_config(struct iavf_hw *hw,
+void iavf_vf_parse_hw_config(struct iavf_hw *hw,
 			     struct virtchnl_vf_resource *msg)
 {
 	struct virtchnl_vsi_resource *vsi_res;
@@ -991,14 +991,14 @@ void iavf_parse_hw_config(struct iavf_hw *hw,
 }
 
 /**
- * iavf_reset
+ * iavf_vf_reset
  * @hw: pointer to the hardware structure
  *
  * Send a VF_RESET message to the PF. Does not wait for response from PF
  * as none will be forthcoming. Immediately after calling this function,
  * the admin queue should be shut down and (optionally) reinitialized.
  **/
-enum iavf_status iavf_reset(struct iavf_hw *hw)
+enum iavf_status iavf_vf_reset(struct iavf_hw *hw)
 {
 	return iavf_aq_send_msg_to_pf(hw, VIRTCHNL_OP_RESET_VF,
 				      IAVF_SUCCESS, NULL, 0, NULL);
diff --git a/drivers/net/iavf/base/iavf_prototype.h b/drivers/net/iavf/base/iavf_prototype.h
index 5b61b43d9..36b5a17f8 100644
--- a/drivers/net/iavf/base/iavf_prototype.h
+++ b/drivers/net/iavf/base/iavf_prototype.h
@@ -76,9 +76,9 @@ void iavf_acquire_spinlock(struct iavf_spinlock *sp);
 void iavf_release_spinlock(struct iavf_spinlock *sp);
 void iavf_destroy_spinlock(struct iavf_spinlock *sp);
 
-void iavf_parse_hw_config(struct iavf_hw *hw,
+void iavf_vf_parse_hw_config(struct iavf_hw *hw,
 			     struct virtchnl_vf_resource *msg);
-enum iavf_status iavf_reset(struct iavf_hw *hw);
+enum iavf_status iavf_vf_reset(struct iavf_hw *hw);
 enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				enum virtchnl_ops v_opcode,
 				enum iavf_status v_retval,
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 4320a7f91..bf87ab611 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -363,7 +363,7 @@ iavf_get_vf_resource(struct iavf_adapter *adapter)
 	rte_memcpy(vf->vf_res, args.out_buffer,
 		   RTE_MIN(args.out_size, len));
 	/* parse  VF config message back from PF*/
-	iavf_parse_hw_config(hw, vf->vf_res);
+	iavf_vf_parse_hw_config(hw, vf->vf_res);
 	for (i = 0; i < vf->vf_res->num_vsis; i++) {
 		if (vf->vf_res->vsi_res[i].vsi_type == VIRTCHNL_VSI_SRIOV)
 			vf->vsi_res = &vf->vf_res->vsi_res[i];
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 08/17] net/iavf/base: update virtual channel
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (6 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 07/17] net/iavf/base: rename functions Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 09/17] net/iavf/base: adjust code indent Qi Zhang
                   ` (9 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Update virtual channel API to align with latest spec.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/virtchnl.h | 343 ++++++++++++++++++++++++++-------------
 1 file changed, 232 insertions(+), 111 deletions(-)

diff --git a/drivers/net/iavf/base/virtchnl.h b/drivers/net/iavf/base/virtchnl.h
index 50f7c8e49..1604f19e3 100644
--- a/drivers/net/iavf/base/virtchnl.h
+++ b/drivers/net/iavf/base/virtchnl.h
@@ -40,19 +40,27 @@
 /* Error Codes */
 enum virtchnl_status_code {
 	VIRTCHNL_STATUS_SUCCESS				= 0,
-	VIRTCHNL_ERR_PARAM				= -5,
+	VIRTCHNL_STATUS_ERR_PARAM			= -5,
+	VIRTCHNL_STATUS_ERR_NO_MEMORY			= -18,
 	VIRTCHNL_STATUS_ERR_OPCODE_MISMATCH		= -38,
 	VIRTCHNL_STATUS_ERR_CQP_COMPL_ERROR		= -39,
 	VIRTCHNL_STATUS_ERR_INVALID_VF_ID		= -40,
-	VIRTCHNL_STATUS_NOT_SUPPORTED			= -64,
+	VIRTCHNL_STATUS_ERR_ADMIN_QUEUE_ERROR		= -53,
+	VIRTCHNL_STATUS_ERR_NOT_SUPPORTED		= -64,
 };
 
+/* Backward compatibility */
+#define VIRTCHNL_ERR_PARAM VIRTCHNL_STATUS_ERR_PARAM
+#define VIRTCHNL_STATUS_NOT_SUPPORTED VIRTCHNL_STATUS_ERR_NOT_SUPPORTED
+
+#define VIRTCHNL_LINK_SPEED_2_5GB_SHIFT		0x0
 #define VIRTCHNL_LINK_SPEED_100MB_SHIFT		0x1
 #define VIRTCHNL_LINK_SPEED_1000MB_SHIFT	0x2
 #define VIRTCHNL_LINK_SPEED_10GB_SHIFT		0x3
 #define VIRTCHNL_LINK_SPEED_40GB_SHIFT		0x4
 #define VIRTCHNL_LINK_SPEED_20GB_SHIFT		0x5
 #define VIRTCHNL_LINK_SPEED_25GB_SHIFT		0x6
+#define VIRTCHNL_LINK_SPEED_5GB_SHIFT		0x7
 
 enum virtchnl_link_speed {
 	VIRTCHNL_LINK_SPEED_UNKNOWN	= 0,
@@ -62,6 +70,8 @@ enum virtchnl_link_speed {
 	VIRTCHNL_LINK_SPEED_40GB	= BIT(VIRTCHNL_LINK_SPEED_40GB_SHIFT),
 	VIRTCHNL_LINK_SPEED_20GB	= BIT(VIRTCHNL_LINK_SPEED_20GB_SHIFT),
 	VIRTCHNL_LINK_SPEED_25GB	= BIT(VIRTCHNL_LINK_SPEED_25GB_SHIFT),
+	VIRTCHNL_LINK_SPEED_2_5GB	= BIT(VIRTCHNL_LINK_SPEED_2_5GB_SHIFT),
+	VIRTCHNL_LINK_SPEED_5GB		= BIT(VIRTCHNL_LINK_SPEED_5GB_SHIFT),
 };
 
 /* for hsplit_0 field of Rx HMC context */
@@ -105,14 +115,8 @@ enum virtchnl_ops {
 	VIRTCHNL_OP_GET_STATS = 15,
 	VIRTCHNL_OP_RSVD = 16,
 	VIRTCHNL_OP_EVENT = 17, /* must ALWAYS be 17 */
-#ifdef VIRTCHNL_SOL_VF_SUPPORT
-	VIRTCHNL_OP_GET_ADDNL_SOL_CONFIG = 19,
-#endif
-#ifdef VIRTCHNL_IWARP
-	VIRTCHNL_OP_IWARP = 20, /* advanced opcode */
-	VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP = 21, /* advanced opcode */
-	VIRTCHNL_OP_RELEASE_IWARP_IRQ_MAP = 22, /* advanced opcode */
-#endif
+	/* opcode 19 is reserved */
+	/* opcodes 20, 21, and 22 are reserved */
 	VIRTCHNL_OP_CONFIG_RSS_KEY = 23,
 	VIRTCHNL_OP_CONFIG_RSS_LUT = 24,
 	VIRTCHNL_OP_GET_RSS_HENA_CAPS = 25,
@@ -120,16 +124,22 @@ enum virtchnl_ops {
 	VIRTCHNL_OP_ENABLE_VLAN_STRIPPING = 27,
 	VIRTCHNL_OP_DISABLE_VLAN_STRIPPING = 28,
 	VIRTCHNL_OP_REQUEST_QUEUES = 29,
-
+	VIRTCHNL_OP_ENABLE_CHANNELS = 30,
+	VIRTCHNL_OP_DISABLE_CHANNELS = 31,
+	VIRTCHNL_OP_ADD_CLOUD_FILTER = 32,
+	VIRTCHNL_OP_DEL_CLOUD_FILTER = 33,
+	/* opcodes 34, 35, 36, 37 and 38 are reserved */
 };
 
-/* This macro is used to generate a compilation error if a structure
+/* These macros are used to generate compilation errors if a structure/union
  * is not exactly the correct length. It gives a divide by zero error if the
- * structure is not of the correct size, otherwise it creates an enum that is
- * never used.
+ * structure/union is not of the correct size, otherwise it creates an enum
+ * that is never used.
  */
 #define VIRTCHNL_CHECK_STRUCT_LEN(n, X) enum virtchnl_static_assert_enum_##X \
-	{virtchnl_static_assert_##X = (n) / ((sizeof(struct X) == (n)) ? 1 : 0)}
+	{ virtchnl_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
+#define VIRTCHNL_CHECK_UNION_LEN(n, X) enum virtchnl_static_asset_enum_##X \
+	{ virtchnl_static_assert_##X = (n)/((sizeof(union X) == (n)) ? 1 : 0) }
 
 /* Virtual channel message descriptor. This overlays the admin queue
  * descriptor. All other data is passed in external buffers.
@@ -144,7 +154,7 @@ struct virtchnl_msg {
 
 VIRTCHNL_CHECK_STRUCT_LEN(20, virtchnl_msg);
 
-/* Message descriptions and data structures.*/
+/* Message descriptions and data structures. */
 
 /* VIRTCHNL_OP_VERSION
  * VF posts its version number to the PF. PF responds with its version number
@@ -222,6 +232,7 @@ VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource);
 #define VIRTCHNL_VF_OFFLOAD_RSS_REG		0x00000010
 #define VIRTCHNL_VF_OFFLOAD_WB_ON_ITR		0x00000020
 #define VIRTCHNL_VF_OFFLOAD_REQ_QUEUES		0x00000040
+#define VIRTCHNL_VF_OFFLOAD_CRC			0x00000080
 #define VIRTCHNL_VF_OFFLOAD_VLAN		0x00010000
 #define VIRTCHNL_VF_OFFLOAD_RX_POLLING		0x00020000
 #define VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2	0x00040000
@@ -229,9 +240,13 @@ VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_vsi_resource);
 #define VIRTCHNL_VF_OFFLOAD_ENCAP		0X00100000
 #define VIRTCHNL_VF_OFFLOAD_ENCAP_CSUM		0X00200000
 #define VIRTCHNL_VF_OFFLOAD_RX_ENCAP_CSUM	0X00400000
-/* Define below the capability flags that are not offloads */
-#define VIRTCHNL_VF_CAP_ADV_LINK_SPEED          0x00000080
+#define VIRTCHNL_VF_OFFLOAD_ADQ			0X00800000
+#define VIRTCHNL_VF_OFFLOAD_ADQ_V2		0X01000000
+#define VIRTCHNL_VF_OFFLOAD_USO			0X02000000
+	/* 0X80000000 is reserved */
 
+/* Define below the capability flags that are not offloads */
+#define VIRTCHNL_VF_CAP_ADV_LINK_SPEED		0x00000080
 #define VF_BASE_MODE_OFFLOADS (VIRTCHNL_VF_OFFLOAD_L2 | \
 			       VIRTCHNL_VF_OFFLOAD_VLAN | \
 			       VIRTCHNL_VF_OFFLOAD_RSS_PF)
@@ -262,9 +277,9 @@ struct virtchnl_txq_info {
 	u16 vsi_id;
 	u16 queue_id;
 	u16 ring_len;		/* number of descriptors, multiple of 8 */
-	u16 headwb_enabled; /* deprecated with IAVF 1.0 */
+	u16 headwb_enabled; /* deprecated with AVF 1.0 */
 	u64 dma_ring_addr;
-	u64 dma_headwb_addr; /* deprecated with IAVF 1.0 */
+	u64 dma_headwb_addr; /* deprecated with AVF 1.0 */
 };
 
 VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_txq_info);
@@ -272,7 +287,13 @@ VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_txq_info);
 /* VIRTCHNL_OP_CONFIG_RX_QUEUE
  * VF sends this message to set up parameters for one RX queue.
  * External data buffer contains one instance of virtchnl_rxq_info.
- * PF configures requested queue and returns a status code.
+ * PF configures requested queue and returns a status code. The
+ * crc_disable flag disables CRC stripping on the VF. Setting
+ * the crc_disable flag to 1 will disable CRC stripping for each
+ * queue in the VF where the flag is set. The VIRTCHNL_VF_OFFLOAD_CRC
+ * offload must have been set prior to sending this info or the PF
+ * will ignore the request. This flag should be set the same for
+ * all of the queues for a VF.
  */
 
 /* Rx queue config info */
@@ -281,23 +302,27 @@ struct virtchnl_rxq_info {
 	u16 queue_id;
 	u32 ring_len;		/* number of descriptors, multiple of 32 */
 	u16 hdr_size;
-	u16 splithdr_enabled; /* deprecated with IAVF 1.0 */
+	u16 splithdr_enabled; /* deprecated with AVF 1.0 */
 	u32 databuffer_size;
 	u32 max_pkt_size;
-	u32 pad1;
+	u8 crc_disable;
+	u8 pad1[3];
 	u64 dma_ring_addr;
-	enum virtchnl_rx_hsplit rx_split_pos; /* deprecated with IAVF 1.0 */
+	enum virtchnl_rx_hsplit rx_split_pos; /* deprecated with AVF 1.0 */
 	u32 pad2;
 };
 
 VIRTCHNL_CHECK_STRUCT_LEN(40, virtchnl_rxq_info);
 
 /* VIRTCHNL_OP_CONFIG_VSI_QUEUES
- * VF sends this message to set parameters for all active TX and RX queues
+ * VF sends this message to set parameters for active TX and RX queues
  * associated with the specified VSI.
  * PF configures queues and returns status.
  * If the number of queues specified is greater than the number of queues
  * associated with the VSI, an error is returned and no queues are configured.
+ * NOTE: The VF is not required to configure all queues in a single request.
+ * It may send multiple messages. PF drivers must correctly handle all VF
+ * requests.
  */
 struct virtchnl_queue_pair_info {
 	/* NOTE: vsi_id and queue_id should be identical for both queues. */
@@ -335,8 +360,13 @@ struct virtchnl_vf_res_request {
  * VF uses this message to map vectors to queues.
  * The rxq_map and txq_map fields are bitmaps used to indicate which queues
  * are to be associated with the specified vector.
- * The "other" causes are always mapped to vector 0.
+ * The "other" causes are always mapped to vector 0. The VF may not request
+ * that vector 0 be used for traffic.
  * PF configures interrupt mapping and returns status.
+ * NOTE: due to hardware requirements, all active queues (both TX and RX)
+ * should be mapped to interrupts, even if the driver intends to operate
+ * only in polling mode. In this case the interrupt may be disabled, but
+ * the ITR timer will still run to trigger writebacks.
  */
 struct virtchnl_vector_map {
 	u16 vsi_id;
@@ -363,6 +393,9 @@ VIRTCHNL_CHECK_STRUCT_LEN(14, virtchnl_irq_map_info);
  * (Currently, we only support 16 queues per VF, but we make the field
  * u32 to allow for expansion.)
  * PF performs requested action and returns status.
+ * NOTE: The VF is not required to enable/disable all queues in a single
+ * request. It may send multiple messages.
+ * PF drivers must correctly handle all VF requests.
  */
 struct virtchnl_queue_select {
 	u16 vsi_id;
@@ -400,23 +433,6 @@ struct virtchnl_ether_addr_list {
 
 VIRTCHNL_CHECK_STRUCT_LEN(12, virtchnl_ether_addr_list);
 
-#ifdef VIRTCHNL_SOL_VF_SUPPORT
-/* VIRTCHNL_OP_GET_ADDNL_SOL_CONFIG
- * VF sends this message to get the default MTU and list of additional ethernet
- * addresses it is allowed to use.
- * PF responds with an indirect message containing
- * virtchnl_addnl_solaris_config with zero or more
- * virtchnl_ether_addr structures.
- *
- * It is expected that this operation will only ever be needed for Solaris VFs
- * running under a Solaris PF.
- */
-struct virtchnl_addnl_solaris_config {
-	u16 default_mtu;
-	struct virtchnl_ether_addr_list al;
-};
-
-#endif
 /* VIRTCHNL_OP_ADD_VLAN
  * VF sends this message to add one or more VLAN tag filters for receives.
  * PF adds the filters and returns status.
@@ -469,7 +485,7 @@ struct virtchnl_eth_stats {
 	u64 rx_broadcast;		/* received broadcast pkts */
 	u64 rx_discards;
 	u64 rx_unknown_protocol;
-	u64 tx_bytes;			/* transmitted bytes*/
+	u64 tx_bytes;			/* transmitted bytes */
 	u64 tx_unicast;			/* transmitted unicast pkts */
 	u64 tx_multicast;		/* transmitted multicast pkts */
 	u64 tx_broadcast;		/* transmitted broadcast pkts */
@@ -515,6 +531,95 @@ struct virtchnl_rss_hena {
 
 VIRTCHNL_CHECK_STRUCT_LEN(8, virtchnl_rss_hena);
 
+/* This is used by PF driver to enforce how many channels can be supported.
+ * When ADQ_V2 capability is negotiated, it will allow 16 channels otherwise
+ * PF driver will allow only max 4 channels
+ */
+#define VIRTCHNL_MAX_ADQ_CHANNELS 4
+#define VIRTCHNL_MAX_ADQ_V2_CHANNELS 16
+
+/* VIRTCHNL_OP_ENABLE_CHANNELS
+ * VIRTCHNL_OP_DISABLE_CHANNELS
+ * VF sends these messages to enable or disable channels based on
+ * the user specified queue count and queue offset for each traffic class.
+ * This struct encompasses all the information that the PF needs from
+ * VF to create a channel.
+ */
+struct virtchnl_channel_info {
+	u16 count; /* number of queues in a channel */
+	u16 offset; /* queues in a channel start from 'offset' */
+	u32 pad;
+	u64 max_tx_rate;
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_channel_info);
+
+struct virtchnl_tc_info {
+	u32	num_tc;
+	u32	pad;
+	struct	virtchnl_channel_info list[1];
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_tc_info);
+
+/* VIRTCHNL_ADD_CLOUD_FILTER
+ * VIRTCHNL_DEL_CLOUD_FILTER
+ * VF sends these messages to add or delete a cloud filter based on the
+ * user specified match and action filters. These structures encompass
+ * all the information that the PF needs from the VF to add/delete a
+ * cloud filter.
+ */
+
+struct virtchnl_l4_spec {
+	u8	src_mac[ETH_ALEN];
+	u8	dst_mac[ETH_ALEN];
+	/* vlan_prio is part of this 16 bit field even from OS perspective
+	 * vlan_id:12 is actual vlan_id, then vlanid:bit14..12 is vlan_prio
+	 * in future, when decided to offload vlan_prio, pass that information
+	 * as part of the "vlan_id" field, Bit14..12
+	 */
+	__be16	vlan_id;
+	__be16	pad; /* reserved for future use */
+	__be32	src_ip[4];
+	__be32	dst_ip[4];
+	__be16	src_port;
+	__be16	dst_port;
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(52, virtchnl_l4_spec);
+
+union virtchnl_flow_spec {
+	struct	virtchnl_l4_spec tcp_spec;
+	u8	buffer[128]; /* reserved for future use */
+};
+
+VIRTCHNL_CHECK_UNION_LEN(128, virtchnl_flow_spec);
+
+enum virtchnl_action {
+	/* action types */
+	VIRTCHNL_ACTION_DROP = 0,
+	VIRTCHNL_ACTION_TC_REDIRECT,
+};
+
+enum virtchnl_flow_type {
+	/* flow types */
+	VIRTCHNL_TCP_V4_FLOW = 0,
+	VIRTCHNL_TCP_V6_FLOW,
+	VIRTCHNL_UDP_V4_FLOW,
+	VIRTCHNL_UDP_V6_FLOW,
+};
+
+struct virtchnl_filter {
+	union	virtchnl_flow_spec data;
+	union	virtchnl_flow_spec mask;
+	enum	virtchnl_flow_type flow_type;
+	enum	virtchnl_action action;
+	u32	action_meta;
+	u8	field_flags;
+};
+
+VIRTCHNL_CHECK_STRUCT_LEN(272, virtchnl_filter);
+
 /* VIRTCHNL_OP_EVENT
  * PF sends this message to inform the VF driver of events that may affect it.
  * No direct response is expected from the VF, though it may generate other
@@ -559,44 +664,33 @@ struct virtchnl_pf_event {
 
 VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_pf_event);
 
-#ifdef VIRTCHNL_IWARP
-
-/* VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP
- * VF uses this message to request PF to map IWARP vectors to IWARP queues.
- * The request for this originates from the VF IWARP driver through
- * a client interface between VF LAN and VF IWARP driver.
- * A vector could have an AEQ and CEQ attached to it although
- * there is a single AEQ per VF IWARP instance in which case
- * most vectors will have an INVALID_IDX for aeq and valid idx for ceq.
- * There will never be a case where there will be multiple CEQs attached
- * to a single vector.
- * PF configures interrupt mapping and returns status.
- */
 
-/* HW does not define a type value for AEQ; only for RX/TX and CEQ.
- * In order for us to keep the interface simple, SW will define a
- * unique type value for AEQ.
+/* Since VF messages are limited by u16 size, precalculate the maximum possible
+ * values of nested elements in virtchnl structures that virtual channel can
+ * possibly handle in a single message.
  */
-#define QUEUE_TYPE_PE_AEQ  0x80
-#define QUEUE_INVALID_IDX  0xFFFF
+enum virtchnl_vector_limits {
+	VIRTCHNL_OP_CONFIG_VSI_QUEUES_MAX	=
+		((u16)(~0) - sizeof(struct virtchnl_vsi_queue_config_info)) /
+		sizeof(struct virtchnl_queue_pair_info),
 
-struct virtchnl_iwarp_qv_info {
-	u32 v_idx; /* msix_vector */
-	u16 ceq_idx;
-	u16 aeq_idx;
-	u8 itr_idx;
-};
+	VIRTCHNL_OP_CONFIG_IRQ_MAP_MAX		=
+		((u16)(~0) - sizeof(struct virtchnl_irq_map_info)) /
+		sizeof(struct virtchnl_vector_map),
 
-VIRTCHNL_CHECK_STRUCT_LEN(12, virtchnl_iwarp_qv_info);
+	VIRTCHNL_OP_ADD_DEL_ETH_ADDR_MAX	=
+		((u16)(~0) - sizeof(struct virtchnl_ether_addr_list)) /
+		sizeof(struct virtchnl_ether_addr),
 
-struct virtchnl_iwarp_qvlist_info {
-	u32 num_vectors;
-	struct virtchnl_iwarp_qv_info qv_info[1];
-};
+	VIRTCHNL_OP_ADD_DEL_VLAN_MAX		=
+		((u16)(~0) - sizeof(struct virtchnl_vlan_filter_list)) /
+		sizeof(u16),
 
-VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_iwarp_qvlist_info);
 
-#endif
+	VIRTCHNL_OP_ENABLE_CHANNELS_MAX		=
+		((u16)(~0) - sizeof(struct virtchnl_tc_info)) /
+		sizeof(struct virtchnl_channel_info),
+};
 
 /* VF reset states - these are written into the RSTAT register:
  * VFGEN_RSTAT on the VF
@@ -653,11 +747,16 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 		if (msglen >= valid_len) {
 			struct virtchnl_vsi_queue_config_info *vqc =
 			    (struct virtchnl_vsi_queue_config_info *)msg;
+
+			if (vqc->num_queue_pairs == 0 || vqc->num_queue_pairs >
+			    VIRTCHNL_OP_CONFIG_VSI_QUEUES_MAX) {
+				err_msg_format = true;
+				break;
+			}
+
 			valid_len += (vqc->num_queue_pairs *
 				      sizeof(struct
 					     virtchnl_queue_pair_info));
-			if (vqc->num_queue_pairs == 0)
-				err_msg_format = true;
 		}
 		break;
 	case VIRTCHNL_OP_CONFIG_IRQ_MAP:
@@ -665,10 +764,15 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 		if (msglen >= valid_len) {
 			struct virtchnl_irq_map_info *vimi =
 			    (struct virtchnl_irq_map_info *)msg;
+
+			if (vimi->num_vectors == 0 || vimi->num_vectors >
+			    VIRTCHNL_OP_CONFIG_IRQ_MAP_MAX) {
+				err_msg_format = true;
+				break;
+			}
+
 			valid_len += (vimi->num_vectors *
 				      sizeof(struct virtchnl_vector_map));
-			if (vimi->num_vectors == 0)
-				err_msg_format = true;
 		}
 		break;
 	case VIRTCHNL_OP_ENABLE_QUEUES:
@@ -681,10 +785,15 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 		if (msglen >= valid_len) {
 			struct virtchnl_ether_addr_list *veal =
 			    (struct virtchnl_ether_addr_list *)msg;
+
+			if (veal->num_elements == 0 || veal->num_elements >
+			    VIRTCHNL_OP_ADD_DEL_ETH_ADDR_MAX) {
+				err_msg_format = true;
+				break;
+			}
+
 			valid_len += veal->num_elements *
 			    sizeof(struct virtchnl_ether_addr);
-			if (veal->num_elements == 0)
-				err_msg_format = true;
 		}
 		break;
 	case VIRTCHNL_OP_ADD_VLAN:
@@ -693,9 +802,14 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 		if (msglen >= valid_len) {
 			struct virtchnl_vlan_filter_list *vfl =
 			    (struct virtchnl_vlan_filter_list *)msg;
-			valid_len += vfl->num_elements * sizeof(u16);
-			if (vfl->num_elements == 0)
+
+			if (vfl->num_elements == 0 || vfl->num_elements >
+			    VIRTCHNL_OP_ADD_DEL_VLAN_MAX) {
 				err_msg_format = true;
+				break;
+			}
+
+			valid_len += vfl->num_elements * sizeof(u16);
 		}
 		break;
 	case VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE:
@@ -704,38 +818,17 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 	case VIRTCHNL_OP_GET_STATS:
 		valid_len = sizeof(struct virtchnl_queue_select);
 		break;
-#ifdef VIRTCHNL_IWARP
-	case VIRTCHNL_OP_IWARP:
-		/* These messages are opaque to us and will be validated in
-		 * the RDMA client code. We just need to check for nonzero
-		 * length. The firmware will enforce max length restrictions.
-		 */
-		if (msglen)
-			valid_len = msglen;
-		else
-			err_msg_format = true;
-		break;
-	case VIRTCHNL_OP_RELEASE_IWARP_IRQ_MAP:
-		break;
-	case VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP:
-		valid_len = sizeof(struct virtchnl_iwarp_qvlist_info);
-		if (msglen >= valid_len) {
-			struct virtchnl_iwarp_qvlist_info *qv =
-				(struct virtchnl_iwarp_qvlist_info *)msg;
-			if (qv->num_vectors == 0) {
-				err_msg_format = true;
-				break;
-			}
-			valid_len += ((qv->num_vectors - 1) *
-				sizeof(struct virtchnl_iwarp_qv_info));
-		}
-		break;
-#endif
 	case VIRTCHNL_OP_CONFIG_RSS_KEY:
 		valid_len = sizeof(struct virtchnl_rss_key);
 		if (msglen >= valid_len) {
 			struct virtchnl_rss_key *vrk =
 				(struct virtchnl_rss_key *)msg;
+
+			if (vrk->key_len == 0) {
+				/* zero length is allowed as input */
+				break;
+			}
+
 			valid_len += vrk->key_len - 1;
 		}
 		break;
@@ -744,6 +837,12 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 		if (msglen >= valid_len) {
 			struct virtchnl_rss_lut *vrl =
 				(struct virtchnl_rss_lut *)msg;
+
+			if (vrl->lut_entries == 0) {
+				/* zero entries is allowed as input */
+				break;
+			}
+
 			valid_len += vrl->lut_entries - 1;
 		}
 		break;
@@ -758,11 +857,33 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,
 	case VIRTCHNL_OP_REQUEST_QUEUES:
 		valid_len = sizeof(struct virtchnl_vf_res_request);
 		break;
+	case VIRTCHNL_OP_ENABLE_CHANNELS:
+		valid_len = sizeof(struct virtchnl_tc_info);
+		if (msglen >= valid_len) {
+			struct virtchnl_tc_info *vti =
+				(struct virtchnl_tc_info *)msg;
+
+			if (vti->num_tc == 0 || vti->num_tc >
+			    VIRTCHNL_OP_ENABLE_CHANNELS_MAX) {
+				err_msg_format = true;
+				break;
+			}
+
+			valid_len += (vti->num_tc - 1) *
+				     sizeof(struct virtchnl_channel_info);
+		}
+		break;
+	case VIRTCHNL_OP_DISABLE_CHANNELS:
+		break;
+	case VIRTCHNL_OP_ADD_CLOUD_FILTER:
+	case VIRTCHNL_OP_DEL_CLOUD_FILTER:
+		valid_len = sizeof(struct virtchnl_filter);
+		break;
 	/* These are always errors coming from the VF. */
 	case VIRTCHNL_OP_EVENT:
 	case VIRTCHNL_OP_UNKNOWN:
 	default:
-		return VIRTCHNL_ERR_PARAM;
+		return VIRTCHNL_STATUS_ERR_PARAM;
 	}
 	/* few more checks */
 	if (err_msg_format || valid_len != msglen)
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 09/17] net/iavf/base: adjust code indent
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (7 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 08/17] net/iavf/base: update virtual channel Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 10/17] net/iavf/base: increase max VSI count for VFs Qi Zhang
                   ` (8 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Adjust the indent in function and macro defination.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_alloc.h     | 14 +++++++-------
 drivers/net/iavf/base/iavf_common.c    | 22 +++++++++++-----------
 drivers/net/iavf/base/iavf_prototype.h | 16 ++++++++--------
 drivers/net/iavf/base/iavf_type.h      | 19 ++++++++++---------
 4 files changed, 36 insertions(+), 35 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_alloc.h b/drivers/net/iavf/base/iavf_alloc.h
index da872bdbb..a409bb099 100644
--- a/drivers/net/iavf/base/iavf_alloc.h
+++ b/drivers/net/iavf/base/iavf_alloc.h
@@ -22,15 +22,15 @@ enum iavf_memory_type {
 
 /* prototype for functions used for dynamic memory allocation */
 enum iavf_status iavf_allocate_dma_mem(struct iavf_hw *hw,
-					    struct iavf_dma_mem *mem,
-					    enum iavf_memory_type type,
-					    u64 size, u32 alignment);
+				       struct iavf_dma_mem *mem,
+				       enum iavf_memory_type type,
+				       u64 size, u32 alignment);
 enum iavf_status iavf_free_dma_mem(struct iavf_hw *hw,
-					struct iavf_dma_mem *mem);
+				   struct iavf_dma_mem *mem);
 enum iavf_status iavf_allocate_virt_mem(struct iavf_hw *hw,
-					     struct iavf_virt_mem *mem,
-					     u32 size);
+					struct iavf_virt_mem *mem,
+					u32 size);
 enum iavf_status iavf_free_virt_mem(struct iavf_hw *hw,
-					 struct iavf_virt_mem *mem);
+				    struct iavf_virt_mem *mem);
 
 #endif /* _IAVF_ALLOC_H_ */
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index b6e875440..c2c1fd1e4 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -346,7 +346,7 @@ bool iavf_check_asq_alive(struct iavf_hw *hw)
  * or not the driver is unloading as well.
  **/
 enum iavf_status iavf_aq_queue_shutdown(struct iavf_hw *hw,
-					     bool unloading)
+					bool unloading)
 {
 	struct iavf_aq_desc desc;
 	struct iavf_aqc_queue_shutdown *cmd =
@@ -375,9 +375,9 @@ enum iavf_status iavf_aq_queue_shutdown(struct iavf_hw *hw,
  * Internal function to get or set RSS look up table
  **/
 STATIC enum iavf_status iavf_aq_get_set_rss_lut(struct iavf_hw *hw,
-						     u16 vsi_id, bool pf_lut,
-						     u8 *lut, u16 lut_size,
-						     bool set)
+						u16 vsi_id, bool pf_lut,
+						u8 *lut, u16 lut_size,
+						bool set)
 {
 	enum iavf_status status;
 	struct iavf_aq_desc desc;
@@ -428,7 +428,7 @@ STATIC enum iavf_status iavf_aq_get_set_rss_lut(struct iavf_hw *hw,
  * get the RSS lookup table, PF or VSI type
  **/
 enum iavf_status iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 vsi_id,
-					  bool pf_lut, u8 *lut, u16 lut_size)
+				     bool pf_lut, u8 *lut, u16 lut_size)
 {
 	return iavf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size,
 				       false);
@@ -445,7 +445,7 @@ enum iavf_status iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 vsi_id,
  * set the RSS lookup table, PF or VSI type
  **/
 enum iavf_status iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 vsi_id,
-					  bool pf_lut, u8 *lut, u16 lut_size)
+				     bool pf_lut, u8 *lut, u16 lut_size)
 {
 	return iavf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size, true);
 }
@@ -500,8 +500,8 @@ STATIC enum iavf_status iavf_aq_get_set_rss_key(struct iavf_hw *hw,
  *
  **/
 enum iavf_status iavf_aq_get_rss_key(struct iavf_hw *hw,
-				      u16 vsi_id,
-				      struct iavf_aqc_get_set_rss_key_data *key)
+				     u16 vsi_id,
+				     struct iavf_aqc_get_set_rss_key_data *key)
 {
 	return iavf_aq_get_set_rss_key(hw, vsi_id, key, false);
 }
@@ -515,8 +515,8 @@ enum iavf_status iavf_aq_get_rss_key(struct iavf_hw *hw,
  * set the RSS key per VSI
  **/
 enum iavf_status iavf_aq_set_rss_key(struct iavf_hw *hw,
-				      u16 vsi_id,
-				      struct iavf_aqc_get_set_rss_key_data *key)
+				     u16 vsi_id,
+				     struct iavf_aqc_get_set_rss_key_data *key)
 {
 	return iavf_aq_get_set_rss_key(hw, vsi_id, key, true);
 }
@@ -1012,7 +1012,7 @@ enum iavf_status iavf_vf_reset(struct iavf_hw *hw)
 * Get information for the reason of a Wake Up event
 **/
 enum iavf_status iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
-	struct iavf_asq_cmd_details *cmd_details)
+			struct iavf_asq_cmd_details *cmd_details)
 {
 	struct iavf_aq_desc desc;
 	enum iavf_status status;
diff --git a/drivers/net/iavf/base/iavf_prototype.h b/drivers/net/iavf/base/iavf_prototype.h
index 36b5a17f8..a5d0b0073 100644
--- a/drivers/net/iavf/base/iavf_prototype.h
+++ b/drivers/net/iavf/base/iavf_prototype.h
@@ -31,8 +31,8 @@ void iavf_free_adminq_arq(struct iavf_hw *hw);
 enum iavf_status iavf_validate_mac_addr(u8 *mac_addr);
 void iavf_adminq_init_ring_data(struct iavf_hw *hw);
 enum iavf_status iavf_clean_arq_element(struct iavf_hw *hw,
-					     struct iavf_arq_event_info *e,
-					     u16 *events_pending);
+					struct iavf_arq_event_info *e,
+					u16 *events_pending);
 enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
 				struct iavf_aq_desc *desc,
 				void *buff, /* can be NULL */
@@ -49,9 +49,9 @@ bool iavf_check_asq_alive(struct iavf_hw *hw);
 enum iavf_status iavf_aq_queue_shutdown(struct iavf_hw *hw, bool unloading);
 
 enum iavf_status iavf_aq_get_rss_lut(struct iavf_hw *hw, u16 seid,
-					  bool pf_lut, u8 *lut, u16 lut_size);
+				     bool pf_lut, u8 *lut, u16 lut_size);
 enum iavf_status iavf_aq_set_rss_lut(struct iavf_hw *hw, u16 seid,
-					  bool pf_lut, u8 *lut, u16 lut_size);
+				     bool pf_lut, u8 *lut, u16 lut_size);
 enum iavf_status iavf_aq_get_rss_key(struct iavf_hw *hw,
 				     u16 seid,
 				     struct iavf_aqc_get_set_rss_key_data *key);
@@ -85,10 +85,10 @@ enum iavf_status iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
 				u8 *msg, u16 msglen,
 				struct iavf_asq_cmd_details *cmd_details);
 enum iavf_status iavf_aq_debug_dump(struct iavf_hw *hw, u8 cluster_id,
-				u8 table_id, u32 start_index, u16 buff_size,
-				void *buff, u16 *ret_buff_size,
-				u8 *ret_next_table, u32 *ret_next_index,
-				struct iavf_asq_cmd_details *cmd_details);
+				    u8 table_id, u32 start_index, u16 buff_size,
+				    void *buff, u16 *ret_buff_size,
+				    u8 *ret_next_table, u32 *ret_next_index,
+				    struct iavf_asq_cmd_details *cmd_details);
 enum iavf_status iavf_aq_clear_all_wol_filters(struct iavf_hw *hw,
 			struct iavf_asq_cmd_details *cmd_details);
 #endif /* _IAVF_PROTOTYPE_H_ */
diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index c1910ff75..6d63f4396 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -11,7 +11,7 @@
 #include "iavf_adminq.h"
 #include "iavf_devids.h"
 
-#define IAVF_RXQ_CTX_DBUFF_SHIFT        7
+#define IAVF_RXQ_CTX_DBUFF_SHIFT	7
 
 #define UNREFERENCED_XPARAMETER
 #define UNREFERENCED_1PARAMETER(_p) (_p);
@@ -467,20 +467,20 @@ enum iavf_rx_desc_status_bits {
 	IAVF_RX_DESC_STATUS_FLTSTAT_SHIFT	= 12, /* 2 BITS */
 	IAVF_RX_DESC_STATUS_LPBK_SHIFT		= 14,
 	IAVF_RX_DESC_STATUS_IPV6EXADD_SHIFT	= 15,
-	IAVF_RX_DESC_STATUS_RESERVED2_SHIFT	= 16, /* 2 BITS */
+	IAVF_RX_DESC_STATUS_RESERVED_SHIFT	= 16, /* 2 BITS */
 	IAVF_RX_DESC_STATUS_INT_UDP_0_SHIFT	= 18,
 	IAVF_RX_DESC_STATUS_LAST /* this entry must be last!!! */
 };
 
 #define IAVF_RXD_QW1_STATUS_SHIFT	0
-#define IAVF_RXD_QW1_STATUS_MASK	((BIT(IAVF_RX_DESC_STATUS_LAST) - 1) << \
-					 IAVF_RXD_QW1_STATUS_SHIFT)
+#define IAVF_RXD_QW1_STATUS_MASK	((BIT(IAVF_RX_DESC_STATUS_LAST) - 1) \
+					 << IAVF_RXD_QW1_STATUS_SHIFT)
 
-#define IAVF_RXD_QW1_STATUS_TSYNINDX_SHIFT   IAVF_RX_DESC_STATUS_TSYNINDX_SHIFT
-#define IAVF_RXD_QW1_STATUS_TSYNINDX_MASK	(0x3UL << \
-					     IAVF_RXD_QW1_STATUS_TSYNINDX_SHIFT)
+#define IAVF_RXD_QW1_STATUS_TSYNINDX_SHIFT IAVF_RX_DESC_STATUS_TSYNINDX_SHIFT
+#define IAVF_RXD_QW1_STATUS_TSYNINDX_MASK  (0x3UL << \
+					    IAVF_RXD_QW1_STATUS_TSYNINDX_SHIFT)
 
-#define IAVF_RXD_QW1_STATUS_TSYNVALID_SHIFT  IAVF_RX_DESC_STATUS_TSYNVALID_SHIFT
+#define IAVF_RXD_QW1_STATUS_TSYNVALID_SHIFT IAVF_RX_DESC_STATUS_TSYNVALID_SHIFT
 #define IAVF_RXD_QW1_STATUS_TSYNVALID_MASK   BIT_ULL(IAVF_RXD_QW1_STATUS_TSYNVALID_SHIFT)
 
 #define IAVF_RXD_QW1_STATUS_UMBCAST_SHIFT	IAVF_RX_DESC_STATUS_UMBCAST
@@ -892,7 +892,8 @@ enum iavf_tx_ctx_desc_eipt_offload {
 #define IAVF_TXD_CTX_GRE_TUNNELING	(0x2ULL << IAVF_TXD_CTX_QW0_NATT_SHIFT)
 
 #define IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT	11
-#define IAVF_TXD_CTX_QW0_EIP_NOINC_MASK	BIT_ULL(IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT)
+#define IAVF_TXD_CTX_QW0_EIP_NOINC_MASK \
+				       BIT_ULL(IAVF_TXD_CTX_QW0_EIP_NOINC_SHIFT)
 
 #define IAVF_TXD_CTX_EIP_NOINC_IPID_CONST	IAVF_TXD_CTX_QW0_EIP_NOINC_MASK
 
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 10/17] net/iavf/base: increase max VSI count for VFs
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (8 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 09/17] net/iavf/base: adjust code indent Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 11/17] net/iavf/base: fix command buffer memory free Qi Zhang
                   ` (7 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Change max VSI per VF from 3 to 4.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_type.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index 6d63f4396..9fe5cb121 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -30,7 +30,7 @@
 #define IAVF_MAX_PF_VSI			64
 #define IAVF_MAX_PF_QP			128
 #define IAVF_MAX_VSI_QP			16
-#define IAVF_MAX_VF_VSI			3
+#define IAVF_MAX_VF_VSI			4
 #define IAVF_MAX_CHAINED_RX_BUFFERS	5
 
 /* something less than 1 minute */
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 11/17] net/iavf/base: fix command buffer memory free
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (9 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 10/17] net/iavf/base: increase max VSI count for VFs Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 12/17] net/iavf/base: update FW API version for X722 Qi Zhang
                   ` (6 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye
  Cc: haiyue.wang, dev, Qi Zhang, stable, Maharajan Pandi Kumar,
	Paul M Stillwell Jr

Allocated resources were not freed in the event of failure in
iavf_init_asq function. This patch gracefully handles all failures.

Fixes: e5b2a9e957e7 ("net/avf/base: add base code for avf PMD")
Cc: stable@dpdk.org

Signed-off-by: Maharajan Pandi Kumar <pandi.maharajan@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index ef352ac4c..298e77277 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -82,6 +82,7 @@ enum iavf_status iavf_alloc_adminq_arq_ring(struct iavf_hw *hw)
  **/
 void iavf_free_adminq_asq(struct iavf_hw *hw)
 {
+	iavf_free_virt_mem(hw, &hw->aq.asq.cmd_buf);
 	iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
 }
 
@@ -353,7 +354,7 @@ enum iavf_status iavf_init_asq(struct iavf_hw *hw)
 	/* initialize base registers */
 	ret_code = iavf_config_asq_regs(hw);
 	if (ret_code != IAVF_SUCCESS)
-		goto init_adminq_free_rings;
+		goto init_config_regs;
 
 	/* success! */
 	hw->aq.asq.count = hw->aq.num_asq_entries;
@@ -361,6 +362,10 @@ enum iavf_status iavf_init_asq(struct iavf_hw *hw)
 
 init_adminq_free_rings:
 	iavf_free_adminq_asq(hw);
+	return ret_code;
+
+init_config_regs:
+	iavf_free_asq_bufs(hw);
 
 init_adminq_exit:
 	return ret_code;
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 12/17] net/iavf/base: update FW API version for X722
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (10 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 11/17] net/iavf/base: fix command buffer memory free Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 13/17] net/iavf/base: add more link speed support Qi Zhang
                   ` (5 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Update FW API version from 1.5 to 1.6 for X722
Also added NVM update related APIs.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq_cmd.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/net/iavf/base/iavf_adminq_cmd.h b/drivers/net/iavf/base/iavf_adminq_cmd.h
index b0ee0b082..f7cfc0dda 100644
--- a/drivers/net/iavf/base/iavf_adminq_cmd.h
+++ b/drivers/net/iavf/base/iavf_adminq_cmd.h
@@ -12,7 +12,7 @@
  */
 
 #define IAVF_FW_API_VERSION_MAJOR	0x0001
-#define IAVF_FW_API_VERSION_MINOR_X722	0x0005
+#define IAVF_FW_API_VERSION_MINOR_X722	0x0006
 #define IAVF_FW_API_VERSION_MINOR_X710	0x0007
 
 #define IAVF_FW_MINOR_VERSION(_h) ((_h)->mac.type == IAVF_MAC_XL710 ? \
@@ -21,6 +21,8 @@
 
 /* API version 1.7 implements additional link and PHY-specific APIs  */
 #define IAVF_MINOR_VER_GET_LINK_INFO_XL710 0x0007
+/* API version 1.6 for X722 devices adds ability to stop FW LLDP agent */
+#define IAVF_MINOR_VER_FW_LLDP_STOPPABLE_X722 0x0006
 
 struct iavf_aq_desc {
 	__le16 flags;
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 13/17] net/iavf/base: add more link speed support
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (11 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 12/17] net/iavf/base: update FW API version for X722 Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 14/17] net/iavf/base: update copyright date Qi Zhang
                   ` (4 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Add 2.5G and 5G link speed support.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq_cmd.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/iavf/base/iavf_adminq_cmd.h b/drivers/net/iavf/base/iavf_adminq_cmd.h
index f7cfc0dda..fa0cb23ac 100644
--- a/drivers/net/iavf/base/iavf_adminq_cmd.h
+++ b/drivers/net/iavf/base/iavf_adminq_cmd.h
@@ -471,17 +471,21 @@ struct iavf_aqc_get_veb_parameters_completion {
 
 IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_veb_parameters_completion);
 
+#define IAVF_LINK_SPEED_2_5GB_SHIFT	0x0
 #define IAVF_LINK_SPEED_100MB_SHIFT	0x1
 #define IAVF_LINK_SPEED_1000MB_SHIFT	0x2
 #define IAVF_LINK_SPEED_10GB_SHIFT	0x3
 #define IAVF_LINK_SPEED_40GB_SHIFT	0x4
 #define IAVF_LINK_SPEED_20GB_SHIFT	0x5
 #define IAVF_LINK_SPEED_25GB_SHIFT	0x6
+#define IAVF_LINK_SPEED_5GB_SHIFT	0x7
 
 enum iavf_aq_link_speed {
 	IAVF_LINK_SPEED_UNKNOWN	= 0,
 	IAVF_LINK_SPEED_100MB	= (1 << IAVF_LINK_SPEED_100MB_SHIFT),
 	IAVF_LINK_SPEED_1GB	= (1 << IAVF_LINK_SPEED_1000MB_SHIFT),
+	IAVF_LINK_SPEED_2_5GB	= (1 << IAVF_LINK_SPEED_2_5GB_SHIFT),
+	IAVF_LINK_SPEED_5GB	= (1 << IAVF_LINK_SPEED_5GB_SHIFT),
 	IAVF_LINK_SPEED_10GB	= (1 << IAVF_LINK_SPEED_10GB_SHIFT),
 	IAVF_LINK_SPEED_40GB	= (1 << IAVF_LINK_SPEED_40GB_SHIFT),
 	IAVF_LINK_SPEED_20GB	= (1 << IAVF_LINK_SPEED_20GB_SHIFT),
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 14/17] net/iavf/base: update copyright date
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (12 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 13/17] net/iavf/base: add more link speed support Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value Qi Zhang
                   ` (3 subsequent siblings)
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

Update copyright date to cover 2019.

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c     | 2 +-
 drivers/net/iavf/base/iavf_adminq.h     | 2 +-
 drivers/net/iavf/base/iavf_adminq_cmd.h | 2 +-
 drivers/net/iavf/base/iavf_alloc.h      | 2 +-
 drivers/net/iavf/base/iavf_common.c     | 3 +--
 drivers/net/iavf/base/iavf_devids.h     | 2 +-
 drivers/net/iavf/base/iavf_prototype.h  | 2 +-
 drivers/net/iavf/base/iavf_register.h   | 2 +-
 drivers/net/iavf/base/iavf_status.h     | 2 +-
 drivers/net/iavf/base/iavf_type.h       | 2 +-
 drivers/net/iavf/base/virtchnl.h        | 2 +-
 11 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index 298e77277..0a5b2b281 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #include "iavf_status.h"
diff --git a/drivers/net/iavf/base/iavf_adminq.h b/drivers/net/iavf/base/iavf_adminq.h
index bdc5e0187..42532dca8 100644
--- a/drivers/net/iavf/base/iavf_adminq.h
+++ b/drivers/net/iavf/base/iavf_adminq.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_ADMINQ_H_
diff --git a/drivers/net/iavf/base/iavf_adminq_cmd.h b/drivers/net/iavf/base/iavf_adminq_cmd.h
index fa0cb23ac..dc8644a82 100644
--- a/drivers/net/iavf/base/iavf_adminq_cmd.h
+++ b/drivers/net/iavf/base/iavf_adminq_cmd.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_ADMINQ_CMD_H_
diff --git a/drivers/net/iavf/base/iavf_alloc.h b/drivers/net/iavf/base/iavf_alloc.h
index a409bb099..45355d5d8 100644
--- a/drivers/net/iavf/base/iavf_alloc.h
+++ b/drivers/net/iavf/base/iavf_alloc.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_ALLOC_H_
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
index c2c1fd1e4..a8c252825 100644
--- a/drivers/net/iavf/base/iavf_common.c
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #include "iavf_type.h"
@@ -7,7 +7,6 @@
 #include "iavf_prototype.h"
 #include "virtchnl.h"
 
-
 /**
  * iavf_set_mac_type - Sets MAC type
  * @hw: pointer to the HW structure
diff --git a/drivers/net/iavf/base/iavf_devids.h b/drivers/net/iavf/base/iavf_devids.h
index cd92631f4..c02122794 100644
--- a/drivers/net/iavf/base/iavf_devids.h
+++ b/drivers/net/iavf/base/iavf_devids.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_DEVIDS_H_
diff --git a/drivers/net/iavf/base/iavf_prototype.h b/drivers/net/iavf/base/iavf_prototype.h
index a5d0b0073..3ea645c22 100644
--- a/drivers/net/iavf/base/iavf_prototype.h
+++ b/drivers/net/iavf/base/iavf_prototype.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_PROTOTYPE_H_
diff --git a/drivers/net/iavf/base/iavf_register.h b/drivers/net/iavf/base/iavf_register.h
index 7d2b20710..09a2af0c9 100644
--- a/drivers/net/iavf/base/iavf_register.h
+++ b/drivers/net/iavf/base/iavf_register.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_REGISTER_H_
diff --git a/drivers/net/iavf/base/iavf_status.h b/drivers/net/iavf/base/iavf_status.h
index 32b391589..e57e53c06 100644
--- a/drivers/net/iavf/base/iavf_status.h
+++ b/drivers/net/iavf/base/iavf_status.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_STATUS_H_
diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index 9fe5cb121..fb175e8a6 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _IAVF_TYPE_H_
diff --git a/drivers/net/iavf/base/virtchnl.h b/drivers/net/iavf/base/virtchnl.h
index 1604f19e3..2fbbb9e28 100644
--- a/drivers/net/iavf/base/virtchnl.h
+++ b/drivers/net/iavf/base/virtchnl.h
@@ -1,5 +1,5 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2013 - 2015 Intel Corporation
+ * Copyright(c) 2001-2019
  */
 
 #ifndef _VIRTCHNL_H_
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (13 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 14/17] net/iavf/base: update copyright date Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2020-01-02  2:48   ` Yang, Qiming
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 16/17] net/iavf: move device state flag Qi Zhang
                   ` (2 subsequent siblings)
  17 siblings, 1 reply; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang, Paul M Stillwell Jr

When send a adminq, if get IAVF_AQ_RC_BUSY, we should return
IAVF_ERR_NOT_READY.

Fixes: e5b2a9e957e7 ("net/avf/base: add base code for avf PMD")

Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_adminq.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
index 0a5b2b281..c1668d228 100644
--- a/drivers/net/iavf/base/iavf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -803,6 +803,8 @@ enum iavf_status iavf_asq_send_command(struct iavf_hw *hw,
 		cmd_completed = true;
 		if ((enum iavf_admin_queue_err)retval == IAVF_AQ_RC_OK)
 			status = IAVF_SUCCESS;
+		else if ((enum iavf_admin_queue_err)retval == IAVF_AQ_RC_EBUSY)
+			status = IAVF_ERR_NOT_READY;
 		else
 			status = IAVF_ERR_ADMIN_QUEUE_ERROR;
 		hw->aq.asq_last_status = (enum iavf_admin_queue_err)retval;
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 16/17] net/iavf: move device state flag
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (14 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 17/17] net/ice/base: update version info Qi Zhang
  2020-01-02  2:50 ` [dpdk-dev] [PATCH 00/17] iavf base code update Yang, Qiming
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang

Move device state flag from ice_hw to ice_adatper since it should
not be a part of base code.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/iavf_type.h |  1 -
 drivers/net/iavf/iavf.h           |  1 +
 drivers/net/iavf/iavf_ethdev.c    | 13 +++++--------
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
index fb175e8a6..6f85f8c04 100644
--- a/drivers/net/iavf/base/iavf_type.h
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -332,7 +332,6 @@ struct iavf_hw {
 	u16 subsystem_device_id;
 	u16 subsystem_vendor_id;
 	u8 revision_id;
-	bool adapter_stopped;
 
 	/* capabilities for entire device and PCI func */
 	struct iavf_hw_capabilities dev_caps;
diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
index bbd4d75d0..77b706893 100644
--- a/drivers/net/iavf/iavf.h
+++ b/drivers/net/iavf/iavf.h
@@ -127,6 +127,7 @@ struct iavf_adapter {
 	/* For vector PMD */
 	bool rx_vec_allowed;
 	bool tx_vec_allowed;
+	bool stopped;
 };
 
 /* IAVF_DEV_PRIVATE_TO */
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 39faf7fac..73927f1f8 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -421,12 +421,11 @@ iavf_dev_start(struct rte_eth_dev *dev)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
-	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
 	PMD_INIT_FUNC_TRACE();
 
-	hw->adapter_stopped = 0;
+	adapter->stopped = 0;
 
 	vf->max_pkt_len = dev->data->dev_conf.rxmode.max_rx_pkt_len;
 	vf->num_queue_pairs = RTE_MAX(dev->data->nb_rx_queues,
@@ -481,12 +480,11 @@ iavf_dev_stop(struct rte_eth_dev *dev)
 {
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	struct rte_intr_handle *intr_handle = dev->intr_handle;
 
 	PMD_INIT_FUNC_TRACE();
 
-	if (hw->adapter_stopped == 1)
+	if (adapter->stopped == 1)
 		return;
 
 	iavf_stop_queues(dev);
@@ -501,7 +499,7 @@ iavf_dev_stop(struct rte_eth_dev *dev)
 
 	/* remove all mac addrs */
 	iavf_add_del_all_mac_addr(adapter, FALSE);
-	hw->adapter_stopped = 1;
+	adapter->stopped = 1;
 }
 
 static int
@@ -1333,6 +1331,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 	hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
 	hw->back = IAVF_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
 	adapter->eth_dev = eth_dev;
+	adapter->stopped = 1;
 
 	if (iavf_init_vf(eth_dev) != 0) {
 		PMD_INIT_LOG(ERR, "Init vf failed");
@@ -1393,7 +1392,6 @@ static int
 iavf_dev_uninit(struct rte_eth_dev *dev)
 {
 	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
-	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
 		return -EPERM;
@@ -1401,8 +1399,7 @@ iavf_dev_uninit(struct rte_eth_dev *dev)
 	dev->dev_ops = NULL;
 	dev->rx_pkt_burst = NULL;
 	dev->tx_pkt_burst = NULL;
-	if (hw->adapter_stopped == 0)
-		iavf_dev_close(dev);
+	iavf_dev_close(dev);
 
 	rte_free(vf->vf_res);
 	vf->vsi_res = NULL;
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* [dpdk-dev] [PATCH 17/17] net/ice/base: update version info
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (15 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 16/17] net/iavf: move device state flag Qi Zhang
@ 2019-12-03  7:03 ` Qi Zhang
  2020-01-02  2:50 ` [dpdk-dev] [PATCH 00/17] iavf base code update Yang, Qiming
  17 siblings, 0 replies; 21+ messages in thread
From: Qi Zhang @ 2019-12-03  7:03 UTC (permalink / raw)
  To: xiaolong.ye; +Cc: haiyue.wang, dev, Qi Zhang

Update base code version info in readme.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/base/README | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/iavf/base/README b/drivers/net/iavf/base/README
index f57e1048f..e8c49c36f 100644
--- a/drivers/net/iavf/base/README
+++ b/drivers/net/iavf/base/README
@@ -1,12 +1,12 @@
 /* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2017 Intel Corporation
+ * Copyright(c) 2019 Intel Corporation
  */
 
 Intel® IAVF driver
 =================
 
 This directory contains source code of FreeBSD IAVF driver of version
-cid-avf.2018.01.02.tar.gz released by the team which develops
+cid-avf.2019.08.19.tar.gz released by the team which develops
 basic drivers for any IAVF NIC. The directory of base/ contains the
 original source package.
 
-- 
2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value Qi Zhang
@ 2020-01-02  2:48   ` Yang, Qiming
  0 siblings, 0 replies; 21+ messages in thread
From: Yang, Qiming @ 2020-01-02  2:48 UTC (permalink / raw)
  To: Zhang, Qi Z, Ye, Xiaolong
  Cc: Wang, Haiyue, dev, Zhang, Qi Z, Stillwell Jr, Paul M



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Tuesday, December 3, 2019 3:03 PM
> To: Ye, Xiaolong <xiaolong.ye@intel.com>
> Cc: Wang, Haiyue <haiyue.wang@intel.com>; dev@dpdk.org; Zhang, Qi Z
> <qi.z.zhang@intel.com>; Stillwell Jr, Paul M <paul.m.stillwell.jr@intel.com>
> Subject: [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return
> value
> 
> When send a adminq, if get IAVF_AQ_RC_BUSY, we should return
> IAVF_ERR_NOT_READY.
> 
> Fixes: e5b2a9e957e7 ("net/avf/base: add base code for avf PMD")
> 
Lack of CC stable

> Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
>  drivers/net/iavf/base/iavf_adminq.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/net/iavf/base/iavf_adminq.c
> b/drivers/net/iavf/base/iavf_adminq.c
> index 0a5b2b281..c1668d228 100644
> --- a/drivers/net/iavf/base/iavf_adminq.c
> +++ b/drivers/net/iavf/base/iavf_adminq.c
> @@ -803,6 +803,8 @@ enum iavf_status iavf_asq_send_command(struct
> iavf_hw *hw,
>  		cmd_completed = true;
>  		if ((enum iavf_admin_queue_err)retval == IAVF_AQ_RC_OK)
>  			status = IAVF_SUCCESS;
> +		else if ((enum iavf_admin_queue_err)retval ==
> IAVF_AQ_RC_EBUSY)
> +			status = IAVF_ERR_NOT_READY;
>  		else
>  			status = IAVF_ERR_ADMIN_QUEUE_ERROR;
>  		hw->aq.asq_last_status = (enum
> iavf_admin_queue_err)retval;
> --
> 2.13.6


^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 00/17] iavf base code update
  2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
                   ` (16 preceding siblings ...)
  2019-12-03  7:03 ` [dpdk-dev] [PATCH 17/17] net/ice/base: update version info Qi Zhang
@ 2020-01-02  2:50 ` Yang, Qiming
  2020-01-02  3:14   ` Ye Xiaolong
  17 siblings, 1 reply; 21+ messages in thread
From: Yang, Qiming @ 2020-01-02  2:50 UTC (permalink / raw)
  To: Zhang, Qi Z, Ye, Xiaolong; +Cc: Wang, Haiyue, dev, Zhang, Qi Z



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
> Sent: Tuesday, December 3, 2019 3:03 PM
> To: Ye, Xiaolong <xiaolong.ye@intel.com>
> Cc: Wang, Haiyue <haiyue.wang@intel.com>; dev@dpdk.org; Zhang, Qi Z
> <qi.z.zhang@intel.com>
> Subject: [dpdk-dev] [PATCH 00/17] iavf base code update
> 
> Update iavf base code to latest.
> 
> main changes
> 1) Add more supported device ID
> 2) update virtual channel to latest AVF spec.
> 3) code clean.
> 4) couple bug fixes
> 
> Qi Zhang (17):
>   net/iavf/base: remove unnecessary header file
>   net/iavf/base: rename error code enum
>   net/iavf/base: rename register macro
>   net/iavf/base: update device id
>   net/iavf/base: remove unused code
>   net/iavf/base: remove unnecessary compile option
>   net/iavf/base: rename functions
>   net/iavf/base: update virtual channel
>   net/iavf/base: adjust code indent
>   net/iavf/base: increase max VSI count for VFs
>   net/iavf/base: fix command buffer memory free
>   net/iavf/base: update FW API version for X722
>   net/iavf/base: add more link speed support
>   net/iavf/base: update copyright date
>   net/iavf/base: fix send adminq return value
>   net/iavf: move device state flag
>   net/ice/base: update version info
> 
>  drivers/net/iavf/base/README            |    4 +-
>  drivers/net/iavf/base/iavf_adminq.c     |  121 +-
>  drivers/net/iavf/base/iavf_adminq.h     |   45 +-
>  drivers/net/iavf/base/iavf_adminq_cmd.h | 2354 ++-----------------------------
>  drivers/net/iavf/base/iavf_alloc.h      |   24 +-
>  drivers/net/iavf/base/iavf_common.c     |  879 +-----------
>  drivers/net/iavf/base/iavf_devids.h     |    7 +-
>  drivers/net/iavf/base/iavf_hmc.h        |  216 ---
>  drivers/net/iavf/base/iavf_lan_hmc.h    |  171 ---
>  drivers/net/iavf/base/iavf_osdep.h      |    2 +-
>  drivers/net/iavf/base/iavf_prototype.h  |  149 +-
>  drivers/net/iavf/base/iavf_register.h   |  390 ++---
>  drivers/net/iavf/base/iavf_status.h     |    4 +-
>  drivers/net/iavf/base/iavf_type.h       | 1144 ++-------------
>  drivers/net/iavf/base/virtchnl.h        |  345 +++--
>  drivers/net/iavf/iavf.h                 |    1 +
>  drivers/net/iavf/iavf_ethdev.c          |   80 +-
>  drivers/net/iavf/iavf_vchnl.c           |   10 +-
>  18 files changed, 692 insertions(+), 5254 deletions(-)  delete mode 100644
> drivers/net/iavf/base/iavf_hmc.h  delete mode 100644
> drivers/net/iavf/base/iavf_lan_hmc.h
> 
> --
> 2.13.6

Only one small comments for patch 15/17.

Acked-by: Qiming Yang <qiming.yang@intel.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

* Re: [dpdk-dev] [PATCH 00/17] iavf base code update
  2020-01-02  2:50 ` [dpdk-dev] [PATCH 00/17] iavf base code update Yang, Qiming
@ 2020-01-02  3:14   ` Ye Xiaolong
  0 siblings, 0 replies; 21+ messages in thread
From: Ye Xiaolong @ 2020-01-02  3:14 UTC (permalink / raw)
  To: Yang, Qiming; +Cc: Zhang, Qi Z, Wang, Haiyue, dev

On 01/02, Yang, Qiming wrote:
>
>
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Qi Zhang
>> Sent: Tuesday, December 3, 2019 3:03 PM
>> To: Ye, Xiaolong <xiaolong.ye@intel.com>
>> Cc: Wang, Haiyue <haiyue.wang@intel.com>; dev@dpdk.org; Zhang, Qi Z
>> <qi.z.zhang@intel.com>
>> Subject: [dpdk-dev] [PATCH 00/17] iavf base code update
>> 
>> Update iavf base code to latest.
>> 
>> main changes
>> 1) Add more supported device ID
>> 2) update virtual channel to latest AVF spec.
>> 3) code clean.
>> 4) couple bug fixes
>> 
>> Qi Zhang (17):
>>   net/iavf/base: remove unnecessary header file
>>   net/iavf/base: rename error code enum
>>   net/iavf/base: rename register macro
>>   net/iavf/base: update device id
>>   net/iavf/base: remove unused code
>>   net/iavf/base: remove unnecessary compile option
>>   net/iavf/base: rename functions
>>   net/iavf/base: update virtual channel
>>   net/iavf/base: adjust code indent
>>   net/iavf/base: increase max VSI count for VFs
>>   net/iavf/base: fix command buffer memory free
>>   net/iavf/base: update FW API version for X722
>>   net/iavf/base: add more link speed support
>>   net/iavf/base: update copyright date
>>   net/iavf/base: fix send adminq return value
>>   net/iavf: move device state flag
>>   net/ice/base: update version info
>> 
>>  drivers/net/iavf/base/README            |    4 +-
>>  drivers/net/iavf/base/iavf_adminq.c     |  121 +-
>>  drivers/net/iavf/base/iavf_adminq.h     |   45 +-
>>  drivers/net/iavf/base/iavf_adminq_cmd.h | 2354 ++-----------------------------
>>  drivers/net/iavf/base/iavf_alloc.h      |   24 +-
>>  drivers/net/iavf/base/iavf_common.c     |  879 +-----------
>>  drivers/net/iavf/base/iavf_devids.h     |    7 +-
>>  drivers/net/iavf/base/iavf_hmc.h        |  216 ---
>>  drivers/net/iavf/base/iavf_lan_hmc.h    |  171 ---
>>  drivers/net/iavf/base/iavf_osdep.h      |    2 +-
>>  drivers/net/iavf/base/iavf_prototype.h  |  149 +-
>>  drivers/net/iavf/base/iavf_register.h   |  390 ++---
>>  drivers/net/iavf/base/iavf_status.h     |    4 +-
>>  drivers/net/iavf/base/iavf_type.h       | 1144 ++-------------
>>  drivers/net/iavf/base/virtchnl.h        |  345 +++--
>>  drivers/net/iavf/iavf.h                 |    1 +
>>  drivers/net/iavf/iavf_ethdev.c          |   80 +-
>>  drivers/net/iavf/iavf_vchnl.c           |   10 +-
>>  18 files changed, 692 insertions(+), 5254 deletions(-)  delete mode 100644
>> drivers/net/iavf/base/iavf_hmc.h  delete mode 100644
>> drivers/net/iavf/base/iavf_lan_hmc.h
>> 
>> --
>> 2.13.6
>
>Only one small comments for patch 15/17.

Fixed it while merging.

>
>Acked-by: Qiming Yang <qiming.yang@intel.com>

Series applied to dpdk-next-net-intel, Thanks.

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2020-01-02  3:19 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-03  7:03 [dpdk-dev] [PATCH 00/17] iavf base code update Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 01/17] net/iavf/base: remove unnecessary header file Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 02/17] net/iavf/base: rename error code enum Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 03/17] net/iavf/base: rename register macro Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 04/17] net/iavf/base: update device id Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 05/17] net/iavf/base: remove unused code Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 06/17] net/iavf/base: remove unnecessary compile option Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 07/17] net/iavf/base: rename functions Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 08/17] net/iavf/base: update virtual channel Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 09/17] net/iavf/base: adjust code indent Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 10/17] net/iavf/base: increase max VSI count for VFs Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 11/17] net/iavf/base: fix command buffer memory free Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 12/17] net/iavf/base: update FW API version for X722 Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 13/17] net/iavf/base: add more link speed support Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 14/17] net/iavf/base: update copyright date Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 15/17] net/iavf/base: fix send adminq return value Qi Zhang
2020-01-02  2:48   ` Yang, Qiming
2019-12-03  7:03 ` [dpdk-dev] [PATCH 16/17] net/iavf: move device state flag Qi Zhang
2019-12-03  7:03 ` [dpdk-dev] [PATCH 17/17] net/ice/base: update version info Qi Zhang
2020-01-02  2:50 ` [dpdk-dev] [PATCH 00/17] iavf base code update Yang, Qiming
2020-01-02  3:14   ` Ye Xiaolong

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).