[dpdk-dev] [PATCH 1/2] net/iavf: rename avf to iavf

Leyi Rong leyi.rong at intel.com
Fri Feb 22 16:03:35 CET 2019


Rename Intel Ethernet Adaptive Virtual Function driver avf to iavf.

This patch renames the directory name, filenames, lib name, macros,
functions, structs and any other strings in the iavf src code.

Signed-off-by: Leyi Rong <leyi.rong at intel.com>
---
 config/common_base                            |   16 +-
 drivers/net/Makefile                          |    2 +-
 drivers/net/avf/avf.h                         |  216 --
 drivers/net/avf/base/avf_adminq_cmd.h         | 2841 -----------------
 drivers/net/avf/base/avf_common.c             | 1845 -----------
 drivers/net/avf/base/avf_hmc.h                |  245 --
 drivers/net/avf/base/avf_prototype.h          |  206 --
 drivers/net/avf/base/avf_register.h           |  346 --
 drivers/net/avf/base/avf_status.h             |  108 -
 drivers/net/avf/base/avf_type.h               | 2024 ------------
 drivers/net/{avf => iavf}/Makefile            |   16 +-
 drivers/net/{avf => iavf}/base/README         |    8 +-
 .../avf_adminq.c => iavf/base/iavf_adminq.c}  |  582 ++--
 .../avf_adminq.h => iavf/base/iavf_adminq.h}  |  116 +-
 drivers/net/iavf/base/iavf_adminq_cmd.h       | 2841 +++++++++++++++++
 .../avf_alloc.h => iavf/base/iavf_alloc.h}    |   46 +-
 drivers/net/iavf/base/iavf_common.c           | 1845 +++++++++++
 .../avf_devids.h => iavf/base/iavf_devids.h}  |   10 +-
 drivers/net/iavf/base/iavf_hmc.h              |  245 ++
 .../base/iavf_lan_hmc.h}                      |  132 +-
 .../avf_osdep.h => iavf/base/iavf_osdep.h}    |   82 +-
 drivers/net/iavf/base/iavf_prototype.h        |  206 ++
 drivers/net/iavf/base/iavf_register.h         |  346 ++
 drivers/net/iavf/base/iavf_status.h           |  108 +
 drivers/net/iavf/base/iavf_type.h             | 2024 ++++++++++++
 drivers/net/{avf => iavf}/base/meson.build    |    6 +-
 drivers/net/{avf => iavf}/base/virtchnl.h     |   10 +-
 drivers/net/iavf/iavf.h                       |  216 ++
 .../{avf/avf_ethdev.c => iavf/iavf_ethdev.c}  |  730 ++---
 .../net/{avf/avf_log.h => iavf/iavf_log.h}    |   20 +-
 .../net/{avf/avf_rxtx.c => iavf/iavf_rxtx.c}  |  592 ++--
 .../net/{avf/avf_rxtx.h => iavf/iavf_rxtx.h}  |  162 +-
 .../iavf_rxtx_vec_common.h}                   |   30 +-
 .../iavf_rxtx_vec_sse.c}                      |  120 +-
 .../{avf/avf_vchnl.c => iavf/iavf_vchnl.c}    |  256 +-
 drivers/net/{avf => iavf}/meson.build         |   10 +-
 .../rte_pmd_iavf_version.map}                 |    0
 drivers/net/meson.build                       |    2 +-
 mk/rte.app.mk                                 |    2 +-
 39 files changed, 9306 insertions(+), 9306 deletions(-)
 delete mode 100644 drivers/net/avf/avf.h
 delete mode 100644 drivers/net/avf/base/avf_adminq_cmd.h
 delete mode 100644 drivers/net/avf/base/avf_common.c
 delete mode 100644 drivers/net/avf/base/avf_hmc.h
 delete mode 100644 drivers/net/avf/base/avf_prototype.h
 delete mode 100644 drivers/net/avf/base/avf_register.h
 delete mode 100644 drivers/net/avf/base/avf_status.h
 delete mode 100644 drivers/net/avf/base/avf_type.h
 rename drivers/net/{avf => iavf}/Makefile (73%)
 rename drivers/net/{avf => iavf}/base/README (65%)
 rename drivers/net/{avf/base/avf_adminq.c => iavf/base/iavf_adminq.c} (56%)
 rename drivers/net/{avf/base/avf_adminq.h => iavf/base/iavf_adminq.h} (57%)
 create mode 100644 drivers/net/iavf/base/iavf_adminq_cmd.h
 rename drivers/net/{avf/base/avf_alloc.h => iavf/base/iavf_alloc.h} (66%)
 create mode 100644 drivers/net/iavf/base/iavf_common.c
 rename drivers/net/{avf/base/avf_devids.h => iavf/base/iavf_devids.h} (91%)
 create mode 100644 drivers/net/iavf/base/iavf_hmc.h
 rename drivers/net/{avf/base/avf_lan_hmc.h => iavf/base/iavf_lan_hmc.h} (59%)
 rename drivers/net/{avf/base/avf_osdep.h => iavf/base/iavf_osdep.h} (60%)
 create mode 100644 drivers/net/iavf/base/iavf_prototype.h
 create mode 100644 drivers/net/iavf/base/iavf_register.h
 create mode 100644 drivers/net/iavf/base/iavf_status.h
 create mode 100644 drivers/net/iavf/base/iavf_type.h
 rename drivers/net/{avf => iavf}/base/meson.build (83%)
 rename drivers/net/{avf => iavf}/base/virtchnl.h (98%)
 create mode 100644 drivers/net/iavf/iavf.h
 rename drivers/net/{avf/avf_ethdev.c => iavf/iavf_ethdev.c} (57%)
 rename drivers/net/{avf/avf_log.h => iavf/iavf_log.h} (72%)
 rename drivers/net/{avf/avf_rxtx.c => iavf/iavf_rxtx.c} (73%)
 rename drivers/net/{avf/avf_rxtx.h => iavf/iavf_rxtx.h} (58%)
 rename drivers/net/{avf/avf_rxtx_vec_common.h => iavf/iavf_rxtx_vec_common.h} (87%)
 rename drivers/net/{avf/avf_rxtx_vec_sse.c => iavf/iavf_rxtx_vec_sse.c} (85%)
 rename drivers/net/{avf/avf_vchnl.c => iavf/iavf_vchnl.c} (74%)
 rename drivers/net/{avf => iavf}/meson.build (63%)
 rename drivers/net/{avf/rte_pmd_avf_version.map => iavf/rte_pmd_iavf_version.map} (100%)

diff --git a/config/common_base b/config/common_base
index 7c6da5165..0b09a9348 100644
--- a/config/common_base
+++ b/config/common_base
@@ -306,14 +306,14 @@ CONFIG_RTE_LIBRTE_ICE_DEBUG_TX_FREE=n
 CONFIG_RTE_LIBRTE_ICE_RX_ALLOW_BULK_ALLOC=y
 CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC=n
 
-# Compile burst-oriented AVF PMD driver
-#
-CONFIG_RTE_LIBRTE_AVF_PMD=y
-CONFIG_RTE_LIBRTE_AVF_INC_VECTOR=y
-CONFIG_RTE_LIBRTE_AVF_DEBUG_TX=n
-CONFIG_RTE_LIBRTE_AVF_DEBUG_TX_FREE=n
-CONFIG_RTE_LIBRTE_AVF_DEBUG_RX=n
-CONFIG_RTE_LIBRTE_AVF_16BYTE_RX_DESC=n
+# Compile burst-oriented IAVF PMD driver
+#
+CONFIG_RTE_LIBRTE_IAVF_PMD=y
+CONFIG_RTE_LIBRTE_IAVF_INC_VECTOR=y
+CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX=n
+CONFIG_RTE_LIBRTE_IAVF_DEBUG_TX_FREE=n
+CONFIG_RTE_LIBRTE_IAVF_DEBUG_RX=n
+CONFIG_RTE_LIBRTE_IAVF_16BYTE_RX_DESC=n
 
 #
 # Compile burst-oriented Mellanox ConnectX-3 (MLX4) PMD
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index 670d7f75a..defff4dfe 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -11,7 +11,7 @@ endif
 DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet
 DIRS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark
 DIRS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD) += atlantic
-DIRS-$(CONFIG_RTE_LIBRTE_AVF_PMD) += avf
+DIRS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf
 DIRS-$(CONFIG_RTE_LIBRTE_AVP_PMD) += avp
 DIRS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD) += axgbe
 DIRS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD) += bnx2x
diff --git a/drivers/net/avf/avf.h b/drivers/net/avf/avf.h
deleted file mode 100644
index dcf8d1c72..000000000
--- a/drivers/net/avf/avf.h
+++ /dev/null
@@ -1,216 +0,0 @@
-/* SPDX-License-Identifier: BSD-3-Clause
- * Copyright(c) 2017 Intel Corporation
- */
-
-#ifndef _AVF_ETHDEV_H_
-#define _AVF_ETHDEV_H_
-
-#include <rte_kvargs.h>
-
-#define AVF_AQ_LEN               32
-#define AVF_AQ_BUF_SZ            4096
-#define AVF_RESET_WAIT_CNT       50
-#define AVF_BUF_SIZE_MIN         1024
-#define AVF_FRAME_SIZE_MAX       9728
-#define AVF_QUEUE_BASE_ADDR_UNIT 128
-
-#define AVF_MAX_NUM_QUEUES       16
-
-#define AVF_NUM_MACADDR_MAX      64
-
-#define AVF_DEFAULT_RX_PTHRESH      8
-#define AVF_DEFAULT_RX_HTHRESH      8
-#define AVF_DEFAULT_RX_WTHRESH      0
-
-#define AVF_DEFAULT_RX_FREE_THRESH  32
-
-#define AVF_DEFAULT_TX_PTHRESH      32
-#define AVF_DEFAULT_TX_HTHRESH      0
-#define AVF_DEFAULT_TX_WTHRESH      0
-
-#define AVF_DEFAULT_TX_FREE_THRESH  32
-#define AVF_DEFAULT_TX_RS_THRESH 32
-
-#define AVF_BASIC_OFFLOAD_CAPS  ( \
-	VF_BASE_MODE_OFFLOADS | \
-	VIRTCHNL_VF_OFFLOAD_WB_ON_ITR | \
-	VIRTCHNL_VF_OFFLOAD_RX_POLLING)
-
-#define AVF_RSS_OFFLOAD_ALL ( \
-	ETH_RSS_FRAG_IPV4 |         \
-	ETH_RSS_NONFRAG_IPV4_TCP |  \
-	ETH_RSS_NONFRAG_IPV4_UDP |  \
-	ETH_RSS_NONFRAG_IPV4_SCTP | \
-	ETH_RSS_NONFRAG_IPV4_OTHER)
-
-#define AVF_MISC_VEC_ID                RTE_INTR_VEC_ZERO_OFFSET
-#define AVF_RX_VEC_START               RTE_INTR_VEC_RXTX_OFFSET
-
-/* Default queue interrupt throttling time in microseconds */
-#define AVF_ITR_INDEX_DEFAULT          0
-#define AVF_QUEUE_ITR_INTERVAL_DEFAULT 32 /* 32 us */
-#define AVF_QUEUE_ITR_INTERVAL_MAX     8160 /* 8160 us */
-
-/* The overhead from MTU to max frame size.
- * Considering QinQ packet, the VLAN tag needs to be counted twice.
- */
-#define AVF_VLAN_TAG_SIZE               4
-#define AVF_ETH_OVERHEAD \
-	(ETHER_HDR_LEN + ETHER_CRC_LEN + AVF_VLAN_TAG_SIZE * 2)
-
-struct avf_adapter;
-struct avf_rx_queue;
-struct avf_tx_queue;
-
-/* Structure that defines a VSI, associated with a adapter. */
-struct avf_vsi {
-	struct avf_adapter *adapter; /* Backreference to associated adapter */
-	uint16_t vsi_id;
-	uint16_t nb_qps;         /* Number of queue pairs VSI can occupy */
-	uint16_t nb_used_qps;    /* Number of queue pairs VSI uses */
-	uint16_t max_macaddrs;   /* Maximum number of MAC addresses */
-	uint16_t base_vector;
-	uint16_t msix_intr;      /* The MSIX interrupt binds to VSI */
-};
-
-/* TODO: is that correct to assume the max number to be 16 ?*/
-#define AVF_MAX_MSIX_VECTORS   16
-
-/* Structure to store private data specific for VF instance. */
-struct avf_info {
-	uint16_t num_queue_pairs;
-	uint16_t max_pkt_len; /* Maximum packet length */
-	uint16_t mac_num;     /* Number of MAC addresses */
-	bool promisc_unicast_enabled;
-	bool promisc_multicast_enabled;
-
-	struct virtchnl_version_info virtchnl_version;
-	struct virtchnl_vf_resource *vf_res; /* VF resource */
-	struct virtchnl_vsi_resource *vsi_res; /* LAN VSI */
-
-	volatile enum virtchnl_ops pend_cmd; /* pending command not finished */
-	uint32_t cmd_retval; /* return value of the cmd response from PF */
-	uint8_t *aq_resp; /* buffer to store the adminq response from PF */
-
-	/* Event from pf */
-	bool dev_closed;
-	bool link_up;
-	enum virtchnl_link_speed link_speed;
-
-	struct avf_vsi vsi;
-	bool vf_reset;
-	uint64_t flags;
-
-	uint8_t *rss_lut;
-	uint8_t *rss_key;
-	uint16_t nb_msix;   /* number of MSI-X interrupts on Rx */
-	uint16_t msix_base; /* msix vector base from */
-	/* queue bitmask for each vector */
-	uint16_t rxq_map[AVF_MAX_MSIX_VECTORS];
-};
-
-#define AVF_MAX_PKT_TYPE 256
-
-/* Structure to store private data for each VF instance. */
-struct avf_adapter {
-	struct avf_hw hw;
-	struct rte_eth_dev *eth_dev;
-	struct avf_info vf;
-
-	bool rx_bulk_alloc_allowed;
-	/* For vector PMD */
-	bool rx_vec_allowed;
-	bool tx_vec_allowed;
-};
-
-/* AVF_DEV_PRIVATE_TO */
-#define AVF_DEV_PRIVATE_TO_ADAPTER(adapter) \
-	((struct avf_adapter *)adapter)
-#define AVF_DEV_PRIVATE_TO_VF(adapter) \
-	(&((struct avf_adapter *)adapter)->vf)
-#define AVF_DEV_PRIVATE_TO_HW(adapter) \
-	(&((struct avf_adapter *)adapter)->hw)
-
-/* AVF_VSI_TO */
-#define AVF_VSI_TO_HW(vsi) \
-	(&(((struct avf_vsi *)vsi)->adapter->hw))
-#define AVF_VSI_TO_VF(vsi) \
-	(&(((struct avf_vsi *)vsi)->adapter->vf))
-#define AVF_VSI_TO_ETH_DEV(vsi) \
-	(((struct avf_vsi *)vsi)->adapter->eth_dev)
-
-static inline void
-avf_init_adminq_parameter(struct avf_hw *hw)
-{
-	hw->aq.num_arq_entries = AVF_AQ_LEN;
-	hw->aq.num_asq_entries = AVF_AQ_LEN;
-	hw->aq.arq_buf_size = AVF_AQ_BUF_SZ;
-	hw->aq.asq_buf_size = AVF_AQ_BUF_SZ;
-}
-
-static inline uint16_t
-avf_calc_itr_interval(int16_t interval)
-{
-	if (interval < 0 || interval > AVF_QUEUE_ITR_INTERVAL_MAX)
-		interval = AVF_QUEUE_ITR_INTERVAL_DEFAULT;
-
-	/* Convert to hardware count, as writing each 1 represents 2 us */
-	return interval / 2;
-}
-
-/* structure used for sending and checking response of virtchnl ops */
-struct avf_cmd_info {
-	enum virtchnl_ops ops;
-	uint8_t *in_args;       /* buffer for sending */
-	uint32_t in_args_size;  /* buffer size for sending */
-	uint8_t *out_buffer;    /* buffer for response */
-	uint32_t out_size;      /* buffer size for response */
-};
-
-/* clear current command. Only call in case execute
- * _atomic_set_cmd successfully.
- */
-static inline void
-_clear_cmd(struct avf_info *vf)
-{
-	rte_wmb();
-	vf->pend_cmd = VIRTCHNL_OP_UNKNOWN;
-	vf->cmd_retval = VIRTCHNL_STATUS_SUCCESS;
-}
-
-/* Check there is pending cmd in execution. If none, set new command. */
-static inline int
-_atomic_set_cmd(struct avf_info *vf, enum virtchnl_ops ops)
-{
-	int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops);
-
-	if (!ret)
-		PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd);
-
-	return !ret;
-}
-
-int avf_check_api_version(struct avf_adapter *adapter);
-int avf_get_vf_resource(struct avf_adapter *adapter);
-void avf_handle_virtchnl_msg(struct rte_eth_dev *dev);
-int avf_enable_vlan_strip(struct avf_adapter *adapter);
-int avf_disable_vlan_strip(struct avf_adapter *adapter);
-int avf_switch_queue(struct avf_adapter *adapter, uint16_t qid,
-		     bool rx, bool on);
-int avf_enable_queues(struct avf_adapter *adapter);
-int avf_disable_queues(struct avf_adapter *adapter);
-int avf_configure_rss_lut(struct avf_adapter *adapter);
-int avf_configure_rss_key(struct avf_adapter *adapter);
-int avf_configure_queues(struct avf_adapter *adapter);
-int avf_config_irq_map(struct avf_adapter *adapter);
-void avf_add_del_all_mac_addr(struct avf_adapter *adapter, bool add);
-int avf_dev_link_update(struct rte_eth_dev *dev,
-			__rte_unused int wait_to_complete);
-int avf_query_stats(struct avf_adapter *adapter,
-		    struct virtchnl_eth_stats **pstats);
-int avf_config_promisc(struct avf_adapter *adapter, bool enable_unicast,
-		       bool enable_multicast);
-int avf_add_del_eth_addr(struct avf_adapter *adapter,
-			 struct ether_addr *addr, bool add);
-int avf_add_del_vlan(struct avf_adapter *adapter, uint16_t vlanid, bool add);
-#endif /* _AVF_ETHDEV_H_ */
diff --git a/drivers/net/avf/base/avf_adminq_cmd.h b/drivers/net/avf/base/avf_adminq_cmd.h
deleted file mode 100644
index 795491187..000000000
--- a/drivers/net/avf/base/avf_adminq_cmd.h
+++ /dev/null
@@ -1,2841 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#ifndef _AVF_ADMINQ_CMD_H_
-#define _AVF_ADMINQ_CMD_H_
-
-/* This header file defines the avf Admin Queue commands and is shared between
- * avf Firmware and Software.
- *
- * This file needs to comply with the Linux Kernel coding style.
- */
-
-
-#define AVF_FW_API_VERSION_MAJOR	0x0001
-#define AVF_FW_API_VERSION_MINOR_X722	0x0005
-#define AVF_FW_API_VERSION_MINOR_X710	0x0007
-
-#define AVF_FW_MINOR_VERSION(_h) ((_h)->mac.type == AVF_MAC_XL710 ? \
-					AVF_FW_API_VERSION_MINOR_X710 : \
-					AVF_FW_API_VERSION_MINOR_X722)
-
-/* API version 1.7 implements additional link and PHY-specific APIs  */
-#define AVF_MINOR_VER_GET_LINK_INFO_XL710 0x0007
-
-struct avf_aq_desc {
-	__le16 flags;
-	__le16 opcode;
-	__le16 datalen;
-	__le16 retval;
-	__le32 cookie_high;
-	__le32 cookie_low;
-	union {
-		struct {
-			__le32 param0;
-			__le32 param1;
-			__le32 param2;
-			__le32 param3;
-		} internal;
-		struct {
-			__le32 param0;
-			__le32 param1;
-			__le32 addr_high;
-			__le32 addr_low;
-		} external;
-		u8 raw[16];
-	} params;
-};
-
-/* Flags sub-structure
- * |0  |1  |2  |3  |4  |5  |6  |7  |8  |9  |10 |11 |12 |13 |14 |15 |
- * |DD |CMP|ERR|VFE| * *  RESERVED * * |LB |RD |VFC|BUF|SI |EI |FE |
- */
-
-/* command flags and offsets*/
-#define AVF_AQ_FLAG_DD_SHIFT	0
-#define AVF_AQ_FLAG_CMP_SHIFT	1
-#define AVF_AQ_FLAG_ERR_SHIFT	2
-#define AVF_AQ_FLAG_VFE_SHIFT	3
-#define AVF_AQ_FLAG_LB_SHIFT	9
-#define AVF_AQ_FLAG_RD_SHIFT	10
-#define AVF_AQ_FLAG_VFC_SHIFT	11
-#define AVF_AQ_FLAG_BUF_SHIFT	12
-#define AVF_AQ_FLAG_SI_SHIFT	13
-#define AVF_AQ_FLAG_EI_SHIFT	14
-#define AVF_AQ_FLAG_FE_SHIFT	15
-
-#define AVF_AQ_FLAG_DD		(1 << AVF_AQ_FLAG_DD_SHIFT)  /* 0x1    */
-#define AVF_AQ_FLAG_CMP	(1 << AVF_AQ_FLAG_CMP_SHIFT) /* 0x2    */
-#define AVF_AQ_FLAG_ERR	(1 << AVF_AQ_FLAG_ERR_SHIFT) /* 0x4    */
-#define AVF_AQ_FLAG_VFE	(1 << AVF_AQ_FLAG_VFE_SHIFT) /* 0x8    */
-#define AVF_AQ_FLAG_LB		(1 << AVF_AQ_FLAG_LB_SHIFT)  /* 0x200  */
-#define AVF_AQ_FLAG_RD		(1 << AVF_AQ_FLAG_RD_SHIFT)  /* 0x400  */
-#define AVF_AQ_FLAG_VFC	(1 << AVF_AQ_FLAG_VFC_SHIFT) /* 0x800  */
-#define AVF_AQ_FLAG_BUF	(1 << AVF_AQ_FLAG_BUF_SHIFT) /* 0x1000 */
-#define AVF_AQ_FLAG_SI		(1 << AVF_AQ_FLAG_SI_SHIFT)  /* 0x2000 */
-#define AVF_AQ_FLAG_EI		(1 << AVF_AQ_FLAG_EI_SHIFT)  /* 0x4000 */
-#define AVF_AQ_FLAG_FE		(1 << AVF_AQ_FLAG_FE_SHIFT)  /* 0x8000 */
-
-/* error codes */
-enum avf_admin_queue_err {
-	AVF_AQ_RC_OK		= 0,  /* success */
-	AVF_AQ_RC_EPERM	= 1,  /* Operation not permitted */
-	AVF_AQ_RC_ENOENT	= 2,  /* No such element */
-	AVF_AQ_RC_ESRCH	= 3,  /* Bad opcode */
-	AVF_AQ_RC_EINTR	= 4,  /* operation interrupted */
-	AVF_AQ_RC_EIO		= 5,  /* I/O error */
-	AVF_AQ_RC_ENXIO	= 6,  /* No such resource */
-	AVF_AQ_RC_E2BIG	= 7,  /* Arg too long */
-	AVF_AQ_RC_EAGAIN	= 8,  /* Try again */
-	AVF_AQ_RC_ENOMEM	= 9,  /* Out of memory */
-	AVF_AQ_RC_EACCES	= 10, /* Permission denied */
-	AVF_AQ_RC_EFAULT	= 11, /* Bad address */
-	AVF_AQ_RC_EBUSY	= 12, /* Device or resource busy */
-	AVF_AQ_RC_EEXIST	= 13, /* object already exists */
-	AVF_AQ_RC_EINVAL	= 14, /* Invalid argument */
-	AVF_AQ_RC_ENOTTY	= 15, /* Not a typewriter */
-	AVF_AQ_RC_ENOSPC	= 16, /* No space left or alloc failure */
-	AVF_AQ_RC_ENOSYS	= 17, /* Function not implemented */
-	AVF_AQ_RC_ERANGE	= 18, /* Parameter out of range */
-	AVF_AQ_RC_EFLUSHED	= 19, /* Cmd flushed due to prev cmd error */
-	AVF_AQ_RC_BAD_ADDR	= 20, /* Descriptor contains a bad pointer */
-	AVF_AQ_RC_EMODE	= 21, /* Op not allowed in current dev mode */
-	AVF_AQ_RC_EFBIG	= 22, /* File too large */
-};
-
-/* Admin Queue command opcodes */
-enum avf_admin_queue_opc {
-	/* aq commands */
-	avf_aqc_opc_get_version	= 0x0001,
-	avf_aqc_opc_driver_version	= 0x0002,
-	avf_aqc_opc_queue_shutdown	= 0x0003,
-	avf_aqc_opc_set_pf_context	= 0x0004,
-
-	/* resource ownership */
-	avf_aqc_opc_request_resource	= 0x0008,
-	avf_aqc_opc_release_resource	= 0x0009,
-
-	avf_aqc_opc_list_func_capabilities	= 0x000A,
-	avf_aqc_opc_list_dev_capabilities	= 0x000B,
-
-	/* Proxy commands */
-	avf_aqc_opc_set_proxy_config		= 0x0104,
-	avf_aqc_opc_set_ns_proxy_table_entry	= 0x0105,
-
-	/* LAA */
-	avf_aqc_opc_mac_address_read	= 0x0107,
-	avf_aqc_opc_mac_address_write	= 0x0108,
-
-	/* PXE */
-	avf_aqc_opc_clear_pxe_mode	= 0x0110,
-
-	/* WoL commands */
-	avf_aqc_opc_set_wol_filter	= 0x0120,
-	avf_aqc_opc_get_wake_reason	= 0x0121,
-	avf_aqc_opc_clear_all_wol_filters = 0x025E,
-
-	/* internal switch commands */
-	avf_aqc_opc_get_switch_config		= 0x0200,
-	avf_aqc_opc_add_statistics		= 0x0201,
-	avf_aqc_opc_remove_statistics		= 0x0202,
-	avf_aqc_opc_set_port_parameters	= 0x0203,
-	avf_aqc_opc_get_switch_resource_alloc	= 0x0204,
-	avf_aqc_opc_set_switch_config		= 0x0205,
-	avf_aqc_opc_rx_ctl_reg_read		= 0x0206,
-	avf_aqc_opc_rx_ctl_reg_write		= 0x0207,
-
-	avf_aqc_opc_add_vsi			= 0x0210,
-	avf_aqc_opc_update_vsi_parameters	= 0x0211,
-	avf_aqc_opc_get_vsi_parameters		= 0x0212,
-
-	avf_aqc_opc_add_pv			= 0x0220,
-	avf_aqc_opc_update_pv_parameters	= 0x0221,
-	avf_aqc_opc_get_pv_parameters		= 0x0222,
-
-	avf_aqc_opc_add_veb			= 0x0230,
-	avf_aqc_opc_update_veb_parameters	= 0x0231,
-	avf_aqc_opc_get_veb_parameters		= 0x0232,
-
-	avf_aqc_opc_delete_element		= 0x0243,
-
-	avf_aqc_opc_add_macvlan		= 0x0250,
-	avf_aqc_opc_remove_macvlan		= 0x0251,
-	avf_aqc_opc_add_vlan			= 0x0252,
-	avf_aqc_opc_remove_vlan		= 0x0253,
-	avf_aqc_opc_set_vsi_promiscuous_modes	= 0x0254,
-	avf_aqc_opc_add_tag			= 0x0255,
-	avf_aqc_opc_remove_tag			= 0x0256,
-	avf_aqc_opc_add_multicast_etag		= 0x0257,
-	avf_aqc_opc_remove_multicast_etag	= 0x0258,
-	avf_aqc_opc_update_tag			= 0x0259,
-	avf_aqc_opc_add_control_packet_filter	= 0x025A,
-	avf_aqc_opc_remove_control_packet_filter	= 0x025B,
-	avf_aqc_opc_add_cloud_filters		= 0x025C,
-	avf_aqc_opc_remove_cloud_filters	= 0x025D,
-	avf_aqc_opc_clear_wol_switch_filters	= 0x025E,
-	avf_aqc_opc_replace_cloud_filters	= 0x025F,
-
-	avf_aqc_opc_add_mirror_rule	= 0x0260,
-	avf_aqc_opc_delete_mirror_rule	= 0x0261,
-
-	/* Dynamic Device Personalization */
-	avf_aqc_opc_write_personalization_profile	= 0x0270,
-	avf_aqc_opc_get_personalization_profile_list	= 0x0271,
-
-	/* DCB commands */
-	avf_aqc_opc_dcb_ignore_pfc	= 0x0301,
-	avf_aqc_opc_dcb_updated	= 0x0302,
-	avf_aqc_opc_set_dcb_parameters = 0x0303,
-
-	/* TX scheduler */
-	avf_aqc_opc_configure_vsi_bw_limit		= 0x0400,
-	avf_aqc_opc_configure_vsi_ets_sla_bw_limit	= 0x0406,
-	avf_aqc_opc_configure_vsi_tc_bw		= 0x0407,
-	avf_aqc_opc_query_vsi_bw_config		= 0x0408,
-	avf_aqc_opc_query_vsi_ets_sla_config		= 0x040A,
-	avf_aqc_opc_configure_switching_comp_bw_limit	= 0x0410,
-
-	avf_aqc_opc_enable_switching_comp_ets			= 0x0413,
-	avf_aqc_opc_modify_switching_comp_ets			= 0x0414,
-	avf_aqc_opc_disable_switching_comp_ets			= 0x0415,
-	avf_aqc_opc_configure_switching_comp_ets_bw_limit	= 0x0416,
-	avf_aqc_opc_configure_switching_comp_bw_config		= 0x0417,
-	avf_aqc_opc_query_switching_comp_ets_config		= 0x0418,
-	avf_aqc_opc_query_port_ets_config			= 0x0419,
-	avf_aqc_opc_query_switching_comp_bw_config		= 0x041A,
-	avf_aqc_opc_suspend_port_tx				= 0x041B,
-	avf_aqc_opc_resume_port_tx				= 0x041C,
-	avf_aqc_opc_configure_partition_bw			= 0x041D,
-	/* hmc */
-	avf_aqc_opc_query_hmc_resource_profile	= 0x0500,
-	avf_aqc_opc_set_hmc_resource_profile	= 0x0501,
-
-	/* phy commands*/
-
-	/* phy commands*/
-	avf_aqc_opc_get_phy_abilities		= 0x0600,
-	avf_aqc_opc_set_phy_config		= 0x0601,
-	avf_aqc_opc_set_mac_config		= 0x0603,
-	avf_aqc_opc_set_link_restart_an	= 0x0605,
-	avf_aqc_opc_get_link_status		= 0x0607,
-	avf_aqc_opc_set_phy_int_mask		= 0x0613,
-	avf_aqc_opc_get_local_advt_reg		= 0x0614,
-	avf_aqc_opc_set_local_advt_reg		= 0x0615,
-	avf_aqc_opc_get_partner_advt		= 0x0616,
-	avf_aqc_opc_set_lb_modes		= 0x0618,
-	avf_aqc_opc_get_phy_wol_caps		= 0x0621,
-	avf_aqc_opc_set_phy_debug		= 0x0622,
-	avf_aqc_opc_upload_ext_phy_fm		= 0x0625,
-	avf_aqc_opc_run_phy_activity		= 0x0626,
-	avf_aqc_opc_set_phy_register		= 0x0628,
-	avf_aqc_opc_get_phy_register		= 0x0629,
-
-	/* NVM commands */
-	avf_aqc_opc_nvm_read			= 0x0701,
-	avf_aqc_opc_nvm_erase			= 0x0702,
-	avf_aqc_opc_nvm_update			= 0x0703,
-	avf_aqc_opc_nvm_config_read		= 0x0704,
-	avf_aqc_opc_nvm_config_write		= 0x0705,
-	avf_aqc_opc_nvm_progress		= 0x0706,
-	avf_aqc_opc_oem_post_update		= 0x0720,
-	avf_aqc_opc_thermal_sensor		= 0x0721,
-
-	/* virtualization commands */
-	avf_aqc_opc_send_msg_to_pf		= 0x0801,
-	avf_aqc_opc_send_msg_to_vf		= 0x0802,
-	avf_aqc_opc_send_msg_to_peer		= 0x0803,
-
-	/* alternate structure */
-	avf_aqc_opc_alternate_write		= 0x0900,
-	avf_aqc_opc_alternate_write_indirect	= 0x0901,
-	avf_aqc_opc_alternate_read		= 0x0902,
-	avf_aqc_opc_alternate_read_indirect	= 0x0903,
-	avf_aqc_opc_alternate_write_done	= 0x0904,
-	avf_aqc_opc_alternate_set_mode		= 0x0905,
-	avf_aqc_opc_alternate_clear_port	= 0x0906,
-
-	/* LLDP commands */
-	avf_aqc_opc_lldp_get_mib	= 0x0A00,
-	avf_aqc_opc_lldp_update_mib	= 0x0A01,
-	avf_aqc_opc_lldp_add_tlv	= 0x0A02,
-	avf_aqc_opc_lldp_update_tlv	= 0x0A03,
-	avf_aqc_opc_lldp_delete_tlv	= 0x0A04,
-	avf_aqc_opc_lldp_stop		= 0x0A05,
-	avf_aqc_opc_lldp_start		= 0x0A06,
-	avf_aqc_opc_get_cee_dcb_cfg	= 0x0A07,
-	avf_aqc_opc_lldp_set_local_mib	= 0x0A08,
-	avf_aqc_opc_lldp_stop_start_spec_agent	= 0x0A09,
-
-	/* Tunnel commands */
-	avf_aqc_opc_add_udp_tunnel	= 0x0B00,
-	avf_aqc_opc_del_udp_tunnel	= 0x0B01,
-	avf_aqc_opc_set_rss_key	= 0x0B02,
-	avf_aqc_opc_set_rss_lut	= 0x0B03,
-	avf_aqc_opc_get_rss_key	= 0x0B04,
-	avf_aqc_opc_get_rss_lut	= 0x0B05,
-
-	/* Async Events */
-	avf_aqc_opc_event_lan_overflow		= 0x1001,
-
-	/* OEM commands */
-	avf_aqc_opc_oem_parameter_change	= 0xFE00,
-	avf_aqc_opc_oem_device_status_change	= 0xFE01,
-	avf_aqc_opc_oem_ocsd_initialize	= 0xFE02,
-	avf_aqc_opc_oem_ocbb_initialize	= 0xFE03,
-
-	/* debug commands */
-	avf_aqc_opc_debug_read_reg		= 0xFF03,
-	avf_aqc_opc_debug_write_reg		= 0xFF04,
-	avf_aqc_opc_debug_modify_reg		= 0xFF07,
-	avf_aqc_opc_debug_dump_internals	= 0xFF08,
-};
-
-/* command structures and indirect data structures */
-
-/* Structure naming conventions:
- * - no suffix for direct command descriptor structures
- * - _data for indirect sent data
- * - _resp for indirect return data (data which is both will use _data)
- * - _completion for direct return data
- * - _element_ for repeated elements (may also be _data or _resp)
- *
- * Command structures are expected to overlay the params.raw member of the basic
- * descriptor, and as such cannot exceed 16 bytes in length.
- */
-
-/* This macro is used to generate a compilation error if a structure
- * 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.
- */
-#define AVF_CHECK_STRUCT_LEN(n, X) enum avf_static_assert_enum_##X \
-	{ avf_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
-
-/* This macro is used extensively to ensure that command structures are 16
- * bytes in length as they have to map to the raw array of that size.
- */
-#define AVF_CHECK_CMD_LENGTH(X)	AVF_CHECK_STRUCT_LEN(16, X)
-
-/* internal (0x00XX) commands */
-
-/* Get version (direct 0x0001) */
-struct avf_aqc_get_version {
-	__le32 rom_ver;
-	__le32 fw_build;
-	__le16 fw_major;
-	__le16 fw_minor;
-	__le16 api_major;
-	__le16 api_minor;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_version);
-
-/* Send driver version (indirect 0x0002) */
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_driver_version);
-
-/* Queue Shutdown (direct 0x0003) */
-struct avf_aqc_queue_shutdown {
-	__le32	driver_unloading;
-#define AVF_AQ_DRIVER_UNLOADING	0x1
-	u8	reserved[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_queue_shutdown);
-
-/* Set PF context (0x0004, direct) */
-struct avf_aqc_set_pf_context {
-	u8	pf_id;
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_pf_context);
-
-/* Request resource ownership (direct 0x0008)
- * Release resource ownership (direct 0x0009)
- */
-#define AVF_AQ_RESOURCE_NVM			1
-#define AVF_AQ_RESOURCE_SDP			2
-#define AVF_AQ_RESOURCE_ACCESS_READ		1
-#define AVF_AQ_RESOURCE_ACCESS_WRITE		2
-#define AVF_AQ_RESOURCE_NVM_READ_TIMEOUT	3000
-#define AVF_AQ_RESOURCE_NVM_WRITE_TIMEOUT	180000
-
-struct avf_aqc_request_resource {
-	__le16	resource_id;
-	__le16	access_type;
-	__le32	timeout;
-	__le32	resource_number;
-	u8	reserved[4];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_request_resource);
-
-/* Get function capabilities (indirect 0x000A)
- * Get device capabilities (indirect 0x000B)
- */
-struct avf_aqc_list_capabilites {
-	u8 command_flags;
-#define AVF_AQ_LIST_CAP_PF_INDEX_EN	1
-	u8 pf_index;
-	u8 reserved[2];
-	__le32 count;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_list_capabilites);
-
-struct avf_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 AVF_AQ_CAP_ID_SWITCH_MODE	0x0001
-#define AVF_AQ_CAP_ID_MNG_MODE		0x0002
-#define AVF_AQ_CAP_ID_NPAR_ACTIVE	0x0003
-#define AVF_AQ_CAP_ID_OS2BMC_CAP	0x0004
-#define AVF_AQ_CAP_ID_FUNCTIONS_VALID	0x0005
-#define AVF_AQ_CAP_ID_ALTERNATE_RAM	0x0006
-#define AVF_AQ_CAP_ID_WOL_AND_PROXY	0x0008
-#define AVF_AQ_CAP_ID_SRIOV		0x0012
-#define AVF_AQ_CAP_ID_VF		0x0013
-#define AVF_AQ_CAP_ID_VMDQ		0x0014
-#define AVF_AQ_CAP_ID_8021QBG		0x0015
-#define AVF_AQ_CAP_ID_8021QBR		0x0016
-#define AVF_AQ_CAP_ID_VSI		0x0017
-#define AVF_AQ_CAP_ID_DCB		0x0018
-#define AVF_AQ_CAP_ID_FCOE		0x0021
-#define AVF_AQ_CAP_ID_ISCSI		0x0022
-#define AVF_AQ_CAP_ID_RSS		0x0040
-#define AVF_AQ_CAP_ID_RXQ		0x0041
-#define AVF_AQ_CAP_ID_TXQ		0x0042
-#define AVF_AQ_CAP_ID_MSIX		0x0043
-#define AVF_AQ_CAP_ID_VF_MSIX		0x0044
-#define AVF_AQ_CAP_ID_FLOW_DIRECTOR	0x0045
-#define AVF_AQ_CAP_ID_1588		0x0046
-#define AVF_AQ_CAP_ID_IWARP		0x0051
-#define AVF_AQ_CAP_ID_LED		0x0061
-#define AVF_AQ_CAP_ID_SDP		0x0062
-#define AVF_AQ_CAP_ID_MDIO		0x0063
-#define AVF_AQ_CAP_ID_WSR_PROT		0x0064
-#define AVF_AQ_CAP_ID_NVM_MGMT		0x0080
-#define AVF_AQ_CAP_ID_FLEX10		0x00F1
-#define AVF_AQ_CAP_ID_CEM		0x00F2
-
-/* Set CPPM Configuration (direct 0x0103) */
-struct avf_aqc_cppm_configuration {
-	__le16	command_flags;
-#define AVF_AQ_CPPM_EN_LTRC	0x0800
-#define AVF_AQ_CPPM_EN_DMCTH	0x1000
-#define AVF_AQ_CPPM_EN_DMCTLX	0x2000
-#define AVF_AQ_CPPM_EN_HPTC	0x4000
-#define AVF_AQ_CPPM_EN_DMARC	0x8000
-	__le16	ttlx;
-	__le32	dmacr;
-	__le16	dmcth;
-	u8	hptc;
-	u8	reserved;
-	__le32	pfltrc;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_cppm_configuration);
-
-/* Set ARP Proxy command / response (indirect 0x0104) */
-struct avf_aqc_arp_proxy_data {
-	__le16	command_flags;
-#define AVF_AQ_ARP_INIT_IPV4	0x0800
-#define AVF_AQ_ARP_UNSUP_CTL	0x1000
-#define AVF_AQ_ARP_ENA		0x2000
-#define AVF_AQ_ARP_ADD_IPV4	0x4000
-#define AVF_AQ_ARP_DEL_IPV4	0x8000
-	__le16	table_id;
-	__le32	enabled_offloads;
-#define AVF_AQ_ARP_DIRECTED_OFFLOAD_ENABLE	0x00000020
-#define AVF_AQ_ARP_OFFLOAD_ENABLE		0x00000800
-	__le32	ip_addr;
-	u8	mac_addr[6];
-	u8	reserved[2];
-};
-
-AVF_CHECK_STRUCT_LEN(0x14, avf_aqc_arp_proxy_data);
-
-/* Set NS Proxy Table Entry Command (indirect 0x0105) */
-struct avf_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 AVF_AQ_NS_PROXY_ADD_0		0x0001
-#define AVF_AQ_NS_PROXY_DEL_0		0x0002
-#define AVF_AQ_NS_PROXY_ADD_1		0x0004
-#define AVF_AQ_NS_PROXY_DEL_1		0x0008
-#define AVF_AQ_NS_PROXY_ADD_IPV6_0	0x0010
-#define AVF_AQ_NS_PROXY_DEL_IPV6_0	0x0020
-#define AVF_AQ_NS_PROXY_ADD_IPV6_1	0x0040
-#define AVF_AQ_NS_PROXY_DEL_IPV6_1	0x0080
-#define AVF_AQ_NS_PROXY_COMMAND_SEQ	0x0100
-#define AVF_AQ_NS_PROXY_INIT_IPV6_TBL	0x0200
-#define AVF_AQ_NS_PROXY_INIT_MAC_TBL	0x0400
-#define AVF_AQ_NS_PROXY_OFFLOAD_ENABLE	0x0800
-#define AVF_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x3c, avf_aqc_ns_proxy_data);
-
-/* Manage LAA Command (0x0106) - obsolete */
-struct avf_aqc_mng_laa {
-	__le16	command_flags;
-#define AVF_AQ_LAA_FLAG_WR	0x8000
-	u8	reserved[2];
-	__le32	sal;
-	__le16	sah;
-	u8	reserved2[6];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_mng_laa);
-
-/* Manage MAC Address Read Command (indirect 0x0107) */
-struct avf_aqc_mac_address_read {
-	__le16	command_flags;
-#define AVF_AQC_LAN_ADDR_VALID		0x10
-#define AVF_AQC_SAN_ADDR_VALID		0x20
-#define AVF_AQC_PORT_ADDR_VALID	0x40
-#define AVF_AQC_WOL_ADDR_VALID		0x80
-#define AVF_AQC_MC_MAG_EN_VALID	0x100
-#define AVF_AQC_WOL_PRESERVE_STATUS	0x200
-#define AVF_AQC_ADDR_VALID_MASK	0x3F0
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_mac_address_read);
-
-struct avf_aqc_mac_address_read_data {
-	u8 pf_lan_mac[6];
-	u8 pf_san_mac[6];
-	u8 port_mac[6];
-	u8 pf_wol_mac[6];
-};
-
-AVF_CHECK_STRUCT_LEN(24, avf_aqc_mac_address_read_data);
-
-/* Manage MAC Address Write Command (0x0108) */
-struct avf_aqc_mac_address_write {
-	__le16	command_flags;
-#define AVF_AQC_MC_MAG_EN		0x0100
-#define AVF_AQC_WOL_PRESERVE_ON_PFR	0x0200
-#define AVF_AQC_WRITE_TYPE_LAA_ONLY	0x0000
-#define AVF_AQC_WRITE_TYPE_LAA_WOL	0x4000
-#define AVF_AQC_WRITE_TYPE_PORT	0x8000
-#define AVF_AQC_WRITE_TYPE_UPDATE_MC_MAG	0xC000
-#define AVF_AQC_WRITE_TYPE_MASK	0xC000
-
-	__le16	mac_sah;
-	__le32	mac_sal;
-	u8	reserved[8];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_mac_address_write);
-
-/* PXE commands (0x011x) */
-
-/* Clear PXE Command and response  (direct 0x0110) */
-struct avf_aqc_clear_pxe {
-	u8	rx_cnt;
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_clear_pxe);
-
-/* Set WoL Filter (0x0120) */
-
-struct avf_aqc_set_wol_filter {
-	__le16 filter_index;
-#define AVF_AQC_MAX_NUM_WOL_FILTERS	8
-#define AVF_AQC_SET_WOL_FILTER_TYPE_MAGIC_SHIFT	15
-#define AVF_AQC_SET_WOL_FILTER_TYPE_MAGIC_MASK	(0x1 << \
-		AVF_AQC_SET_WOL_FILTER_TYPE_MAGIC_SHIFT)
-
-#define AVF_AQC_SET_WOL_FILTER_INDEX_SHIFT		0
-#define AVF_AQC_SET_WOL_FILTER_INDEX_MASK	(0x7 << \
-		AVF_AQC_SET_WOL_FILTER_INDEX_SHIFT)
-	__le16 cmd_flags;
-#define AVF_AQC_SET_WOL_FILTER				0x8000
-#define AVF_AQC_SET_WOL_FILTER_NO_TCO_WOL		0x4000
-#define AVF_AQC_SET_WOL_FILTER_WOL_PRESERVE_ON_PFR	0x2000
-#define AVF_AQC_SET_WOL_FILTER_ACTION_CLEAR		0
-#define AVF_AQC_SET_WOL_FILTER_ACTION_SET		1
-	__le16 valid_flags;
-#define AVF_AQC_SET_WOL_FILTER_ACTION_VALID		0x8000
-#define AVF_AQC_SET_WOL_FILTER_NO_TCO_ACTION_VALID	0x4000
-	u8 reserved[2];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_wol_filter);
-
-struct avf_aqc_set_wol_filter_data {
-	u8 filter[128];
-	u8 mask[16];
-};
-
-AVF_CHECK_STRUCT_LEN(0x90, avf_aqc_set_wol_filter_data);
-
-/* Get Wake Reason (0x0121) */
-
-struct avf_aqc_get_wake_reason_completion {
-	u8 reserved_1[2];
-	__le16 wake_reason;
-#define AVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_MATCHED_INDEX_SHIFT	0
-#define AVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_MATCHED_INDEX_MASK (0xFF << \
-		AVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_MATCHED_INDEX_SHIFT)
-#define AVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_RESERVED_SHIFT	8
-#define AVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_RESERVED_MASK	(0xFF << \
-		AVF_AQC_GET_WAKE_UP_REASON_WOL_REASON_RESERVED_SHIFT)
-	u8 reserved_2[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_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 avf_aqc_switch_seid {
-	__le16	seid;
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_switch_seid);
-
-/* Get Switch Configuration command (indirect 0x0200)
- * uses avf_aqc_switch_seid for the descriptor
- */
-struct avf_aqc_get_switch_config_header_resp {
-	__le16	num_reported;
-	__le16	num_total;
-	u8	reserved[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_switch_config_header_resp);
-
-struct avf_aqc_switch_config_element_resp {
-	u8	element_type;
-#define AVF_AQ_SW_ELEM_TYPE_MAC	1
-#define AVF_AQ_SW_ELEM_TYPE_PF		2
-#define AVF_AQ_SW_ELEM_TYPE_VF		3
-#define AVF_AQ_SW_ELEM_TYPE_EMP	4
-#define AVF_AQ_SW_ELEM_TYPE_BMC	5
-#define AVF_AQ_SW_ELEM_TYPE_PV		16
-#define AVF_AQ_SW_ELEM_TYPE_VEB	17
-#define AVF_AQ_SW_ELEM_TYPE_PA		18
-#define AVF_AQ_SW_ELEM_TYPE_VSI	19
-	u8	revision;
-#define AVF_AQ_SW_ELEM_REV_1		1
-	__le16	seid;
-	__le16	uplink_seid;
-	__le16	downlink_seid;
-	u8	reserved[3];
-	u8	connection_type;
-#define AVF_AQ_CONN_TYPE_REGULAR	0x1
-#define AVF_AQ_CONN_TYPE_DEFAULT	0x2
-#define AVF_AQ_CONN_TYPE_CASCADED	0x3
-	__le16	scheduler_id;
-	__le16	element_info;
-};
-
-AVF_CHECK_STRUCT_LEN(0x10, avf_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 avf_aqc_get_switch_config_resp {
-	struct avf_aqc_get_switch_config_header_resp	header;
-	struct avf_aqc_switch_config_element_resp	element[1];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_aqc_get_switch_config_resp);
-
-/* Add Statistics (direct 0x0201)
- * Remove Statistics (direct 0x0202)
- */
-struct avf_aqc_add_remove_statistics {
-	__le16	seid;
-	__le16	vlan;
-	__le16	stat_index;
-	u8	reserved[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_statistics);
-
-/* Set Port Parameters command (direct 0x0203) */
-struct avf_aqc_set_port_parameters {
-	__le16	command_flags;
-#define AVF_AQ_SET_P_PARAMS_SAVE_BAD_PACKETS	1
-#define AVF_AQ_SET_P_PARAMS_PAD_SHORT_PACKETS	2 /* must set! */
-#define AVF_AQ_SET_P_PARAMS_DOUBLE_VLAN_ENA	4
-	__le16	bad_frame_vsi;
-#define AVF_AQ_SET_P_PARAMS_BFRAME_SEID_SHIFT	0x0
-#define AVF_AQ_SET_P_PARAMS_BFRAME_SEID_MASK	0x3FF
-	__le16	default_seid;        /* reserved for command */
-	u8	reserved[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_port_parameters);
-
-/* Get Switch Resource Allocation (indirect 0x0204) */
-struct avf_aqc_get_switch_resource_alloc {
-	u8	num_entries;         /* reserved for command */
-	u8	reserved[7];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_switch_resource_alloc);
-
-/* expect an array of these structs in the response buffer */
-struct avf_aqc_switch_resource_alloc_element_resp {
-	u8	resource_type;
-#define AVF_AQ_RESOURCE_TYPE_VEB		0x0
-#define AVF_AQ_RESOURCE_TYPE_VSI		0x1
-#define AVF_AQ_RESOURCE_TYPE_MACADDR		0x2
-#define AVF_AQ_RESOURCE_TYPE_STAG		0x3
-#define AVF_AQ_RESOURCE_TYPE_ETAG		0x4
-#define AVF_AQ_RESOURCE_TYPE_MULTICAST_HASH	0x5
-#define AVF_AQ_RESOURCE_TYPE_UNICAST_HASH	0x6
-#define AVF_AQ_RESOURCE_TYPE_VLAN		0x7
-#define AVF_AQ_RESOURCE_TYPE_VSI_LIST_ENTRY	0x8
-#define AVF_AQ_RESOURCE_TYPE_ETAG_LIST_ENTRY	0x9
-#define AVF_AQ_RESOURCE_TYPE_VLAN_STAT_POOL	0xA
-#define AVF_AQ_RESOURCE_TYPE_MIRROR_RULE	0xB
-#define AVF_AQ_RESOURCE_TYPE_QUEUE_SETS	0xC
-#define AVF_AQ_RESOURCE_TYPE_VLAN_FILTERS	0xD
-#define AVF_AQ_RESOURCE_TYPE_INNER_MAC_FILTERS	0xF
-#define AVF_AQ_RESOURCE_TYPE_IP_FILTERS	0x10
-#define AVF_AQ_RESOURCE_TYPE_GRE_VN_KEYS	0x11
-#define AVF_AQ_RESOURCE_TYPE_VN2_KEYS		0x12
-#define AVF_AQ_RESOURCE_TYPE_TUNNEL_PORTS	0x13
-	u8	reserved1;
-	__le16	guaranteed;
-	__le16	total;
-	__le16	used;
-	__le16	total_unalloced;
-	u8	reserved2[6];
-};
-
-AVF_CHECK_STRUCT_LEN(0x10, avf_aqc_switch_resource_alloc_element_resp);
-
-/* Set Switch Configuration (direct 0x0205) */
-struct avf_aqc_set_switch_config {
-	__le16	flags;
-/* flags used for both fields below */
-#define AVF_AQ_SET_SWITCH_CFG_PROMISC		0x0001
-#define AVF_AQ_SET_SWITCH_CFG_L2_FILTER	0x0002
-#define AVF_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];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_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 avf_aqc_rx_ctl_reg_read_write {
-	__le32 reserved1;
-	__le32 address;
-	__le32 reserved2;
-	__le32 value;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_rx_ctl_reg_read_write);
-
-/* Add VSI (indirect 0x0210)
- *    this indirect command uses struct avf_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 avf_aqc_add_get_update_vsi {
-	__le16	uplink_seid;
-	u8	connection_type;
-#define AVF_AQ_VSI_CONN_TYPE_NORMAL	0x1
-#define AVF_AQ_VSI_CONN_TYPE_DEFAULT	0x2
-#define AVF_AQ_VSI_CONN_TYPE_CASCADED	0x3
-	u8	reserved1;
-	u8	vf_id;
-	u8	reserved2;
-	__le16	vsi_flags;
-#define AVF_AQ_VSI_TYPE_SHIFT		0x0
-#define AVF_AQ_VSI_TYPE_MASK		(0x3 << AVF_AQ_VSI_TYPE_SHIFT)
-#define AVF_AQ_VSI_TYPE_VF		0x0
-#define AVF_AQ_VSI_TYPE_VMDQ2		0x1
-#define AVF_AQ_VSI_TYPE_PF		0x2
-#define AVF_AQ_VSI_TYPE_EMP_MNG	0x3
-#define AVF_AQ_VSI_FLAG_CASCADED_PV	0x4
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_get_update_vsi);
-
-struct avf_aqc_add_get_update_vsi_completion {
-	__le16 seid;
-	__le16 vsi_number;
-	__le16 vsi_used;
-	__le16 vsi_free;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_get_update_vsi_completion);
-
-struct avf_aqc_vsi_properties_data {
-	/* first 96 byte are written by SW */
-	__le16	valid_sections;
-#define AVF_AQ_VSI_PROP_SWITCH_VALID		0x0001
-#define AVF_AQ_VSI_PROP_SECURITY_VALID		0x0002
-#define AVF_AQ_VSI_PROP_VLAN_VALID		0x0004
-#define AVF_AQ_VSI_PROP_CAS_PV_VALID		0x0008
-#define AVF_AQ_VSI_PROP_INGRESS_UP_VALID	0x0010
-#define AVF_AQ_VSI_PROP_EGRESS_UP_VALID	0x0020
-#define AVF_AQ_VSI_PROP_QUEUE_MAP_VALID	0x0040
-#define AVF_AQ_VSI_PROP_QUEUE_OPT_VALID	0x0080
-#define AVF_AQ_VSI_PROP_OUTER_UP_VALID		0x0100
-#define AVF_AQ_VSI_PROP_SCHED_VALID		0x0200
-	/* switch section */
-	__le16	switch_id; /* 12bit id combined with flags below */
-#define AVF_AQ_VSI_SW_ID_SHIFT		0x0000
-#define AVF_AQ_VSI_SW_ID_MASK		(0xFFF << AVF_AQ_VSI_SW_ID_SHIFT)
-#define AVF_AQ_VSI_SW_ID_FLAG_NOT_STAG	0x1000
-#define AVF_AQ_VSI_SW_ID_FLAG_ALLOW_LB	0x2000
-#define AVF_AQ_VSI_SW_ID_FLAG_LOCAL_LB	0x4000
-	u8	sw_reserved[2];
-	/* security section */
-	u8	sec_flags;
-#define AVF_AQ_VSI_SEC_FLAG_ALLOW_DEST_OVRD	0x01
-#define AVF_AQ_VSI_SEC_FLAG_ENABLE_VLAN_CHK	0x02
-#define AVF_AQ_VSI_SEC_FLAG_ENABLE_MAC_CHK	0x04
-	u8	sec_reserved;
-	/* VLAN section */
-	__le16	pvid; /* VLANS include priority bits */
-	__le16	fcoe_pvid;
-	u8	port_vlan_flags;
-#define AVF_AQ_VSI_PVLAN_MODE_SHIFT	0x00
-#define AVF_AQ_VSI_PVLAN_MODE_MASK	(0x03 << \
-					 AVF_AQ_VSI_PVLAN_MODE_SHIFT)
-#define AVF_AQ_VSI_PVLAN_MODE_TAGGED	0x01
-#define AVF_AQ_VSI_PVLAN_MODE_UNTAGGED	0x02
-#define AVF_AQ_VSI_PVLAN_MODE_ALL	0x03
-#define AVF_AQ_VSI_PVLAN_INSERT_PVID	0x04
-#define AVF_AQ_VSI_PVLAN_EMOD_SHIFT	0x03
-#define AVF_AQ_VSI_PVLAN_EMOD_MASK	(0x3 << \
-					 AVF_AQ_VSI_PVLAN_EMOD_SHIFT)
-#define AVF_AQ_VSI_PVLAN_EMOD_STR_BOTH	0x0
-#define AVF_AQ_VSI_PVLAN_EMOD_STR_UP	0x08
-#define AVF_AQ_VSI_PVLAN_EMOD_STR	0x10
-#define AVF_AQ_VSI_PVLAN_EMOD_NOTHING	0x18
-	u8	pvlan_reserved[3];
-	/* ingress egress up sections */
-	__le32	ingress_table; /* bitmap, 3 bits per up */
-#define AVF_AQ_VSI_UP_TABLE_UP0_SHIFT	0
-#define AVF_AQ_VSI_UP_TABLE_UP0_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP0_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP1_SHIFT	3
-#define AVF_AQ_VSI_UP_TABLE_UP1_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP1_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP2_SHIFT	6
-#define AVF_AQ_VSI_UP_TABLE_UP2_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP2_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP3_SHIFT	9
-#define AVF_AQ_VSI_UP_TABLE_UP3_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP3_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP4_SHIFT	12
-#define AVF_AQ_VSI_UP_TABLE_UP4_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP4_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP5_SHIFT	15
-#define AVF_AQ_VSI_UP_TABLE_UP5_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP5_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP6_SHIFT	18
-#define AVF_AQ_VSI_UP_TABLE_UP6_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP6_SHIFT)
-#define AVF_AQ_VSI_UP_TABLE_UP7_SHIFT	21
-#define AVF_AQ_VSI_UP_TABLE_UP7_MASK	(0x7 << \
-					 AVF_AQ_VSI_UP_TABLE_UP7_SHIFT)
-	__le32	egress_table;   /* same defines as for ingress table */
-	/* cascaded PV section */
-	__le16	cas_pv_tag;
-	u8	cas_pv_flags;
-#define AVF_AQ_VSI_CAS_PV_TAGX_SHIFT		0x00
-#define AVF_AQ_VSI_CAS_PV_TAGX_MASK		(0x03 << \
-						 AVF_AQ_VSI_CAS_PV_TAGX_SHIFT)
-#define AVF_AQ_VSI_CAS_PV_TAGX_LEAVE		0x00
-#define AVF_AQ_VSI_CAS_PV_TAGX_REMOVE		0x01
-#define AVF_AQ_VSI_CAS_PV_TAGX_COPY		0x02
-#define AVF_AQ_VSI_CAS_PV_INSERT_TAG		0x10
-#define AVF_AQ_VSI_CAS_PV_ETAG_PRUNE		0x20
-#define AVF_AQ_VSI_CAS_PV_ACCEPT_HOST_TAG	0x40
-	u8	cas_pv_reserved;
-	/* queue mapping section */
-	__le16	mapping_flags;
-#define AVF_AQ_VSI_QUE_MAP_CONTIG	0x0
-#define AVF_AQ_VSI_QUE_MAP_NONCONTIG	0x1
-	__le16	queue_mapping[16];
-#define AVF_AQ_VSI_QUEUE_SHIFT		0x0
-#define AVF_AQ_VSI_QUEUE_MASK		(0x7FF << AVF_AQ_VSI_QUEUE_SHIFT)
-	__le16	tc_mapping[8];
-#define AVF_AQ_VSI_TC_QUE_OFFSET_SHIFT	0
-#define AVF_AQ_VSI_TC_QUE_OFFSET_MASK	(0x1FF << \
-					 AVF_AQ_VSI_TC_QUE_OFFSET_SHIFT)
-#define AVF_AQ_VSI_TC_QUE_NUMBER_SHIFT	9
-#define AVF_AQ_VSI_TC_QUE_NUMBER_MASK	(0x7 << \
-					 AVF_AQ_VSI_TC_QUE_NUMBER_SHIFT)
-	/* queueing option section */
-	u8	queueing_opt_flags;
-#define AVF_AQ_VSI_QUE_OPT_MULTICAST_UDP_ENA	0x04
-#define AVF_AQ_VSI_QUE_OPT_UNICAST_UDP_ENA	0x08
-#define AVF_AQ_VSI_QUE_OPT_TCP_ENA	0x10
-#define AVF_AQ_VSI_QUE_OPT_FCOE_ENA	0x20
-#define AVF_AQ_VSI_QUE_OPT_RSS_LUT_PF	0x00
-#define AVF_AQ_VSI_QUE_OPT_RSS_LUT_VSI	0x40
-	u8	queueing_opt_reserved[3];
-	/* scheduler section */
-	u8	up_enable_bits;
-	u8	sched_reserved;
-	/* outer up section */
-	__le32	outer_up_table; /* same structure and defines as ingress tbl */
-	u8	cmd_reserved[8];
-	/* last 32 bytes are written by FW */
-	__le16	qs_handle[8];
-#define AVF_AQ_VSI_QS_HANDLE_INVALID	0xFFFF
-	__le16	stat_counter_idx;
-	__le16	sched_id;
-	u8	resp_reserved[12];
-};
-
-AVF_CHECK_STRUCT_LEN(128, avf_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 avf_aqc_add_update_pv {
-	__le16	command_flags;
-#define AVF_AQC_PV_FLAG_PV_TYPE		0x1
-#define AVF_AQC_PV_FLAG_FWD_UNKNOWN_STAG_EN	0x2
-#define AVF_AQC_PV_FLAG_FWD_UNKNOWN_ETAG_EN	0x4
-#define AVF_AQC_PV_FLAG_IS_CTRL_PORT		0x8
-	__le16	uplink_seid;
-	__le16	connected_seid;
-	u8	reserved[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_update_pv);
-
-struct avf_aqc_add_update_pv_completion {
-	/* reserved for update; for add also encodes error if rc == ENOSPC */
-	__le16	pv_seid;
-#define AVF_AQC_PV_ERR_FLAG_NO_PV	0x1
-#define AVF_AQC_PV_ERR_FLAG_NO_SCHED	0x2
-#define AVF_AQC_PV_ERR_FLAG_NO_COUNTER	0x4
-#define AVF_AQC_PV_ERR_FLAG_NO_ENTRY	0x8
-	u8	reserved[14];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_update_pv_completion);
-
-/* Get PV Params (direct 0x0222)
- * uses avf_aqc_switch_seid for the descriptor
- */
-
-struct avf_aqc_get_pv_params_completion {
-	__le16	seid;
-	__le16	default_stag;
-	__le16	pv_flags; /* same flags as add_pv */
-#define AVF_AQC_GET_PV_PV_TYPE			0x1
-#define AVF_AQC_GET_PV_FRWD_UNKNOWN_STAG	0x2
-#define AVF_AQC_GET_PV_FRWD_UNKNOWN_ETAG	0x4
-	u8	reserved[8];
-	__le16	default_port_seid;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_pv_params_completion);
-
-/* Add VEB (direct 0x0230) */
-struct avf_aqc_add_veb {
-	__le16	uplink_seid;
-	__le16	downlink_seid;
-	__le16	veb_flags;
-#define AVF_AQC_ADD_VEB_FLOATING		0x1
-#define AVF_AQC_ADD_VEB_PORT_TYPE_SHIFT	1
-#define AVF_AQC_ADD_VEB_PORT_TYPE_MASK		(0x3 << \
-					AVF_AQC_ADD_VEB_PORT_TYPE_SHIFT)
-#define AVF_AQC_ADD_VEB_PORT_TYPE_DEFAULT	0x2
-#define AVF_AQC_ADD_VEB_PORT_TYPE_DATA		0x4
-#define AVF_AQC_ADD_VEB_ENABLE_L2_FILTER	0x8     /* deprecated */
-#define AVF_AQC_ADD_VEB_ENABLE_DISABLE_STATS	0x10
-	u8	enable_tcs;
-	u8	reserved[9];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_veb);
-
-struct avf_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 AVF_AQC_VEB_ERR_FLAG_NO_VEB		0x1
-#define AVF_AQC_VEB_ERR_FLAG_NO_SCHED		0x2
-#define AVF_AQC_VEB_ERR_FLAG_NO_COUNTER	0x4
-#define AVF_AQC_VEB_ERR_FLAG_NO_ENTRY		0x8
-	__le16	statistic_index;
-	__le16	vebs_used;
-	__le16	vebs_free;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_veb_completion);
-
-/* Get VEB Parameters (direct 0x0232)
- * uses avf_aqc_switch_seid for the descriptor
- */
-struct avf_aqc_get_veb_parameters_completion {
-	__le16	seid;
-	__le16	switch_id;
-	__le16	veb_flags; /* only the first/last flags from 0x0230 is valid */
-	__le16	statistic_index;
-	__le16	vebs_used;
-	__le16	vebs_free;
-	u8	reserved[4];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_veb_parameters_completion);
-
-/* Delete Element (direct 0x0243)
- * uses the generic avf_aqc_switch_seid
- */
-
-/* Add MAC-VLAN (indirect 0x0250) */
-
-/* used for the command for most vlan commands */
-struct avf_aqc_macvlan {
-	__le16	num_addresses;
-	__le16	seid[3];
-#define AVF_AQC_MACVLAN_CMD_SEID_NUM_SHIFT	0
-#define AVF_AQC_MACVLAN_CMD_SEID_NUM_MASK	(0x3FF << \
-					AVF_AQC_MACVLAN_CMD_SEID_NUM_SHIFT)
-#define AVF_AQC_MACVLAN_CMD_SEID_VALID		0x8000
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_macvlan);
-
-/* indirect data for command and response */
-struct avf_aqc_add_macvlan_element_data {
-	u8	mac_addr[6];
-	__le16	vlan_tag;
-	__le16	flags;
-#define AVF_AQC_MACVLAN_ADD_PERFECT_MATCH	0x0001
-#define AVF_AQC_MACVLAN_ADD_HASH_MATCH		0x0002
-#define AVF_AQC_MACVLAN_ADD_IGNORE_VLAN	0x0004
-#define AVF_AQC_MACVLAN_ADD_TO_QUEUE		0x0008
-#define AVF_AQC_MACVLAN_ADD_USE_SHARED_MAC	0x0010
-	__le16	queue_number;
-#define AVF_AQC_MACVLAN_CMD_QUEUE_SHIFT	0
-#define AVF_AQC_MACVLAN_CMD_QUEUE_MASK		(0x7FF << \
-					AVF_AQC_MACVLAN_CMD_SEID_NUM_SHIFT)
-	/* response section */
-	u8	match_method;
-#define AVF_AQC_MM_PERFECT_MATCH	0x01
-#define AVF_AQC_MM_HASH_MATCH		0x02
-#define AVF_AQC_MM_ERR_NO_RES		0xFF
-	u8	reserved1[3];
-};
-
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_macvlan_completion);
-
-/* Remove MAC-VLAN (indirect 0x0251)
- * uses avf_aqc_macvlan for the descriptor
- * data points to an array of num_addresses of elements
- */
-
-struct avf_aqc_remove_macvlan_element_data {
-	u8	mac_addr[6];
-	__le16	vlan_tag;
-	u8	flags;
-#define AVF_AQC_MACVLAN_DEL_PERFECT_MATCH	0x01
-#define AVF_AQC_MACVLAN_DEL_HASH_MATCH		0x02
-#define AVF_AQC_MACVLAN_DEL_IGNORE_VLAN	0x08
-#define AVF_AQC_MACVLAN_DEL_ALL_VSIS		0x10
-	u8	reserved[3];
-	/* reply section */
-	u8	error_code;
-#define AVF_AQC_REMOVE_MACVLAN_SUCCESS		0x0
-#define AVF_AQC_REMOVE_MACVLAN_FAIL		0xFF
-	u8	reply_reserved[3];
-};
-
-/* Add VLAN (indirect 0x0252)
- * Remove VLAN (indirect 0x0253)
- * use the generic avf_aqc_macvlan for the command
- */
-struct avf_aqc_add_remove_vlan_element_data {
-	__le16	vlan_tag;
-	u8	vlan_flags;
-/* flags for add VLAN */
-#define AVF_AQC_ADD_VLAN_LOCAL			0x1
-#define AVF_AQC_ADD_PVLAN_TYPE_SHIFT		1
-#define AVF_AQC_ADD_PVLAN_TYPE_MASK	(0x3 << AVF_AQC_ADD_PVLAN_TYPE_SHIFT)
-#define AVF_AQC_ADD_PVLAN_TYPE_REGULAR		0x0
-#define AVF_AQC_ADD_PVLAN_TYPE_PRIMARY		0x2
-#define AVF_AQC_ADD_PVLAN_TYPE_SECONDARY	0x4
-#define AVF_AQC_VLAN_PTYPE_SHIFT		3
-#define AVF_AQC_VLAN_PTYPE_MASK	(0x3 << AVF_AQC_VLAN_PTYPE_SHIFT)
-#define AVF_AQC_VLAN_PTYPE_REGULAR_VSI		0x0
-#define AVF_AQC_VLAN_PTYPE_PROMISC_VSI		0x8
-#define AVF_AQC_VLAN_PTYPE_COMMUNITY_VSI	0x10
-#define AVF_AQC_VLAN_PTYPE_ISOLATED_VSI	0x18
-/* flags for remove VLAN */
-#define AVF_AQC_REMOVE_VLAN_ALL	0x1
-	u8	reserved;
-	u8	result;
-/* flags for add VLAN */
-#define AVF_AQC_ADD_VLAN_SUCCESS	0x0
-#define AVF_AQC_ADD_VLAN_FAIL_REQUEST	0xFE
-#define AVF_AQC_ADD_VLAN_FAIL_RESOURCE	0xFF
-/* flags for remove VLAN */
-#define AVF_AQC_REMOVE_VLAN_SUCCESS	0x0
-#define AVF_AQC_REMOVE_VLAN_FAIL	0xFF
-	u8	reserved1[3];
-};
-
-struct avf_aqc_add_remove_vlan_completion {
-	u8	reserved[4];
-	__le16	vlans_used;
-	__le16	vlans_free;
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-/* Set VSI Promiscuous Modes (direct 0x0254) */
-struct avf_aqc_set_vsi_promiscuous_modes {
-	__le16	promiscuous_flags;
-	__le16	valid_flags;
-/* flags used for both fields above */
-#define AVF_AQC_SET_VSI_PROMISC_UNICAST	0x01
-#define AVF_AQC_SET_VSI_PROMISC_MULTICAST	0x02
-#define AVF_AQC_SET_VSI_PROMISC_BROADCAST	0x04
-#define AVF_AQC_SET_VSI_DEFAULT		0x08
-#define AVF_AQC_SET_VSI_PROMISC_VLAN		0x10
-#define AVF_AQC_SET_VSI_PROMISC_TX		0x8000
-	__le16	seid;
-#define AVF_AQC_VSI_PROM_CMD_SEID_MASK		0x3FF
-	__le16	vlan_tag;
-#define AVF_AQC_SET_VSI_VLAN_MASK		0x0FFF
-#define AVF_AQC_SET_VSI_VLAN_VALID		0x8000
-	u8	reserved[8];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_vsi_promiscuous_modes);
-
-/* Add S/E-tag command (direct 0x0255)
- * Uses generic avf_aqc_add_remove_tag_completion for completion
- */
-struct avf_aqc_add_tag {
-	__le16	flags;
-#define AVF_AQC_ADD_TAG_FLAG_TO_QUEUE		0x0001
-	__le16	seid;
-#define AVF_AQC_ADD_TAG_CMD_SEID_NUM_SHIFT	0
-#define AVF_AQC_ADD_TAG_CMD_SEID_NUM_MASK	(0x3FF << \
-					AVF_AQC_ADD_TAG_CMD_SEID_NUM_SHIFT)
-	__le16	tag;
-	__le16	queue_number;
-	u8	reserved[8];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_tag);
-
-struct avf_aqc_add_remove_tag_completion {
-	u8	reserved[12];
-	__le16	tags_used;
-	__le16	tags_free;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_tag_completion);
-
-/* Remove S/E-tag command (direct 0x0256)
- * Uses generic avf_aqc_add_remove_tag_completion for completion
- */
-struct avf_aqc_remove_tag {
-	__le16	seid;
-#define AVF_AQC_REMOVE_TAG_CMD_SEID_NUM_SHIFT	0
-#define AVF_AQC_REMOVE_TAG_CMD_SEID_NUM_MASK	(0x3FF << \
-					AVF_AQC_REMOVE_TAG_CMD_SEID_NUM_SHIFT)
-	__le16	tag;
-	u8	reserved[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_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 avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_mcast_etag);
-
-struct avf_aqc_add_remove_mcast_etag_completion {
-	u8	reserved[4];
-	__le16	mcast_etags_used;
-	__le16	mcast_etags_free;
-	__le32	addr_high;
-	__le32	addr_low;
-
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_mcast_etag_completion);
-
-/* Update S/E-Tag (direct 0x0259) */
-struct avf_aqc_update_tag {
-	__le16	seid;
-#define AVF_AQC_UPDATE_TAG_CMD_SEID_NUM_SHIFT	0
-#define AVF_AQC_UPDATE_TAG_CMD_SEID_NUM_MASK	(0x3FF << \
-					AVF_AQC_UPDATE_TAG_CMD_SEID_NUM_SHIFT)
-	__le16	old_tag;
-	__le16	new_tag;
-	u8	reserved[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_update_tag);
-
-struct avf_aqc_update_tag_completion {
-	u8	reserved[12];
-	__le16	tags_used;
-	__le16	tags_free;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_update_tag_completion);
-
-/* Add Control Packet filter (direct 0x025A)
- * Remove Control Packet filter (direct 0x025B)
- * uses the avf_aqc_add_oveb_cloud,
- * and the generic direct completion structure
- */
-struct avf_aqc_add_remove_control_packet_filter {
-	u8	mac[6];
-	__le16	etype;
-	__le16	flags;
-#define AVF_AQC_ADD_CONTROL_PACKET_FLAGS_IGNORE_MAC	0x0001
-#define AVF_AQC_ADD_CONTROL_PACKET_FLAGS_DROP		0x0002
-#define AVF_AQC_ADD_CONTROL_PACKET_FLAGS_TO_QUEUE	0x0004
-#define AVF_AQC_ADD_CONTROL_PACKET_FLAGS_TX		0x0008
-#define AVF_AQC_ADD_CONTROL_PACKET_FLAGS_RX		0x0000
-	__le16	seid;
-#define AVF_AQC_ADD_CONTROL_PACKET_CMD_SEID_NUM_SHIFT	0
-#define AVF_AQC_ADD_CONTROL_PACKET_CMD_SEID_NUM_MASK	(0x3FF << \
-				AVF_AQC_ADD_CONTROL_PACKET_CMD_SEID_NUM_SHIFT)
-	__le16	queue;
-	u8	reserved[2];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_control_packet_filter);
-
-struct avf_aqc_add_remove_control_packet_filter_completion {
-	__le16	mac_etype_used;
-	__le16	etype_used;
-	__le16	mac_etype_free;
-	__le16	etype_free;
-	u8	reserved[8];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_control_packet_filter_completion);
-
-/* Add Cloud filters (indirect 0x025C)
- * Remove Cloud filters (indirect 0x025D)
- * uses the avf_aqc_add_remove_cloud_filters,
- * and the generic indirect completion structure
- */
-struct avf_aqc_add_remove_cloud_filters {
-	u8	num_filters;
-	u8	reserved;
-	__le16	seid;
-#define AVF_AQC_ADD_CLOUD_CMD_SEID_NUM_SHIFT	0
-#define AVF_AQC_ADD_CLOUD_CMD_SEID_NUM_MASK	(0x3FF << \
-					AVF_AQC_ADD_CLOUD_CMD_SEID_NUM_SHIFT)
-	u8	big_buffer_flag;
-#define AVF_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER	1
-	u8	reserved2[3];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_remove_cloud_filters);
-
-struct avf_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 AVF_AQC_ADD_CLOUD_FILTER_SHIFT			0
-#define AVF_AQC_ADD_CLOUD_FILTER_MASK	(0x3F << \
-					AVF_AQC_ADD_CLOUD_FILTER_SHIFT)
-/* 0x0000 reserved */
-#define AVF_AQC_ADD_CLOUD_FILTER_OIP			0x0001
-/* 0x0002 reserved */
-#define AVF_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN		0x0003
-#define AVF_AQC_ADD_CLOUD_FILTER_IMAC_IVLAN_TEN_ID	0x0004
-/* 0x0005 reserved */
-#define AVF_AQC_ADD_CLOUD_FILTER_IMAC_TEN_ID		0x0006
-/* 0x0007 reserved */
-/* 0x0008 reserved */
-#define AVF_AQC_ADD_CLOUD_FILTER_OMAC			0x0009
-#define AVF_AQC_ADD_CLOUD_FILTER_IMAC			0x000A
-#define AVF_AQC_ADD_CLOUD_FILTER_OMAC_TEN_ID_IMAC	0x000B
-#define AVF_AQC_ADD_CLOUD_FILTER_IIP			0x000C
-/* 0x0010 to 0x0017 is for custom filters */
-
-#define AVF_AQC_ADD_CLOUD_FLAGS_TO_QUEUE		0x0080
-#define AVF_AQC_ADD_CLOUD_VNK_SHIFT			6
-#define AVF_AQC_ADD_CLOUD_VNK_MASK			0x00C0
-#define AVF_AQC_ADD_CLOUD_FLAGS_IPV4			0
-#define AVF_AQC_ADD_CLOUD_FLAGS_IPV6			0x0100
-
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_SHIFT		9
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_MASK		0x1E00
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_VXLAN		0
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_NVGRE_OMAC		1
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_GENEVE		2
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_IP			3
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_RESERVED		4
-#define AVF_AQC_ADD_CLOUD_TNL_TYPE_VXLAN_GPE		5
-
-#define AVF_AQC_ADD_CLOUD_FLAGS_SHARED_OUTER_MAC	0x2000
-#define AVF_AQC_ADD_CLOUD_FLAGS_SHARED_INNER_MAC	0x4000
-#define AVF_AQC_ADD_CLOUD_FLAGS_SHARED_OUTER_IP	0x8000
-
-	__le32	tenant_id;
-	u8	reserved[4];
-	__le16	queue_number;
-#define AVF_AQC_ADD_CLOUD_QUEUE_SHIFT		0
-#define AVF_AQC_ADD_CLOUD_QUEUE_MASK		(0x7FF << \
-						 AVF_AQC_ADD_CLOUD_QUEUE_SHIFT)
-	u8	reserved2[14];
-	/* response section */
-	u8	allocation_result;
-#define AVF_AQC_ADD_CLOUD_FILTER_SUCCESS	0x0
-#define AVF_AQC_ADD_CLOUD_FILTER_FAIL		0xFF
-	u8	response_reserved[7];
-};
-
-/* avf_aqc_add_rm_cloud_filt_elem_ext is used when
- * AVF_AQC_ADD_REM_CLOUD_CMD_BIG_BUFFER flag is set.
- */
-struct avf_aqc_add_rm_cloud_filt_elem_ext {
-	struct avf_aqc_add_remove_cloud_filters_element_data element;
-	u16     general_fields[32];
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X10_WORD0	0
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X10_WORD1	1
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X10_WORD2	2
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X11_WORD0	3
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X11_WORD1	4
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X11_WORD2	5
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X12_WORD0	6
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X12_WORD1	7
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X12_WORD2	8
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X13_WORD0	9
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X13_WORD1	10
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X13_WORD2	11
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X14_WORD0	12
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X14_WORD1	13
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X14_WORD2	14
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD0	15
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD1	16
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD2	17
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD3	18
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD4	19
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD5	20
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD6	21
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X16_WORD7	22
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD0	23
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD1	24
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD2	25
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD3	26
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD4	27
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD5	28
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD6	29
-#define AVF_AQC_ADD_CLOUD_FV_FLU_0X17_WORD7	30
-};
-
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_remove_cloud_filters_completion);
-
-/* Replace filter Command 0x025F
- * uses the avf_aqc_replace_cloud_filters,
- * and the generic indirect completion structure
- */
-struct avf_filter_data {
-	u8 filter_type;
-	u8 input[3];
-};
-
-struct avf_aqc_replace_cloud_filters_cmd {
-	u8	valid_flags;
-#define AVF_AQC_REPLACE_L1_FILTER		0x0
-#define AVF_AQC_REPLACE_CLOUD_FILTER		0x1
-#define AVF_AQC_GET_CLOUD_FILTERS		0x2
-#define AVF_AQC_MIRROR_CLOUD_FILTER		0x4
-#define AVF_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 avf_aqc_replace_cloud_filters_cmd_buf {
-	u8	data[32];
-/* Filter type INPUT codes*/
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_ENTRIES_MAX	3
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_VALIDATED	(1 << 7UL)
-
-/* Field Vector offsets */
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_MAC_DA		0
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG_ETH		6
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG		7
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_VLAN		8
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG_OVLAN		9
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_STAG_IVLAN		10
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_TUNNLE_KEY		11
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_IMAC		12
-/* big FLU */
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_IP_DA		14
-/* big FLU */
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_OIP_DA		15
-
-#define AVF_AQC_REPLACE_CLOUD_CMD_INPUT_FV_INNER_VLAN		37
-	struct avf_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 avf_aqc_add_delete_mirror_rule {
-	__le16 seid;
-	__le16 rule_type;
-#define AVF_AQC_MIRROR_RULE_TYPE_SHIFT		0
-#define AVF_AQC_MIRROR_RULE_TYPE_MASK		(0x7 << \
-						AVF_AQC_MIRROR_RULE_TYPE_SHIFT)
-#define AVF_AQC_MIRROR_RULE_TYPE_VPORT_INGRESS	1
-#define AVF_AQC_MIRROR_RULE_TYPE_VPORT_EGRESS	2
-#define AVF_AQC_MIRROR_RULE_TYPE_VLAN		3
-#define AVF_AQC_MIRROR_RULE_TYPE_ALL_INGRESS	4
-#define AVF_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_delete_mirror_rule);
-
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_delete_mirror_rule_completion);
-
-/* Dynamic Device Personalization */
-struct avf_aqc_write_personalization_profile {
-	u8      flags;
-	u8      reserved[3];
-	__le32  profile_track_id;
-	__le32  addr_high;
-	__le32  addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_write_personalization_profile);
-
-struct avf_aqc_write_ddp_resp {
-	__le32 error_offset;
-	__le32 error_info;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-struct avf_aqc_get_applied_profiles {
-	u8      flags;
-#define AVF_AQC_GET_DDP_GET_CONF	0x1
-#define AVF_AQC_GET_DDP_GET_RDPU_CONF	0x2
-	u8      rsv[3];
-	__le32  reserved;
-	__le32  addr_high;
-	__le32  addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_applied_profiles);
-
-/* DCB 0x03xx*/
-
-/* PFC Ignore (direct 0x0301)
- *    the command and response use the same descriptor structure
- */
-struct avf_aqc_pfc_ignore {
-	u8	tc_bitmap;
-	u8	command_flags; /* unused on response */
-#define AVF_AQC_PFC_IGNORE_SET		0x80
-#define AVF_AQC_PFC_IGNORE_CLEAR	0x0
-	u8	reserved[14];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_pfc_ignore);
-
-/* DCB Update (direct 0x0302) uses the avf_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 avf_aqc_tx_sched_ind {
-	__le16	vsi_seid;
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_tx_sched_ind);
-
-/* Several commands respond with a set of queue set handles */
-struct avf_aqc_qs_handles_resp {
-	__le16 qs_handles[8];
-};
-
-/* Configure VSI BW limits (direct 0x0400) */
-struct avf_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];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_configure_vsi_bw_limit);
-
-/* Configure VSI Bandwidth Limit per Traffic Type (indirect 0x0406)
- *    responds with avf_aqc_qs_handles_resp
- */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x40, avf_aqc_configure_vsi_ets_sla_bw_data);
-
-/* Configure VSI Bandwidth Allocation per Traffic Type (indirect 0x0407)
- *    responds with avf_aqc_qs_handles_resp
- */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_aqc_configure_vsi_tc_bw_data);
-
-/* Query vsi bw configuration (indirect 0x0408) */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x40, avf_aqc_query_vsi_bw_config_resp);
-
-/* Query VSI Bandwidth Allocation per Traffic Type (indirect 0x040A) */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_aqc_query_vsi_ets_sla_config_resp);
-
-/* Configure Switching Component Bandwidth Limit (direct 0x0410) */
-struct avf_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];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_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 avf_aqc_configure_switching_comp_ets_data {
-	u8	reserved[4];
-	u8	tc_valid_bits;
-	u8	seepage;
-#define AVF_AQ_ETS_SEEPAGE_EN_MASK	0x1
-	u8	tc_strict_priority_flags;
-	u8	reserved1[17];
-	u8	tc_bw_share_credits[8];
-	u8	reserved2[96];
-};
-
-AVF_CHECK_STRUCT_LEN(0x80, avf_aqc_configure_switching_comp_ets_data);
-
-/* Configure Switching Component Bandwidth Limits per Tc (indirect 0x0416) */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x40,
-		      avf_aqc_configure_switching_comp_ets_bw_limit_data);
-
-/* Configure Switching Component Bandwidth Allocation per Tc
- * (indirect 0x0417)
- */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_aqc_configure_switching_comp_bw_config_data);
-
-/* Query Switching Component Configuration (indirect 0x0418) */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x40, avf_aqc_query_switching_comp_ets_config_resp);
-
-/* Query PhysicalPort ETS Configuration (indirect 0x0419) */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x44, avf_aqc_query_port_ets_config_resp);
-
-/* Query Switching Component Bandwidth Allocation per Traffic Type
- * (indirect 0x041A)
- */
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_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 avf_aqc_configure_partition_bw_data {
-	__le16	pf_valid_bits;
-	u8	min_bw[16];      /* guaranteed bandwidth */
-	u8	max_bw[16];      /* bandwidth limit */
-};
-
-AVF_CHECK_STRUCT_LEN(0x22, avf_aqc_configure_partition_bw_data);
-
-/* Get and set the active HMC resource profile and status.
- * (direct 0x0500) and (direct 0x0501)
- */
-struct avf_aq_get_set_hmc_resource_profile {
-	u8	pm_profile;
-	u8	pe_vf_enabled;
-	u8	reserved[14];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aq_get_set_hmc_resource_profile);
-
-enum avf_aq_hmc_profile {
-	/* AVF_HMC_PROFILE_NO_CHANGE	= 0, reserved */
-	AVF_HMC_PROFILE_DEFAULT	= 1,
-	AVF_HMC_PROFILE_FAVOR_VF	= 2,
-	AVF_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 AVF_AQ_PHY_REPORT_QUALIFIED_MODULES	0x0001
-#define AVF_AQ_PHY_REPORT_INITIAL_VALUES	0x0002
-
-enum avf_aq_phy_type {
-	AVF_PHY_TYPE_SGMII			= 0x0,
-	AVF_PHY_TYPE_1000BASE_KX		= 0x1,
-	AVF_PHY_TYPE_10GBASE_KX4		= 0x2,
-	AVF_PHY_TYPE_10GBASE_KR		= 0x3,
-	AVF_PHY_TYPE_40GBASE_KR4		= 0x4,
-	AVF_PHY_TYPE_XAUI			= 0x5,
-	AVF_PHY_TYPE_XFI			= 0x6,
-	AVF_PHY_TYPE_SFI			= 0x7,
-	AVF_PHY_TYPE_XLAUI			= 0x8,
-	AVF_PHY_TYPE_XLPPI			= 0x9,
-	AVF_PHY_TYPE_40GBASE_CR4_CU		= 0xA,
-	AVF_PHY_TYPE_10GBASE_CR1_CU		= 0xB,
-	AVF_PHY_TYPE_10GBASE_AOC		= 0xC,
-	AVF_PHY_TYPE_40GBASE_AOC		= 0xD,
-	AVF_PHY_TYPE_UNRECOGNIZED		= 0xE,
-	AVF_PHY_TYPE_UNSUPPORTED		= 0xF,
-	AVF_PHY_TYPE_100BASE_TX		= 0x11,
-	AVF_PHY_TYPE_1000BASE_T		= 0x12,
-	AVF_PHY_TYPE_10GBASE_T			= 0x13,
-	AVF_PHY_TYPE_10GBASE_SR		= 0x14,
-	AVF_PHY_TYPE_10GBASE_LR		= 0x15,
-	AVF_PHY_TYPE_10GBASE_SFPP_CU		= 0x16,
-	AVF_PHY_TYPE_10GBASE_CR1		= 0x17,
-	AVF_PHY_TYPE_40GBASE_CR4		= 0x18,
-	AVF_PHY_TYPE_40GBASE_SR4		= 0x19,
-	AVF_PHY_TYPE_40GBASE_LR4		= 0x1A,
-	AVF_PHY_TYPE_1000BASE_SX		= 0x1B,
-	AVF_PHY_TYPE_1000BASE_LX		= 0x1C,
-	AVF_PHY_TYPE_1000BASE_T_OPTICAL	= 0x1D,
-	AVF_PHY_TYPE_20GBASE_KR2		= 0x1E,
-	AVF_PHY_TYPE_25GBASE_KR		= 0x1F,
-	AVF_PHY_TYPE_25GBASE_CR		= 0x20,
-	AVF_PHY_TYPE_25GBASE_SR		= 0x21,
-	AVF_PHY_TYPE_25GBASE_LR		= 0x22,
-	AVF_PHY_TYPE_25GBASE_AOC		= 0x23,
-	AVF_PHY_TYPE_25GBASE_ACC		= 0x24,
-	AVF_PHY_TYPE_MAX,
-	AVF_PHY_TYPE_NOT_SUPPORTED_HIGH_TEMP	= 0xFD,
-	AVF_PHY_TYPE_EMPTY			= 0xFE,
-	AVF_PHY_TYPE_DEFAULT			= 0xFF,
-};
-
-#define AVF_LINK_SPEED_100MB_SHIFT	0x1
-#define AVF_LINK_SPEED_1000MB_SHIFT	0x2
-#define AVF_LINK_SPEED_10GB_SHIFT	0x3
-#define AVF_LINK_SPEED_40GB_SHIFT	0x4
-#define AVF_LINK_SPEED_20GB_SHIFT	0x5
-#define AVF_LINK_SPEED_25GB_SHIFT	0x6
-
-enum avf_aq_link_speed {
-	AVF_LINK_SPEED_UNKNOWN	= 0,
-	AVF_LINK_SPEED_100MB	= (1 << AVF_LINK_SPEED_100MB_SHIFT),
-	AVF_LINK_SPEED_1GB	= (1 << AVF_LINK_SPEED_1000MB_SHIFT),
-	AVF_LINK_SPEED_10GB	= (1 << AVF_LINK_SPEED_10GB_SHIFT),
-	AVF_LINK_SPEED_40GB	= (1 << AVF_LINK_SPEED_40GB_SHIFT),
-	AVF_LINK_SPEED_20GB	= (1 << AVF_LINK_SPEED_20GB_SHIFT),
-	AVF_LINK_SPEED_25GB	= (1 << AVF_LINK_SPEED_25GB_SHIFT),
-};
-
-struct avf_aqc_module_desc {
-	u8 oui[3];
-	u8 reserved1;
-	u8 part_number[16];
-	u8 revision[4];
-	u8 reserved2[8];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_aqc_module_desc);
-
-struct avf_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 AVF_AQ_PHY_FLAG_PAUSE_TX	0x01
-#define AVF_AQ_PHY_FLAG_PAUSE_RX	0x02
-#define AVF_AQ_PHY_FLAG_LOW_POWER	0x04
-#define AVF_AQ_PHY_LINK_ENABLED	0x08
-#define AVF_AQ_PHY_AN_ENABLED		0x10
-#define AVF_AQ_PHY_FLAG_MODULE_QUAL	0x20
-#define AVF_AQ_PHY_FEC_ABILITY_KR	0x40
-#define AVF_AQ_PHY_FEC_ABILITY_RS	0x80
-	__le16	eee_capability;
-#define AVF_AQ_EEE_100BASE_TX		0x0002
-#define AVF_AQ_EEE_1000BASE_T		0x0004
-#define AVF_AQ_EEE_10GBASE_T		0x0008
-#define AVF_AQ_EEE_1000BASE_KX		0x0010
-#define AVF_AQ_EEE_10GBASE_KX4		0x0020
-#define AVF_AQ_EEE_10GBASE_KR		0x0040
-	__le32	eeer_val;
-	u8	d3_lpan;
-#define AVF_AQ_SET_PHY_D3_LPAN_ENA	0x01
-	u8	phy_type_ext;
-#define AVF_AQ_PHY_TYPE_EXT_25G_KR	0x01
-#define AVF_AQ_PHY_TYPE_EXT_25G_CR	0x02
-#define AVF_AQ_PHY_TYPE_EXT_25G_SR	0x04
-#define AVF_AQ_PHY_TYPE_EXT_25G_LR	0x08
-#define AVF_AQ_PHY_TYPE_EXT_25G_AOC	0x10
-#define AVF_AQ_PHY_TYPE_EXT_25G_ACC	0x20
-	u8	fec_cfg_curr_mod_ext_info;
-#define AVF_AQ_ENABLE_FEC_KR		0x01
-#define AVF_AQ_ENABLE_FEC_RS		0x02
-#define AVF_AQ_REQUEST_FEC_KR		0x04
-#define AVF_AQ_REQUEST_FEC_RS		0x08
-#define AVF_AQ_ENABLE_FEC_AUTO		0x10
-#define AVF_AQ_FEC
-#define AVF_AQ_MODULE_TYPE_EXT_MASK	0xE0
-#define AVF_AQ_MODULE_TYPE_EXT_SHIFT	5
-
-	u8	ext_comp_code;
-	u8	phy_id[4];
-	u8	module_type[3];
-	u8	qualified_module_count;
-#define AVF_AQ_PHY_MAX_QMS		16
-	struct avf_aqc_module_desc	qualified_module[AVF_AQ_PHY_MAX_QMS];
-};
-
-AVF_CHECK_STRUCT_LEN(0x218, avf_aq_get_phy_abilities_resp);
-
-/* Set PHY Config (direct 0x0601) */
-struct avf_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 AVF_AQ_PHY_ENABLE_LINK		0x08
-#define AVF_AQ_PHY_ENABLE_AN		0x10
-#define AVF_AQ_PHY_ENABLE_ATOMIC_LINK	0x20
-	__le16	eee_capability;
-	__le32	eeer;
-	u8	low_power_ctrl;
-	u8	phy_type_ext;
-	u8	fec_config;
-#define AVF_AQ_SET_FEC_ABILITY_KR	BIT(0)
-#define AVF_AQ_SET_FEC_ABILITY_RS	BIT(1)
-#define AVF_AQ_SET_FEC_REQUEST_KR	BIT(2)
-#define AVF_AQ_SET_FEC_REQUEST_RS	BIT(3)
-#define AVF_AQ_SET_FEC_AUTO		BIT(4)
-#define AVF_AQ_PHY_FEC_CONFIG_SHIFT	0x0
-#define AVF_AQ_PHY_FEC_CONFIG_MASK	(0x1F << AVF_AQ_PHY_FEC_CONFIG_SHIFT)
-	u8	reserved;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aq_set_phy_config);
-
-/* Set MAC Config command data structure (direct 0x0603) */
-struct avf_aq_set_mac_config {
-	__le16	max_frame_size;
-	u8	params;
-#define AVF_AQ_SET_MAC_CONFIG_CRC_EN		0x04
-#define AVF_AQ_SET_MAC_CONFIG_PACING_MASK	0x78
-#define AVF_AQ_SET_MAC_CONFIG_PACING_SHIFT	3
-#define AVF_AQ_SET_MAC_CONFIG_PACING_NONE	0x0
-#define AVF_AQ_SET_MAC_CONFIG_PACING_1B_13TX	0xF
-#define AVF_AQ_SET_MAC_CONFIG_PACING_1DW_9TX	0x9
-#define AVF_AQ_SET_MAC_CONFIG_PACING_1DW_4TX	0x8
-#define AVF_AQ_SET_MAC_CONFIG_PACING_3DW_7TX	0x7
-#define AVF_AQ_SET_MAC_CONFIG_PACING_2DW_3TX	0x6
-#define AVF_AQ_SET_MAC_CONFIG_PACING_1DW_1TX	0x5
-#define AVF_AQ_SET_MAC_CONFIG_PACING_3DW_2TX	0x4
-#define AVF_AQ_SET_MAC_CONFIG_PACING_7DW_3TX	0x3
-#define AVF_AQ_SET_MAC_CONFIG_PACING_4DW_1TX	0x2
-#define AVF_AQ_SET_MAC_CONFIG_PACING_9DW_1TX	0x1
-	u8	tx_timer_priority; /* bitmap */
-	__le16	tx_timer_value;
-	__le16	fc_refresh_threshold;
-	u8	reserved[8];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aq_set_mac_config);
-
-/* Restart Auto-Negotiation (direct 0x605) */
-struct avf_aqc_set_link_restart_an {
-	u8	command;
-#define AVF_AQ_PHY_RESTART_AN	0x02
-#define AVF_AQ_PHY_LINK_ENABLE	0x04
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_link_restart_an);
-
-/* Get Link Status cmd & response data structure (direct 0x0607) */
-struct avf_aqc_get_link_status {
-	__le16	command_flags; /* only field set on command */
-#define AVF_AQ_LSE_MASK		0x3
-#define AVF_AQ_LSE_NOP			0x0
-#define AVF_AQ_LSE_DISABLE		0x2
-#define AVF_AQ_LSE_ENABLE		0x3
-/* only response uses this flag */
-#define AVF_AQ_LSE_IS_ENABLED		0x1
-	u8	phy_type;    /* avf_aq_phy_type   */
-	u8	link_speed;  /* avf_aq_link_speed */
-	u8	link_info;
-#define AVF_AQ_LINK_UP			0x01    /* obsolete */
-#define AVF_AQ_LINK_UP_FUNCTION	0x01
-#define AVF_AQ_LINK_FAULT		0x02
-#define AVF_AQ_LINK_FAULT_TX		0x04
-#define AVF_AQ_LINK_FAULT_RX		0x08
-#define AVF_AQ_LINK_FAULT_REMOTE	0x10
-#define AVF_AQ_LINK_UP_PORT		0x20
-#define AVF_AQ_MEDIA_AVAILABLE		0x40
-#define AVF_AQ_SIGNAL_DETECT		0x80
-	u8	an_info;
-#define AVF_AQ_AN_COMPLETED		0x01
-#define AVF_AQ_LP_AN_ABILITY		0x02
-#define AVF_AQ_PD_FAULT		0x04
-#define AVF_AQ_FEC_EN			0x08
-#define AVF_AQ_PHY_LOW_POWER		0x10
-#define AVF_AQ_LINK_PAUSE_TX		0x20
-#define AVF_AQ_LINK_PAUSE_RX		0x40
-#define AVF_AQ_QUALIFIED_MODULE	0x80
-	u8	ext_info;
-#define AVF_AQ_LINK_PHY_TEMP_ALARM	0x01
-#define AVF_AQ_LINK_XCESSIVE_ERRORS	0x02
-#define AVF_AQ_LINK_TX_SHIFT		0x02
-#define AVF_AQ_LINK_TX_MASK		(0x03 << AVF_AQ_LINK_TX_SHIFT)
-#define AVF_AQ_LINK_TX_ACTIVE		0x00
-#define AVF_AQ_LINK_TX_DRAINED		0x01
-#define AVF_AQ_LINK_TX_FLUSHED		0x03
-#define AVF_AQ_LINK_FORCED_40G		0x10
-/* 25G Error Codes */
-#define AVF_AQ_25G_NO_ERR		0X00
-#define AVF_AQ_25G_NOT_PRESENT		0X01
-#define AVF_AQ_25G_NVM_CRC_ERR		0X02
-#define AVF_AQ_25G_SBUS_UCODE_ERR	0X03
-#define AVF_AQ_25G_SERDES_UCODE_ERR	0X04
-#define AVF_AQ_25G_NIMB_UCODE_ERR	0X05
-	u8	loopback; /* use defines from avf_aqc_set_lb_mode */
-/* Since firmware API 1.7 loopback field keeps power class info as well */
-#define AVF_AQ_LOOPBACK_MASK		0x07
-#define AVF_AQ_PWR_CLASS_SHIFT_LB	6
-#define AVF_AQ_PWR_CLASS_MASK_LB	(0x03 << AVF_AQ_PWR_CLASS_SHIFT_LB)
-	__le16	max_frame_size;
-	u8	config;
-#define AVF_AQ_CONFIG_FEC_KR_ENA	0x01
-#define AVF_AQ_CONFIG_FEC_RS_ENA	0x02
-#define AVF_AQ_CONFIG_CRC_ENA		0x04
-#define AVF_AQ_CONFIG_PACING_MASK	0x78
-	union {
-		struct {
-			u8	power_desc;
-#define AVF_AQ_LINK_POWER_CLASS_1	0x00
-#define AVF_AQ_LINK_POWER_CLASS_2	0x01
-#define AVF_AQ_LINK_POWER_CLASS_3	0x02
-#define AVF_AQ_LINK_POWER_CLASS_4	0x03
-#define AVF_AQ_PWR_CLASS_MASK		0x03
-			u8	reserved[4];
-		};
-		struct {
-			u8	link_type[4];
-			u8	link_type_ext;
-		};
-	};
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_link_status);
-
-/* Set event mask command (direct 0x613) */
-struct avf_aqc_set_phy_int_mask {
-	u8	reserved[8];
-	__le16	event_mask;
-#define AVF_AQ_EVENT_LINK_UPDOWN	0x0002
-#define AVF_AQ_EVENT_MEDIA_NA		0x0004
-#define AVF_AQ_EVENT_LINK_FAULT	0x0008
-#define AVF_AQ_EVENT_PHY_TEMP_ALARM	0x0010
-#define AVF_AQ_EVENT_EXCESSIVE_ERRORS	0x0020
-#define AVF_AQ_EVENT_SIGNAL_DETECT	0x0040
-#define AVF_AQ_EVENT_AN_COMPLETED	0x0080
-#define AVF_AQ_EVENT_MODULE_QUAL_FAIL	0x0100
-#define AVF_AQ_EVENT_PORT_TX_SUSPENDED	0x0200
-	u8	reserved1[6];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_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 avf_aqc_an_advt_reg {
-	__le32	local_an_reg0;
-	__le16	local_an_reg1;
-	u8	reserved[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_an_advt_reg);
-
-/* Set Loopback mode (0x0618) */
-struct avf_aqc_set_lb_mode {
-	u8	lb_level;
-#define AVF_AQ_LB_NONE	0
-#define AVF_AQ_LB_MAC	1
-#define AVF_AQ_LB_SERDES	2
-#define AVF_AQ_LB_PHY_INT	3
-#define AVF_AQ_LB_PHY_EXT	4
-#define AVF_AQ_LB_CPVL_PCS	5
-#define AVF_AQ_LB_CPVL_EXT	6
-#define AVF_AQ_LB_PHY_LOCAL	0x01
-#define AVF_AQ_LB_PHY_REMOTE	0x02
-#define AVF_AQ_LB_MAC_LOCAL	0x04
-	u8	lb_type;
-#define AVF_AQ_LB_LOCAL	0
-#define AVF_AQ_LB_FAR	0x01
-	u8	speed;
-#define AVF_AQ_LB_SPEED_NONE	0
-#define AVF_AQ_LB_SPEED_1G	1
-#define AVF_AQ_LB_SPEED_10G	2
-#define AVF_AQ_LB_SPEED_40G	3
-#define AVF_AQ_LB_SPEED_20G	4
-	u8	force_speed;
-	u8	reserved[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_lb_mode);
-
-/* Set PHY Debug command (0x0622) */
-struct avf_aqc_set_phy_debug {
-	u8	command_flags;
-#define AVF_AQ_PHY_DEBUG_RESET_INTERNAL	0x02
-#define AVF_AQ_PHY_DEBUG_RESET_EXTERNAL_SHIFT	2
-#define AVF_AQ_PHY_DEBUG_RESET_EXTERNAL_MASK	(0x03 << \
-					AVF_AQ_PHY_DEBUG_RESET_EXTERNAL_SHIFT)
-#define AVF_AQ_PHY_DEBUG_RESET_EXTERNAL_NONE	0x00
-#define AVF_AQ_PHY_DEBUG_RESET_EXTERNAL_HARD	0x01
-#define AVF_AQ_PHY_DEBUG_RESET_EXTERNAL_SOFT	0x02
-/* Disable link manageability on a single port */
-#define AVF_AQ_PHY_DEBUG_DISABLE_LINK_FW	0x10
-/* Disable link manageability on all ports needs both bits 4 and 5 */
-#define AVF_AQ_PHY_DEBUG_DISABLE_ALL_LINK_FW	0x20
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_phy_debug);
-
-enum avf_aq_phy_reg_type {
-	AVF_AQC_PHY_REG_INTERNAL	= 0x1,
-	AVF_AQC_PHY_REG_EXERNAL_BASET	= 0x2,
-	AVF_AQC_PHY_REG_EXERNAL_MODULE	= 0x3
-};
-
-/* Run PHY Activity (0x0626) */
-struct avf_aqc_run_phy_activity {
-	__le16  activity_id;
-	u8      flags;
-	u8      reserved1;
-	__le32  control;
-	__le32  data;
-	u8      reserved2[4];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_run_phy_activity);
-
-/* Set PHY Register command (0x0628) */
-/* Get PHY Register command (0x0629) */
-struct avf_aqc_phy_register_access {
-	u8	phy_interface;
-#define AVF_AQ_PHY_REG_ACCESS_INTERNAL	0
-#define AVF_AQ_PHY_REG_ACCESS_EXTERNAL	1
-#define AVF_AQ_PHY_REG_ACCESS_EXTERNAL_MODULE	2
-	u8	dev_addres;
-	u8	reserved1[2];
-	__le32	reg_address;
-	__le32	reg_value;
-	u8	reserved2[4];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_phy_register_access);
-
-/* NVM Read command (indirect 0x0701)
- * NVM Erase commands (direct 0x0702)
- * NVM Update commands (indirect 0x0703)
- */
-struct avf_aqc_nvm_update {
-	u8	command_flags;
-#define AVF_AQ_NVM_LAST_CMD			0x01
-#define AVF_AQ_NVM_FLASH_ONLY			0x80
-#define AVF_AQ_NVM_PRESERVATION_FLAGS_SHIFT	1
-#define AVF_AQ_NVM_PRESERVATION_FLAGS_MASK	0x03
-#define AVF_AQ_NVM_PRESERVATION_FLAGS_SELECTED	0x03
-#define AVF_AQ_NVM_PRESERVATION_FLAGS_ALL	0x01
-	u8	module_pointer;
-	__le16	length;
-	__le32	offset;
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_nvm_update);
-
-/* NVM Config Read (indirect 0x0704) */
-struct avf_aqc_nvm_config_read {
-	__le16	cmd_flags;
-#define AVF_AQ_ANVM_SINGLE_OR_MULTIPLE_FEATURES_MASK	1
-#define AVF_AQ_ANVM_READ_SINGLE_FEATURE		0
-#define AVF_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_nvm_config_read);
-
-/* NVM Config Write (indirect 0x0705) */
-struct avf_aqc_nvm_config_write {
-	__le16	cmd_flags;
-	__le16	element_count;
-	u8	reserved[4];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_nvm_config_write);
-
-/* Used for 0x0704 as well as for 0x0705 commands */
-#define AVF_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT		1
-#define AVF_AQ_ANVM_FEATURE_OR_IMMEDIATE_MASK \
-				(1 << AVF_AQ_ANVM_FEATURE_OR_IMMEDIATE_SHIFT)
-#define AVF_AQ_ANVM_FEATURE		0
-#define AVF_AQ_ANVM_IMMEDIATE_FIELD	(1 << FEATURE_OR_IMMEDIATE_SHIFT)
-struct avf_aqc_nvm_config_data_feature {
-	__le16 feature_id;
-#define AVF_AQ_ANVM_FEATURE_OPTION_OEM_ONLY		0x01
-#define AVF_AQ_ANVM_FEATURE_OPTION_DWORD_MAP		0x08
-#define AVF_AQ_ANVM_FEATURE_OPTION_POR_CSR		0x10
-	__le16 feature_options;
-	__le16 feature_selection;
-};
-
-AVF_CHECK_STRUCT_LEN(0x6, avf_aqc_nvm_config_data_feature);
-
-struct avf_aqc_nvm_config_data_immediate_field {
-	__le32 field_id;
-	__le32 field_value;
-	__le16 field_options;
-	__le16 reserved;
-};
-
-AVF_CHECK_STRUCT_LEN(0xc, avf_aqc_nvm_config_data_immediate_field);
-
-/* OEM Post Update (indirect 0x0720)
- * no command data struct used
- */
-struct avf_aqc_nvm_oem_post_update {
-#define AVF_AQ_NVM_OEM_POST_UPDATE_EXTERNAL_DATA	0x01
-	u8 sel_data;
-	u8 reserved[7];
-};
-
-AVF_CHECK_STRUCT_LEN(0x8, avf_aqc_nvm_oem_post_update);
-
-struct avf_aqc_nvm_oem_post_update_buffer {
-	u8 str_len;
-	u8 dev_addr;
-	__le16 eeprom_addr;
-	u8 data[36];
-};
-
-AVF_CHECK_STRUCT_LEN(0x28, avf_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 avf_aqc_thermal_sensor {
-	u8 sensor_action;
-#define AVF_AQ_THERMAL_SENSOR_READ_CONFIG	0
-#define AVF_AQ_THERMAL_SENSOR_SET_CONFIG	1
-#define AVF_AQ_THERMAL_SENSOR_READ_TEMP	2
-	u8 reserved[7];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_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 avf_aqc_pf_vf_message {
-	__le32	id;
-	u8	reserved[4];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_pf_vf_message);
-
-/* Alternate structure */
-
-/* Direct write (direct 0x0900)
- * Direct read (direct 0x0902)
- */
-struct avf_aqc_alternate_write {
-	__le32 address0;
-	__le32 data0;
-	__le32 address1;
-	__le32 data1;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_alternate_write);
-
-/* Indirect write (indirect 0x0901)
- * Indirect read (indirect 0x0903)
- */
-
-struct avf_aqc_alternate_ind_write {
-	__le32 address;
-	__le32 length;
-	__le32 addr_high;
-	__le32 addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_alternate_ind_write);
-
-/* Done alternate write (direct 0x0904)
- * uses avf_aq_desc
- */
-struct avf_aqc_alternate_write_done {
-	__le16	cmd_flags;
-#define AVF_AQ_ALTERNATE_MODE_BIOS_MASK	1
-#define AVF_AQ_ALTERNATE_MODE_BIOS_LEGACY	0
-#define AVF_AQ_ALTERNATE_MODE_BIOS_UEFI	1
-#define AVF_AQ_ALTERNATE_RESET_NEEDED		2
-	u8	reserved[14];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_alternate_write_done);
-
-/* Set OEM mode (direct 0x0905) */
-struct avf_aqc_alternate_set_mode {
-	__le32	mode;
-#define AVF_AQ_ALTERNATE_MODE_NONE	0
-#define AVF_AQ_ALTERNATE_MODE_OEM	1
-	u8	reserved[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_alternate_set_mode);
-
-/* Clear port Alternate RAM (direct 0x0906) uses avf_aq_desc */
-
-/* async events 0x10xx */
-
-/* Lan Queue Overflow Event (direct, 0x1001) */
-struct avf_aqc_lan_overflow {
-	__le32	prtdcb_rupto;
-	__le32	otx_ctl;
-	u8	reserved[8];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lan_overflow);
-
-/* Get LLDP MIB (indirect 0x0A00) */
-struct avf_aqc_lldp_get_mib {
-	u8	type;
-	u8	reserved1;
-#define AVF_AQ_LLDP_MIB_TYPE_MASK		0x3
-#define AVF_AQ_LLDP_MIB_LOCAL			0x0
-#define AVF_AQ_LLDP_MIB_REMOTE			0x1
-#define AVF_AQ_LLDP_MIB_LOCAL_AND_REMOTE	0x2
-#define AVF_AQ_LLDP_BRIDGE_TYPE_MASK		0xC
-#define AVF_AQ_LLDP_BRIDGE_TYPE_SHIFT		0x2
-#define AVF_AQ_LLDP_BRIDGE_TYPE_NEAREST_BRIDGE	0x0
-#define AVF_AQ_LLDP_BRIDGE_TYPE_NON_TPMR	0x1
-#define AVF_AQ_LLDP_TX_SHIFT			0x4
-#define AVF_AQ_LLDP_TX_MASK			(0x03 << AVF_AQ_LLDP_TX_SHIFT)
-/* TX pause flags use AVF_AQ_LINK_TX_* above */
-	__le16	local_len;
-	__le16	remote_len;
-	u8	reserved2[2];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_get_mib);
-
-/* Configure LLDP MIB Change Event (direct 0x0A01)
- * also used for the event (with type in the command field)
- */
-struct avf_aqc_lldp_update_mib {
-	u8	command;
-#define AVF_AQ_LLDP_MIB_UPDATE_ENABLE	0x0
-#define AVF_AQ_LLDP_MIB_UPDATE_DISABLE	0x1
-	u8	reserved[7];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_update_mib);
-
-/* Add LLDP TLV (indirect 0x0A02)
- * Delete LLDP TLV (indirect 0x0A04)
- */
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_add_tlv);
-
-/* Update LLDP TLV (indirect 0x0A03) */
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_update_tlv);
-
-/* Stop LLDP (direct 0x0A05) */
-struct avf_aqc_lldp_stop {
-	u8	command;
-#define AVF_AQ_LLDP_AGENT_STOP		0x0
-#define AVF_AQ_LLDP_AGENT_SHUTDOWN	0x1
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_stop);
-
-/* Start LLDP (direct 0x0A06) */
-
-struct avf_aqc_lldp_start {
-	u8	command;
-#define AVF_AQ_LLDP_AGENT_START	0x1
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_start);
-
-/* Set DCB (direct 0x0303) */
-struct avf_aqc_set_dcb_parameters {
-	u8 command;
-#define AVF_AQ_DCB_SET_AGENT	0x1
-#define AVF_DCB_VALID		0x1
-	u8 valid_flags;
-	u8 reserved[14];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_set_dcb_parameters);
-
-/* Get CEE DCBX Oper Config (0x0A07)
- * uses the generic descriptor struct
- * returns below as indirect response
- */
-
-#define AVF_AQC_CEE_APP_FCOE_SHIFT	0x0
-#define AVF_AQC_CEE_APP_FCOE_MASK	(0x7 << AVF_AQC_CEE_APP_FCOE_SHIFT)
-#define AVF_AQC_CEE_APP_ISCSI_SHIFT	0x3
-#define AVF_AQC_CEE_APP_ISCSI_MASK	(0x7 << AVF_AQC_CEE_APP_ISCSI_SHIFT)
-#define AVF_AQC_CEE_APP_FIP_SHIFT	0x8
-#define AVF_AQC_CEE_APP_FIP_MASK	(0x7 << AVF_AQC_CEE_APP_FIP_SHIFT)
-
-#define AVF_AQC_CEE_PG_STATUS_SHIFT	0x0
-#define AVF_AQC_CEE_PG_STATUS_MASK	(0x7 << AVF_AQC_CEE_PG_STATUS_SHIFT)
-#define AVF_AQC_CEE_PFC_STATUS_SHIFT	0x3
-#define AVF_AQC_CEE_PFC_STATUS_MASK	(0x7 << AVF_AQC_CEE_PFC_STATUS_SHIFT)
-#define AVF_AQC_CEE_APP_STATUS_SHIFT	0x8
-#define AVF_AQC_CEE_APP_STATUS_MASK	(0x7 << AVF_AQC_CEE_APP_STATUS_SHIFT)
-#define AVF_AQC_CEE_FCOE_STATUS_SHIFT	0x8
-#define AVF_AQC_CEE_FCOE_STATUS_MASK	(0x7 << AVF_AQC_CEE_FCOE_STATUS_SHIFT)
-#define AVF_AQC_CEE_ISCSI_STATUS_SHIFT	0xB
-#define AVF_AQC_CEE_ISCSI_STATUS_MASK	(0x7 << AVF_AQC_CEE_ISCSI_STATUS_SHIFT)
-#define AVF_AQC_CEE_FIP_STATUS_SHIFT	0x10
-#define AVF_AQC_CEE_FIP_STATUS_MASK	(0x7 << AVF_AQC_CEE_FIP_STATUS_SHIFT)
-
-/* struct avf_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 avf_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;
-};
-
-AVF_CHECK_STRUCT_LEN(0x18, avf_aqc_get_cee_dcb_cfg_v1_resp);
-
-struct avf_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];
-};
-
-AVF_CHECK_STRUCT_LEN(0x20, avf_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 avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_set_local_mib);
-
-struct avf_aqc_lldp_set_local_mib_resp {
-#define SET_LOCAL_MIB_RESP_EVENT_TRIGGERED_MASK      0x01
-	u8  status;
-	u8  reserved[15];
-};
-
-AVF_CHECK_STRUCT_LEN(0x10, avf_aqc_lldp_set_local_mib_resp);
-
-/*	Stop/Start LLDP Agent (direct 0x0A09)
- *	Used for stopping/starting specific LLDP agent. e.g. DCBx
- */
-struct avf_aqc_lldp_stop_start_specific_agent {
-#define AVF_AQC_START_SPECIFIC_AGENT_SHIFT	0
-#define AVF_AQC_START_SPECIFIC_AGENT_MASK \
-				(1 << AVF_AQC_START_SPECIFIC_AGENT_SHIFT)
-	u8	command;
-	u8	reserved[15];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_lldp_stop_start_specific_agent);
-
-/* Add Udp Tunnel command and completion (direct 0x0B00) */
-struct avf_aqc_add_udp_tunnel {
-	__le16	udp_port;
-	u8	reserved0[3];
-	u8	protocol_type;
-#define AVF_AQC_TUNNEL_TYPE_VXLAN	0x00
-#define AVF_AQC_TUNNEL_TYPE_NGE	0x01
-#define AVF_AQC_TUNNEL_TYPE_TEREDO	0x10
-#define AVF_AQC_TUNNEL_TYPE_VXLAN_GPE	0x11
-	u8	reserved1[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_udp_tunnel);
-
-struct avf_aqc_add_udp_tunnel_completion {
-	__le16	udp_port;
-	u8	filter_entry_index;
-	u8	multiple_pfs;
-#define AVF_AQC_SINGLE_PF		0x0
-#define AVF_AQC_MULTIPLE_PFS		0x1
-	u8	total_filters;
-	u8	reserved[11];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_add_udp_tunnel_completion);
-
-/* remove UDP Tunnel command (0x0B01) */
-struct avf_aqc_remove_udp_tunnel {
-	u8	reserved[2];
-	u8	index; /* 0 to 15 */
-	u8	reserved2[13];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_remove_udp_tunnel);
-
-struct avf_aqc_del_udp_tunnel_completion {
-	__le16	udp_port;
-	u8	index; /* 0 to 15 */
-	u8	multiple_pfs;
-	u8	total_filters_used;
-	u8	reserved1[11];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_del_udp_tunnel_completion);
-
-struct avf_aqc_get_set_rss_key {
-#define AVF_AQC_SET_RSS_KEY_VSI_VALID		(0x1 << 15)
-#define AVF_AQC_SET_RSS_KEY_VSI_ID_SHIFT	0
-#define AVF_AQC_SET_RSS_KEY_VSI_ID_MASK	(0x3FF << \
-					AVF_AQC_SET_RSS_KEY_VSI_ID_SHIFT)
-	__le16	vsi_id;
-	u8	reserved[6];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_set_rss_key);
-
-struct avf_aqc_get_set_rss_key_data {
-	u8 standard_rss_key[0x28];
-	u8 extended_hash_key[0xc];
-};
-
-AVF_CHECK_STRUCT_LEN(0x34, avf_aqc_get_set_rss_key_data);
-
-struct  avf_aqc_get_set_rss_lut {
-#define AVF_AQC_SET_RSS_LUT_VSI_VALID		(0x1 << 15)
-#define AVF_AQC_SET_RSS_LUT_VSI_ID_SHIFT	0
-#define AVF_AQC_SET_RSS_LUT_VSI_ID_MASK	(0x3FF << \
-					AVF_AQC_SET_RSS_LUT_VSI_ID_SHIFT)
-	__le16	vsi_id;
-#define AVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT	0
-#define AVF_AQC_SET_RSS_LUT_TABLE_TYPE_MASK	(0x1 << \
-					AVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT)
-
-#define AVF_AQC_SET_RSS_LUT_TABLE_TYPE_VSI	0
-#define AVF_AQC_SET_RSS_LUT_TABLE_TYPE_PF	1
-	__le16	flags;
-	u8	reserved[4];
-	__le32	addr_high;
-	__le32	addr_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_get_set_rss_lut);
-
-/* tunnel key structure 0x0B10 */
-
-struct avf_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 AVF_AQC_TUNNEL_KEY_STRUCT_OVERRIDE	0x01
-/* response flags */
-#define AVF_AQC_TUNNEL_KEY_STRUCT_SUCCESS	0x01
-#define AVF_AQC_TUNNEL_KEY_STRUCT_MODIFIED	0x02
-#define AVF_AQC_TUNNEL_KEY_STRUCT_OVERRIDDEN	0x03
-	u8	network_key_index;
-#define AVF_AQC_NETWORK_KEY_INDEX_VXLAN		0x0
-#define AVF_AQC_NETWORK_KEY_INDEX_NGE			0x1
-#define AVF_AQC_NETWORK_KEY_INDEX_FLEX_MAC_IN_UDP	0x2
-#define AVF_AQC_NETWORK_KEY_INDEX_GRE			0x3
-	u8	reserved[10];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_tunnel_key_structure);
-
-/* OEM mode commands (direct 0xFE0x) */
-struct avf_aqc_oem_param_change {
-	__le32	param_type;
-#define AVF_AQ_OEM_PARAM_TYPE_PF_CTL	0
-#define AVF_AQ_OEM_PARAM_TYPE_BW_CTL	1
-#define AVF_AQ_OEM_PARAM_MAC		2
-	__le32	param_value1;
-	__le16	param_value2;
-	u8	reserved[6];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_oem_param_change);
-
-struct avf_aqc_oem_state_change {
-	__le32	state;
-#define AVF_AQ_OEM_STATE_LINK_DOWN	0x0
-#define AVF_AQ_OEM_STATE_LINK_UP	0x1
-	u8	reserved[12];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_oem_state_change);
-
-/* Initialize OCSD (0xFE02, direct) */
-struct avf_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;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_opc_oem_ocsd_initialize);
-
-/* Initialize OCBB  (0xFE03, direct) */
-struct avf_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];
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_opc_oem_ocbb_initialize);
-
-/* debug commands */
-
-/* get device id (0xFF00) uses the generic structure */
-
-/* set test more (0xFF01, internal) */
-
-struct avf_acq_set_test_mode {
-	u8	mode;
-#define AVF_AQ_TEST_PARTIAL	0
-#define AVF_AQ_TEST_FULL	1
-#define AVF_AQ_TEST_NVM	2
-	u8	reserved[3];
-	u8	command;
-#define AVF_AQ_TEST_OPEN	0
-#define AVF_AQ_TEST_CLOSE	1
-#define AVF_AQ_TEST_INC	2
-	u8	reserved2[3];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_acq_set_test_mode);
-
-/* Debug Read Register command (0xFF03)
- * Debug Write Register command (0xFF04)
- */
-struct avf_aqc_debug_reg_read_write {
-	__le32 reserved;
-	__le32 address;
-	__le32 value_high;
-	__le32 value_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_debug_reg_read_write);
-
-/* Scatter/gather Reg Read  (indirect 0xFF05)
- * Scatter/gather Reg Write (indirect 0xFF06)
- */
-
-/* avf_aq_desc is used for the command */
-struct avf_aqc_debug_reg_sg_element_data {
-	__le32 address;
-	__le32 value;
-};
-
-/* Debug Modify register (direct 0xFF07) */
-struct avf_aqc_debug_modify_reg {
-	__le32 address;
-	__le32 value;
-	__le32 clear_mask;
-	__le32 set_mask;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_debug_modify_reg);
-
-/* dump internal data (0xFF08, indirect) */
-
-#define AVF_AQ_CLUSTER_ID_AUX		0
-#define AVF_AQ_CLUSTER_ID_SWITCH_FLU	1
-#define AVF_AQ_CLUSTER_ID_TXSCHED	2
-#define AVF_AQ_CLUSTER_ID_HMC		3
-#define AVF_AQ_CLUSTER_ID_MAC0		4
-#define AVF_AQ_CLUSTER_ID_MAC1		5
-#define AVF_AQ_CLUSTER_ID_MAC2		6
-#define AVF_AQ_CLUSTER_ID_MAC3		7
-#define AVF_AQ_CLUSTER_ID_DCB		8
-#define AVF_AQ_CLUSTER_ID_EMP_MEM	9
-#define AVF_AQ_CLUSTER_ID_PKT_BUF	10
-#define AVF_AQ_CLUSTER_ID_ALTRAM	11
-
-struct avf_aqc_debug_dump_internals {
-	u8	cluster_id;
-	u8	table_id;
-	__le16	data_size;
-	__le32	idx;
-	__le32	address_high;
-	__le32	address_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_debug_dump_internals);
-
-struct avf_aqc_debug_modify_internals {
-	u8	cluster_id;
-	u8	cluster_specific_params[7];
-	__le32	address_high;
-	__le32	address_low;
-};
-
-AVF_CHECK_CMD_LENGTH(avf_aqc_debug_modify_internals);
-
-#endif /* _AVF_ADMINQ_CMD_H_ */
diff --git a/drivers/net/avf/base/avf_common.c b/drivers/net/avf/base/avf_common.c
deleted file mode 100644
index bbaadada5..000000000
--- a/drivers/net/avf/base/avf_common.c
+++ /dev/null
@@ -1,1845 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#include "avf_type.h"
-#include "avf_adminq.h"
-#include "avf_prototype.h"
-#include "virtchnl.h"
-
-
-/**
- * avf_set_mac_type - Sets MAC type
- * @hw: pointer to the HW structure
- *
- * This function sets the mac type of the adapter based on the
- * vendor ID and device ID stored in the hw structure.
- **/
-enum avf_status_code avf_set_mac_type(struct avf_hw *hw)
-{
-	enum avf_status_code status = AVF_SUCCESS;
-
-	DEBUGFUNC("avf_set_mac_type\n");
-
-	if (hw->vendor_id == AVF_INTEL_VENDOR_ID) {
-		switch (hw->device_id) {
-	/* TODO: remove undefined device ID now, need to think how to
-	 * remove them in share code
-	 */
-		case AVF_DEV_ID_ADAPTIVE_VF:
-			hw->mac.type = AVF_MAC_VF;
-			break;
-		default:
-			hw->mac.type = AVF_MAC_GENERIC;
-			break;
-		}
-	} else {
-		status = AVF_ERR_DEVICE_NOT_SUPPORTED;
-	}
-
-	DEBUGOUT2("avf_set_mac_type found mac: %d, returns: %d\n",
-		  hw->mac.type, status);
-	return status;
-}
-
-/**
- * avf_aq_str - convert AQ err code to a string
- * @hw: pointer to the HW structure
- * @aq_err: the AQ error code to convert
- **/
-const char *avf_aq_str(struct avf_hw *hw, enum avf_admin_queue_err aq_err)
-{
-	switch (aq_err) {
-	case AVF_AQ_RC_OK:
-		return "OK";
-	case AVF_AQ_RC_EPERM:
-		return "AVF_AQ_RC_EPERM";
-	case AVF_AQ_RC_ENOENT:
-		return "AVF_AQ_RC_ENOENT";
-	case AVF_AQ_RC_ESRCH:
-		return "AVF_AQ_RC_ESRCH";
-	case AVF_AQ_RC_EINTR:
-		return "AVF_AQ_RC_EINTR";
-	case AVF_AQ_RC_EIO:
-		return "AVF_AQ_RC_EIO";
-	case AVF_AQ_RC_ENXIO:
-		return "AVF_AQ_RC_ENXIO";
-	case AVF_AQ_RC_E2BIG:
-		return "AVF_AQ_RC_E2BIG";
-	case AVF_AQ_RC_EAGAIN:
-		return "AVF_AQ_RC_EAGAIN";
-	case AVF_AQ_RC_ENOMEM:
-		return "AVF_AQ_RC_ENOMEM";
-	case AVF_AQ_RC_EACCES:
-		return "AVF_AQ_RC_EACCES";
-	case AVF_AQ_RC_EFAULT:
-		return "AVF_AQ_RC_EFAULT";
-	case AVF_AQ_RC_EBUSY:
-		return "AVF_AQ_RC_EBUSY";
-	case AVF_AQ_RC_EEXIST:
-		return "AVF_AQ_RC_EEXIST";
-	case AVF_AQ_RC_EINVAL:
-		return "AVF_AQ_RC_EINVAL";
-	case AVF_AQ_RC_ENOTTY:
-		return "AVF_AQ_RC_ENOTTY";
-	case AVF_AQ_RC_ENOSPC:
-		return "AVF_AQ_RC_ENOSPC";
-	case AVF_AQ_RC_ENOSYS:
-		return "AVF_AQ_RC_ENOSYS";
-	case AVF_AQ_RC_ERANGE:
-		return "AVF_AQ_RC_ERANGE";
-	case AVF_AQ_RC_EFLUSHED:
-		return "AVF_AQ_RC_EFLUSHED";
-	case AVF_AQ_RC_BAD_ADDR:
-		return "AVF_AQ_RC_BAD_ADDR";
-	case AVF_AQ_RC_EMODE:
-		return "AVF_AQ_RC_EMODE";
-	case AVF_AQ_RC_EFBIG:
-		return "AVF_AQ_RC_EFBIG";
-	}
-
-	snprintf(hw->err_str, sizeof(hw->err_str), "%d", aq_err);
-	return hw->err_str;
-}
-
-/**
- * avf_stat_str - convert status err code to a string
- * @hw: pointer to the HW structure
- * @stat_err: the status error code to convert
- **/
-const char *avf_stat_str(struct avf_hw *hw, enum avf_status_code stat_err)
-{
-	switch (stat_err) {
-	case AVF_SUCCESS:
-		return "OK";
-	case AVF_ERR_NVM:
-		return "AVF_ERR_NVM";
-	case AVF_ERR_NVM_CHECKSUM:
-		return "AVF_ERR_NVM_CHECKSUM";
-	case AVF_ERR_PHY:
-		return "AVF_ERR_PHY";
-	case AVF_ERR_CONFIG:
-		return "AVF_ERR_CONFIG";
-	case AVF_ERR_PARAM:
-		return "AVF_ERR_PARAM";
-	case AVF_ERR_MAC_TYPE:
-		return "AVF_ERR_MAC_TYPE";
-	case AVF_ERR_UNKNOWN_PHY:
-		return "AVF_ERR_UNKNOWN_PHY";
-	case AVF_ERR_LINK_SETUP:
-		return "AVF_ERR_LINK_SETUP";
-	case AVF_ERR_ADAPTER_STOPPED:
-		return "AVF_ERR_ADAPTER_STOPPED";
-	case AVF_ERR_INVALID_MAC_ADDR:
-		return "AVF_ERR_INVALID_MAC_ADDR";
-	case AVF_ERR_DEVICE_NOT_SUPPORTED:
-		return "AVF_ERR_DEVICE_NOT_SUPPORTED";
-	case AVF_ERR_MASTER_REQUESTS_PENDING:
-		return "AVF_ERR_MASTER_REQUESTS_PENDING";
-	case AVF_ERR_INVALID_LINK_SETTINGS:
-		return "AVF_ERR_INVALID_LINK_SETTINGS";
-	case AVF_ERR_AUTONEG_NOT_COMPLETE:
-		return "AVF_ERR_AUTONEG_NOT_COMPLETE";
-	case AVF_ERR_RESET_FAILED:
-		return "AVF_ERR_RESET_FAILED";
-	case AVF_ERR_SWFW_SYNC:
-		return "AVF_ERR_SWFW_SYNC";
-	case AVF_ERR_NO_AVAILABLE_VSI:
-		return "AVF_ERR_NO_AVAILABLE_VSI";
-	case AVF_ERR_NO_MEMORY:
-		return "AVF_ERR_NO_MEMORY";
-	case AVF_ERR_BAD_PTR:
-		return "AVF_ERR_BAD_PTR";
-	case AVF_ERR_RING_FULL:
-		return "AVF_ERR_RING_FULL";
-	case AVF_ERR_INVALID_PD_ID:
-		return "AVF_ERR_INVALID_PD_ID";
-	case AVF_ERR_INVALID_QP_ID:
-		return "AVF_ERR_INVALID_QP_ID";
-	case AVF_ERR_INVALID_CQ_ID:
-		return "AVF_ERR_INVALID_CQ_ID";
-	case AVF_ERR_INVALID_CEQ_ID:
-		return "AVF_ERR_INVALID_CEQ_ID";
-	case AVF_ERR_INVALID_AEQ_ID:
-		return "AVF_ERR_INVALID_AEQ_ID";
-	case AVF_ERR_INVALID_SIZE:
-		return "AVF_ERR_INVALID_SIZE";
-	case AVF_ERR_INVALID_ARP_INDEX:
-		return "AVF_ERR_INVALID_ARP_INDEX";
-	case AVF_ERR_INVALID_FPM_FUNC_ID:
-		return "AVF_ERR_INVALID_FPM_FUNC_ID";
-	case AVF_ERR_QP_INVALID_MSG_SIZE:
-		return "AVF_ERR_QP_INVALID_MSG_SIZE";
-	case AVF_ERR_QP_TOOMANY_WRS_POSTED:
-		return "AVF_ERR_QP_TOOMANY_WRS_POSTED";
-	case AVF_ERR_INVALID_FRAG_COUNT:
-		return "AVF_ERR_INVALID_FRAG_COUNT";
-	case AVF_ERR_QUEUE_EMPTY:
-		return "AVF_ERR_QUEUE_EMPTY";
-	case AVF_ERR_INVALID_ALIGNMENT:
-		return "AVF_ERR_INVALID_ALIGNMENT";
-	case AVF_ERR_FLUSHED_QUEUE:
-		return "AVF_ERR_FLUSHED_QUEUE";
-	case AVF_ERR_INVALID_PUSH_PAGE_INDEX:
-		return "AVF_ERR_INVALID_PUSH_PAGE_INDEX";
-	case AVF_ERR_INVALID_IMM_DATA_SIZE:
-		return "AVF_ERR_INVALID_IMM_DATA_SIZE";
-	case AVF_ERR_TIMEOUT:
-		return "AVF_ERR_TIMEOUT";
-	case AVF_ERR_OPCODE_MISMATCH:
-		return "AVF_ERR_OPCODE_MISMATCH";
-	case AVF_ERR_CQP_COMPL_ERROR:
-		return "AVF_ERR_CQP_COMPL_ERROR";
-	case AVF_ERR_INVALID_VF_ID:
-		return "AVF_ERR_INVALID_VF_ID";
-	case AVF_ERR_INVALID_HMCFN_ID:
-		return "AVF_ERR_INVALID_HMCFN_ID";
-	case AVF_ERR_BACKING_PAGE_ERROR:
-		return "AVF_ERR_BACKING_PAGE_ERROR";
-	case AVF_ERR_NO_PBLCHUNKS_AVAILABLE:
-		return "AVF_ERR_NO_PBLCHUNKS_AVAILABLE";
-	case AVF_ERR_INVALID_PBLE_INDEX:
-		return "AVF_ERR_INVALID_PBLE_INDEX";
-	case AVF_ERR_INVALID_SD_INDEX:
-		return "AVF_ERR_INVALID_SD_INDEX";
-	case AVF_ERR_INVALID_PAGE_DESC_INDEX:
-		return "AVF_ERR_INVALID_PAGE_DESC_INDEX";
-	case AVF_ERR_INVALID_SD_TYPE:
-		return "AVF_ERR_INVALID_SD_TYPE";
-	case AVF_ERR_MEMCPY_FAILED:
-		return "AVF_ERR_MEMCPY_FAILED";
-	case AVF_ERR_INVALID_HMC_OBJ_INDEX:
-		return "AVF_ERR_INVALID_HMC_OBJ_INDEX";
-	case AVF_ERR_INVALID_HMC_OBJ_COUNT:
-		return "AVF_ERR_INVALID_HMC_OBJ_COUNT";
-	case AVF_ERR_INVALID_SRQ_ARM_LIMIT:
-		return "AVF_ERR_INVALID_SRQ_ARM_LIMIT";
-	case AVF_ERR_SRQ_ENABLED:
-		return "AVF_ERR_SRQ_ENABLED";
-	case AVF_ERR_ADMIN_QUEUE_ERROR:
-		return "AVF_ERR_ADMIN_QUEUE_ERROR";
-	case AVF_ERR_ADMIN_QUEUE_TIMEOUT:
-		return "AVF_ERR_ADMIN_QUEUE_TIMEOUT";
-	case AVF_ERR_BUF_TOO_SHORT:
-		return "AVF_ERR_BUF_TOO_SHORT";
-	case AVF_ERR_ADMIN_QUEUE_FULL:
-		return "AVF_ERR_ADMIN_QUEUE_FULL";
-	case AVF_ERR_ADMIN_QUEUE_NO_WORK:
-		return "AVF_ERR_ADMIN_QUEUE_NO_WORK";
-	case AVF_ERR_BAD_IWARP_CQE:
-		return "AVF_ERR_BAD_IWARP_CQE";
-	case AVF_ERR_NVM_BLANK_MODE:
-		return "AVF_ERR_NVM_BLANK_MODE";
-	case AVF_ERR_NOT_IMPLEMENTED:
-		return "AVF_ERR_NOT_IMPLEMENTED";
-	case AVF_ERR_PE_DOORBELL_NOT_ENABLED:
-		return "AVF_ERR_PE_DOORBELL_NOT_ENABLED";
-	case AVF_ERR_DIAG_TEST_FAILED:
-		return "AVF_ERR_DIAG_TEST_FAILED";
-	case AVF_ERR_NOT_READY:
-		return "AVF_ERR_NOT_READY";
-	case AVF_NOT_SUPPORTED:
-		return "AVF_NOT_SUPPORTED";
-	case AVF_ERR_FIRMWARE_API_VERSION:
-		return "AVF_ERR_FIRMWARE_API_VERSION";
-	case AVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR:
-		return "AVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR";
-	}
-
-	snprintf(hw->err_str, sizeof(hw->err_str), "%d", stat_err);
-	return hw->err_str;
-}
-
-/**
- * avf_debug_aq
- * @hw: debug mask related to admin queue
- * @mask: debug mask
- * @desc: pointer to admin queue descriptor
- * @buffer: pointer to command buffer
- * @buf_len: max length of buffer
- *
- * Dumps debug log about adminq command with descriptor contents.
- **/
-void avf_debug_aq(struct avf_hw *hw, enum avf_debug_mask mask, void *desc,
-		   void *buffer, u16 buf_len)
-{
-	struct avf_aq_desc *aq_desc = (struct avf_aq_desc *)desc;
-	u8 *buf = (u8 *)buffer;
-	u16 len;
-	u16 i = 0;
-
-	if ((!(mask & hw->debug_mask)) || (desc == NULL))
-		return;
-
-	len = LE16_TO_CPU(aq_desc->datalen);
-
-	avf_debug(hw, mask,
-		   "AQ CMD: opcode 0x%04X, flags 0x%04X, datalen 0x%04X, retval 0x%04X\n",
-		   LE16_TO_CPU(aq_desc->opcode),
-		   LE16_TO_CPU(aq_desc->flags),
-		   LE16_TO_CPU(aq_desc->datalen),
-		   LE16_TO_CPU(aq_desc->retval));
-	avf_debug(hw, mask, "\tcookie (h,l) 0x%08X 0x%08X\n",
-		   LE32_TO_CPU(aq_desc->cookie_high),
-		   LE32_TO_CPU(aq_desc->cookie_low));
-	avf_debug(hw, mask, "\tparam (0,1)  0x%08X 0x%08X\n",
-		   LE32_TO_CPU(aq_desc->params.internal.param0),
-		   LE32_TO_CPU(aq_desc->params.internal.param1));
-	avf_debug(hw, mask, "\taddr (h,l)   0x%08X 0x%08X\n",
-		   LE32_TO_CPU(aq_desc->params.external.addr_high),
-		   LE32_TO_CPU(aq_desc->params.external.addr_low));
-
-	if ((buffer != NULL) && (aq_desc->datalen != 0)) {
-		avf_debug(hw, mask, "AQ CMD Buffer:\n");
-		if (buf_len < len)
-			len = buf_len;
-		/* write the full 16-byte chunks */
-		for (i = 0; i < (len - 16); i += 16)
-			avf_debug(hw, mask,
-				   "\t0x%04X  %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n",
-				   i, buf[i], buf[i+1], buf[i+2], buf[i+3],
-				   buf[i+4], buf[i+5], buf[i+6], buf[i+7],
-				   buf[i+8], buf[i+9], buf[i+10], buf[i+11],
-				   buf[i+12], buf[i+13], buf[i+14], buf[i+15]);
-		/* the most we could have left is 16 bytes, pad with zeros */
-		if (i < len) {
-			char d_buf[16];
-			int j, i_sav;
-
-			i_sav = i;
-			memset(d_buf, 0, sizeof(d_buf));
-			for (j = 0; i < len; j++, i++)
-				d_buf[j] = buf[i];
-			avf_debug(hw, mask,
-				   "\t0x%04X  %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n",
-				   i_sav, d_buf[0], d_buf[1], d_buf[2], d_buf[3],
-				   d_buf[4], d_buf[5], d_buf[6], d_buf[7],
-				   d_buf[8], d_buf[9], d_buf[10], d_buf[11],
-				   d_buf[12], d_buf[13], d_buf[14], d_buf[15]);
-		}
-	}
-}
-
-/**
- * avf_check_asq_alive
- * @hw: pointer to the hw struct
- *
- * Returns true if Queue is enabled else false.
- **/
-bool avf_check_asq_alive(struct avf_hw *hw)
-{
-	if (hw->aq.asq.len)
-#ifdef INTEGRATED_VF
-		if (avf_is_vf(hw))
-			return !!(rd32(hw, hw->aq.asq.len) &
-				AVF_ATQLEN1_ATQENABLE_MASK);
-#else
-		return !!(rd32(hw, hw->aq.asq.len) &
-			AVF_ATQLEN1_ATQENABLE_MASK);
-#endif /* INTEGRATED_VF */
-	return false;
-}
-
-/**
- * avf_aq_queue_shutdown
- * @hw: pointer to the hw struct
- * @unloading: is the driver unloading itself
- *
- * Tell the Firmware that we're shutting down the AdminQ and whether
- * or not the driver is unloading as well.
- **/
-enum avf_status_code avf_aq_queue_shutdown(struct avf_hw *hw,
-					     bool unloading)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_queue_shutdown *cmd =
-		(struct avf_aqc_queue_shutdown *)&desc.params.raw;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-					  avf_aqc_opc_queue_shutdown);
-
-	if (unloading)
-		cmd->driver_unloading = CPU_TO_LE32(AVF_AQ_DRIVER_UNLOADING);
-	status = avf_asq_send_command(hw, &desc, NULL, 0, NULL);
-
-	return status;
-}
-
-/**
- * avf_aq_get_set_rss_lut
- * @hw: pointer to the hardware structure
- * @vsi_id: vsi fw index
- * @pf_lut: for PF table set true, for VSI table set false
- * @lut: pointer to the lut buffer provided by the caller
- * @lut_size: size of the lut buffer
- * @set: set true to set the table, false to get the table
- *
- * Internal function to get or set RSS look up table
- **/
-STATIC enum avf_status_code avf_aq_get_set_rss_lut(struct avf_hw *hw,
-						     u16 vsi_id, bool pf_lut,
-						     u8 *lut, u16 lut_size,
-						     bool set)
-{
-	enum avf_status_code status;
-	struct avf_aq_desc desc;
-	struct avf_aqc_get_set_rss_lut *cmd_resp =
-		   (struct avf_aqc_get_set_rss_lut *)&desc.params.raw;
-
-	if (set)
-		avf_fill_default_direct_cmd_desc(&desc,
-						  avf_aqc_opc_set_rss_lut);
-	else
-		avf_fill_default_direct_cmd_desc(&desc,
-						  avf_aqc_opc_get_rss_lut);
-
-	/* Indirect command */
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_RD);
-
-	cmd_resp->vsi_id =
-			CPU_TO_LE16((u16)((vsi_id <<
-					  AVF_AQC_SET_RSS_LUT_VSI_ID_SHIFT) &
-					  AVF_AQC_SET_RSS_LUT_VSI_ID_MASK));
-	cmd_resp->vsi_id |= CPU_TO_LE16((u16)AVF_AQC_SET_RSS_LUT_VSI_VALID);
-
-	if (pf_lut)
-		cmd_resp->flags |= CPU_TO_LE16((u16)
-					((AVF_AQC_SET_RSS_LUT_TABLE_TYPE_PF <<
-					AVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) &
-					AVF_AQC_SET_RSS_LUT_TABLE_TYPE_MASK));
-	else
-		cmd_resp->flags |= CPU_TO_LE16((u16)
-					((AVF_AQC_SET_RSS_LUT_TABLE_TYPE_VSI <<
-					AVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) &
-					AVF_AQC_SET_RSS_LUT_TABLE_TYPE_MASK));
-
-	status = avf_asq_send_command(hw, &desc, lut, lut_size, NULL);
-
-	return status;
-}
-
-/**
- * avf_aq_get_rss_lut
- * @hw: pointer to the hardware structure
- * @vsi_id: vsi fw index
- * @pf_lut: for PF table set true, for VSI table set false
- * @lut: pointer to the lut buffer provided by the caller
- * @lut_size: size of the lut buffer
- *
- * get the RSS lookup table, PF or VSI type
- **/
-enum avf_status_code avf_aq_get_rss_lut(struct avf_hw *hw, u16 vsi_id,
-					  bool pf_lut, u8 *lut, u16 lut_size)
-{
-	return avf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size,
-				       false);
-}
-
-/**
- * avf_aq_set_rss_lut
- * @hw: pointer to the hardware structure
- * @vsi_id: vsi fw index
- * @pf_lut: for PF table set true, for VSI table set false
- * @lut: pointer to the lut buffer provided by the caller
- * @lut_size: size of the lut buffer
- *
- * set the RSS lookup table, PF or VSI type
- **/
-enum avf_status_code avf_aq_set_rss_lut(struct avf_hw *hw, u16 vsi_id,
-					  bool pf_lut, u8 *lut, u16 lut_size)
-{
-	return avf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size, true);
-}
-
-/**
- * avf_aq_get_set_rss_key
- * @hw: pointer to the hw struct
- * @vsi_id: vsi fw index
- * @key: pointer to key info struct
- * @set: set true to set the key, false to get the key
- *
- * get the RSS key per VSI
- **/
-STATIC enum avf_status_code avf_aq_get_set_rss_key(struct avf_hw *hw,
-				      u16 vsi_id,
-				      struct avf_aqc_get_set_rss_key_data *key,
-				      bool set)
-{
-	enum avf_status_code status;
-	struct avf_aq_desc desc;
-	struct avf_aqc_get_set_rss_key *cmd_resp =
-			(struct avf_aqc_get_set_rss_key *)&desc.params.raw;
-	u16 key_size = sizeof(struct avf_aqc_get_set_rss_key_data);
-
-	if (set)
-		avf_fill_default_direct_cmd_desc(&desc,
-						  avf_aqc_opc_set_rss_key);
-	else
-		avf_fill_default_direct_cmd_desc(&desc,
-						  avf_aqc_opc_get_rss_key);
-
-	/* Indirect command */
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_RD);
-
-	cmd_resp->vsi_id =
-			CPU_TO_LE16((u16)((vsi_id <<
-					  AVF_AQC_SET_RSS_KEY_VSI_ID_SHIFT) &
-					  AVF_AQC_SET_RSS_KEY_VSI_ID_MASK));
-	cmd_resp->vsi_id |= CPU_TO_LE16((u16)AVF_AQC_SET_RSS_KEY_VSI_VALID);
-
-	status = avf_asq_send_command(hw, &desc, key, key_size, NULL);
-
-	return status;
-}
-
-/**
- * avf_aq_get_rss_key
- * @hw: pointer to the hw struct
- * @vsi_id: vsi fw index
- * @key: pointer to key info struct
- *
- **/
-enum avf_status_code avf_aq_get_rss_key(struct avf_hw *hw,
-				      u16 vsi_id,
-				      struct avf_aqc_get_set_rss_key_data *key)
-{
-	return avf_aq_get_set_rss_key(hw, vsi_id, key, false);
-}
-
-/**
- * avf_aq_set_rss_key
- * @hw: pointer to the hw struct
- * @vsi_id: vsi fw index
- * @key: pointer to key info struct
- *
- * set the RSS key per VSI
- **/
-enum avf_status_code avf_aq_set_rss_key(struct avf_hw *hw,
-				      u16 vsi_id,
-				      struct avf_aqc_get_set_rss_key_data *key)
-{
-	return avf_aq_get_set_rss_key(hw, vsi_id, key, true);
-}
-
-/* The avf_ptype_lookup table is used to convert from the 8-bit ptype in the
- * hardware to a bit-field that can be used by SW to more easily determine the
- * packet type.
- *
- * Macros are used to shorten the table lines and make this table human
- * readable.
- *
- * We store the PTYPE in the top byte of the bit field - this is just so that
- * we can check that the table doesn't have a row missing, as the index into
- * the table should be the PTYPE.
- *
- * Typical work flow:
- *
- * IF NOT avf_ptype_lookup[ptype].known
- * THEN
- *      Packet is unknown
- * ELSE IF avf_ptype_lookup[ptype].outer_ip == AVF_RX_PTYPE_OUTER_IP
- *      Use the rest of the fields to look at the tunnels, inner protocols, etc
- * ELSE
- *      Use the enum avf_rx_l2_ptype to decode the packet type
- * ENDIF
- */
-
-/* macro to make the table lines short */
-#define AVF_PTT(PTYPE, OUTER_IP, OUTER_IP_VER, OUTER_FRAG, T, TE, TEF, I, PL)\
-	{	PTYPE, \
-		1, \
-		AVF_RX_PTYPE_OUTER_##OUTER_IP, \
-		AVF_RX_PTYPE_OUTER_##OUTER_IP_VER, \
-		AVF_RX_PTYPE_##OUTER_FRAG, \
-		AVF_RX_PTYPE_TUNNEL_##T, \
-		AVF_RX_PTYPE_TUNNEL_END_##TE, \
-		AVF_RX_PTYPE_##TEF, \
-		AVF_RX_PTYPE_INNER_PROT_##I, \
-		AVF_RX_PTYPE_PAYLOAD_LAYER_##PL }
-
-#define AVF_PTT_UNUSED_ENTRY(PTYPE) \
-		{ PTYPE, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
-
-/* shorter macros makes the table fit but are terse */
-#define AVF_RX_PTYPE_NOF		AVF_RX_PTYPE_NOT_FRAG
-#define AVF_RX_PTYPE_FRG		AVF_RX_PTYPE_FRAG
-#define AVF_RX_PTYPE_INNER_PROT_TS	AVF_RX_PTYPE_INNER_PROT_TIMESYNC
-
-/* Lookup table mapping the HW PTYPE to the bit field for decoding */
-struct avf_rx_ptype_decoded avf_ptype_lookup[] = {
-	/* L2 Packet types */
-	AVF_PTT_UNUSED_ENTRY(0),
-	AVF_PTT(1,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
-	AVF_PTT(2,  L2, NONE, NOF, NONE, NONE, NOF, TS,   PAY2),
-	AVF_PTT(3,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
-	AVF_PTT_UNUSED_ENTRY(4),
-	AVF_PTT_UNUSED_ENTRY(5),
-	AVF_PTT(6,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
-	AVF_PTT(7,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
-	AVF_PTT_UNUSED_ENTRY(8),
-	AVF_PTT_UNUSED_ENTRY(9),
-	AVF_PTT(10, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
-	AVF_PTT(11, L2, NONE, NOF, NONE, NONE, NOF, NONE, NONE),
-	AVF_PTT(12, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(13, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(14, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(15, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(16, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(17, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(18, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(19, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(20, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(21, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
-
-	/* Non Tunneled IPv4 */
-	AVF_PTT(22, IP, IPV4, FRG, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(23, IP, IPV4, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(24, IP, IPV4, NOF, NONE, NONE, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(25),
-	AVF_PTT(26, IP, IPV4, NOF, NONE, NONE, NOF, TCP,  PAY4),
-	AVF_PTT(27, IP, IPV4, NOF, NONE, NONE, NOF, SCTP, PAY4),
-	AVF_PTT(28, IP, IPV4, NOF, NONE, NONE, NOF, ICMP, PAY4),
-
-	/* IPv4 --> IPv4 */
-	AVF_PTT(29, IP, IPV4, NOF, IP_IP, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(30, IP, IPV4, NOF, IP_IP, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(31, IP, IPV4, NOF, IP_IP, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(32),
-	AVF_PTT(33, IP, IPV4, NOF, IP_IP, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(34, IP, IPV4, NOF, IP_IP, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(35, IP, IPV4, NOF, IP_IP, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv4 --> IPv6 */
-	AVF_PTT(36, IP, IPV4, NOF, IP_IP, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(37, IP, IPV4, NOF, IP_IP, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(38, IP, IPV4, NOF, IP_IP, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(39),
-	AVF_PTT(40, IP, IPV4, NOF, IP_IP, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(41, IP, IPV4, NOF, IP_IP, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(42, IP, IPV4, NOF, IP_IP, IPV6, NOF, ICMP, PAY4),
-
-	/* IPv4 --> GRE/NAT */
-	AVF_PTT(43, IP, IPV4, NOF, IP_GRENAT, NONE, NOF, NONE, PAY3),
-
-	/* IPv4 --> GRE/NAT --> IPv4 */
-	AVF_PTT(44, IP, IPV4, NOF, IP_GRENAT, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(45, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(46, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(47),
-	AVF_PTT(48, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(49, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(50, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv4 --> GRE/NAT --> IPv6 */
-	AVF_PTT(51, IP, IPV4, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(52, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(53, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(54),
-	AVF_PTT(55, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(56, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(57, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, ICMP, PAY4),
-
-	/* IPv4 --> GRE/NAT --> MAC */
-	AVF_PTT(58, IP, IPV4, NOF, IP_GRENAT_MAC, NONE, NOF, NONE, PAY3),
-
-	/* IPv4 --> GRE/NAT --> MAC --> IPv4 */
-	AVF_PTT(59, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(60, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(61, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(62),
-	AVF_PTT(63, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(64, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(65, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv4 --> GRE/NAT -> MAC --> IPv6 */
-	AVF_PTT(66, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(67, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(68, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(69),
-	AVF_PTT(70, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(71, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(72, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, ICMP, PAY4),
-
-	/* IPv4 --> GRE/NAT --> MAC/VLAN */
-	AVF_PTT(73, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, NONE, NOF, NONE, PAY3),
-
-	/* IPv4 ---> GRE/NAT -> MAC/VLAN --> IPv4 */
-	AVF_PTT(74, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(75, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(76, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(77),
-	AVF_PTT(78, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(79, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(80, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv4 -> GRE/NAT -> MAC/VLAN --> IPv6 */
-	AVF_PTT(81, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(82, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(83, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(84),
-	AVF_PTT(85, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(86, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(87, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, ICMP, PAY4),
-
-	/* Non Tunneled IPv6 */
-	AVF_PTT(88, IP, IPV6, FRG, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(89, IP, IPV6, NOF, NONE, NONE, NOF, NONE, PAY3),
-	AVF_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(91),
-	AVF_PTT(92, IP, IPV6, NOF, NONE, NONE, NOF, TCP,  PAY4),
-	AVF_PTT(93, IP, IPV6, NOF, NONE, NONE, NOF, SCTP, PAY4),
-	AVF_PTT(94, IP, IPV6, NOF, NONE, NONE, NOF, ICMP, PAY4),
-
-	/* IPv6 --> IPv4 */
-	AVF_PTT(95,  IP, IPV6, NOF, IP_IP, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(96,  IP, IPV6, NOF, IP_IP, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(97,  IP, IPV6, NOF, IP_IP, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(98),
-	AVF_PTT(99,  IP, IPV6, NOF, IP_IP, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(100, IP, IPV6, NOF, IP_IP, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(101, IP, IPV6, NOF, IP_IP, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv6 --> IPv6 */
-	AVF_PTT(102, IP, IPV6, NOF, IP_IP, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(103, IP, IPV6, NOF, IP_IP, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(104, IP, IPV6, NOF, IP_IP, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(105),
-	AVF_PTT(106, IP, IPV6, NOF, IP_IP, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(107, IP, IPV6, NOF, IP_IP, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(108, IP, IPV6, NOF, IP_IP, IPV6, NOF, ICMP, PAY4),
-
-	/* IPv6 --> GRE/NAT */
-	AVF_PTT(109, IP, IPV6, NOF, IP_GRENAT, NONE, NOF, NONE, PAY3),
-
-	/* IPv6 --> GRE/NAT -> IPv4 */
-	AVF_PTT(110, IP, IPV6, NOF, IP_GRENAT, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(111, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(112, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(113),
-	AVF_PTT(114, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(115, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(116, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv6 --> GRE/NAT -> IPv6 */
-	AVF_PTT(117, IP, IPV6, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(118, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(119, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(120),
-	AVF_PTT(121, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(122, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(123, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, ICMP, PAY4),
-
-	/* IPv6 --> GRE/NAT -> MAC */
-	AVF_PTT(124, IP, IPV6, NOF, IP_GRENAT_MAC, NONE, NOF, NONE, PAY3),
-
-	/* IPv6 --> GRE/NAT -> MAC -> IPv4 */
-	AVF_PTT(125, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(126, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(127, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(128),
-	AVF_PTT(129, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(130, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(131, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv6 --> GRE/NAT -> MAC -> IPv6 */
-	AVF_PTT(132, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(133, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(134, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(135),
-	AVF_PTT(136, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(137, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(138, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, ICMP, PAY4),
-
-	/* IPv6 --> GRE/NAT -> MAC/VLAN */
-	AVF_PTT(139, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, NONE, NOF, NONE, PAY3),
-
-	/* IPv6 --> GRE/NAT -> MAC/VLAN --> IPv4 */
-	AVF_PTT(140, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, FRG, NONE, PAY3),
-	AVF_PTT(141, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, NONE, PAY3),
-	AVF_PTT(142, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(143),
-	AVF_PTT(144, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, TCP,  PAY4),
-	AVF_PTT(145, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, SCTP, PAY4),
-	AVF_PTT(146, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, ICMP, PAY4),
-
-	/* IPv6 --> GRE/NAT -> MAC/VLAN --> IPv6 */
-	AVF_PTT(147, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, FRG, NONE, PAY3),
-	AVF_PTT(148, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, NONE, PAY3),
-	AVF_PTT(149, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, UDP,  PAY4),
-	AVF_PTT_UNUSED_ENTRY(150),
-	AVF_PTT(151, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, TCP,  PAY4),
-	AVF_PTT(152, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, SCTP, PAY4),
-	AVF_PTT(153, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, ICMP, PAY4),
-
-	/* unused entries */
-	AVF_PTT_UNUSED_ENTRY(154),
-	AVF_PTT_UNUSED_ENTRY(155),
-	AVF_PTT_UNUSED_ENTRY(156),
-	AVF_PTT_UNUSED_ENTRY(157),
-	AVF_PTT_UNUSED_ENTRY(158),
-	AVF_PTT_UNUSED_ENTRY(159),
-
-	AVF_PTT_UNUSED_ENTRY(160),
-	AVF_PTT_UNUSED_ENTRY(161),
-	AVF_PTT_UNUSED_ENTRY(162),
-	AVF_PTT_UNUSED_ENTRY(163),
-	AVF_PTT_UNUSED_ENTRY(164),
-	AVF_PTT_UNUSED_ENTRY(165),
-	AVF_PTT_UNUSED_ENTRY(166),
-	AVF_PTT_UNUSED_ENTRY(167),
-	AVF_PTT_UNUSED_ENTRY(168),
-	AVF_PTT_UNUSED_ENTRY(169),
-
-	AVF_PTT_UNUSED_ENTRY(170),
-	AVF_PTT_UNUSED_ENTRY(171),
-	AVF_PTT_UNUSED_ENTRY(172),
-	AVF_PTT_UNUSED_ENTRY(173),
-	AVF_PTT_UNUSED_ENTRY(174),
-	AVF_PTT_UNUSED_ENTRY(175),
-	AVF_PTT_UNUSED_ENTRY(176),
-	AVF_PTT_UNUSED_ENTRY(177),
-	AVF_PTT_UNUSED_ENTRY(178),
-	AVF_PTT_UNUSED_ENTRY(179),
-
-	AVF_PTT_UNUSED_ENTRY(180),
-	AVF_PTT_UNUSED_ENTRY(181),
-	AVF_PTT_UNUSED_ENTRY(182),
-	AVF_PTT_UNUSED_ENTRY(183),
-	AVF_PTT_UNUSED_ENTRY(184),
-	AVF_PTT_UNUSED_ENTRY(185),
-	AVF_PTT_UNUSED_ENTRY(186),
-	AVF_PTT_UNUSED_ENTRY(187),
-	AVF_PTT_UNUSED_ENTRY(188),
-	AVF_PTT_UNUSED_ENTRY(189),
-
-	AVF_PTT_UNUSED_ENTRY(190),
-	AVF_PTT_UNUSED_ENTRY(191),
-	AVF_PTT_UNUSED_ENTRY(192),
-	AVF_PTT_UNUSED_ENTRY(193),
-	AVF_PTT_UNUSED_ENTRY(194),
-	AVF_PTT_UNUSED_ENTRY(195),
-	AVF_PTT_UNUSED_ENTRY(196),
-	AVF_PTT_UNUSED_ENTRY(197),
-	AVF_PTT_UNUSED_ENTRY(198),
-	AVF_PTT_UNUSED_ENTRY(199),
-
-	AVF_PTT_UNUSED_ENTRY(200),
-	AVF_PTT_UNUSED_ENTRY(201),
-	AVF_PTT_UNUSED_ENTRY(202),
-	AVF_PTT_UNUSED_ENTRY(203),
-	AVF_PTT_UNUSED_ENTRY(204),
-	AVF_PTT_UNUSED_ENTRY(205),
-	AVF_PTT_UNUSED_ENTRY(206),
-	AVF_PTT_UNUSED_ENTRY(207),
-	AVF_PTT_UNUSED_ENTRY(208),
-	AVF_PTT_UNUSED_ENTRY(209),
-
-	AVF_PTT_UNUSED_ENTRY(210),
-	AVF_PTT_UNUSED_ENTRY(211),
-	AVF_PTT_UNUSED_ENTRY(212),
-	AVF_PTT_UNUSED_ENTRY(213),
-	AVF_PTT_UNUSED_ENTRY(214),
-	AVF_PTT_UNUSED_ENTRY(215),
-	AVF_PTT_UNUSED_ENTRY(216),
-	AVF_PTT_UNUSED_ENTRY(217),
-	AVF_PTT_UNUSED_ENTRY(218),
-	AVF_PTT_UNUSED_ENTRY(219),
-
-	AVF_PTT_UNUSED_ENTRY(220),
-	AVF_PTT_UNUSED_ENTRY(221),
-	AVF_PTT_UNUSED_ENTRY(222),
-	AVF_PTT_UNUSED_ENTRY(223),
-	AVF_PTT_UNUSED_ENTRY(224),
-	AVF_PTT_UNUSED_ENTRY(225),
-	AVF_PTT_UNUSED_ENTRY(226),
-	AVF_PTT_UNUSED_ENTRY(227),
-	AVF_PTT_UNUSED_ENTRY(228),
-	AVF_PTT_UNUSED_ENTRY(229),
-
-	AVF_PTT_UNUSED_ENTRY(230),
-	AVF_PTT_UNUSED_ENTRY(231),
-	AVF_PTT_UNUSED_ENTRY(232),
-	AVF_PTT_UNUSED_ENTRY(233),
-	AVF_PTT_UNUSED_ENTRY(234),
-	AVF_PTT_UNUSED_ENTRY(235),
-	AVF_PTT_UNUSED_ENTRY(236),
-	AVF_PTT_UNUSED_ENTRY(237),
-	AVF_PTT_UNUSED_ENTRY(238),
-	AVF_PTT_UNUSED_ENTRY(239),
-
-	AVF_PTT_UNUSED_ENTRY(240),
-	AVF_PTT_UNUSED_ENTRY(241),
-	AVF_PTT_UNUSED_ENTRY(242),
-	AVF_PTT_UNUSED_ENTRY(243),
-	AVF_PTT_UNUSED_ENTRY(244),
-	AVF_PTT_UNUSED_ENTRY(245),
-	AVF_PTT_UNUSED_ENTRY(246),
-	AVF_PTT_UNUSED_ENTRY(247),
-	AVF_PTT_UNUSED_ENTRY(248),
-	AVF_PTT_UNUSED_ENTRY(249),
-
-	AVF_PTT_UNUSED_ENTRY(250),
-	AVF_PTT_UNUSED_ENTRY(251),
-	AVF_PTT_UNUSED_ENTRY(252),
-	AVF_PTT_UNUSED_ENTRY(253),
-	AVF_PTT_UNUSED_ENTRY(254),
-	AVF_PTT_UNUSED_ENTRY(255)
-};
-
-
-/**
- * avf_validate_mac_addr - Validate unicast MAC address
- * @mac_addr: pointer to MAC address
- *
- * Tests a MAC address to ensure it is a valid Individual Address
- **/
-enum avf_status_code avf_validate_mac_addr(u8 *mac_addr)
-{
-	enum avf_status_code status = AVF_SUCCESS;
-
-	DEBUGFUNC("avf_validate_mac_addr");
-
-	/* Broadcast addresses ARE multicast addresses
-	 * Make sure it is not a multicast address
-	 * Reject the zero address
-	 */
-	if (AVF_IS_MULTICAST(mac_addr) ||
-	    (mac_addr[0] == 0 && mac_addr[1] == 0 && mac_addr[2] == 0 &&
-	      mac_addr[3] == 0 && mac_addr[4] == 0 && mac_addr[5] == 0))
-		status = AVF_ERR_INVALID_MAC_ADDR;
-
-	return status;
-}
-
-/**
- * avf_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 avf_status_code avf_aq_rx_ctl_read_register(struct avf_hw *hw,
-				u32 reg_addr, u32 *reg_val,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_rx_ctl_reg_read_write *cmd_resp =
-		(struct avf_aqc_rx_ctl_reg_read_write *)&desc.params.raw;
-	enum avf_status_code status;
-
-	if (reg_val == NULL)
-		return AVF_ERR_PARAM;
-
-	avf_fill_default_direct_cmd_desc(&desc, avf_aqc_opc_rx_ctl_reg_read);
-
-	cmd_resp->address = CPU_TO_LE32(reg_addr);
-
-	status = avf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	if (status == AVF_SUCCESS)
-		*reg_val = LE32_TO_CPU(cmd_resp->value);
-
-	return status;
-}
-
-/**
- * avf_read_rx_ctl - read from an Rx control register
- * @hw: pointer to the hw struct
- * @reg_addr: register address
- **/
-u32 avf_read_rx_ctl(struct avf_hw *hw, u32 reg_addr)
-{
-	enum avf_status_code status = AVF_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 == AVF_MAC_X722));
-	if (!use_register) {
-do_retry:
-		status = avf_aq_rx_ctl_read_register(hw, reg_addr, &val, NULL);
-		if (hw->aq.asq_last_status == AVF_AQ_RC_EAGAIN && retry) {
-			avf_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;
-}
-
-/**
- * avf_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 avf_status_code avf_aq_rx_ctl_write_register(struct avf_hw *hw,
-				u32 reg_addr, u32 reg_val,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_rx_ctl_reg_read_write *cmd =
-		(struct avf_aqc_rx_ctl_reg_read_write *)&desc.params.raw;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc, avf_aqc_opc_rx_ctl_reg_write);
-
-	cmd->address = CPU_TO_LE32(reg_addr);
-	cmd->value = CPU_TO_LE32(reg_val);
-
-	status = avf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	return status;
-}
-
-/**
- * avf_write_rx_ctl - write to an Rx control register
- * @hw: pointer to the hw struct
- * @reg_addr: register address
- * @reg_val: register value
- **/
-void avf_write_rx_ctl(struct avf_hw *hw, u32 reg_addr, u32 reg_val)
-{
-	enum avf_status_code status = AVF_SUCCESS;
-	bool use_register;
-	int retry = 5;
-
-	use_register = (((hw->aq.api_maj_ver == 1) &&
-			(hw->aq.api_min_ver < 5)) ||
-			(hw->mac.type == AVF_MAC_X722));
-	if (!use_register) {
-do_retry:
-		status = avf_aq_rx_ctl_write_register(hw, reg_addr,
-						       reg_val, NULL);
-		if (hw->aq.asq_last_status == AVF_AQ_RC_EAGAIN && retry) {
-			avf_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);
-}
-
-/**
- * avf_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 avf_status_code avf_aq_set_phy_register(struct avf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 reg_val,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_phy_register_access *cmd =
-		(struct avf_aqc_phy_register_access *)&desc.params.raw;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-					  avf_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 = avf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	return status;
-}
-
-/**
- * avf_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 avf_status_code avf_aq_get_phy_register(struct avf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 *reg_val,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_phy_register_access *cmd =
-		(struct avf_aqc_phy_register_access *)&desc.params.raw;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-					  avf_aqc_opc_get_phy_register);
-
-	cmd->phy_interface = phy_select;
-	cmd->dev_addres = dev_addr;
-	cmd->reg_address = CPU_TO_LE32(reg_addr);
-
-	status = avf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-	if (!status)
-		*reg_val = LE32_TO_CPU(cmd->reg_value);
-
-	return status;
-}
-
-
-/**
- * avf_aq_send_msg_to_pf
- * @hw: pointer to the hardware structure
- * @v_opcode: opcodes for VF-PF communication
- * @v_retval: return error code
- * @msg: pointer to the msg buffer
- * @msglen: msg length
- * @cmd_details: pointer to command details
- *
- * Send message to PF driver using admin queue. By default, this message
- * is sent asynchronously, i.e. avf_asq_send_command() does not wait for
- * completion before returning.
- **/
-enum avf_status_code avf_aq_send_msg_to_pf(struct avf_hw *hw,
-				enum virtchnl_ops v_opcode,
-				enum avf_status_code v_retval,
-				u8 *msg, u16 msglen,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_asq_cmd_details details;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc, avf_aqc_opc_send_msg_to_pf);
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_SI);
-	desc.cookie_high = CPU_TO_LE32(v_opcode);
-	desc.cookie_low = CPU_TO_LE32(v_retval);
-	if (msglen) {
-		desc.flags |= CPU_TO_LE16((u16)(AVF_AQ_FLAG_BUF
-						| AVF_AQ_FLAG_RD));
-		if (msglen > AVF_AQ_LARGE_BUF)
-			desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_LB);
-		desc.datalen = CPU_TO_LE16(msglen);
-	}
-	if (!cmd_details) {
-		avf_memset(&details, 0, sizeof(details), AVF_NONDMA_MEM);
-		details.async = true;
-		cmd_details = &details;
-	}
-	status = avf_asq_send_command(hw, (struct avf_aq_desc *)&desc, msg,
-				       msglen, cmd_details);
-	return status;
-}
-
-/**
- * avf_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 avf_parse_hw_config(struct avf_hw *hw,
-			     struct virtchnl_vf_resource *msg)
-{
-	struct virtchnl_vsi_resource *vsi_res;
-	int i;
-
-	vsi_res = &msg->vsi_res[0];
-
-	hw->dev_caps.num_vsis = msg->num_vsis;
-	hw->dev_caps.num_rx_qp = msg->num_queue_pairs;
-	hw->dev_caps.num_tx_qp = msg->num_queue_pairs;
-	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) {
-			avf_memcpy(hw->mac.perm_addr,
-				    vsi_res->default_mac_addr,
-				    ETH_ALEN,
-				    AVF_NONDMA_TO_NONDMA);
-			avf_memcpy(hw->mac.addr, vsi_res->default_mac_addr,
-				    ETH_ALEN,
-				    AVF_NONDMA_TO_NONDMA);
-		}
-		vsi_res++;
-	}
-}
-
-/**
- * avf_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 avf_status_code avf_reset(struct avf_hw *hw)
-{
-	return avf_aq_send_msg_to_pf(hw, VIRTCHNL_OP_RESET_VF,
-				      AVF_SUCCESS, NULL, 0, NULL);
-}
-
-/**
- * avf_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
- * avf_aqc_arp_proxy_data struct
- **/
-enum avf_status_code avf_aq_set_arp_proxy_config(struct avf_hw *hw,
-				struct avf_aqc_arp_proxy_data *proxy_config,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	enum avf_status_code status;
-
-	if (!proxy_config)
-		return AVF_ERR_PARAM;
-
-	avf_fill_default_direct_cmd_desc(&desc, avf_aqc_opc_set_proxy_config);
-
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_RD);
-	desc.params.external.addr_high =
-				  CPU_TO_LE32(AVF_HI_DWORD((u64)proxy_config));
-	desc.params.external.addr_low =
-				  CPU_TO_LE32(AVF_LO_DWORD((u64)proxy_config));
-	desc.datalen = CPU_TO_LE16(sizeof(struct avf_aqc_arp_proxy_data));
-
-	status = avf_asq_send_command(hw, &desc, proxy_config,
-				       sizeof(struct avf_aqc_arp_proxy_data),
-				       cmd_details);
-
-	return status;
-}
-
-/**
- * avf_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 avf_aqc_ns_proxy_data struct
- **/
-enum avf_status_code avf_aq_set_ns_proxy_table_entry(struct avf_hw *hw,
-			struct avf_aqc_ns_proxy_data *ns_proxy_table_entry,
-			struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	enum avf_status_code status;
-
-	if (!ns_proxy_table_entry)
-		return AVF_ERR_PARAM;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-				avf_aqc_opc_set_ns_proxy_table_entry);
-
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_RD);
-	desc.params.external.addr_high =
-		CPU_TO_LE32(AVF_HI_DWORD((u64)ns_proxy_table_entry));
-	desc.params.external.addr_low =
-		CPU_TO_LE32(AVF_LO_DWORD((u64)ns_proxy_table_entry));
-	desc.datalen = CPU_TO_LE16(sizeof(struct avf_aqc_ns_proxy_data));
-
-	status = avf_asq_send_command(hw, &desc, ns_proxy_table_entry,
-				       sizeof(struct avf_aqc_ns_proxy_data),
-				       cmd_details);
-
-	return status;
-}
-
-/**
- * avf_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 avf_status_code avf_aq_set_clear_wol_filter(struct avf_hw *hw,
-				u8 filter_index,
-				struct avf_aqc_set_wol_filter_data *filter,
-				bool set_filter, bool no_wol_tco,
-				bool filter_valid, bool no_wol_tco_valid,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_set_wol_filter *cmd =
-		(struct avf_aqc_set_wol_filter *)&desc.params.raw;
-	enum avf_status_code status;
-	u16 cmd_flags = 0;
-	u16 valid_flags = 0;
-	u16 buff_len = 0;
-
-	avf_fill_default_direct_cmd_desc(&desc, avf_aqc_opc_set_wol_filter);
-
-	if (filter_index >= AVF_AQC_MAX_NUM_WOL_FILTERS)
-		return  AVF_ERR_PARAM;
-	cmd->filter_index = CPU_TO_LE16(filter_index);
-
-	if (set_filter) {
-		if (!filter)
-			return  AVF_ERR_PARAM;
-
-		cmd_flags |= AVF_AQC_SET_WOL_FILTER;
-		cmd_flags |= AVF_AQC_SET_WOL_FILTER_WOL_PRESERVE_ON_PFR;
-	}
-
-	if (no_wol_tco)
-		cmd_flags |= AVF_AQC_SET_WOL_FILTER_NO_TCO_WOL;
-	cmd->cmd_flags = CPU_TO_LE16(cmd_flags);
-
-	if (filter_valid)
-		valid_flags |= AVF_AQC_SET_WOL_FILTER_ACTION_VALID;
-	if (no_wol_tco_valid)
-		valid_flags |= AVF_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)AVF_AQ_FLAG_BUF);
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_RD);
-
-	cmd->address_high = CPU_TO_LE32(AVF_HI_DWORD((u64)filter));
-	cmd->address_low = CPU_TO_LE32(AVF_LO_DWORD((u64)filter));
-
-	status = avf_asq_send_command(hw, &desc, filter,
-				       buff_len, cmd_details);
-
-	return status;
-}
-
-/**
- * avf_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 avf_status_code avf_aq_get_wake_event_reason(struct avf_hw *hw,
-				u16 *wake_reason,
-				struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_get_wake_reason_completion *resp =
-		(struct avf_aqc_get_wake_reason_completion *)&desc.params.raw;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc, avf_aqc_opc_get_wake_reason);
-
-	status = avf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	if (status == AVF_SUCCESS)
-		*wake_reason = LE16_TO_CPU(resp->wake_reason);
-
-	return status;
-}
-
-/**
-* avf_aq_clear_all_wol_filters
-* @hw: pointer to the hw struct
-* @cmd_details: pointer to command details structure or NULL
-*
-* Get information for the reason of a Wake Up event
-**/
-enum avf_status_code avf_aq_clear_all_wol_filters(struct avf_hw *hw,
-	struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-					  avf_aqc_opc_clear_all_wol_filters);
-
-	status = avf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
-
-	return status;
-}
-
-/**
- * avf_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
-avf_status_code avf_aq_write_ddp(struct avf_hw *hw, void *buff,
-				   u16 buff_size, u32 track_id,
-				   u32 *error_offset, u32 *error_info,
-				   struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_write_personalization_profile *cmd =
-		(struct avf_aqc_write_personalization_profile *)
-		&desc.params.raw;
-	struct avf_aqc_write_ddp_resp *resp;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-				  avf_aqc_opc_write_personalization_profile);
-
-	desc.flags |= CPU_TO_LE16(AVF_AQ_FLAG_BUF | AVF_AQ_FLAG_RD);
-	if (buff_size > AVF_AQ_LARGE_BUF)
-		desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_LB);
-
-	desc.datalen = CPU_TO_LE16(buff_size);
-
-	cmd->profile_track_id = CPU_TO_LE32(track_id);
-
-	status = avf_asq_send_command(hw, &desc, buff, buff_size, cmd_details);
-	if (!status) {
-		resp = (struct avf_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;
-}
-
-/**
- * avf_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
-avf_status_code avf_aq_get_ddp_list(struct avf_hw *hw, void *buff,
-				      u16 buff_size, u8 flags,
-				      struct avf_asq_cmd_details *cmd_details)
-{
-	struct avf_aq_desc desc;
-	struct avf_aqc_get_applied_profiles *cmd =
-		(struct avf_aqc_get_applied_profiles *)&desc.params.raw;
-	enum avf_status_code status;
-
-	avf_fill_default_direct_cmd_desc(&desc,
-			  avf_aqc_opc_get_personalization_profile_list);
-
-	desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_BUF);
-	if (buff_size > AVF_AQ_LARGE_BUF)
-		desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_LB);
-	desc.datalen = CPU_TO_LE16(buff_size);
-
-	cmd->flags = flags;
-
-	status = avf_asq_send_command(hw, &desc, buff, buff_size, cmd_details);
-
-	return status;
-}
-
-/**
- * avf_find_segment_in_package
- * @segment_type: the segment type to search for (i.e., SEGMENT_TYPE_AVF)
- * @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 avf_generic_seg_header *
-avf_find_segment_in_package(u32 segment_type,
-			     struct avf_package_header *pkg_hdr)
-{
-	struct avf_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 avf_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 AVF_SECTION_TABLE(profile, sec_tbl)				\
-	do {								\
-		struct avf_profile_segment *p = (profile);		\
-		u32 count;						\
-		u32 *nvm;						\
-		count = p->device_table_count;				\
-		nvm = (u32 *)&p->device_table[count];			\
-		sec_tbl = (struct avf_section_table *)&nvm[nvm[0] + 1]; \
-	} while (0)
-
-/* Get section header in profile */
-#define AVF_SECTION_HEADER(profile, offset)				\
-	(struct avf_profile_section_header *)((u8 *)(profile) + (offset))
-
-/**
- * avf_find_section_in_profile
- * @section_type: the section type to search for (i.e., SECTION_TYPE_NOTE)
- * @profile: pointer to the avf segment header to be searched
- *
- * This function searches avf segment for a particular section type. On
- * success it returns a pointer to the section header, otherwise it will
- * return NULL.
- **/
-struct avf_profile_section_header *
-avf_find_section_in_profile(u32 section_type,
-			     struct avf_profile_segment *profile)
-{
-	struct avf_profile_section_header *sec;
-	struct avf_section_table *sec_tbl;
-	u32 sec_off;
-	u32 i;
-
-	if (profile->header.type != SEGMENT_TYPE_AVF)
-		return NULL;
-
-	AVF_SECTION_TABLE(profile, sec_tbl);
-
-	for (i = 0; i < sec_tbl->section_count; i++) {
-		sec_off = sec_tbl->section_offset[i];
-		sec = AVF_SECTION_HEADER(profile, sec_off);
-		if (sec->section.type == section_type)
-			return sec;
-	}
-
-	return NULL;
-}
-
-/**
- * avf_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
-avf_status_code avf_ddp_exec_aq_section(struct avf_hw *hw,
-					  struct avf_profile_aq_section *aq)
-{
-	enum avf_status_code status;
-	struct avf_aq_desc desc;
-	u8 *msg = NULL;
-	u16 msglen;
-
-	avf_fill_default_direct_cmd_desc(&desc, aq->opcode);
-	desc.flags |= CPU_TO_LE16(aq->flags);
-	avf_memcpy(desc.params.raw, aq->param, sizeof(desc.params.raw),
-		    AVF_NONDMA_TO_NONDMA);
-
-	msglen = aq->datalen;
-	if (msglen) {
-		desc.flags |= CPU_TO_LE16((u16)(AVF_AQ_FLAG_BUF |
-						AVF_AQ_FLAG_RD));
-		if (msglen > AVF_AQ_LARGE_BUF)
-			desc.flags |= CPU_TO_LE16((u16)AVF_AQ_FLAG_LB);
-		desc.datalen = CPU_TO_LE16(msglen);
-		msg = &aq->data[0];
-	}
-
-	status = avf_asq_send_command(hw, &desc, msg, msglen, NULL);
-
-	if (status != AVF_SUCCESS) {
-		avf_debug(hw, AVF_DEBUG_PACKAGE,
-			   "unable to exec DDP AQ opcode %u, error %d\n",
-			   aq->opcode, status);
-		return status;
-	}
-
-	/* copy returned desc to aq_buf */
-	avf_memcpy(aq->param, desc.params.raw, sizeof(desc.params.raw),
-		    AVF_NONDMA_TO_NONDMA);
-
-	return AVF_SUCCESS;
-}
-
-/**
- * avf_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 avf_status_code
-avf_validate_profile(struct avf_hw *hw, struct avf_profile_segment *profile,
-		      u32 track_id, bool rollback)
-{
-	struct avf_profile_section_header *sec = NULL;
-	enum avf_status_code status = AVF_SUCCESS;
-	struct avf_section_table *sec_tbl;
-	u32 vendor_dev_id;
-	u32 dev_cnt;
-	u32 sec_off;
-	u32 i;
-
-	if (track_id == AVF_DDP_TRACKID_INVALID) {
-		avf_debug(hw, AVF_DEBUG_PACKAGE, "Invalid track_id\n");
-		return AVF_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) == AVF_INTEL_VENDOR_ID &&
-		    hw->device_id == (vendor_dev_id & 0xFFFF))
-			break;
-	}
-	if (dev_cnt && (i == dev_cnt)) {
-		avf_debug(hw, AVF_DEBUG_PACKAGE,
-			   "Device doesn't support DDP\n");
-		return AVF_ERR_DEVICE_NOT_SUPPORTED;
-	}
-
-	AVF_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 = AVF_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) {
-				avf_debug(hw, AVF_DEBUG_PACKAGE,
-					   "Not a roll-back package\n");
-				return AVF_NOT_SUPPORTED;
-			}
-		} else {
-			if (sec->section.type == SECTION_TYPE_RB_AQ ||
-			    sec->section.type == SECTION_TYPE_RB_MMIO) {
-				avf_debug(hw, AVF_DEBUG_PACKAGE,
-					   "Not an original package\n");
-				return AVF_NOT_SUPPORTED;
-			}
-		}
-	}
-
-	return status;
-}
-
-/**
- * avf_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 avf_status_code
-avf_write_profile(struct avf_hw *hw, struct avf_profile_segment *profile,
-		   u32 track_id)
-{
-	enum avf_status_code status = AVF_SUCCESS;
-	struct avf_section_table *sec_tbl;
-	struct avf_profile_section_header *sec = NULL;
-	struct avf_profile_aq_section *ddp_aq;
-	u32 section_size = 0;
-	u32 offset = 0, info = 0;
-	u32 sec_off;
-	u32 i;
-
-	status = avf_validate_profile(hw, profile, track_id, false);
-	if (status)
-		return status;
-
-	AVF_SECTION_TABLE(profile, sec_tbl);
-
-	for (i = 0; i < sec_tbl->section_count; i++) {
-		sec_off = sec_tbl->section_offset[i];
-		sec = AVF_SECTION_HEADER(profile, sec_off);
-		/* Process generic admin command */
-		if (sec->section.type == SECTION_TYPE_AQ) {
-			ddp_aq = (struct avf_profile_aq_section *)&sec[1];
-			status = avf_ddp_exec_aq_section(hw, ddp_aq);
-			if (status) {
-				avf_debug(hw, AVF_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 avf_profile_section_header);
-
-		/* Write MMIO section */
-		status = avf_aq_write_ddp(hw, (void *)sec, (u16)section_size,
-					   track_id, &offset, &info, NULL);
-		if (status) {
-			avf_debug(hw, AVF_DEBUG_PACKAGE,
-				   "Failed to write profile: section %d, offset %d, info %d\n",
-				   i, offset, info);
-			break;
-		}
-	}
-	return status;
-}
-
-/**
- * avf_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 avf_status_code
-avf_rollback_profile(struct avf_hw *hw, struct avf_profile_segment *profile,
-		      u32 track_id)
-{
-	struct avf_profile_section_header *sec = NULL;
-	enum avf_status_code status = AVF_SUCCESS;
-	struct avf_section_table *sec_tbl;
-	u32 offset = 0, info = 0;
-	u32 section_size = 0;
-	u32 sec_off;
-	int i;
-
-	status = avf_validate_profile(hw, profile, track_id, true);
-	if (status)
-		return status;
-
-	AVF_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 = AVF_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 avf_profile_section_header);
-
-		/* Write roll-back MMIO section */
-		status = avf_aq_write_ddp(hw, (void *)sec, (u16)section_size,
-					   track_id, &offset, &info, NULL);
-		if (status) {
-			avf_debug(hw, AVF_DEBUG_PACKAGE,
-				   "Failed to write profile: section %d, offset %d, info %d\n",
-				   i, offset, info);
-			break;
-		}
-	}
-	return status;
-}
-
-/**
- * avf_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 avf_status_code
-avf_add_pinfo_to_list(struct avf_hw *hw,
-		       struct avf_profile_segment *profile,
-		       u8 *profile_info_sec, u32 track_id)
-{
-	enum avf_status_code status = AVF_SUCCESS;
-	struct avf_profile_section_header *sec = NULL;
-	struct avf_profile_info *pinfo;
-	u32 offset = 0, info = 0;
-
-	sec = (struct avf_profile_section_header *)profile_info_sec;
-	sec->tbl_size = 1;
-	sec->data_end = sizeof(struct avf_profile_section_header) +
-			sizeof(struct avf_profile_info);
-	sec->section.type = SECTION_TYPE_INFO;
-	sec->section.offset = sizeof(struct avf_profile_section_header);
-	sec->section.size = sizeof(struct avf_profile_info);
-	pinfo = (struct avf_profile_info *)(profile_info_sec +
-					     sec->section.offset);
-	pinfo->track_id = track_id;
-	pinfo->version = profile->version;
-	pinfo->op = AVF_DDP_ADD_TRACKID;
-	avf_memcpy(pinfo->name, profile->name, AVF_DDP_NAME_SIZE,
-		    AVF_NONDMA_TO_NONDMA);
-
-	status = avf_aq_write_ddp(hw, (void *)sec, sec->data_end,
-				   track_id, &offset, &info, NULL);
-	return status;
-}
diff --git a/drivers/net/avf/base/avf_hmc.h b/drivers/net/avf/base/avf_hmc.h
deleted file mode 100644
index b9b7b5bed..000000000
--- a/drivers/net/avf/base/avf_hmc.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#ifndef _AVF_HMC_H_
-#define _AVF_HMC_H_
-
-#define AVF_HMC_MAX_BP_COUNT 512
-
-/* forward-declare the HW struct for the compiler */
-struct avf_hw;
-
-#define AVF_HMC_INFO_SIGNATURE		0x484D5347 /* HMSG */
-#define AVF_HMC_PD_CNT_IN_SD		512
-#define AVF_HMC_DIRECT_BP_SIZE		0x200000 /* 2M */
-#define AVF_HMC_PAGED_BP_SIZE		4096
-#define AVF_HMC_PD_BP_BUF_ALIGNMENT	4096
-#define AVF_FIRST_VF_FPM_ID		16
-
-struct avf_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 avf_sd_entry_type {
-	AVF_SD_TYPE_INVALID = 0,
-	AVF_SD_TYPE_PAGED   = 1,
-	AVF_SD_TYPE_DIRECT  = 2
-};
-
-struct avf_hmc_bp {
-	enum avf_sd_entry_type entry_type;
-	struct avf_dma_mem addr; /* populate to be used by hw */
-	u32 sd_pd_index;
-	u32 ref_cnt;
-};
-
-struct avf_hmc_pd_entry {
-	struct avf_hmc_bp bp;
-	u32 sd_index;
-	bool rsrc_pg;
-	bool valid;
-};
-
-struct avf_hmc_pd_table {
-	struct avf_dma_mem pd_page_addr; /* populate to be used by hw */
-	struct avf_hmc_pd_entry  *pd_entry; /* [512] for sw book keeping */
-	struct avf_virt_mem pd_entry_virt_mem; /* virt mem for pd_entry */
-
-	u32 ref_cnt;
-	u32 sd_index;
-};
-
-struct avf_hmc_sd_entry {
-	enum avf_sd_entry_type entry_type;
-	bool valid;
-
-	union {
-		struct avf_hmc_pd_table pd_table;
-		struct avf_hmc_bp bp;
-	} u;
-};
-
-struct avf_hmc_sd_table {
-	struct avf_virt_mem addr; /* used to track sd_entry allocations */
-	u32 sd_cnt;
-	u32 ref_cnt;
-	struct avf_hmc_sd_entry *sd_entry; /* (sd_cnt*512) entries max */
-};
-
-struct avf_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 avf_hmc_obj_info *hmc_obj;
-	struct avf_virt_mem hmc_obj_virt_mem;
-	struct avf_hmc_sd_table sd_table;
-};
-
-#define AVF_INC_SD_REFCNT(sd_table)	((sd_table)->ref_cnt++)
-#define AVF_INC_PD_REFCNT(pd_table)	((pd_table)->ref_cnt++)
-#define AVF_INC_BP_REFCNT(bp)		((bp)->ref_cnt++)
-
-#define AVF_DEC_SD_REFCNT(sd_table)	((sd_table)->ref_cnt--)
-#define AVF_DEC_PD_REFCNT(pd_table)	((pd_table)->ref_cnt--)
-#define AVF_DEC_BP_REFCNT(bp)		((bp)->ref_cnt--)
-
-/**
- * AVF_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 AVF_SET_PF_SD_ENTRY(hw, pa, sd_index, type)			\
-{									\
-	u32 val1, val2, val3;						\
-	val1 = (u32)(AVF_HI_DWORD(pa));				\
-	val2 = (u32)(pa) | (AVF_HMC_MAX_BP_COUNT <<			\
-		 AVF_PFHMC_SDDATALOW_PMSDBPCOUNT_SHIFT) |		\
-		((((type) == AVF_SD_TYPE_PAGED) ? 0 : 1) <<		\
-		AVF_PFHMC_SDDATALOW_PMSDTYPE_SHIFT) |			\
-		BIT(AVF_PFHMC_SDDATALOW_PMSDVALID_SHIFT);		\
-	val3 = (sd_index) | BIT_ULL(AVF_PFHMC_SDCMD_PMSDWR_SHIFT);	\
-	wr32((hw), AVF_PFHMC_SDDATAHIGH, val1);			\
-	wr32((hw), AVF_PFHMC_SDDATALOW, val2);				\
-	wr32((hw), AVF_PFHMC_SDCMD, val3);				\
-}
-
-/**
- * AVF_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 AVF_CLEAR_PF_SD_ENTRY(hw, sd_index, type)			\
-{									\
-	u32 val2, val3;							\
-	val2 = (AVF_HMC_MAX_BP_COUNT <<				\
-		AVF_PFHMC_SDDATALOW_PMSDBPCOUNT_SHIFT) |		\
-		((((type) == AVF_SD_TYPE_PAGED) ? 0 : 1) <<		\
-		AVF_PFHMC_SDDATALOW_PMSDTYPE_SHIFT);			\
-	val3 = (sd_index) | BIT_ULL(AVF_PFHMC_SDCMD_PMSDWR_SHIFT);	\
-	wr32((hw), AVF_PFHMC_SDDATAHIGH, 0);				\
-	wr32((hw), AVF_PFHMC_SDDATALOW, val2);				\
-	wr32((hw), AVF_PFHMC_SDCMD, val3);				\
-}
-
-/**
- * AVF_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 AVF_INVALIDATE_PF_HMC_PD(hw, sd_idx, pd_idx)			\
-	wr32((hw), AVF_PFHMC_PDINV,					\
-	    (((sd_idx) << AVF_PFHMC_PDINV_PMSDIDX_SHIFT) |		\
-	     ((pd_idx) << AVF_PFHMC_PDINV_PMPDIDX_SHIFT)))
-
-/**
- * AVF_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 avf_hmc_rsrc_type.
- **/
-#define AVF_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 / AVF_HMC_DIRECT_BP_SIZE);		\
-	*(sd_limit) = (u32)((fpm_limit - 1) / AVF_HMC_DIRECT_BP_SIZE);	\
-	/* add one more to the limit to correct our range */		\
-	*(sd_limit) += 1;						\
-}
-
-/**
- * AVF_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 avf_hmc_rsrc_type.
- **/
-#define AVF_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 / AVF_HMC_PAGED_BP_SIZE);		\
-	*(pd_limit) = (u32)((fpm_limit - 1) / AVF_HMC_PAGED_BP_SIZE);	\
-	/* add one more to the limit to correct our range */		\
-	*(pd_limit) += 1;						\
-}
-enum avf_status_code avf_add_sd_table_entry(struct avf_hw *hw,
-					      struct avf_hmc_info *hmc_info,
-					      u32 sd_index,
-					      enum avf_sd_entry_type type,
-					      u64 direct_mode_sz);
-
-enum avf_status_code avf_add_pd_table_entry(struct avf_hw *hw,
-					      struct avf_hmc_info *hmc_info,
-					      u32 pd_index,
-					      struct avf_dma_mem *rsrc_pg);
-enum avf_status_code avf_remove_pd_bp(struct avf_hw *hw,
-					struct avf_hmc_info *hmc_info,
-					u32 idx);
-enum avf_status_code avf_prep_remove_sd_bp(struct avf_hmc_info *hmc_info,
-					     u32 idx);
-enum avf_status_code avf_remove_sd_bp_new(struct avf_hw *hw,
-					    struct avf_hmc_info *hmc_info,
-					    u32 idx, bool is_pf);
-enum avf_status_code avf_prep_remove_pd_page(struct avf_hmc_info *hmc_info,
-					       u32 idx);
-enum avf_status_code avf_remove_pd_page_new(struct avf_hw *hw,
-					      struct avf_hmc_info *hmc_info,
-					      u32 idx, bool is_pf);
-
-#endif /* _AVF_HMC_H_ */
diff --git a/drivers/net/avf/base/avf_prototype.h b/drivers/net/avf/base/avf_prototype.h
deleted file mode 100644
index de031dc6a..000000000
--- a/drivers/net/avf/base/avf_prototype.h
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#ifndef _AVF_PROTOTYPE_H_
-#define _AVF_PROTOTYPE_H_
-
-#include "avf_type.h"
-#include "avf_alloc.h"
-#include "virtchnl.h"
-
-/* Prototypes for shared code functions that are not in
- * the standard function pointer structures.  These are
- * mostly because they are needed even before the init
- * has happened and will assist in the early SW and FW
- * setup.
- */
-
-/* adminq functions */
-enum avf_status_code avf_init_adminq(struct avf_hw *hw);
-enum avf_status_code avf_shutdown_adminq(struct avf_hw *hw);
-enum avf_status_code avf_init_asq(struct avf_hw *hw);
-enum avf_status_code avf_init_arq(struct avf_hw *hw);
-enum avf_status_code avf_alloc_adminq_asq_ring(struct avf_hw *hw);
-enum avf_status_code avf_alloc_adminq_arq_ring(struct avf_hw *hw);
-enum avf_status_code avf_shutdown_asq(struct avf_hw *hw);
-enum avf_status_code avf_shutdown_arq(struct avf_hw *hw);
-u16 avf_clean_asq(struct avf_hw *hw);
-void avf_free_adminq_asq(struct avf_hw *hw);
-void avf_free_adminq_arq(struct avf_hw *hw);
-enum avf_status_code avf_validate_mac_addr(u8 *mac_addr);
-void avf_adminq_init_ring_data(struct avf_hw *hw);
-enum avf_status_code avf_clean_arq_element(struct avf_hw *hw,
-					     struct avf_arq_event_info *e,
-					     u16 *events_pending);
-enum avf_status_code avf_asq_send_command(struct avf_hw *hw,
-				struct avf_aq_desc *desc,
-				void *buff, /* can be NULL */
-				u16  buff_size,
-				struct avf_asq_cmd_details *cmd_details);
-bool avf_asq_done(struct avf_hw *hw);
-
-/* debug function for adminq */
-void avf_debug_aq(struct avf_hw *hw, enum avf_debug_mask mask,
-		   void *desc, void *buffer, u16 buf_len);
-
-void avf_idle_aq(struct avf_hw *hw);
-bool avf_check_asq_alive(struct avf_hw *hw);
-enum avf_status_code avf_aq_queue_shutdown(struct avf_hw *hw, bool unloading);
-
-enum avf_status_code avf_aq_get_rss_lut(struct avf_hw *hw, u16 seid,
-					  bool pf_lut, u8 *lut, u16 lut_size);
-enum avf_status_code avf_aq_set_rss_lut(struct avf_hw *hw, u16 seid,
-					  bool pf_lut, u8 *lut, u16 lut_size);
-enum avf_status_code avf_aq_get_rss_key(struct avf_hw *hw,
-				     u16 seid,
-				     struct avf_aqc_get_set_rss_key_data *key);
-enum avf_status_code avf_aq_set_rss_key(struct avf_hw *hw,
-				     u16 seid,
-				     struct avf_aqc_get_set_rss_key_data *key);
-const char *avf_aq_str(struct avf_hw *hw, enum avf_admin_queue_err aq_err);
-const char *avf_stat_str(struct avf_hw *hw, enum avf_status_code stat_err);
-
-
-enum avf_status_code avf_set_mac_type(struct avf_hw *hw);
-
-extern struct avf_rx_ptype_decoded avf_ptype_lookup[];
-
-STATIC INLINE struct avf_rx_ptype_decoded decode_rx_desc_ptype(u8 ptype)
-{
-	return avf_ptype_lookup[ptype];
-}
-
-/* prototype for functions used for SW spinlocks */
-void avf_init_spinlock(struct avf_spinlock *sp);
-void avf_acquire_spinlock(struct avf_spinlock *sp);
-void avf_release_spinlock(struct avf_spinlock *sp);
-void avf_destroy_spinlock(struct avf_spinlock *sp);
-
-/* avf_common for VF drivers*/
-void avf_parse_hw_config(struct avf_hw *hw,
-			     struct virtchnl_vf_resource *msg);
-enum avf_status_code avf_reset(struct avf_hw *hw);
-enum avf_status_code avf_aq_send_msg_to_pf(struct avf_hw *hw,
-				enum virtchnl_ops v_opcode,
-				enum avf_status_code v_retval,
-				u8 *msg, u16 msglen,
-				struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_set_filter_control(struct avf_hw *hw,
-				struct avf_filter_control_settings *settings);
-enum avf_status_code avf_aq_add_rem_control_packet_filter(struct avf_hw *hw,
-				u8 *mac_addr, u16 ethtype, u16 flags,
-				u16 vsi_seid, u16 queue, bool is_add,
-				struct avf_control_filter_stats *stats,
-				struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_aq_debug_dump(struct avf_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 avf_asq_cmd_details *cmd_details);
-void avf_add_filter_to_drop_tx_flow_control_frames(struct avf_hw *hw,
-						    u16 vsi_seid);
-enum avf_status_code avf_aq_rx_ctl_read_register(struct avf_hw *hw,
-				u32 reg_addr, u32 *reg_val,
-				struct avf_asq_cmd_details *cmd_details);
-u32 avf_read_rx_ctl(struct avf_hw *hw, u32 reg_addr);
-enum avf_status_code avf_aq_rx_ctl_write_register(struct avf_hw *hw,
-				u32 reg_addr, u32 reg_val,
-				struct avf_asq_cmd_details *cmd_details);
-void avf_write_rx_ctl(struct avf_hw *hw, u32 reg_addr, u32 reg_val);
-enum avf_status_code avf_aq_set_phy_register(struct avf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 reg_val,
-				struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_aq_get_phy_register(struct avf_hw *hw,
-				u8 phy_select, u8 dev_addr,
-				u32 reg_addr, u32 *reg_val,
-				struct avf_asq_cmd_details *cmd_details);
-
-enum avf_status_code avf_aq_set_arp_proxy_config(struct avf_hw *hw,
-			struct avf_aqc_arp_proxy_data *proxy_config,
-			struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_aq_set_ns_proxy_table_entry(struct avf_hw *hw,
-			struct avf_aqc_ns_proxy_data *ns_proxy_table_entry,
-			struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_aq_set_clear_wol_filter(struct avf_hw *hw,
-			u8 filter_index,
-			struct avf_aqc_set_wol_filter_data *filter,
-			bool set_filter, bool no_wol_tco,
-			bool filter_valid, bool no_wol_tco_valid,
-			struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_aq_get_wake_event_reason(struct avf_hw *hw,
-			u16 *wake_reason,
-			struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_aq_clear_all_wol_filters(struct avf_hw *hw,
-			struct avf_asq_cmd_details *cmd_details);
-enum avf_status_code avf_read_phy_register_clause22(struct avf_hw *hw,
-					u16 reg, u8 phy_addr, u16 *value);
-enum avf_status_code avf_write_phy_register_clause22(struct avf_hw *hw,
-					u16 reg, u8 phy_addr, u16 value);
-enum avf_status_code avf_read_phy_register_clause45(struct avf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 *value);
-enum avf_status_code avf_write_phy_register_clause45(struct avf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 value);
-enum avf_status_code avf_read_phy_register(struct avf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 *value);
-enum avf_status_code avf_write_phy_register(struct avf_hw *hw,
-				u8 page, u16 reg, u8 phy_addr, u16 value);
-u8 avf_get_phy_address(struct avf_hw *hw, u8 dev_num);
-enum avf_status_code avf_blink_phy_link_led(struct avf_hw *hw,
-					      u32 time, u32 interval);
-enum avf_status_code avf_aq_write_ddp(struct avf_hw *hw, void *buff,
-					u16 buff_size, u32 track_id,
-					u32 *error_offset, u32 *error_info,
-					struct avf_asq_cmd_details *
-					cmd_details);
-enum avf_status_code avf_aq_get_ddp_list(struct avf_hw *hw, void *buff,
-					   u16 buff_size, u8 flags,
-					   struct avf_asq_cmd_details *
-					   cmd_details);
-struct avf_generic_seg_header *
-avf_find_segment_in_package(u32 segment_type,
-			     struct avf_package_header *pkg_header);
-struct avf_profile_section_header *
-avf_find_section_in_profile(u32 section_type,
-			     struct avf_profile_segment *profile);
-enum avf_status_code
-avf_write_profile(struct avf_hw *hw, struct avf_profile_segment *avf_seg,
-		   u32 track_id);
-enum avf_status_code
-avf_rollback_profile(struct avf_hw *hw, struct avf_profile_segment *avf_seg,
-		      u32 track_id);
-enum avf_status_code
-avf_add_pinfo_to_list(struct avf_hw *hw,
-		       struct avf_profile_segment *profile,
-		       u8 *profile_info_sec, u32 track_id);
-#endif /* _AVF_PROTOTYPE_H_ */
diff --git a/drivers/net/avf/base/avf_register.h b/drivers/net/avf/base/avf_register.h
deleted file mode 100644
index adb989583..000000000
--- a/drivers/net/avf/base/avf_register.h
+++ /dev/null
@@ -1,346 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#ifndef _AVF_REGISTER_H_
-#define _AVF_REGISTER_H_
-
-
-#define AVFMSIX_PBA1(_i)          (0x00002000 + ((_i) * 4)) /* _i=0...19 */ /* Reset: VFLR */
-#define AVFMSIX_PBA1_MAX_INDEX    19
-#define AVFMSIX_PBA1_PENBIT_SHIFT 0
-#define AVFMSIX_PBA1_PENBIT_MASK  AVF_MASK(0xFFFFFFFF, AVFMSIX_PBA1_PENBIT_SHIFT)
-#define AVFMSIX_TADD1(_i)              (0x00002100 + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define AVFMSIX_TADD1_MAX_INDEX        639
-#define AVFMSIX_TADD1_MSIXTADD10_SHIFT 0
-#define AVFMSIX_TADD1_MSIXTADD10_MASK  AVF_MASK(0x3, AVFMSIX_TADD1_MSIXTADD10_SHIFT)
-#define AVFMSIX_TADD1_MSIXTADD_SHIFT   2
-#define AVFMSIX_TADD1_MSIXTADD_MASK    AVF_MASK(0x3FFFFFFF, AVFMSIX_TADD1_MSIXTADD_SHIFT)
-#define AVFMSIX_TMSG1(_i)            (0x00002108 + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define AVFMSIX_TMSG1_MAX_INDEX      639
-#define AVFMSIX_TMSG1_MSIXTMSG_SHIFT 0
-#define AVFMSIX_TMSG1_MSIXTMSG_MASK  AVF_MASK(0xFFFFFFFF, AVFMSIX_TMSG1_MSIXTMSG_SHIFT)
-#define AVFMSIX_TUADD1(_i)             (0x00002104 + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define AVFMSIX_TUADD1_MAX_INDEX       639
-#define AVFMSIX_TUADD1_MSIXTUADD_SHIFT 0
-#define AVFMSIX_TUADD1_MSIXTUADD_MASK  AVF_MASK(0xFFFFFFFF, AVFMSIX_TUADD1_MSIXTUADD_SHIFT)
-#define AVFMSIX_TVCTRL1(_i)        (0x0000210C + ((_i) * 16)) /* _i=0...639 */ /* Reset: VFLR */
-#define AVFMSIX_TVCTRL1_MAX_INDEX  639
-#define AVFMSIX_TVCTRL1_MASK_SHIFT 0
-#define AVFMSIX_TVCTRL1_MASK_MASK  AVF_MASK(0x1, AVFMSIX_TVCTRL1_MASK_SHIFT)
-#define AVF_ARQBAH1              0x00006000 /* Reset: EMPR */
-#define AVF_ARQBAH1_ARQBAH_SHIFT 0
-#define AVF_ARQBAH1_ARQBAH_MASK  AVF_MASK(0xFFFFFFFF, AVF_ARQBAH1_ARQBAH_SHIFT)
-#define AVF_ARQBAL1              0x00006C00 /* Reset: EMPR */
-#define AVF_ARQBAL1_ARQBAL_SHIFT 0
-#define AVF_ARQBAL1_ARQBAL_MASK  AVF_MASK(0xFFFFFFFF, AVF_ARQBAL1_ARQBAL_SHIFT)
-#define AVF_ARQH1            0x00007400 /* Reset: EMPR */
-#define AVF_ARQH1_ARQH_SHIFT 0
-#define AVF_ARQH1_ARQH_MASK  AVF_MASK(0x3FF, AVF_ARQH1_ARQH_SHIFT)
-#define AVF_ARQLEN1                 0x00008000 /* Reset: EMPR */
-#define AVF_ARQLEN1_ARQLEN_SHIFT    0
-#define AVF_ARQLEN1_ARQLEN_MASK     AVF_MASK(0x3FF, AVF_ARQLEN1_ARQLEN_SHIFT)
-#define AVF_ARQLEN1_ARQVFE_SHIFT    28
-#define AVF_ARQLEN1_ARQVFE_MASK     AVF_MASK(0x1, AVF_ARQLEN1_ARQVFE_SHIFT)
-#define AVF_ARQLEN1_ARQOVFL_SHIFT   29
-#define AVF_ARQLEN1_ARQOVFL_MASK    AVF_MASK(0x1, AVF_ARQLEN1_ARQOVFL_SHIFT)
-#define AVF_ARQLEN1_ARQCRIT_SHIFT   30
-#define AVF_ARQLEN1_ARQCRIT_MASK    AVF_MASK(0x1, AVF_ARQLEN1_ARQCRIT_SHIFT)
-#define AVF_ARQLEN1_ARQENABLE_SHIFT 31
-#define AVF_ARQLEN1_ARQENABLE_MASK  AVF_MASK(0x1U, AVF_ARQLEN1_ARQENABLE_SHIFT)
-#define AVF_ARQT1            0x00007000 /* Reset: EMPR */
-#define AVF_ARQT1_ARQT_SHIFT 0
-#define AVF_ARQT1_ARQT_MASK  AVF_MASK(0x3FF, AVF_ARQT1_ARQT_SHIFT)
-#define AVF_ATQBAH1              0x00007800 /* Reset: EMPR */
-#define AVF_ATQBAH1_ATQBAH_SHIFT 0
-#define AVF_ATQBAH1_ATQBAH_MASK  AVF_MASK(0xFFFFFFFF, AVF_ATQBAH1_ATQBAH_SHIFT)
-#define AVF_ATQBAL1              0x00007C00 /* Reset: EMPR */
-#define AVF_ATQBAL1_ATQBAL_SHIFT 0
-#define AVF_ATQBAL1_ATQBAL_MASK  AVF_MASK(0xFFFFFFFF, AVF_ATQBAL1_ATQBAL_SHIFT)
-#define AVF_ATQH1            0x00006400 /* Reset: EMPR */
-#define AVF_ATQH1_ATQH_SHIFT 0
-#define AVF_ATQH1_ATQH_MASK  AVF_MASK(0x3FF, AVF_ATQH1_ATQH_SHIFT)
-#define AVF_ATQLEN1                 0x00006800 /* Reset: EMPR */
-#define AVF_ATQLEN1_ATQLEN_SHIFT    0
-#define AVF_ATQLEN1_ATQLEN_MASK     AVF_MASK(0x3FF, AVF_ATQLEN1_ATQLEN_SHIFT)
-#define AVF_ATQLEN1_ATQVFE_SHIFT    28
-#define AVF_ATQLEN1_ATQVFE_MASK     AVF_MASK(0x1, AVF_ATQLEN1_ATQVFE_SHIFT)
-#define AVF_ATQLEN1_ATQOVFL_SHIFT   29
-#define AVF_ATQLEN1_ATQOVFL_MASK    AVF_MASK(0x1, AVF_ATQLEN1_ATQOVFL_SHIFT)
-#define AVF_ATQLEN1_ATQCRIT_SHIFT   30
-#define AVF_ATQLEN1_ATQCRIT_MASK    AVF_MASK(0x1, AVF_ATQLEN1_ATQCRIT_SHIFT)
-#define AVF_ATQLEN1_ATQENABLE_SHIFT 31
-#define AVF_ATQLEN1_ATQENABLE_MASK  AVF_MASK(0x1U, AVF_ATQLEN1_ATQENABLE_SHIFT)
-#define AVF_ATQT1            0x00008400 /* Reset: EMPR */
-#define AVF_ATQT1_ATQT_SHIFT 0
-#define AVF_ATQT1_ATQT_MASK  AVF_MASK(0x3FF, AVF_ATQT1_ATQT_SHIFT)
-#define AVFGEN_RSTAT                 0x00008800 /* Reset: VFR */
-#define AVFGEN_RSTAT_VFR_STATE_SHIFT 0
-#define AVFGEN_RSTAT_VFR_STATE_MASK  AVF_MASK(0x3, AVFGEN_RSTAT_VFR_STATE_SHIFT)
-#define AVFINT_DYN_CTL01                       0x00005C00 /* Reset: VFR */
-#define AVFINT_DYN_CTL01_INTENA_SHIFT          0
-#define AVFINT_DYN_CTL01_INTENA_MASK           AVF_MASK(0x1, AVFINT_DYN_CTL01_INTENA_SHIFT)
-#define AVFINT_DYN_CTL01_CLEARPBA_SHIFT        1
-#define AVFINT_DYN_CTL01_CLEARPBA_MASK         AVF_MASK(0x1, AVFINT_DYN_CTL01_CLEARPBA_SHIFT)
-#define AVFINT_DYN_CTL01_SWINT_TRIG_SHIFT      2
-#define AVFINT_DYN_CTL01_SWINT_TRIG_MASK       AVF_MASK(0x1, AVFINT_DYN_CTL01_SWINT_TRIG_SHIFT)
-#define AVFINT_DYN_CTL01_ITR_INDX_SHIFT        3
-#define AVFINT_DYN_CTL01_ITR_INDX_MASK         AVF_MASK(0x3, AVFINT_DYN_CTL01_ITR_INDX_SHIFT)
-#define AVFINT_DYN_CTL01_INTERVAL_SHIFT        5
-#define AVFINT_DYN_CTL01_INTERVAL_MASK         AVF_MASK(0xFFF, AVFINT_DYN_CTL01_INTERVAL_SHIFT)
-#define AVFINT_DYN_CTL01_SW_ITR_INDX_ENA_SHIFT 24
-#define AVFINT_DYN_CTL01_SW_ITR_INDX_ENA_MASK  AVF_MASK(0x1, AVFINT_DYN_CTL01_SW_ITR_INDX_ENA_SHIFT)
-#define AVFINT_DYN_CTL01_SW_ITR_INDX_SHIFT     25
-#define AVFINT_DYN_CTL01_SW_ITR_INDX_MASK      AVF_MASK(0x3, AVFINT_DYN_CTL01_SW_ITR_INDX_SHIFT)
-#define AVFINT_DYN_CTL01_INTENA_MSK_SHIFT      31
-#define AVFINT_DYN_CTL01_INTENA_MSK_MASK       AVF_MASK(0x1, AVFINT_DYN_CTL01_INTENA_MSK_SHIFT)
-#define AVFINT_DYN_CTLN1(_INTVF)               (0x00003800 + ((_INTVF) * 4)) /* _i=0...15 */ /* Reset: VFR */
-#define AVFINT_DYN_CTLN1_MAX_INDEX             15
-#define AVFINT_DYN_CTLN1_INTENA_SHIFT          0
-#define AVFINT_DYN_CTLN1_INTENA_MASK           AVF_MASK(0x1, AVFINT_DYN_CTLN1_INTENA_SHIFT)
-#define AVFINT_DYN_CTLN1_CLEARPBA_SHIFT        1
-#define AVFINT_DYN_CTLN1_CLEARPBA_MASK         AVF_MASK(0x1, AVFINT_DYN_CTLN1_CLEARPBA_SHIFT)
-#define AVFINT_DYN_CTLN1_SWINT_TRIG_SHIFT      2
-#define AVFINT_DYN_CTLN1_SWINT_TRIG_MASK       AVF_MASK(0x1, AVFINT_DYN_CTLN1_SWINT_TRIG_SHIFT)
-#define AVFINT_DYN_CTLN1_ITR_INDX_SHIFT        3
-#define AVFINT_DYN_CTLN1_ITR_INDX_MASK         AVF_MASK(0x3, AVFINT_DYN_CTLN1_ITR_INDX_SHIFT)
-#define AVFINT_DYN_CTLN1_INTERVAL_SHIFT        5
-#define AVFINT_DYN_CTLN1_INTERVAL_MASK         AVF_MASK(0xFFF, AVFINT_DYN_CTLN1_INTERVAL_SHIFT)
-#define AVFINT_DYN_CTLN1_SW_ITR_INDX_ENA_SHIFT 24
-#define AVFINT_DYN_CTLN1_SW_ITR_INDX_ENA_MASK  AVF_MASK(0x1, AVFINT_DYN_CTLN1_SW_ITR_INDX_ENA_SHIFT)
-#define AVFINT_DYN_CTLN1_SW_ITR_INDX_SHIFT     25
-#define AVFINT_DYN_CTLN1_SW_ITR_INDX_MASK      AVF_MASK(0x3, AVFINT_DYN_CTLN1_SW_ITR_INDX_SHIFT)
-#define AVFINT_DYN_CTLN1_INTENA_MSK_SHIFT      31
-#define AVFINT_DYN_CTLN1_INTENA_MSK_MASK       AVF_MASK(0x1, AVFINT_DYN_CTLN1_INTENA_MSK_SHIFT)
-#define AVFINT_ICR0_ENA1                        0x00005000 /* Reset: CORER */
-#define AVFINT_ICR0_ENA1_LINK_STAT_CHANGE_SHIFT 25
-#define AVFINT_ICR0_ENA1_LINK_STAT_CHANGE_MASK  AVF_MASK(0x1, AVFINT_ICR0_ENA1_LINK_STAT_CHANGE_SHIFT)
-#define AVFINT_ICR0_ENA1_ADMINQ_SHIFT           30
-#define AVFINT_ICR0_ENA1_ADMINQ_MASK            AVF_MASK(0x1, AVFINT_ICR0_ENA1_ADMINQ_SHIFT)
-#define AVFINT_ICR0_ENA1_RSVD_SHIFT             31
-#define AVFINT_ICR0_ENA1_RSVD_MASK              AVF_MASK(0x1, AVFINT_ICR0_ENA1_RSVD_SHIFT)
-#define AVFINT_ICR01                        0x00004800 /* Reset: CORER */
-#define AVFINT_ICR01_INTEVENT_SHIFT         0
-#define AVFINT_ICR01_INTEVENT_MASK          AVF_MASK(0x1, AVFINT_ICR01_INTEVENT_SHIFT)
-#define AVFINT_ICR01_QUEUE_0_SHIFT          1
-#define AVFINT_ICR01_QUEUE_0_MASK           AVF_MASK(0x1, AVFINT_ICR01_QUEUE_0_SHIFT)
-#define AVFINT_ICR01_QUEUE_1_SHIFT          2
-#define AVFINT_ICR01_QUEUE_1_MASK           AVF_MASK(0x1, AVFINT_ICR01_QUEUE_1_SHIFT)
-#define AVFINT_ICR01_QUEUE_2_SHIFT          3
-#define AVFINT_ICR01_QUEUE_2_MASK           AVF_MASK(0x1, AVFINT_ICR01_QUEUE_2_SHIFT)
-#define AVFINT_ICR01_QUEUE_3_SHIFT          4
-#define AVFINT_ICR01_QUEUE_3_MASK           AVF_MASK(0x1, AVFINT_ICR01_QUEUE_3_SHIFT)
-#define AVFINT_ICR01_LINK_STAT_CHANGE_SHIFT 25
-#define AVFINT_ICR01_LINK_STAT_CHANGE_MASK  AVF_MASK(0x1, AVFINT_ICR01_LINK_STAT_CHANGE_SHIFT)
-#define AVFINT_ICR01_ADMINQ_SHIFT           30
-#define AVFINT_ICR01_ADMINQ_MASK            AVF_MASK(0x1, AVFINT_ICR01_ADMINQ_SHIFT)
-#define AVFINT_ICR01_SWINT_SHIFT            31
-#define AVFINT_ICR01_SWINT_MASK             AVF_MASK(0x1, AVFINT_ICR01_SWINT_SHIFT)
-#define AVFINT_ITR01(_i)            (0x00004C00 + ((_i) * 4)) /* _i=0...2 */ /* Reset: VFR */
-#define AVFINT_ITR01_MAX_INDEX      2
-#define AVFINT_ITR01_INTERVAL_SHIFT 0
-#define AVFINT_ITR01_INTERVAL_MASK  AVF_MASK(0xFFF, AVFINT_ITR01_INTERVAL_SHIFT)
-#define AVFINT_ITRN1(_i, _INTVF)     (0x00002800 + ((_i) * 64 + (_INTVF) * 4)) /* _i=0...2, _INTVF=0...15 */ /* Reset: VFR */
-#define AVFINT_ITRN1_MAX_INDEX      2
-#define AVFINT_ITRN1_INTERVAL_SHIFT 0
-#define AVFINT_ITRN1_INTERVAL_MASK  AVF_MASK(0xFFF, AVFINT_ITRN1_INTERVAL_SHIFT)
-#define AVFINT_STAT_CTL01                      0x00005400 /* Reset: CORER */
-#define AVFINT_STAT_CTL01_OTHER_ITR_INDX_SHIFT 2
-#define AVFINT_STAT_CTL01_OTHER_ITR_INDX_MASK  AVF_MASK(0x3, AVFINT_STAT_CTL01_OTHER_ITR_INDX_SHIFT)
-#define AVF_QRX_TAIL1(_Q)        (0x00002000 + ((_Q) * 4)) /* _i=0...15 */ /* Reset: CORER */
-#define AVF_QRX_TAIL1_MAX_INDEX  15
-#define AVF_QRX_TAIL1_TAIL_SHIFT 0
-#define AVF_QRX_TAIL1_TAIL_MASK  AVF_MASK(0x1FFF, AVF_QRX_TAIL1_TAIL_SHIFT)
-#define AVF_QTX_TAIL1(_Q)        (0x00000000 + ((_Q) * 4)) /* _i=0...15 */ /* Reset: PFR */
-#define AVF_QTX_TAIL1_MAX_INDEX  15
-#define AVF_QTX_TAIL1_TAIL_SHIFT 0
-#define AVF_QTX_TAIL1_TAIL_MASK  AVF_MASK(0x1FFF, AVF_QTX_TAIL1_TAIL_SHIFT)
-#define AVFMSIX_PBA              0x00002000 /* Reset: VFLR */
-#define AVFMSIX_PBA_PENBIT_SHIFT 0
-#define AVFMSIX_PBA_PENBIT_MASK  AVF_MASK(0xFFFFFFFF, AVFMSIX_PBA_PENBIT_SHIFT)
-#define AVFMSIX_TADD(_i)              (0x00000000 + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define AVFMSIX_TADD_MAX_INDEX        16
-#define AVFMSIX_TADD_MSIXTADD10_SHIFT 0
-#define AVFMSIX_TADD_MSIXTADD10_MASK  AVF_MASK(0x3, AVFMSIX_TADD_MSIXTADD10_SHIFT)
-#define AVFMSIX_TADD_MSIXTADD_SHIFT   2
-#define AVFMSIX_TADD_MSIXTADD_MASK    AVF_MASK(0x3FFFFFFF, AVFMSIX_TADD_MSIXTADD_SHIFT)
-#define AVFMSIX_TMSG(_i)            (0x00000008 + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define AVFMSIX_TMSG_MAX_INDEX      16
-#define AVFMSIX_TMSG_MSIXTMSG_SHIFT 0
-#define AVFMSIX_TMSG_MSIXTMSG_MASK  AVF_MASK(0xFFFFFFFF, AVFMSIX_TMSG_MSIXTMSG_SHIFT)
-#define AVFMSIX_TUADD(_i)             (0x00000004 + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define AVFMSIX_TUADD_MAX_INDEX       16
-#define AVFMSIX_TUADD_MSIXTUADD_SHIFT 0
-#define AVFMSIX_TUADD_MSIXTUADD_MASK  AVF_MASK(0xFFFFFFFF, AVFMSIX_TUADD_MSIXTUADD_SHIFT)
-#define AVFMSIX_TVCTRL(_i)        (0x0000000C + ((_i) * 16)) /* _i=0...16 */ /* Reset: VFLR */
-#define AVFMSIX_TVCTRL_MAX_INDEX  16
-#define AVFMSIX_TVCTRL_MASK_SHIFT 0
-#define AVFMSIX_TVCTRL_MASK_MASK  AVF_MASK(0x1, AVFMSIX_TVCTRL_MASK_SHIFT)
-#define AVFCM_PE_ERRDATA                  0x0000DC00 /* Reset: VFR */
-#define AVFCM_PE_ERRDATA_ERROR_CODE_SHIFT 0
-#define AVFCM_PE_ERRDATA_ERROR_CODE_MASK  AVF_MASK(0xF, AVFCM_PE_ERRDATA_ERROR_CODE_SHIFT)
-#define AVFCM_PE_ERRDATA_Q_TYPE_SHIFT     4
-#define AVFCM_PE_ERRDATA_Q_TYPE_MASK      AVF_MASK(0x7, AVFCM_PE_ERRDATA_Q_TYPE_SHIFT)
-#define AVFCM_PE_ERRDATA_Q_NUM_SHIFT      8
-#define AVFCM_PE_ERRDATA_Q_NUM_MASK       AVF_MASK(0x3FFFF, AVFCM_PE_ERRDATA_Q_NUM_SHIFT)
-#define AVFCM_PE_ERRINFO                     0x0000D800 /* Reset: VFR */
-#define AVFCM_PE_ERRINFO_ERROR_VALID_SHIFT   0
-#define AVFCM_PE_ERRINFO_ERROR_VALID_MASK    AVF_MASK(0x1, AVFCM_PE_ERRINFO_ERROR_VALID_SHIFT)
-#define AVFCM_PE_ERRINFO_ERROR_INST_SHIFT    4
-#define AVFCM_PE_ERRINFO_ERROR_INST_MASK     AVF_MASK(0x7, AVFCM_PE_ERRINFO_ERROR_INST_SHIFT)
-#define AVFCM_PE_ERRINFO_DBL_ERROR_CNT_SHIFT 8
-#define AVFCM_PE_ERRINFO_DBL_ERROR_CNT_MASK  AVF_MASK(0xFF, AVFCM_PE_ERRINFO_DBL_ERROR_CNT_SHIFT)
-#define AVFCM_PE_ERRINFO_RLU_ERROR_CNT_SHIFT 16
-#define AVFCM_PE_ERRINFO_RLU_ERROR_CNT_MASK  AVF_MASK(0xFF, AVFCM_PE_ERRINFO_RLU_ERROR_CNT_SHIFT)
-#define AVFCM_PE_ERRINFO_RLS_ERROR_CNT_SHIFT 24
-#define AVFCM_PE_ERRINFO_RLS_ERROR_CNT_MASK  AVF_MASK(0xFF, AVFCM_PE_ERRINFO_RLS_ERROR_CNT_SHIFT)
-#define AVFQF_HENA(_i)             (0x0000C400 + ((_i) * 4)) /* _i=0...1 */ /* Reset: CORER */
-#define AVFQF_HENA_MAX_INDEX       1
-#define AVFQF_HENA_PTYPE_ENA_SHIFT 0
-#define AVFQF_HENA_PTYPE_ENA_MASK  AVF_MASK(0xFFFFFFFF, AVFQF_HENA_PTYPE_ENA_SHIFT)
-#define AVFQF_HKEY(_i)         (0x0000CC00 + ((_i) * 4)) /* _i=0...12 */ /* Reset: CORER */
-#define AVFQF_HKEY_MAX_INDEX   12
-#define AVFQF_HKEY_KEY_0_SHIFT 0
-#define AVFQF_HKEY_KEY_0_MASK  AVF_MASK(0xFF, AVFQF_HKEY_KEY_0_SHIFT)
-#define AVFQF_HKEY_KEY_1_SHIFT 8
-#define AVFQF_HKEY_KEY_1_MASK  AVF_MASK(0xFF, AVFQF_HKEY_KEY_1_SHIFT)
-#define AVFQF_HKEY_KEY_2_SHIFT 16
-#define AVFQF_HKEY_KEY_2_MASK  AVF_MASK(0xFF, AVFQF_HKEY_KEY_2_SHIFT)
-#define AVFQF_HKEY_KEY_3_SHIFT 24
-#define AVFQF_HKEY_KEY_3_MASK  AVF_MASK(0xFF, AVFQF_HKEY_KEY_3_SHIFT)
-#define AVFQF_HLUT(_i)        (0x0000D000 + ((_i) * 4)) /* _i=0...15 */ /* Reset: CORER */
-#define AVFQF_HLUT_MAX_INDEX  15
-#define AVFQF_HLUT_LUT0_SHIFT 0
-#define AVFQF_HLUT_LUT0_MASK  AVF_MASK(0xF, AVFQF_HLUT_LUT0_SHIFT)
-#define AVFQF_HLUT_LUT1_SHIFT 8
-#define AVFQF_HLUT_LUT1_MASK  AVF_MASK(0xF, AVFQF_HLUT_LUT1_SHIFT)
-#define AVFQF_HLUT_LUT2_SHIFT 16
-#define AVFQF_HLUT_LUT2_MASK  AVF_MASK(0xF, AVFQF_HLUT_LUT2_SHIFT)
-#define AVFQF_HLUT_LUT3_SHIFT 24
-#define AVFQF_HLUT_LUT3_MASK  AVF_MASK(0xF, AVFQF_HLUT_LUT3_SHIFT)
-#define AVFQF_HREGION(_i)                  (0x0000D400 + ((_i) * 4)) /* _i=0...7 */ /* Reset: CORER */
-#define AVFQF_HREGION_MAX_INDEX            7
-#define AVFQF_HREGION_OVERRIDE_ENA_0_SHIFT 0
-#define AVFQF_HREGION_OVERRIDE_ENA_0_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_0_SHIFT)
-#define AVFQF_HREGION_REGION_0_SHIFT       1
-#define AVFQF_HREGION_REGION_0_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_0_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_1_SHIFT 4
-#define AVFQF_HREGION_OVERRIDE_ENA_1_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_1_SHIFT)
-#define AVFQF_HREGION_REGION_1_SHIFT       5
-#define AVFQF_HREGION_REGION_1_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_1_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_2_SHIFT 8
-#define AVFQF_HREGION_OVERRIDE_ENA_2_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_2_SHIFT)
-#define AVFQF_HREGION_REGION_2_SHIFT       9
-#define AVFQF_HREGION_REGION_2_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_2_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_3_SHIFT 12
-#define AVFQF_HREGION_OVERRIDE_ENA_3_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_3_SHIFT)
-#define AVFQF_HREGION_REGION_3_SHIFT       13
-#define AVFQF_HREGION_REGION_3_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_3_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_4_SHIFT 16
-#define AVFQF_HREGION_OVERRIDE_ENA_4_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_4_SHIFT)
-#define AVFQF_HREGION_REGION_4_SHIFT       17
-#define AVFQF_HREGION_REGION_4_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_4_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_5_SHIFT 20
-#define AVFQF_HREGION_OVERRIDE_ENA_5_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_5_SHIFT)
-#define AVFQF_HREGION_REGION_5_SHIFT       21
-#define AVFQF_HREGION_REGION_5_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_5_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_6_SHIFT 24
-#define AVFQF_HREGION_OVERRIDE_ENA_6_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_6_SHIFT)
-#define AVFQF_HREGION_REGION_6_SHIFT       25
-#define AVFQF_HREGION_REGION_6_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_6_SHIFT)
-#define AVFQF_HREGION_OVERRIDE_ENA_7_SHIFT 28
-#define AVFQF_HREGION_OVERRIDE_ENA_7_MASK  AVF_MASK(0x1, AVFQF_HREGION_OVERRIDE_ENA_7_SHIFT)
-#define AVFQF_HREGION_REGION_7_SHIFT       29
-#define AVFQF_HREGION_REGION_7_MASK        AVF_MASK(0x7, AVFQF_HREGION_REGION_7_SHIFT)
-
-#define AVFINT_DYN_CTL01_WB_ON_ITR_SHIFT       30
-#define AVFINT_DYN_CTL01_WB_ON_ITR_MASK        AVF_MASK(0x1, AVFINT_DYN_CTL01_WB_ON_ITR_SHIFT)
-#define AVFINT_DYN_CTLN1_WB_ON_ITR_SHIFT       30
-#define AVFINT_DYN_CTLN1_WB_ON_ITR_MASK        AVF_MASK(0x1, AVFINT_DYN_CTLN1_WB_ON_ITR_SHIFT)
-#define AVFPE_AEQALLOC1               0x0000A400 /* Reset: VFR */
-#define AVFPE_AEQALLOC1_AECOUNT_SHIFT 0
-#define AVFPE_AEQALLOC1_AECOUNT_MASK  AVF_MASK(0xFFFFFFFF, AVFPE_AEQALLOC1_AECOUNT_SHIFT)
-#define AVFPE_CCQPHIGH1                  0x00009800 /* Reset: VFR */
-#define AVFPE_CCQPHIGH1_PECCQPHIGH_SHIFT 0
-#define AVFPE_CCQPHIGH1_PECCQPHIGH_MASK  AVF_MASK(0xFFFFFFFF, AVFPE_CCQPHIGH1_PECCQPHIGH_SHIFT)
-#define AVFPE_CCQPLOW1                 0x0000AC00 /* Reset: VFR */
-#define AVFPE_CCQPLOW1_PECCQPLOW_SHIFT 0
-#define AVFPE_CCQPLOW1_PECCQPLOW_MASK  AVF_MASK(0xFFFFFFFF, AVFPE_CCQPLOW1_PECCQPLOW_SHIFT)
-#define AVFPE_CCQPSTATUS1                   0x0000B800 /* Reset: VFR */
-#define AVFPE_CCQPSTATUS1_CCQP_DONE_SHIFT   0
-#define AVFPE_CCQPSTATUS1_CCQP_DONE_MASK    AVF_MASK(0x1, AVFPE_CCQPSTATUS1_CCQP_DONE_SHIFT)
-#define AVFPE_CCQPSTATUS1_HMC_PROFILE_SHIFT 4
-#define AVFPE_CCQPSTATUS1_HMC_PROFILE_MASK  AVF_MASK(0x7, AVFPE_CCQPSTATUS1_HMC_PROFILE_SHIFT)
-#define AVFPE_CCQPSTATUS1_RDMA_EN_VFS_SHIFT 16
-#define AVFPE_CCQPSTATUS1_RDMA_EN_VFS_MASK  AVF_MASK(0x3F, AVFPE_CCQPSTATUS1_RDMA_EN_VFS_SHIFT)
-#define AVFPE_CCQPSTATUS1_CCQP_ERR_SHIFT    31
-#define AVFPE_CCQPSTATUS1_CCQP_ERR_MASK     AVF_MASK(0x1, AVFPE_CCQPSTATUS1_CCQP_ERR_SHIFT)
-#define AVFPE_CQACK1              0x0000B000 /* Reset: VFR */
-#define AVFPE_CQACK1_PECQID_SHIFT 0
-#define AVFPE_CQACK1_PECQID_MASK  AVF_MASK(0x1FFFF, AVFPE_CQACK1_PECQID_SHIFT)
-#define AVFPE_CQARM1              0x0000B400 /* Reset: VFR */
-#define AVFPE_CQARM1_PECQID_SHIFT 0
-#define AVFPE_CQARM1_PECQID_MASK  AVF_MASK(0x1FFFF, AVFPE_CQARM1_PECQID_SHIFT)
-#define AVFPE_CQPDB1              0x0000BC00 /* Reset: VFR */
-#define AVFPE_CQPDB1_WQHEAD_SHIFT 0
-#define AVFPE_CQPDB1_WQHEAD_MASK  AVF_MASK(0x7FF, AVFPE_CQPDB1_WQHEAD_SHIFT)
-#define AVFPE_CQPERRCODES1                      0x00009C00 /* Reset: VFR */
-#define AVFPE_CQPERRCODES1_CQP_MINOR_CODE_SHIFT 0
-#define AVFPE_CQPERRCODES1_CQP_MINOR_CODE_MASK  AVF_MASK(0xFFFF, AVFPE_CQPERRCODES1_CQP_MINOR_CODE_SHIFT)
-#define AVFPE_CQPERRCODES1_CQP_MAJOR_CODE_SHIFT 16
-#define AVFPE_CQPERRCODES1_CQP_MAJOR_CODE_MASK  AVF_MASK(0xFFFF, AVFPE_CQPERRCODES1_CQP_MAJOR_CODE_SHIFT)
-#define AVFPE_CQPTAIL1                  0x0000A000 /* Reset: VFR */
-#define AVFPE_CQPTAIL1_WQTAIL_SHIFT     0
-#define AVFPE_CQPTAIL1_WQTAIL_MASK      AVF_MASK(0x7FF, AVFPE_CQPTAIL1_WQTAIL_SHIFT)
-#define AVFPE_CQPTAIL1_CQP_OP_ERR_SHIFT 31
-#define AVFPE_CQPTAIL1_CQP_OP_ERR_MASK  AVF_MASK(0x1, AVFPE_CQPTAIL1_CQP_OP_ERR_SHIFT)
-#define AVFPE_IPCONFIG01                        0x00008C00 /* Reset: VFR */
-#define AVFPE_IPCONFIG01_PEIPID_SHIFT           0
-#define AVFPE_IPCONFIG01_PEIPID_MASK            AVF_MASK(0xFFFF, AVFPE_IPCONFIG01_PEIPID_SHIFT)
-#define AVFPE_IPCONFIG01_USEENTIREIDRANGE_SHIFT 16
-#define AVFPE_IPCONFIG01_USEENTIREIDRANGE_MASK  AVF_MASK(0x1, AVFPE_IPCONFIG01_USEENTIREIDRANGE_SHIFT)
-#define AVFPE_MRTEIDXMASK1                       0x00009000 /* Reset: VFR */
-#define AVFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_SHIFT 0
-#define AVFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_MASK  AVF_MASK(0x1F, AVFPE_MRTEIDXMASK1_MRTEIDXMASKBITS_SHIFT)
-#define AVFPE_RCVUNEXPECTEDERROR1                        0x00009400 /* Reset: VFR */
-#define AVFPE_RCVUNEXPECTEDERROR1_TCP_RX_UNEXP_ERR_SHIFT 0
-#define AVFPE_RCVUNEXPECTEDERROR1_TCP_RX_UNEXP_ERR_MASK  AVF_MASK(0xFFFFFF, AVFPE_RCVUNEXPECTEDERROR1_TCP_RX_UNEXP_ERR_SHIFT)
-#define AVFPE_TCPNOWTIMER1               0x0000A800 /* Reset: VFR */
-#define AVFPE_TCPNOWTIMER1_TCP_NOW_SHIFT 0
-#define AVFPE_TCPNOWTIMER1_TCP_NOW_MASK  AVF_MASK(0xFFFFFFFF, AVFPE_TCPNOWTIMER1_TCP_NOW_SHIFT)
-#define AVFPE_WQEALLOC1                      0x0000C000 /* Reset: VFR */
-#define AVFPE_WQEALLOC1_PEQPID_SHIFT         0
-#define AVFPE_WQEALLOC1_PEQPID_MASK          AVF_MASK(0x3FFFF, AVFPE_WQEALLOC1_PEQPID_SHIFT)
-#define AVFPE_WQEALLOC1_WQE_DESC_INDEX_SHIFT 20
-#define AVFPE_WQEALLOC1_WQE_DESC_INDEX_MASK  AVF_MASK(0xFFF, AVFPE_WQEALLOC1_WQE_DESC_INDEX_SHIFT)
-
-#endif /* _AVF_REGISTER_H_ */
diff --git a/drivers/net/avf/base/avf_status.h b/drivers/net/avf/base/avf_status.h
deleted file mode 100644
index e8a673bd1..000000000
--- a/drivers/net/avf/base/avf_status.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#ifndef _AVF_STATUS_H_
-#define _AVF_STATUS_H_
-
-/* Error Codes */
-enum avf_status_code {
-	AVF_SUCCESS				= 0,
-	AVF_ERR_NVM				= -1,
-	AVF_ERR_NVM_CHECKSUM			= -2,
-	AVF_ERR_PHY				= -3,
-	AVF_ERR_CONFIG				= -4,
-	AVF_ERR_PARAM				= -5,
-	AVF_ERR_MAC_TYPE			= -6,
-	AVF_ERR_UNKNOWN_PHY			= -7,
-	AVF_ERR_LINK_SETUP			= -8,
-	AVF_ERR_ADAPTER_STOPPED		= -9,
-	AVF_ERR_INVALID_MAC_ADDR		= -10,
-	AVF_ERR_DEVICE_NOT_SUPPORTED		= -11,
-	AVF_ERR_MASTER_REQUESTS_PENDING	= -12,
-	AVF_ERR_INVALID_LINK_SETTINGS		= -13,
-	AVF_ERR_AUTONEG_NOT_COMPLETE		= -14,
-	AVF_ERR_RESET_FAILED			= -15,
-	AVF_ERR_SWFW_SYNC			= -16,
-	AVF_ERR_NO_AVAILABLE_VSI		= -17,
-	AVF_ERR_NO_MEMORY			= -18,
-	AVF_ERR_BAD_PTR			= -19,
-	AVF_ERR_RING_FULL			= -20,
-	AVF_ERR_INVALID_PD_ID			= -21,
-	AVF_ERR_INVALID_QP_ID			= -22,
-	AVF_ERR_INVALID_CQ_ID			= -23,
-	AVF_ERR_INVALID_CEQ_ID			= -24,
-	AVF_ERR_INVALID_AEQ_ID			= -25,
-	AVF_ERR_INVALID_SIZE			= -26,
-	AVF_ERR_INVALID_ARP_INDEX		= -27,
-	AVF_ERR_INVALID_FPM_FUNC_ID		= -28,
-	AVF_ERR_QP_INVALID_MSG_SIZE		= -29,
-	AVF_ERR_QP_TOOMANY_WRS_POSTED		= -30,
-	AVF_ERR_INVALID_FRAG_COUNT		= -31,
-	AVF_ERR_QUEUE_EMPTY			= -32,
-	AVF_ERR_INVALID_ALIGNMENT		= -33,
-	AVF_ERR_FLUSHED_QUEUE			= -34,
-	AVF_ERR_INVALID_PUSH_PAGE_INDEX	= -35,
-	AVF_ERR_INVALID_IMM_DATA_SIZE		= -36,
-	AVF_ERR_TIMEOUT			= -37,
-	AVF_ERR_OPCODE_MISMATCH		= -38,
-	AVF_ERR_CQP_COMPL_ERROR		= -39,
-	AVF_ERR_INVALID_VF_ID			= -40,
-	AVF_ERR_INVALID_HMCFN_ID		= -41,
-	AVF_ERR_BACKING_PAGE_ERROR		= -42,
-	AVF_ERR_NO_PBLCHUNKS_AVAILABLE		= -43,
-	AVF_ERR_INVALID_PBLE_INDEX		= -44,
-	AVF_ERR_INVALID_SD_INDEX		= -45,
-	AVF_ERR_INVALID_PAGE_DESC_INDEX	= -46,
-	AVF_ERR_INVALID_SD_TYPE		= -47,
-	AVF_ERR_MEMCPY_FAILED			= -48,
-	AVF_ERR_INVALID_HMC_OBJ_INDEX		= -49,
-	AVF_ERR_INVALID_HMC_OBJ_COUNT		= -50,
-	AVF_ERR_INVALID_SRQ_ARM_LIMIT		= -51,
-	AVF_ERR_SRQ_ENABLED			= -52,
-	AVF_ERR_ADMIN_QUEUE_ERROR		= -53,
-	AVF_ERR_ADMIN_QUEUE_TIMEOUT		= -54,
-	AVF_ERR_BUF_TOO_SHORT			= -55,
-	AVF_ERR_ADMIN_QUEUE_FULL		= -56,
-	AVF_ERR_ADMIN_QUEUE_NO_WORK		= -57,
-	AVF_ERR_BAD_IWARP_CQE			= -58,
-	AVF_ERR_NVM_BLANK_MODE			= -59,
-	AVF_ERR_NOT_IMPLEMENTED		= -60,
-	AVF_ERR_PE_DOORBELL_NOT_ENABLED	= -61,
-	AVF_ERR_DIAG_TEST_FAILED		= -62,
-	AVF_ERR_NOT_READY			= -63,
-	AVF_NOT_SUPPORTED			= -64,
-	AVF_ERR_FIRMWARE_API_VERSION		= -65,
-	AVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR	= -66,
-};
-
-#endif /* _AVF_STATUS_H_ */
diff --git a/drivers/net/avf/base/avf_type.h b/drivers/net/avf/base/avf_type.h
deleted file mode 100644
index 546c6d2ae..000000000
--- a/drivers/net/avf/base/avf_type.h
+++ /dev/null
@@ -1,2024 +0,0 @@
-/*******************************************************************************
-
-Copyright (c) 2013 - 2015, Intel Corporation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
-    this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in the
-    documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
-    contributors may be used to endorse or promote products derived from
-    this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************/
-
-#ifndef _AVF_TYPE_H_
-#define _AVF_TYPE_H_
-
-#include "avf_status.h"
-#include "avf_osdep.h"
-#include "avf_register.h"
-#include "avf_adminq.h"
-#include "avf_hmc.h"
-#include "avf_lan_hmc.h"
-#include "avf_devids.h"
-
-#define UNREFERENCED_XPARAMETER
-#define UNREFERENCED_1PARAMETER(_p) (_p);
-#define UNREFERENCED_2PARAMETER(_p, _q) (_p); (_q);
-#define UNREFERENCED_3PARAMETER(_p, _q, _r) (_p); (_q); (_r);
-#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 */
-
-#ifndef AVF_MASK
-/* AVF_MASK is a macro used on 32 bit registers */
-#define AVF_MASK(mask, shift) (mask << shift)
-#endif
-
-#define AVF_MAX_PF			16
-#define AVF_MAX_PF_VSI			64
-#define AVF_MAX_PF_QP			128
-#define AVF_MAX_VSI_QP			16
-#define AVF_MAX_VF_VSI			3
-#define AVF_MAX_CHAINED_RX_BUFFERS	5
-#define AVF_MAX_PF_UDP_OFFLOAD_PORTS	16
-
-/* something less than 1 minute */
-#define AVF_HEARTBEAT_TIMEOUT		(HZ * 50)
-
-/* Max default timeout in ms, */
-#define AVF_MAX_NVM_TIMEOUT		18000
-
-/* Max timeout in ms for the phy to respond */
-#define AVF_MAX_PHY_TIMEOUT		500
-
-/* Check whether address is multicast. */
-#define AVF_IS_MULTICAST(address) (bool)(((u8 *)(address))[0] & ((u8)0x01))
-
-/* Check whether an address is broadcast. */
-#define AVF_IS_BROADCAST(address)	\
-	((((u8 *)(address))[0] == ((u8)0xff)) && \
-	(((u8 *)(address))[1] == ((u8)0xff)))
-
-/* Switch from ms to the 1usec global time (this is the GTIME resolution) */
-#define AVF_MS_TO_GTIME(time)		((time) * 1000)
-
-/* forward declaration */
-struct avf_hw;
-typedef void (*AVF_ADMINQ_CALLBACK)(struct avf_hw *, struct avf_aq_desc *);
-
-#ifndef ETH_ALEN
-#define ETH_ALEN	6
-#endif
-/* Data type manipulation macros. */
-#define AVF_HI_DWORD(x)	((u32)((((x) >> 16) >> 16) & 0xFFFFFFFF))
-#define AVF_LO_DWORD(x)	((u32)((x) & 0xFFFFFFFF))
-
-#define AVF_HI_WORD(x)		((u16)(((x) >> 16) & 0xFFFF))
-#define AVF_LO_WORD(x)		((u16)((x) & 0xFFFF))
-
-#define AVF_HI_BYTE(x)		((u8)(((x) >> 8) & 0xFF))
-#define AVF_LO_BYTE(x)		((u8)((x) & 0xFF))
-
-/* Number of Transmit Descriptors must be a multiple of 8. */
-#define AVF_REQ_TX_DESCRIPTOR_MULTIPLE	8
-/* Number of Receive Descriptors must be a multiple of 32 if
- * the number of descriptors is greater than 32.
- */
-#define AVF_REQ_RX_DESCRIPTOR_MULTIPLE	32
-
-#define AVF_DESC_UNUSED(R)	\
-	((((R)->next_to_clean > (R)->next_to_use) ? 0 : (R)->count) + \
-	(R)->next_to_clean - (R)->next_to_use - 1)
-
-/* bitfields for Tx queue mapping in QTX_CTL */
-#define AVF_QTX_CTL_VF_QUEUE	0x0
-#define AVF_QTX_CTL_VM_QUEUE	0x1
-#define AVF_QTX_CTL_PF_QUEUE	0x2
-
-/* debug masks - set these bits in hw->debug_mask to control output */
-enum avf_debug_mask {
-	AVF_DEBUG_INIT			= 0x00000001,
-	AVF_DEBUG_RELEASE		= 0x00000002,
-
-	AVF_DEBUG_LINK			= 0x00000010,
-	AVF_DEBUG_PHY			= 0x00000020,
-	AVF_DEBUG_HMC			= 0x00000040,
-	AVF_DEBUG_NVM			= 0x00000080,
-	AVF_DEBUG_LAN			= 0x00000100,
-	AVF_DEBUG_FLOW			= 0x00000200,
-	AVF_DEBUG_DCB			= 0x00000400,
-	AVF_DEBUG_DIAG			= 0x00000800,
-	AVF_DEBUG_FD			= 0x00001000,
-	AVF_DEBUG_PACKAGE		= 0x00002000,
-
-	AVF_DEBUG_AQ_MESSAGE		= 0x01000000,
-	AVF_DEBUG_AQ_DESCRIPTOR	= 0x02000000,
-	AVF_DEBUG_AQ_DESC_BUFFER	= 0x04000000,
-	AVF_DEBUG_AQ_COMMAND		= 0x06000000,
-	AVF_DEBUG_AQ			= 0x0F000000,
-
-	AVF_DEBUG_USER			= 0xF0000000,
-
-	AVF_DEBUG_ALL			= 0xFFFFFFFF
-};
-
-/* PCI Bus Info */
-#define AVF_PCI_LINK_STATUS		0xB2
-#define AVF_PCI_LINK_WIDTH		0x3F0
-#define AVF_PCI_LINK_WIDTH_1		0x10
-#define AVF_PCI_LINK_WIDTH_2		0x20
-#define AVF_PCI_LINK_WIDTH_4		0x40
-#define AVF_PCI_LINK_WIDTH_8		0x80
-#define AVF_PCI_LINK_SPEED		0xF
-#define AVF_PCI_LINK_SPEED_2500	0x1
-#define AVF_PCI_LINK_SPEED_5000	0x2
-#define AVF_PCI_LINK_SPEED_8000	0x3
-
-#define AVF_MDIO_CLAUSE22_STCODE_MASK	AVF_MASK(1, \
-						  AVF_GLGEN_MSCA_STCODE_SHIFT)
-#define AVF_MDIO_CLAUSE22_OPCODE_WRITE_MASK	AVF_MASK(1, \
-						  AVF_GLGEN_MSCA_OPCODE_SHIFT)
-#define AVF_MDIO_CLAUSE22_OPCODE_READ_MASK	AVF_MASK(2, \
-						  AVF_GLGEN_MSCA_OPCODE_SHIFT)
-
-#define AVF_MDIO_CLAUSE45_STCODE_MASK	AVF_MASK(0, \
-						  AVF_GLGEN_MSCA_STCODE_SHIFT)
-#define AVF_MDIO_CLAUSE45_OPCODE_ADDRESS_MASK	AVF_MASK(0, \
-						  AVF_GLGEN_MSCA_OPCODE_SHIFT)
-#define AVF_MDIO_CLAUSE45_OPCODE_WRITE_MASK	AVF_MASK(1, \
-						  AVF_GLGEN_MSCA_OPCODE_SHIFT)
-#define AVF_MDIO_CLAUSE45_OPCODE_READ_INC_ADDR_MASK	AVF_MASK(2, \
-						  AVF_GLGEN_MSCA_OPCODE_SHIFT)
-#define AVF_MDIO_CLAUSE45_OPCODE_READ_MASK	AVF_MASK(3, \
-						  AVF_GLGEN_MSCA_OPCODE_SHIFT)
-
-#define AVF_PHY_COM_REG_PAGE			0x1E
-#define AVF_PHY_LED_LINK_MODE_MASK		0xF0
-#define AVF_PHY_LED_MANUAL_ON			0x100
-#define AVF_PHY_LED_PROV_REG_1			0xC430
-#define AVF_PHY_LED_MODE_MASK			0xFFFF
-#define AVF_PHY_LED_MODE_ORIG			0x80000000
-
-/* Memory types */
-enum avf_memset_type {
-	AVF_NONDMA_MEM = 0,
-	AVF_DMA_MEM
-};
-
-/* Memcpy types */
-enum avf_memcpy_type {
-	AVF_NONDMA_TO_NONDMA = 0,
-	AVF_NONDMA_TO_DMA,
-	AVF_DMA_TO_DMA,
-	AVF_DMA_TO_NONDMA
-};
-
-/* These are structs for managing the hardware information and the operations.
- * The structures of function pointers are filled out at init time when we
- * know for sure exactly which hardware we're working with.  This gives us the
- * flexibility of using the same main driver code but adapting to slightly
- * different hardware needs as new parts are developed.  For this architecture,
- * the Firmware and AdminQ are intended to insulate the driver from most of the
- * future changes, but these structures will also do part of the job.
- */
-enum avf_mac_type {
-	AVF_MAC_UNKNOWN = 0,
-	AVF_MAC_XL710,
-	AVF_MAC_VF,
-	AVF_MAC_X722,
-	AVF_MAC_X722_VF,
-	AVF_MAC_GENERIC,
-};
-
-enum avf_media_type {
-	AVF_MEDIA_TYPE_UNKNOWN = 0,
-	AVF_MEDIA_TYPE_FIBER,
-	AVF_MEDIA_TYPE_BASET,
-	AVF_MEDIA_TYPE_BACKPLANE,
-	AVF_MEDIA_TYPE_CX4,
-	AVF_MEDIA_TYPE_DA,
-	AVF_MEDIA_TYPE_VIRTUAL
-};
-
-enum avf_fc_mode {
-	AVF_FC_NONE = 0,
-	AVF_FC_RX_PAUSE,
-	AVF_FC_TX_PAUSE,
-	AVF_FC_FULL,
-	AVF_FC_PFC,
-	AVF_FC_DEFAULT
-};
-
-enum avf_set_fc_aq_failures {
-	AVF_SET_FC_AQ_FAIL_NONE = 0,
-	AVF_SET_FC_AQ_FAIL_GET = 1,
-	AVF_SET_FC_AQ_FAIL_SET = 2,
-	AVF_SET_FC_AQ_FAIL_UPDATE = 4,
-	AVF_SET_FC_AQ_FAIL_SET_UPDATE = 6
-};
-
-enum avf_vsi_type {
-	AVF_VSI_MAIN	= 0,
-	AVF_VSI_VMDQ1	= 1,
-	AVF_VSI_VMDQ2	= 2,
-	AVF_VSI_CTRL	= 3,
-	AVF_VSI_FCOE	= 4,
-	AVF_VSI_MIRROR	= 5,
-	AVF_VSI_SRIOV	= 6,
-	AVF_VSI_FDIR	= 7,
-	AVF_VSI_TYPE_UNKNOWN
-};
-
-enum avf_queue_type {
-	AVF_QUEUE_TYPE_RX = 0,
-	AVF_QUEUE_TYPE_TX,
-	AVF_QUEUE_TYPE_PE_CEQ,
-	AVF_QUEUE_TYPE_UNKNOWN
-};
-
-struct avf_link_status {
-	enum avf_aq_phy_type phy_type;
-	enum avf_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 AVF_MODULE_TYPE_SFP		0x03
-#define AVF_MODULE_TYPE_QSFP		0x0D
-	/* 2nd byte: ethernet compliance codes for 10/40G */
-#define AVF_MODULE_TYPE_40G_ACTIVE	0x01
-#define AVF_MODULE_TYPE_40G_LR4	0x02
-#define AVF_MODULE_TYPE_40G_SR4	0x04
-#define AVF_MODULE_TYPE_40G_CR4	0x08
-#define AVF_MODULE_TYPE_10G_BASE_SR	0x10
-#define AVF_MODULE_TYPE_10G_BASE_LR	0x20
-#define AVF_MODULE_TYPE_10G_BASE_LRM	0x40
-#define AVF_MODULE_TYPE_10G_BASE_ER	0x80
-	/* 3rd byte: ethernet compliance codes for 1G */
-#define AVF_MODULE_TYPE_1000BASE_SX	0x01
-#define AVF_MODULE_TYPE_1000BASE_LX	0x02
-#define AVF_MODULE_TYPE_1000BASE_CX	0x04
-#define AVF_MODULE_TYPE_1000BASE_T	0x08
-};
-
-struct avf_phy_info {
-	struct avf_link_status link_info;
-	struct avf_link_status link_info_old;
-	bool get_link_info;
-	enum avf_media_type media_type;
-	/* all the phy types the NVM is capable of */
-	u64 phy_types;
-};
-
-#define AVF_CAP_PHY_TYPE_SGMII BIT_ULL(AVF_PHY_TYPE_SGMII)
-#define AVF_CAP_PHY_TYPE_1000BASE_KX BIT_ULL(AVF_PHY_TYPE_1000BASE_KX)
-#define AVF_CAP_PHY_TYPE_10GBASE_KX4 BIT_ULL(AVF_PHY_TYPE_10GBASE_KX4)
-#define AVF_CAP_PHY_TYPE_10GBASE_KR BIT_ULL(AVF_PHY_TYPE_10GBASE_KR)
-#define AVF_CAP_PHY_TYPE_40GBASE_KR4 BIT_ULL(AVF_PHY_TYPE_40GBASE_KR4)
-#define AVF_CAP_PHY_TYPE_XAUI BIT_ULL(AVF_PHY_TYPE_XAUI)
-#define AVF_CAP_PHY_TYPE_XFI BIT_ULL(AVF_PHY_TYPE_XFI)
-#define AVF_CAP_PHY_TYPE_SFI BIT_ULL(AVF_PHY_TYPE_SFI)
-#define AVF_CAP_PHY_TYPE_XLAUI BIT_ULL(AVF_PHY_TYPE_XLAUI)
-#define AVF_CAP_PHY_TYPE_XLPPI BIT_ULL(AVF_PHY_TYPE_XLPPI)
-#define AVF_CAP_PHY_TYPE_40GBASE_CR4_CU BIT_ULL(AVF_PHY_TYPE_40GBASE_CR4_CU)
-#define AVF_CAP_PHY_TYPE_10GBASE_CR1_CU BIT_ULL(AVF_PHY_TYPE_10GBASE_CR1_CU)
-#define AVF_CAP_PHY_TYPE_10GBASE_AOC BIT_ULL(AVF_PHY_TYPE_10GBASE_AOC)
-#define AVF_CAP_PHY_TYPE_40GBASE_AOC BIT_ULL(AVF_PHY_TYPE_40GBASE_AOC)
-#define AVF_CAP_PHY_TYPE_100BASE_TX BIT_ULL(AVF_PHY_TYPE_100BASE_TX)
-#define AVF_CAP_PHY_TYPE_1000BASE_T BIT_ULL(AVF_PHY_TYPE_1000BASE_T)
-#define AVF_CAP_PHY_TYPE_10GBASE_T BIT_ULL(AVF_PHY_TYPE_10GBASE_T)
-#define AVF_CAP_PHY_TYPE_10GBASE_SR BIT_ULL(AVF_PHY_TYPE_10GBASE_SR)
-#define AVF_CAP_PHY_TYPE_10GBASE_LR BIT_ULL(AVF_PHY_TYPE_10GBASE_LR)
-#define AVF_CAP_PHY_TYPE_10GBASE_SFPP_CU BIT_ULL(AVF_PHY_TYPE_10GBASE_SFPP_CU)
-#define AVF_CAP_PHY_TYPE_10GBASE_CR1 BIT_ULL(AVF_PHY_TYPE_10GBASE_CR1)
-#define AVF_CAP_PHY_TYPE_40GBASE_CR4 BIT_ULL(AVF_PHY_TYPE_40GBASE_CR4)
-#define AVF_CAP_PHY_TYPE_40GBASE_SR4 BIT_ULL(AVF_PHY_TYPE_40GBASE_SR4)
-#define AVF_CAP_PHY_TYPE_40GBASE_LR4 BIT_ULL(AVF_PHY_TYPE_40GBASE_LR4)
-#define AVF_CAP_PHY_TYPE_1000BASE_SX BIT_ULL(AVF_PHY_TYPE_1000BASE_SX)
-#define AVF_CAP_PHY_TYPE_1000BASE_LX BIT_ULL(AVF_PHY_TYPE_1000BASE_LX)
-#define AVF_CAP_PHY_TYPE_1000BASE_T_OPTICAL \
-				BIT_ULL(AVF_PHY_TYPE_1000BASE_T_OPTICAL)
-#define AVF_CAP_PHY_TYPE_20GBASE_KR2 BIT_ULL(AVF_PHY_TYPE_20GBASE_KR2)
-/*
- * Defining the macro AVF_TYPE_OFFSET to implement a bit shift for some
- * PHY types. There is an unused bit (31) in the AVF_CAP_PHY_TYPE_* bit
- * fields but no corresponding gap in the avf_aq_phy_type enumeration. So,
- * a shift is needed to adjust for this with values larger than 31. The
- * only affected values are AVF_PHY_TYPE_25GBASE_*.
- */
-#define AVF_PHY_TYPE_OFFSET 1
-#define AVF_CAP_PHY_TYPE_25GBASE_KR BIT_ULL(AVF_PHY_TYPE_25GBASE_KR + \
-					     AVF_PHY_TYPE_OFFSET)
-#define AVF_CAP_PHY_TYPE_25GBASE_CR BIT_ULL(AVF_PHY_TYPE_25GBASE_CR + \
-					     AVF_PHY_TYPE_OFFSET)
-#define AVF_CAP_PHY_TYPE_25GBASE_SR BIT_ULL(AVF_PHY_TYPE_25GBASE_SR + \
-					     AVF_PHY_TYPE_OFFSET)
-#define AVF_CAP_PHY_TYPE_25GBASE_LR BIT_ULL(AVF_PHY_TYPE_25GBASE_LR + \
-					     AVF_PHY_TYPE_OFFSET)
-#define AVF_CAP_PHY_TYPE_25GBASE_AOC BIT_ULL(AVF_PHY_TYPE_25GBASE_AOC + \
-					     AVF_PHY_TYPE_OFFSET)
-#define AVF_CAP_PHY_TYPE_25GBASE_ACC BIT_ULL(AVF_PHY_TYPE_25GBASE_ACC + \
-					     AVF_PHY_TYPE_OFFSET)
-#define AVF_HW_CAP_MAX_GPIO			30
-#define AVF_HW_CAP_MDIO_PORT_MODE_MDIO		0
-#define AVF_HW_CAP_MDIO_PORT_MODE_I2C		1
-
-enum avf_acpi_programming_method {
-	AVF_ACPI_PROGRAMMING_METHOD_HW_FVL = 0,
-	AVF_ACPI_PROGRAMMING_METHOD_AQC_FPK = 1
-};
-
-#define AVF_WOL_SUPPORT_MASK			0x1
-#define AVF_ACPI_PROGRAMMING_METHOD_MASK	0x2
-#define AVF_PROXY_SUPPORT_MASK			0x4
-
-/* Capabilities of a PF or a VF or the whole device */
-struct avf_hw_capabilities {
-	u32  switch_mode;
-#define AVF_NVM_IMAGE_TYPE_EVB		0x0
-#define AVF_NVM_IMAGE_TYPE_CLOUD	0x2
-#define AVF_NVM_IMAGE_TYPE_UDP_CLOUD	0x3
-
-	u32  management_mode;
-	u32  mng_protocols_over_mctp;
-#define AVF_MNG_PROTOCOL_PLDM		0x2
-#define AVF_MNG_PROTOCOL_OEM_COMMANDS	0x4
-#define AVF_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 */
-	bool dcb;
-	bool fcoe;
-	bool iscsi; /* Indicates iSCSI enabled */
-	bool flex10_enable;
-	bool flex10_capable;
-	u32  flex10_mode;
-#define AVF_FLEX10_MODE_UNKNOWN	0x0
-#define AVF_FLEX10_MODE_DCC		0x1
-#define AVF_FLEX10_MODE_DCI		0x2
-
-	u32 flex10_status;
-#define AVF_FLEX10_STATUS_DCC_ERROR	0x1
-#define AVF_FLEX10_STATUS_VC_MODE	0x2
-
-	bool sec_rev_disabled;
-	bool update_disabled;
-#define AVF_NVM_MGMT_SEC_REV_DISABLED	0x1
-#define AVF_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[AVF_HW_CAP_MAX_GPIO];
-	bool sdp[AVF_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 avf_acpi_programming_method acpi_prog_method;
-	bool proxy_support;
-};
-
-struct avf_mac_info {
-	enum avf_mac_type type;
-	u8 addr[ETH_ALEN];
-	u8 perm_addr[ETH_ALEN];
-	u8 san_addr[ETH_ALEN];
-	u8 port_addr[ETH_ALEN];
-	u16 max_fcoeq;
-};
-
-enum avf_aq_resources_ids {
-	AVF_NVM_RESOURCE_ID = 1
-};
-
-enum avf_aq_resource_access_type {
-	AVF_RESOURCE_READ = 1,
-	AVF_RESOURCE_WRITE
-};
-
-struct avf_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 */
-};
-
-/* definitions used in NVM update support */
-
-enum avf_nvmupd_cmd {
-	AVF_NVMUPD_INVALID,
-	AVF_NVMUPD_READ_CON,
-	AVF_NVMUPD_READ_SNT,
-	AVF_NVMUPD_READ_LCB,
-	AVF_NVMUPD_READ_SA,
-	AVF_NVMUPD_WRITE_ERA,
-	AVF_NVMUPD_WRITE_CON,
-	AVF_NVMUPD_WRITE_SNT,
-	AVF_NVMUPD_WRITE_LCB,
-	AVF_NVMUPD_WRITE_SA,
-	AVF_NVMUPD_CSUM_CON,
-	AVF_NVMUPD_CSUM_SA,
-	AVF_NVMUPD_CSUM_LCB,
-	AVF_NVMUPD_STATUS,
-	AVF_NVMUPD_EXEC_AQ,
-	AVF_NVMUPD_GET_AQ_RESULT,
-	AVF_NVMUPD_GET_AQ_EVENT,
-};
-
-enum avf_nvmupd_state {
-	AVF_NVMUPD_STATE_INIT,
-	AVF_NVMUPD_STATE_READING,
-	AVF_NVMUPD_STATE_WRITING,
-	AVF_NVMUPD_STATE_INIT_WAIT,
-	AVF_NVMUPD_STATE_WRITE_WAIT,
-	AVF_NVMUPD_STATE_ERROR
-};
-
-/* nvm_access definition and its masks/shifts need to be accessible to
- * application, core driver, and shared code.  Where is the right file?
- */
-#define AVF_NVM_READ	0xB
-#define AVF_NVM_WRITE	0xC
-
-#define AVF_NVM_MOD_PNT_MASK 0xFF
-
-#define AVF_NVM_TRANS_SHIFT			8
-#define AVF_NVM_TRANS_MASK			(0xf << AVF_NVM_TRANS_SHIFT)
-#define AVF_NVM_PRESERVATION_FLAGS_SHIFT	12
-#define AVF_NVM_PRESERVATION_FLAGS_MASK \
-				(0x3 << AVF_NVM_PRESERVATION_FLAGS_SHIFT)
-#define AVF_NVM_PRESERVATION_FLAGS_SELECTED	0x01
-#define AVF_NVM_PRESERVATION_FLAGS_ALL		0x02
-#define AVF_NVM_CON				0x0
-#define AVF_NVM_SNT				0x1
-#define AVF_NVM_LCB				0x2
-#define AVF_NVM_SA				(AVF_NVM_SNT | AVF_NVM_LCB)
-#define AVF_NVM_ERA				0x4
-#define AVF_NVM_CSUM				0x8
-#define AVF_NVM_AQE				0xe
-#define AVF_NVM_EXEC				0xf
-
-#define AVF_NVM_ADAPT_SHIFT	16
-#define AVF_NVM_ADAPT_MASK	(0xffffULL << AVF_NVM_ADAPT_SHIFT)
-
-#define AVF_NVMUPD_MAX_DATA	4096
-#define AVF_NVMUPD_IFACE_TIMEOUT 2 /* seconds */
-
-struct avf_nvm_access {
-	u32 command;
-	u32 config;
-	u32 offset;	/* in bytes */
-	u32 data_size;	/* in bytes */
-	u8 data[1];
-};
-
-/* (Q)SFP module access definitions */
-#define AVF_I2C_EEPROM_DEV_ADDR	0xA0
-#define AVF_I2C_EEPROM_DEV_ADDR2	0xA2
-#define AVF_MODULE_TYPE_ADDR		0x00
-#define AVF_MODULE_REVISION_ADDR	0x01
-#define AVF_MODULE_SFF_8472_COMP	0x5E
-#define AVF_MODULE_SFF_8472_SWAP	0x5C
-#define AVF_MODULE_SFF_ADDR_MODE	0x04
-#define AVF_MODULE_SFF_DIAG_CAPAB	0x40
-#define AVF_MODULE_TYPE_QSFP_PLUS	0x0D
-#define AVF_MODULE_TYPE_QSFP28		0x11
-#define AVF_MODULE_QSFP_MAX_LEN	640
-
-/* PCI bus types */
-enum avf_bus_type {
-	avf_bus_type_unknown = 0,
-	avf_bus_type_pci,
-	avf_bus_type_pcix,
-	avf_bus_type_pci_express,
-	avf_bus_type_reserved
-};
-
-/* PCI bus speeds */
-enum avf_bus_speed {
-	avf_bus_speed_unknown	= 0,
-	avf_bus_speed_33	= 33,
-	avf_bus_speed_66	= 66,
-	avf_bus_speed_100	= 100,
-	avf_bus_speed_120	= 120,
-	avf_bus_speed_133	= 133,
-	avf_bus_speed_2500	= 2500,
-	avf_bus_speed_5000	= 5000,
-	avf_bus_speed_8000	= 8000,
-	avf_bus_speed_reserved
-};
-
-/* PCI bus widths */
-enum avf_bus_width {
-	avf_bus_width_unknown	= 0,
-	avf_bus_width_pcie_x1	= 1,
-	avf_bus_width_pcie_x2	= 2,
-	avf_bus_width_pcie_x4	= 4,
-	avf_bus_width_pcie_x8	= 8,
-	avf_bus_width_32	= 32,
-	avf_bus_width_64	= 64,
-	avf_bus_width_reserved
-};
-
-/* Bus parameters */
-struct avf_bus_info {
-	enum avf_bus_speed speed;
-	enum avf_bus_width width;
-	enum avf_bus_type type;
-
-	u16 func;
-	u16 device;
-	u16 lan_id;
-	u16 bus_id;
-};
-
-/* Flow control (FC) parameters */
-struct avf_fc_info {
-	enum avf_fc_mode current_mode; /* FC mode in effect */
-	enum avf_fc_mode requested_mode; /* FC mode requested by caller */
-};
-
-#define AVF_MAX_TRAFFIC_CLASS		8
-#define AVF_MAX_USER_PRIORITY		8
-#define AVF_DCBX_MAX_APPS		32
-#define AVF_LLDPDU_SIZE		1500
-#define AVF_TLV_STATUS_OPER		0x1
-#define AVF_TLV_STATUS_SYNC		0x2
-#define AVF_TLV_STATUS_ERR		0x4
-#define AVF_CEE_OPER_MAX_APPS		3
-#define AVF_APP_PROTOID_FCOE		0x8906
-#define AVF_APP_PROTOID_ISCSI		0x0cbc
-#define AVF_APP_PROTOID_FIP		0x8914
-#define AVF_APP_SEL_ETHTYPE		0x1
-#define AVF_APP_SEL_TCPIP		0x2
-#define AVF_CEE_APP_SEL_ETHTYPE	0x0
-#define AVF_CEE_APP_SEL_TCPIP		0x1
-
-/* CEE or IEEE 802.1Qaz ETS Configuration data */
-struct avf_dcb_ets_config {
-	u8 willing;
-	u8 cbs;
-	u8 maxtcs;
-	u8 prioritytable[AVF_MAX_TRAFFIC_CLASS];
-	u8 tcbwtable[AVF_MAX_TRAFFIC_CLASS];
-	u8 tsatable[AVF_MAX_TRAFFIC_CLASS];
-};
-
-/* CEE or IEEE 802.1Qaz PFC Configuration data */
-struct avf_dcb_pfc_config {
-	u8 willing;
-	u8 mbc;
-	u8 pfccap;
-	u8 pfcenable;
-};
-
-/* CEE or IEEE 802.1Qaz Application Priority data */
-struct avf_dcb_app_priority_table {
-	u8  priority;
-	u8  selector;
-	u16 protocolid;
-};
-
-struct avf_dcbx_config {
-	u8  dcbx_mode;
-#define AVF_DCBX_MODE_CEE	0x1
-#define AVF_DCBX_MODE_IEEE	0x2
-	u8  app_mode;
-#define AVF_DCBX_APPS_NON_WILLING	0x1
-	u32 numapps;
-	u32 tlv_status; /* CEE mode TLV status */
-	struct avf_dcb_ets_config etscfg;
-	struct avf_dcb_ets_config etsrec;
-	struct avf_dcb_pfc_config pfc;
-	struct avf_dcb_app_priority_table app[AVF_DCBX_MAX_APPS];
-};
-
-/* Port hardware description */
-struct avf_hw {
-	u8 *hw_addr;
-	void *back;
-
-	/* subsystem structs */
-	struct avf_phy_info phy;
-	struct avf_mac_info mac;
-	struct avf_bus_info bus;
-	struct avf_nvm_info nvm;
-	struct avf_fc_info fc;
-
-	/* pci info */
-	u16 device_id;
-	u16 vendor_id;
-	u16 subsystem_device_id;
-	u16 subsystem_vendor_id;
-	u8 revision_id;
-	u8 port;
-	bool adapter_stopped;
-
-	/* capabilities for entire device and PCI func */
-	struct avf_hw_capabilities dev_caps;
-	struct avf_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 avf_adminq_info aq;
-
-	/* state of nvm update process */
-	enum avf_nvmupd_state nvmupd_state;
-	struct avf_aq_desc nvm_wb_desc;
-	struct avf_aq_desc nvm_aq_event_desc;
-	struct avf_virt_mem nvm_buff;
-	bool nvm_release_on_done;
-	u16 nvm_wait_opcode;
-
-	/* HMC info */
-	struct avf_hmc_info hmc; /* HMC info struct */
-
-	/* LLDP/DCBX Status */
-	u16 dcbx_status;
-
-	/* DCBX info */
-	struct avf_dcbx_config local_dcbx_config; /* Oper/Local Cfg */
-	struct avf_dcbx_config remote_dcbx_config; /* Peer Cfg */
-	struct avf_dcbx_config desired_dcbx_config; /* CEE Desired Cfg */
-
-	/* WoL and proxy support */
-	u16 num_wol_proxy_filters;
-	u16 wol_proxy_vsi_seid;
-
-#define AVF_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE BIT_ULL(0)
-#define AVF_HW_FLAG_802_1AD_CAPABLE        BIT_ULL(1)
-#define AVF_HW_FLAG_AQ_PHY_ACCESS_CAPABLE  BIT_ULL(2)
-#define AVF_HW_FLAG_NVM_READ_REQUIRES_LOCK BIT_ULL(3)
-	u64 flags;
-
-	/* Used in set switch config AQ command */
-	u16 switch_tag;
-	u16 first_tag;
-	u16 second_tag;
-
-	/* debug mask */
-	u32 debug_mask;
-	char err_str[16];
-};
-
-STATIC INLINE bool avf_is_vf(struct avf_hw *hw)
-{
-	return (hw->mac.type == AVF_MAC_VF ||
-		hw->mac.type == AVF_MAC_X722_VF);
-}
-
-struct avf_driver_version {
-	u8 major_version;
-	u8 minor_version;
-	u8 build_version;
-	u8 subbuild_version;
-	u8 driver_string[32];
-};
-
-/* RX Descriptors */
-union avf_16byte_rx_desc {
-	struct {
-		__le64 pkt_addr; /* Packet buffer address */
-		__le64 hdr_addr; /* Header buffer address */
-	} read;
-	struct {
-		struct {
-			struct {
-				union {
-					__le16 mirroring_status;
-					__le16 fcoe_ctx_id;
-				} mirr_fcoe;
-				__le16 l2tag1;
-			} lo_dword;
-			union {
-				__le32 rss; /* RSS Hash */
-				__le32 fd_id; /* Flow director filter id */
-				__le32 fcoe_param; /* FCoE DDP Context id */
-			} hi_dword;
-		} qword0;
-		struct {
-			/* ext status/error/pktype/length */
-			__le64 status_error_len;
-		} qword1;
-	} wb;  /* writeback */
-};
-
-union avf_32byte_rx_desc {
-	struct {
-		__le64  pkt_addr; /* Packet buffer address */
-		__le64  hdr_addr; /* Header buffer address */
-			/* bit 0 of hdr_buffer_addr is DD bit */
-		__le64  rsvd1;
-		__le64  rsvd2;
-	} read;
-	struct {
-		struct {
-			struct {
-				union {
-					__le16 mirroring_status;
-					__le16 fcoe_ctx_id;
-				} mirr_fcoe;
-				__le16 l2tag1;
-			} lo_dword;
-			union {
-				__le32 rss; /* RSS Hash */
-				__le32 fcoe_param; /* FCoE DDP Context id */
-				/* Flow director filter id in case of
-				 * Programming status desc WB
-				 */
-				__le32 fd_id;
-			} hi_dword;
-		} qword0;
-		struct {
-			/* status/error/pktype/length */
-			__le64 status_error_len;
-		} qword1;
-		struct {
-			__le16 ext_status; /* extended status */
-			__le16 rsvd;
-			__le16 l2tag2_1;
-			__le16 l2tag2_2;
-		} qword2;
-		struct {
-			union {
-				__le32 flex_bytes_lo;
-				__le32 pe_status;
-			} lo_dword;
-			union {
-				__le32 flex_bytes_hi;
-				__le32 fd_id;
-			} hi_dword;
-		} qword3;
-	} wb;  /* writeback */
-};
-
-#define AVF_RXD_QW0_MIRROR_STATUS_SHIFT	8
-#define AVF_RXD_QW0_MIRROR_STATUS_MASK	(0x3FUL << \
-					 AVF_RXD_QW0_MIRROR_STATUS_SHIFT)
-#define AVF_RXD_QW0_FCOEINDX_SHIFT	0
-#define AVF_RXD_QW0_FCOEINDX_MASK	(0xFFFUL << \
-					 AVF_RXD_QW0_FCOEINDX_SHIFT)
-
-enum avf_rx_desc_status_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_RX_DESC_STATUS_DD_SHIFT		= 0,
-	AVF_RX_DESC_STATUS_EOF_SHIFT		= 1,
-	AVF_RX_DESC_STATUS_L2TAG1P_SHIFT	= 2,
-	AVF_RX_DESC_STATUS_L3L4P_SHIFT		= 3,
-	AVF_RX_DESC_STATUS_CRCP_SHIFT		= 4,
-	AVF_RX_DESC_STATUS_TSYNINDX_SHIFT	= 5, /* 2 BITS */
-	AVF_RX_DESC_STATUS_TSYNVALID_SHIFT	= 7,
-	AVF_RX_DESC_STATUS_EXT_UDP_0_SHIFT	= 8,
-
-	AVF_RX_DESC_STATUS_UMBCAST_SHIFT	= 9, /* 2 BITS */
-	AVF_RX_DESC_STATUS_FLM_SHIFT		= 11,
-	AVF_RX_DESC_STATUS_FLTSTAT_SHIFT	= 12, /* 2 BITS */
-	AVF_RX_DESC_STATUS_LPBK_SHIFT		= 14,
-	AVF_RX_DESC_STATUS_IPV6EXADD_SHIFT	= 15,
-	AVF_RX_DESC_STATUS_RESERVED2_SHIFT	= 16, /* 2 BITS */
-	AVF_RX_DESC_STATUS_INT_UDP_0_SHIFT	= 18,
-	AVF_RX_DESC_STATUS_LAST /* this entry must be last!!! */
-};
-
-#define AVF_RXD_QW1_STATUS_SHIFT	0
-#define AVF_RXD_QW1_STATUS_MASK	((BIT(AVF_RX_DESC_STATUS_LAST) - 1) << \
-					 AVF_RXD_QW1_STATUS_SHIFT)
-
-#define AVF_RXD_QW1_STATUS_TSYNINDX_SHIFT   AVF_RX_DESC_STATUS_TSYNINDX_SHIFT
-#define AVF_RXD_QW1_STATUS_TSYNINDX_MASK	(0x3UL << \
-					     AVF_RXD_QW1_STATUS_TSYNINDX_SHIFT)
-
-#define AVF_RXD_QW1_STATUS_TSYNVALID_SHIFT  AVF_RX_DESC_STATUS_TSYNVALID_SHIFT
-#define AVF_RXD_QW1_STATUS_TSYNVALID_MASK   BIT_ULL(AVF_RXD_QW1_STATUS_TSYNVALID_SHIFT)
-
-#define AVF_RXD_QW1_STATUS_UMBCAST_SHIFT	AVF_RX_DESC_STATUS_UMBCAST
-#define AVF_RXD_QW1_STATUS_UMBCAST_MASK	(0x3UL << \
-					 AVF_RXD_QW1_STATUS_UMBCAST_SHIFT)
-
-enum avf_rx_desc_fltstat_values {
-	AVF_RX_DESC_FLTSTAT_NO_DATA	= 0,
-	AVF_RX_DESC_FLTSTAT_RSV_FD_ID	= 1, /* 16byte desc? FD_ID : RSV */
-	AVF_RX_DESC_FLTSTAT_RSV	= 2,
-	AVF_RX_DESC_FLTSTAT_RSS_HASH	= 3,
-};
-
-#define AVF_RXD_PACKET_TYPE_UNICAST	0
-#define AVF_RXD_PACKET_TYPE_MULTICAST	1
-#define AVF_RXD_PACKET_TYPE_BROADCAST	2
-#define AVF_RXD_PACKET_TYPE_MIRRORED	3
-
-#define AVF_RXD_QW1_ERROR_SHIFT	19
-#define AVF_RXD_QW1_ERROR_MASK		(0xFFUL << AVF_RXD_QW1_ERROR_SHIFT)
-
-enum avf_rx_desc_error_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_RX_DESC_ERROR_RXE_SHIFT		= 0,
-	AVF_RX_DESC_ERROR_RECIPE_SHIFT		= 1,
-	AVF_RX_DESC_ERROR_HBO_SHIFT		= 2,
-	AVF_RX_DESC_ERROR_L3L4E_SHIFT		= 3, /* 3 BITS */
-	AVF_RX_DESC_ERROR_IPE_SHIFT		= 3,
-	AVF_RX_DESC_ERROR_L4E_SHIFT		= 4,
-	AVF_RX_DESC_ERROR_EIPE_SHIFT		= 5,
-	AVF_RX_DESC_ERROR_OVERSIZE_SHIFT	= 6,
-	AVF_RX_DESC_ERROR_PPRS_SHIFT		= 7
-};
-
-enum avf_rx_desc_error_l3l4e_fcoe_masks {
-	AVF_RX_DESC_ERROR_L3L4E_NONE		= 0,
-	AVF_RX_DESC_ERROR_L3L4E_PROT		= 1,
-	AVF_RX_DESC_ERROR_L3L4E_FC		= 2,
-	AVF_RX_DESC_ERROR_L3L4E_DMAC_ERR	= 3,
-	AVF_RX_DESC_ERROR_L3L4E_DMAC_WARN	= 4
-};
-
-#define AVF_RXD_QW1_PTYPE_SHIFT	30
-#define AVF_RXD_QW1_PTYPE_MASK		(0xFFULL << AVF_RXD_QW1_PTYPE_SHIFT)
-
-/* Packet type non-ip values */
-enum avf_rx_l2_ptype {
-	AVF_RX_PTYPE_L2_RESERVED			= 0,
-	AVF_RX_PTYPE_L2_MAC_PAY2			= 1,
-	AVF_RX_PTYPE_L2_TIMESYNC_PAY2			= 2,
-	AVF_RX_PTYPE_L2_FIP_PAY2			= 3,
-	AVF_RX_PTYPE_L2_OUI_PAY2			= 4,
-	AVF_RX_PTYPE_L2_MACCNTRL_PAY2			= 5,
-	AVF_RX_PTYPE_L2_LLDP_PAY2			= 6,
-	AVF_RX_PTYPE_L2_ECP_PAY2			= 7,
-	AVF_RX_PTYPE_L2_EVB_PAY2			= 8,
-	AVF_RX_PTYPE_L2_QCN_PAY2			= 9,
-	AVF_RX_PTYPE_L2_EAPOL_PAY2			= 10,
-	AVF_RX_PTYPE_L2_ARP				= 11,
-	AVF_RX_PTYPE_L2_FCOE_PAY3			= 12,
-	AVF_RX_PTYPE_L2_FCOE_FCDATA_PAY3		= 13,
-	AVF_RX_PTYPE_L2_FCOE_FCRDY_PAY3		= 14,
-	AVF_RX_PTYPE_L2_FCOE_FCRSP_PAY3		= 15,
-	AVF_RX_PTYPE_L2_FCOE_FCOTHER_PA		= 16,
-	AVF_RX_PTYPE_L2_FCOE_VFT_PAY3			= 17,
-	AVF_RX_PTYPE_L2_FCOE_VFT_FCDATA		= 18,
-	AVF_RX_PTYPE_L2_FCOE_VFT_FCRDY			= 19,
-	AVF_RX_PTYPE_L2_FCOE_VFT_FCRSP			= 20,
-	AVF_RX_PTYPE_L2_FCOE_VFT_FCOTHER		= 21,
-	AVF_RX_PTYPE_GRENAT4_MAC_PAY3			= 58,
-	AVF_RX_PTYPE_GRENAT4_MACVLAN_IPV6_ICMP_PAY4	= 87,
-	AVF_RX_PTYPE_GRENAT6_MAC_PAY3			= 124,
-	AVF_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4	= 153
-};
-
-struct avf_rx_ptype_decoded {
-	u32 ptype:8;
-	u32 known:1;
-	u32 outer_ip:1;
-	u32 outer_ip_ver:1;
-	u32 outer_frag:1;
-	u32 tunnel_type:3;
-	u32 tunnel_end_prot:2;
-	u32 tunnel_end_frag:1;
-	u32 inner_prot:4;
-	u32 payload_layer:3;
-};
-
-enum avf_rx_ptype_outer_ip {
-	AVF_RX_PTYPE_OUTER_L2	= 0,
-	AVF_RX_PTYPE_OUTER_IP	= 1
-};
-
-enum avf_rx_ptype_outer_ip_ver {
-	AVF_RX_PTYPE_OUTER_NONE	= 0,
-	AVF_RX_PTYPE_OUTER_IPV4	= 0,
-	AVF_RX_PTYPE_OUTER_IPV6	= 1
-};
-
-enum avf_rx_ptype_outer_fragmented {
-	AVF_RX_PTYPE_NOT_FRAG	= 0,
-	AVF_RX_PTYPE_FRAG	= 1
-};
-
-enum avf_rx_ptype_tunnel_type {
-	AVF_RX_PTYPE_TUNNEL_NONE		= 0,
-	AVF_RX_PTYPE_TUNNEL_IP_IP		= 1,
-	AVF_RX_PTYPE_TUNNEL_IP_GRENAT		= 2,
-	AVF_RX_PTYPE_TUNNEL_IP_GRENAT_MAC	= 3,
-	AVF_RX_PTYPE_TUNNEL_IP_GRENAT_MAC_VLAN	= 4,
-};
-
-enum avf_rx_ptype_tunnel_end_prot {
-	AVF_RX_PTYPE_TUNNEL_END_NONE	= 0,
-	AVF_RX_PTYPE_TUNNEL_END_IPV4	= 1,
-	AVF_RX_PTYPE_TUNNEL_END_IPV6	= 2,
-};
-
-enum avf_rx_ptype_inner_prot {
-	AVF_RX_PTYPE_INNER_PROT_NONE		= 0,
-	AVF_RX_PTYPE_INNER_PROT_UDP		= 1,
-	AVF_RX_PTYPE_INNER_PROT_TCP		= 2,
-	AVF_RX_PTYPE_INNER_PROT_SCTP		= 3,
-	AVF_RX_PTYPE_INNER_PROT_ICMP		= 4,
-	AVF_RX_PTYPE_INNER_PROT_TIMESYNC	= 5
-};
-
-enum avf_rx_ptype_payload_layer {
-	AVF_RX_PTYPE_PAYLOAD_LAYER_NONE	= 0,
-	AVF_RX_PTYPE_PAYLOAD_LAYER_PAY2	= 1,
-	AVF_RX_PTYPE_PAYLOAD_LAYER_PAY3	= 2,
-	AVF_RX_PTYPE_PAYLOAD_LAYER_PAY4	= 3,
-};
-
-#define AVF_RX_PTYPE_BIT_MASK		0x0FFFFFFF
-#define AVF_RX_PTYPE_SHIFT		56
-
-#define AVF_RXD_QW1_LENGTH_PBUF_SHIFT	38
-#define AVF_RXD_QW1_LENGTH_PBUF_MASK	(0x3FFFULL << \
-					 AVF_RXD_QW1_LENGTH_PBUF_SHIFT)
-
-#define AVF_RXD_QW1_LENGTH_HBUF_SHIFT	52
-#define AVF_RXD_QW1_LENGTH_HBUF_MASK	(0x7FFULL << \
-					 AVF_RXD_QW1_LENGTH_HBUF_SHIFT)
-
-#define AVF_RXD_QW1_LENGTH_SPH_SHIFT	63
-#define AVF_RXD_QW1_LENGTH_SPH_MASK	BIT_ULL(AVF_RXD_QW1_LENGTH_SPH_SHIFT)
-
-#define AVF_RXD_QW1_NEXTP_SHIFT	38
-#define AVF_RXD_QW1_NEXTP_MASK		(0x1FFFULL << AVF_RXD_QW1_NEXTP_SHIFT)
-
-#define AVF_RXD_QW2_EXT_STATUS_SHIFT	0
-#define AVF_RXD_QW2_EXT_STATUS_MASK	(0xFFFFFUL << \
-					 AVF_RXD_QW2_EXT_STATUS_SHIFT)
-
-enum avf_rx_desc_ext_status_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_RX_DESC_EXT_STATUS_L2TAG2P_SHIFT	= 0,
-	AVF_RX_DESC_EXT_STATUS_L2TAG3P_SHIFT	= 1,
-	AVF_RX_DESC_EXT_STATUS_FLEXBL_SHIFT	= 2, /* 2 BITS */
-	AVF_RX_DESC_EXT_STATUS_FLEXBH_SHIFT	= 4, /* 2 BITS */
-	AVF_RX_DESC_EXT_STATUS_FDLONGB_SHIFT	= 9,
-	AVF_RX_DESC_EXT_STATUS_FCOELONGB_SHIFT	= 10,
-	AVF_RX_DESC_EXT_STATUS_PELONGB_SHIFT	= 11,
-};
-
-#define AVF_RXD_QW2_L2TAG2_SHIFT	0
-#define AVF_RXD_QW2_L2TAG2_MASK	(0xFFFFUL << AVF_RXD_QW2_L2TAG2_SHIFT)
-
-#define AVF_RXD_QW2_L2TAG3_SHIFT	16
-#define AVF_RXD_QW2_L2TAG3_MASK	(0xFFFFUL << AVF_RXD_QW2_L2TAG3_SHIFT)
-
-enum avf_rx_desc_pe_status_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_RX_DESC_PE_STATUS_QPID_SHIFT	= 0, /* 18 BITS */
-	AVF_RX_DESC_PE_STATUS_L4PORT_SHIFT	= 0, /* 16 BITS */
-	AVF_RX_DESC_PE_STATUS_IPINDEX_SHIFT	= 16, /* 8 BITS */
-	AVF_RX_DESC_PE_STATUS_QPIDHIT_SHIFT	= 24,
-	AVF_RX_DESC_PE_STATUS_APBVTHIT_SHIFT	= 25,
-	AVF_RX_DESC_PE_STATUS_PORTV_SHIFT	= 26,
-	AVF_RX_DESC_PE_STATUS_URG_SHIFT	= 27,
-	AVF_RX_DESC_PE_STATUS_IPFRAG_SHIFT	= 28,
-	AVF_RX_DESC_PE_STATUS_IPOPT_SHIFT	= 29
-};
-
-#define AVF_RX_PROG_STATUS_DESC_LENGTH_SHIFT		38
-#define AVF_RX_PROG_STATUS_DESC_LENGTH			0x2000000
-
-#define AVF_RX_PROG_STATUS_DESC_QW1_PROGID_SHIFT	2
-#define AVF_RX_PROG_STATUS_DESC_QW1_PROGID_MASK	(0x7UL << \
-				AVF_RX_PROG_STATUS_DESC_QW1_PROGID_SHIFT)
-
-#define AVF_RX_PROG_STATUS_DESC_QW1_STATUS_SHIFT	0
-#define AVF_RX_PROG_STATUS_DESC_QW1_STATUS_MASK	(0x7FFFUL << \
-				AVF_RX_PROG_STATUS_DESC_QW1_STATUS_SHIFT)
-
-#define AVF_RX_PROG_STATUS_DESC_QW1_ERROR_SHIFT	19
-#define AVF_RX_PROG_STATUS_DESC_QW1_ERROR_MASK		(0x3FUL << \
-				AVF_RX_PROG_STATUS_DESC_QW1_ERROR_SHIFT)
-
-enum avf_rx_prog_status_desc_status_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_RX_PROG_STATUS_DESC_DD_SHIFT	= 0,
-	AVF_RX_PROG_STATUS_DESC_PROG_ID_SHIFT	= 2 /* 3 BITS */
-};
-
-enum avf_rx_prog_status_desc_prog_id_masks {
-	AVF_RX_PROG_STATUS_DESC_FD_FILTER_STATUS	= 1,
-	AVF_RX_PROG_STATUS_DESC_FCOE_CTXT_PROG_STATUS	= 2,
-	AVF_RX_PROG_STATUS_DESC_FCOE_CTXT_INVL_STATUS	= 4,
-};
-
-enum avf_rx_prog_status_desc_error_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_RX_PROG_STATUS_DESC_FD_TBL_FULL_SHIFT	= 0,
-	AVF_RX_PROG_STATUS_DESC_NO_FD_ENTRY_SHIFT	= 1,
-	AVF_RX_PROG_STATUS_DESC_FCOE_TBL_FULL_SHIFT	= 2,
-	AVF_RX_PROG_STATUS_DESC_FCOE_CONFLICT_SHIFT	= 3
-};
-
-#define AVF_TWO_BIT_MASK	0x3
-#define AVF_THREE_BIT_MASK	0x7
-#define AVF_FOUR_BIT_MASK	0xF
-#define AVF_EIGHTEEN_BIT_MASK	0x3FFFF
-
-/* TX Descriptor */
-struct avf_tx_desc {
-	__le64 buffer_addr; /* Address of descriptor's data buf */
-	__le64 cmd_type_offset_bsz;
-};
-
-#define AVF_TXD_QW1_DTYPE_SHIFT	0
-#define AVF_TXD_QW1_DTYPE_MASK		(0xFUL << AVF_TXD_QW1_DTYPE_SHIFT)
-
-enum avf_tx_desc_dtype_value {
-	AVF_TX_DESC_DTYPE_DATA		= 0x0,
-	AVF_TX_DESC_DTYPE_NOP		= 0x1, /* same as Context desc */
-	AVF_TX_DESC_DTYPE_CONTEXT	= 0x1,
-	AVF_TX_DESC_DTYPE_FCOE_CTX	= 0x2,
-	AVF_TX_DESC_DTYPE_FILTER_PROG	= 0x8,
-	AVF_TX_DESC_DTYPE_DDP_CTX	= 0x9,
-	AVF_TX_DESC_DTYPE_FLEX_DATA	= 0xB,
-	AVF_TX_DESC_DTYPE_FLEX_CTX_1	= 0xC,
-	AVF_TX_DESC_DTYPE_FLEX_CTX_2	= 0xD,
-	AVF_TX_DESC_DTYPE_DESC_DONE	= 0xF
-};
-
-#define AVF_TXD_QW1_CMD_SHIFT	4
-#define AVF_TXD_QW1_CMD_MASK	(0x3FFUL << AVF_TXD_QW1_CMD_SHIFT)
-
-enum avf_tx_desc_cmd_bits {
-	AVF_TX_DESC_CMD_EOP			= 0x0001,
-	AVF_TX_DESC_CMD_RS			= 0x0002,
-	AVF_TX_DESC_CMD_ICRC			= 0x0004,
-	AVF_TX_DESC_CMD_IL2TAG1		= 0x0008,
-	AVF_TX_DESC_CMD_DUMMY			= 0x0010,
-	AVF_TX_DESC_CMD_IIPT_NONIP		= 0x0000, /* 2 BITS */
-	AVF_TX_DESC_CMD_IIPT_IPV6		= 0x0020, /* 2 BITS */
-	AVF_TX_DESC_CMD_IIPT_IPV4		= 0x0040, /* 2 BITS */
-	AVF_TX_DESC_CMD_IIPT_IPV4_CSUM		= 0x0060, /* 2 BITS */
-	AVF_TX_DESC_CMD_FCOET			= 0x0080,
-	AVF_TX_DESC_CMD_L4T_EOFT_UNK		= 0x0000, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_TCP		= 0x0100, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_SCTP		= 0x0200, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_UDP		= 0x0300, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_EOF_N		= 0x0000, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_EOF_T		= 0x0100, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_EOF_NI	= 0x0200, /* 2 BITS */
-	AVF_TX_DESC_CMD_L4T_EOFT_EOF_A		= 0x0300, /* 2 BITS */
-};
-
-#define AVF_TXD_QW1_OFFSET_SHIFT	16
-#define AVF_TXD_QW1_OFFSET_MASK	(0x3FFFFULL << \
-					 AVF_TXD_QW1_OFFSET_SHIFT)
-
-enum avf_tx_desc_length_fields {
-	/* Note: These are predefined bit offsets */
-	AVF_TX_DESC_LENGTH_MACLEN_SHIFT	= 0, /* 7 BITS */
-	AVF_TX_DESC_LENGTH_IPLEN_SHIFT		= 7, /* 7 BITS */
-	AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT	= 14 /* 4 BITS */
-};
-
-#define AVF_TXD_QW1_MACLEN_MASK (0x7FUL << AVF_TX_DESC_LENGTH_MACLEN_SHIFT)
-#define AVF_TXD_QW1_IPLEN_MASK  (0x7FUL << AVF_TX_DESC_LENGTH_IPLEN_SHIFT)
-#define AVF_TXD_QW1_L4LEN_MASK  (0xFUL << AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT)
-#define AVF_TXD_QW1_FCLEN_MASK  (0xFUL << AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT)
-
-#define AVF_TXD_QW1_TX_BUF_SZ_SHIFT	34
-#define AVF_TXD_QW1_TX_BUF_SZ_MASK	(0x3FFFULL << \
-					 AVF_TXD_QW1_TX_BUF_SZ_SHIFT)
-
-#define AVF_TXD_QW1_L2TAG1_SHIFT	48
-#define AVF_TXD_QW1_L2TAG1_MASK	(0xFFFFULL << AVF_TXD_QW1_L2TAG1_SHIFT)
-
-/* Context descriptors */
-struct avf_tx_context_desc {
-	__le32 tunneling_params;
-	__le16 l2tag2;
-	__le16 rsvd;
-	__le64 type_cmd_tso_mss;
-};
-
-#define AVF_TXD_CTX_QW1_DTYPE_SHIFT	0
-#define AVF_TXD_CTX_QW1_DTYPE_MASK	(0xFUL << AVF_TXD_CTX_QW1_DTYPE_SHIFT)
-
-#define AVF_TXD_CTX_QW1_CMD_SHIFT	4
-#define AVF_TXD_CTX_QW1_CMD_MASK	(0xFFFFUL << AVF_TXD_CTX_QW1_CMD_SHIFT)
-
-enum avf_tx_ctx_desc_cmd_bits {
-	AVF_TX_CTX_DESC_TSO		= 0x01,
-	AVF_TX_CTX_DESC_TSYN		= 0x02,
-	AVF_TX_CTX_DESC_IL2TAG2	= 0x04,
-	AVF_TX_CTX_DESC_IL2TAG2_IL2H	= 0x08,
-	AVF_TX_CTX_DESC_SWTCH_NOTAG	= 0x00,
-	AVF_TX_CTX_DESC_SWTCH_UPLINK	= 0x10,
-	AVF_TX_CTX_DESC_SWTCH_LOCAL	= 0x20,
-	AVF_TX_CTX_DESC_SWTCH_VSI	= 0x30,
-	AVF_TX_CTX_DESC_SWPE		= 0x40
-};
-
-#define AVF_TXD_CTX_QW1_TSO_LEN_SHIFT	30
-#define AVF_TXD_CTX_QW1_TSO_LEN_MASK	(0x3FFFFULL << \
-					 AVF_TXD_CTX_QW1_TSO_LEN_SHIFT)
-
-#define AVF_TXD_CTX_QW1_MSS_SHIFT	50
-#define AVF_TXD_CTX_QW1_MSS_MASK	(0x3FFFULL << \
-					 AVF_TXD_CTX_QW1_MSS_SHIFT)
-
-#define AVF_TXD_CTX_QW1_VSI_SHIFT	50
-#define AVF_TXD_CTX_QW1_VSI_MASK	(0x1FFULL << AVF_TXD_CTX_QW1_VSI_SHIFT)
-
-#define AVF_TXD_CTX_QW0_EXT_IP_SHIFT	0
-#define AVF_TXD_CTX_QW0_EXT_IP_MASK	(0x3ULL << \
-					 AVF_TXD_CTX_QW0_EXT_IP_SHIFT)
-
-enum avf_tx_ctx_desc_eipt_offload {
-	AVF_TX_CTX_EXT_IP_NONE		= 0x0,
-	AVF_TX_CTX_EXT_IP_IPV6		= 0x1,
-	AVF_TX_CTX_EXT_IP_IPV4_NO_CSUM	= 0x2,
-	AVF_TX_CTX_EXT_IP_IPV4		= 0x3
-};
-
-#define AVF_TXD_CTX_QW0_EXT_IPLEN_SHIFT	2
-#define AVF_TXD_CTX_QW0_EXT_IPLEN_MASK	(0x3FULL << \
-					 AVF_TXD_CTX_QW0_EXT_IPLEN_SHIFT)
-
-#define AVF_TXD_CTX_QW0_NATT_SHIFT	9
-#define AVF_TXD_CTX_QW0_NATT_MASK	(0x3ULL << AVF_TXD_CTX_QW0_NATT_SHIFT)
-
-#define AVF_TXD_CTX_UDP_TUNNELING	BIT_ULL(AVF_TXD_CTX_QW0_NATT_SHIFT)
-#define AVF_TXD_CTX_GRE_TUNNELING	(0x2ULL << AVF_TXD_CTX_QW0_NATT_SHIFT)
-
-#define AVF_TXD_CTX_QW0_EIP_NOINC_SHIFT	11
-#define AVF_TXD_CTX_QW0_EIP_NOINC_MASK	BIT_ULL(AVF_TXD_CTX_QW0_EIP_NOINC_SHIFT)
-
-#define AVF_TXD_CTX_EIP_NOINC_IPID_CONST	AVF_TXD_CTX_QW0_EIP_NOINC_MASK
-
-#define AVF_TXD_CTX_QW0_NATLEN_SHIFT	12
-#define AVF_TXD_CTX_QW0_NATLEN_MASK	(0X7FULL << \
-					 AVF_TXD_CTX_QW0_NATLEN_SHIFT)
-
-#define AVF_TXD_CTX_QW0_DECTTL_SHIFT	19
-#define AVF_TXD_CTX_QW0_DECTTL_MASK	(0xFULL << \
-					 AVF_TXD_CTX_QW0_DECTTL_SHIFT)
-
-#define AVF_TXD_CTX_QW0_L4T_CS_SHIFT	23
-#define AVF_TXD_CTX_QW0_L4T_CS_MASK	BIT_ULL(AVF_TXD_CTX_QW0_L4T_CS_SHIFT)
-struct avf_nop_desc {
-	__le64 rsvd;
-	__le64 dtype_cmd;
-};
-
-#define AVF_TXD_NOP_QW1_DTYPE_SHIFT	0
-#define AVF_TXD_NOP_QW1_DTYPE_MASK	(0xFUL << AVF_TXD_NOP_QW1_DTYPE_SHIFT)
-
-#define AVF_TXD_NOP_QW1_CMD_SHIFT	4
-#define AVF_TXD_NOP_QW1_CMD_MASK	(0x7FUL << AVF_TXD_NOP_QW1_CMD_SHIFT)
-
-enum avf_tx_nop_desc_cmd_bits {
-	/* Note: These are predefined bit offsets */
-	AVF_TX_NOP_DESC_EOP_SHIFT	= 0,
-	AVF_TX_NOP_DESC_RS_SHIFT	= 1,
-	AVF_TX_NOP_DESC_RSV_SHIFT	= 2 /* 5 bits */
-};
-
-struct avf_filter_program_desc {
-	__le32 qindex_flex_ptype_vsi;
-	__le32 rsvd;
-	__le32 dtype_cmd_cntindex;
-	__le32 fd_id;
-};
-#define AVF_TXD_FLTR_QW0_QINDEX_SHIFT	0
-#define AVF_TXD_FLTR_QW0_QINDEX_MASK	(0x7FFUL << \
-					 AVF_TXD_FLTR_QW0_QINDEX_SHIFT)
-#define AVF_TXD_FLTR_QW0_FLEXOFF_SHIFT	11
-#define AVF_TXD_FLTR_QW0_FLEXOFF_MASK	(0x7UL << \
-					 AVF_TXD_FLTR_QW0_FLEXOFF_SHIFT)
-#define AVF_TXD_FLTR_QW0_PCTYPE_SHIFT	17
-#define AVF_TXD_FLTR_QW0_PCTYPE_MASK	(0x3FUL << \
-					 AVF_TXD_FLTR_QW0_PCTYPE_SHIFT)
-
-/* Packet Classifier Types for filters */
-enum avf_filter_pctype {
-	/* Note: Values 0-28 are reserved for future use.
-	 * Value 29, 30, 32 are not supported on XL710 and X710.
-	 */
-	AVF_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP	= 29,
-	AVF_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP	= 30,
-	AVF_FILTER_PCTYPE_NONF_IPV4_UDP		= 31,
-	AVF_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK	= 32,
-	AVF_FILTER_PCTYPE_NONF_IPV4_TCP		= 33,
-	AVF_FILTER_PCTYPE_NONF_IPV4_SCTP		= 34,
-	AVF_FILTER_PCTYPE_NONF_IPV4_OTHER		= 35,
-	AVF_FILTER_PCTYPE_FRAG_IPV4			= 36,
-	/* Note: Values 37-38 are reserved for future use.
-	 * Value 39, 40, 42 are not supported on XL710 and X710.
-	 */
-	AVF_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP	= 39,
-	AVF_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP	= 40,
-	AVF_FILTER_PCTYPE_NONF_IPV6_UDP		= 41,
-	AVF_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK	= 42,
-	AVF_FILTER_PCTYPE_NONF_IPV6_TCP		= 43,
-	AVF_FILTER_PCTYPE_NONF_IPV6_SCTP		= 44,
-	AVF_FILTER_PCTYPE_NONF_IPV6_OTHER		= 45,
-	AVF_FILTER_PCTYPE_FRAG_IPV6			= 46,
-	/* Note: Value 47 is reserved for future use */
-	AVF_FILTER_PCTYPE_FCOE_OX			= 48,
-	AVF_FILTER_PCTYPE_FCOE_RX			= 49,
-	AVF_FILTER_PCTYPE_FCOE_OTHER			= 50,
-	/* Note: Values 51-62 are reserved for future use */
-	AVF_FILTER_PCTYPE_L2_PAYLOAD			= 63,
-};
-
-enum avf_filter_program_desc_dest {
-	AVF_FILTER_PROGRAM_DESC_DEST_DROP_PACKET		= 0x0,
-	AVF_FILTER_PROGRAM_DESC_DEST_DIRECT_PACKET_QINDEX	= 0x1,
-	AVF_FILTER_PROGRAM_DESC_DEST_DIRECT_PACKET_OTHER	= 0x2,
-};
-
-enum avf_filter_program_desc_fd_status {
-	AVF_FILTER_PROGRAM_DESC_FD_STATUS_NONE			= 0x0,
-	AVF_FILTER_PROGRAM_DESC_FD_STATUS_FD_ID		= 0x1,
-	AVF_FILTER_PROGRAM_DESC_FD_STATUS_FD_ID_4FLEX_BYTES	= 0x2,
-	AVF_FILTER_PROGRAM_DESC_FD_STATUS_8FLEX_BYTES		= 0x3,
-};
-
-#define AVF_TXD_FLTR_QW0_DEST_VSI_SHIFT	23
-#define AVF_TXD_FLTR_QW0_DEST_VSI_MASK	(0x1FFUL << \
-					 AVF_TXD_FLTR_QW0_DEST_VSI_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_DTYPE_SHIFT	0
-#define AVF_TXD_FLTR_QW1_DTYPE_MASK	(0xFUL << AVF_TXD_FLTR_QW1_DTYPE_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_CMD_SHIFT	4
-#define AVF_TXD_FLTR_QW1_CMD_MASK	(0xFFFFULL << \
-					 AVF_TXD_FLTR_QW1_CMD_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_PCMD_SHIFT	(0x0ULL + AVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define AVF_TXD_FLTR_QW1_PCMD_MASK	(0x7ULL << AVF_TXD_FLTR_QW1_PCMD_SHIFT)
-
-enum avf_filter_program_desc_pcmd {
-	AVF_FILTER_PROGRAM_DESC_PCMD_ADD_UPDATE	= 0x1,
-	AVF_FILTER_PROGRAM_DESC_PCMD_REMOVE		= 0x2,
-};
-
-#define AVF_TXD_FLTR_QW1_DEST_SHIFT	(0x3ULL + AVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define AVF_TXD_FLTR_QW1_DEST_MASK	(0x3ULL << AVF_TXD_FLTR_QW1_DEST_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_CNT_ENA_SHIFT	(0x7ULL + AVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define AVF_TXD_FLTR_QW1_CNT_ENA_MASK	BIT_ULL(AVF_TXD_FLTR_QW1_CNT_ENA_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_FD_STATUS_SHIFT	(0x9ULL + \
-						 AVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define AVF_TXD_FLTR_QW1_FD_STATUS_MASK (0x3ULL << \
-					  AVF_TXD_FLTR_QW1_FD_STATUS_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_ATR_SHIFT	(0xEULL + \
-					 AVF_TXD_FLTR_QW1_CMD_SHIFT)
-#define AVF_TXD_FLTR_QW1_ATR_MASK	BIT_ULL(AVF_TXD_FLTR_QW1_ATR_SHIFT)
-
-#define AVF_TXD_FLTR_QW1_CNTINDEX_SHIFT 20
-#define AVF_TXD_FLTR_QW1_CNTINDEX_MASK	(0x1FFUL << \
-					 AVF_TXD_FLTR_QW1_CNTINDEX_SHIFT)
-
-enum avf_filter_type {
-	AVF_FLOW_DIRECTOR_FLTR = 0,
-	AVF_PE_QUAD_HASH_FLTR = 1,
-	AVF_ETHERTYPE_FLTR,
-	AVF_FCOE_CTX_FLTR,
-	AVF_MAC_VLAN_FLTR,
-	AVF_HASH_FLTR
-};
-
-struct avf_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 avf_aqc_vsi_properties_data info;
-};
-
-struct avf_veb_context {
-	u16 seid;
-	u16 uplink_seid;
-	u16 veb_number;
-	u16 vebs_allocated;
-	u16 vebs_unallocated;
-	u16 flags;
-	struct avf_aqc_get_veb_parameters_completion info;
-};
-
-/* Statistics collected by each port, VSI, VEB, and S-channel */
-struct avf_eth_stats {
-	u64 rx_bytes;			/* gorc */
-	u64 rx_unicast;			/* uprc */
-	u64 rx_multicast;		/* mprc */
-	u64 rx_broadcast;		/* bprc */
-	u64 rx_discards;		/* rdpc */
-	u64 rx_unknown_protocol;	/* rupp */
-	u64 tx_bytes;			/* gotc */
-	u64 tx_unicast;			/* uptc */
-	u64 tx_multicast;		/* mptc */
-	u64 tx_broadcast;		/* bptc */
-	u64 tx_discards;		/* tdpc */
-	u64 tx_errors;			/* tepc */
-};
-
-/* Statistics collected per VEB per TC */
-struct avf_veb_tc_stats {
-	u64 tc_rx_packets[AVF_MAX_TRAFFIC_CLASS];
-	u64 tc_rx_bytes[AVF_MAX_TRAFFIC_CLASS];
-	u64 tc_tx_packets[AVF_MAX_TRAFFIC_CLASS];
-	u64 tc_tx_bytes[AVF_MAX_TRAFFIC_CLASS];
-};
-
-/* Statistics collected per function for FCoE */
-struct avf_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 AVF_FCOE_VF_STAT_OFFSET	0
-#define AVF_FCOE_PF_STAT_OFFSET	128
-#define AVF_FCOE_STAT_MAX		(AVF_FCOE_PF_STAT_OFFSET + AVF_MAX_PF)
-
-/* Statistics collected by the MAC */
-struct avf_hw_port_stats {
-	/* eth stats collected by the port */
-	struct avf_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 AVF_SR_NVM_CONTROL_WORD		0x00
-#define AVF_SR_PCIE_ANALOG_CONFIG_PTR		0x03
-#define AVF_SR_PHY_ANALOG_CONFIG_PTR		0x04
-#define AVF_SR_OPTION_ROM_PTR			0x05
-#define AVF_SR_RO_PCIR_REGS_AUTO_LOAD_PTR	0x06
-#define AVF_SR_AUTO_GENERATED_POINTERS_PTR	0x07
-#define AVF_SR_PCIR_REGS_AUTO_LOAD_PTR		0x08
-#define AVF_SR_EMP_GLOBAL_MODULE_PTR		0x09
-#define AVF_SR_RO_PCIE_LCB_PTR			0x0A
-#define AVF_SR_EMP_IMAGE_PTR			0x0B
-#define AVF_SR_PE_IMAGE_PTR			0x0C
-#define AVF_SR_CSR_PROTECTED_LIST_PTR		0x0D
-#define AVF_SR_MNG_CONFIG_PTR			0x0E
-#define AVF_EMP_MODULE_PTR			0x0F
-#define AVF_SR_EMP_MODULE_PTR			0x48
-#define AVF_SR_PBA_FLAGS			0x15
-#define AVF_SR_PBA_BLOCK_PTR			0x16
-#define AVF_SR_BOOT_CONFIG_PTR			0x17
-#define AVF_NVM_OEM_VER_OFF			0x83
-#define AVF_SR_NVM_DEV_STARTER_VERSION		0x18
-#define AVF_SR_NVM_WAKE_ON_LAN			0x19
-#define AVF_SR_ALTERNATE_SAN_MAC_ADDRESS_PTR	0x27
-#define AVF_SR_PERMANENT_SAN_MAC_ADDRESS_PTR	0x28
-#define AVF_SR_NVM_MAP_VERSION			0x29
-#define AVF_SR_NVM_IMAGE_VERSION		0x2A
-#define AVF_SR_NVM_STRUCTURE_VERSION		0x2B
-#define AVF_SR_NVM_EETRACK_LO			0x2D
-#define AVF_SR_NVM_EETRACK_HI			0x2E
-#define AVF_SR_VPD_PTR				0x2F
-#define AVF_SR_PXE_SETUP_PTR			0x30
-#define AVF_SR_PXE_CONFIG_CUST_OPTIONS_PTR	0x31
-#define AVF_SR_NVM_ORIGINAL_EETRACK_LO		0x34
-#define AVF_SR_NVM_ORIGINAL_EETRACK_HI		0x35
-#define AVF_SR_SW_ETHERNET_MAC_ADDRESS_PTR	0x37
-#define AVF_SR_POR_REGS_AUTO_LOAD_PTR		0x38
-#define AVF_SR_EMPR_REGS_AUTO_LOAD_PTR		0x3A
-#define AVF_SR_GLOBR_REGS_AUTO_LOAD_PTR	0x3B
-#define AVF_SR_CORER_REGS_AUTO_LOAD_PTR	0x3C
-#define AVF_SR_PHY_ACTIVITY_LIST_PTR		0x3D
-#define AVF_SR_PCIE_ALT_AUTO_LOAD_PTR		0x3E
-#define AVF_SR_SW_CHECKSUM_WORD		0x3F
-#define AVF_SR_1ST_FREE_PROVISION_AREA_PTR	0x40
-#define AVF_SR_4TH_FREE_PROVISION_AREA_PTR	0x42
-#define AVF_SR_3RD_FREE_PROVISION_AREA_PTR	0x44
-#define AVF_SR_2ND_FREE_PROVISION_AREA_PTR	0x46
-#define AVF_SR_EMP_SR_SETTINGS_PTR		0x48
-#define AVF_SR_FEATURE_CONFIGURATION_PTR	0x49
-#define AVF_SR_CONFIGURATION_METADATA_PTR	0x4D
-#define AVF_SR_IMMEDIATE_VALUES_PTR		0x4E
-
-/* Auxiliary field, mask and shift definition for Shadow RAM and NVM Flash */
-#define AVF_SR_VPD_MODULE_MAX_SIZE		1024
-#define AVF_SR_PCIE_ALT_MODULE_MAX_SIZE	1024
-#define AVF_SR_CONTROL_WORD_1_SHIFT		0x06
-#define AVF_SR_CONTROL_WORD_1_MASK	(0x03 << AVF_SR_CONTROL_WORD_1_SHIFT)
-#define AVF_SR_CONTROL_WORD_1_NVM_BANK_VALID	BIT(5)
-#define AVF_SR_NVM_MAP_STRUCTURE_TYPE		BIT(12)
-#define AVF_PTR_TYPE                           BIT(15)
-
-/* Shadow RAM related */
-#define AVF_SR_SECTOR_SIZE_IN_WORDS	0x800
-#define AVF_SR_BUF_ALIGNMENT		4096
-#define AVF_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 AVF_SR_SW_CHECKSUM_BASE	0xBABA
-
-#define AVF_SRRD_SRCTL_ATTEMPTS	100000
-
-/* FCoE Tx context descriptor - Use the avf_tx_context_desc struct */
-
-enum i40E_fcoe_tx_ctx_desc_cmd_bits {
-	AVF_FCOE_TX_CTX_DESC_OPCODE_SINGLE_SEND	= 0x00, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_TSO_FC_CLASS2	= 0x01, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_TSO_FC_CLASS3	= 0x05, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_ETSO_FC_CLASS2	= 0x02, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_ETSO_FC_CLASS3	= 0x06, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_DWO_FC_CLASS2	= 0x03, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_DWO_FC_CLASS3	= 0x07, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_DDP_CTX_INVL	= 0x08, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_OPCODE_DWO_CTX_INVL	= 0x09, /* 4 BITS */
-	AVF_FCOE_TX_CTX_DESC_RELOFF			= 0x10,
-	AVF_FCOE_TX_CTX_DESC_CLRSEQ			= 0x20,
-	AVF_FCOE_TX_CTX_DESC_DIFENA			= 0x40,
-	AVF_FCOE_TX_CTX_DESC_IL2TAG2			= 0x80
-};
-
-/* FCoE DIF/DIX Context descriptor */
-struct avf_fcoe_difdix_context_desc {
-	__le64 flags_buff0_buff1_ref;
-	__le64 difapp_msk_bias;
-};
-
-#define AVF_FCOE_DIFDIX_CTX_QW0_FLAGS_SHIFT	0
-#define AVF_FCOE_DIFDIX_CTX_QW0_FLAGS_MASK	(0xFFFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW0_FLAGS_SHIFT)
-
-enum avf_fcoe_difdix_ctx_desc_flags_bits {
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_RSVD				= 0x0000,
-	/* 1 BIT  */
-	AVF_FCOE_DIFDIX_CTX_DESC_APPTYPE_TAGCHK		= 0x0000,
-	/* 1 BIT  */
-	AVF_FCOE_DIFDIX_CTX_DESC_APPTYPE_TAGNOTCHK		= 0x0004,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_GTYPE_OPAQUE			= 0x0000,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_GTYPE_CHKINTEGRITY		= 0x0008,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_GTYPE_CHKINTEGRITY_APPTAG	= 0x0010,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_GTYPE_CHKINTEGRITY_APPREFTAG	= 0x0018,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_CNST			= 0x0000,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_INC1BLK		= 0x0020,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_APPTAG		= 0x0040,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_REFTYPE_RSVD			= 0x0060,
-	/* 1 BIT  */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIXMODE_XSUM			= 0x0000,
-	/* 1 BIT  */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIXMODE_CRC			= 0x0080,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_UNTAG			= 0x0000,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_BUF			= 0x0100,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_RSVD			= 0x0200,
-	/* 2 BITS */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFHOST_EMBDTAGS		= 0x0300,
-	/* 1 BIT  */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFLAN_UNTAG			= 0x0000,
-	/* 1 BIT  */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFLAN_TAG			= 0x0400,
-	/* 1 BIT */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFBLK_512B			= 0x0000,
-	/* 1 BIT */
-	AVF_FCOE_DIFDIX_CTX_DESC_DIFBLK_4K			= 0x0800
-};
-
-#define AVF_FCOE_DIFDIX_CTX_QW0_BUFF0_SHIFT	12
-#define AVF_FCOE_DIFDIX_CTX_QW0_BUFF0_MASK	(0x3FFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW0_BUFF0_SHIFT)
-
-#define AVF_FCOE_DIFDIX_CTX_QW0_BUFF1_SHIFT	22
-#define AVF_FCOE_DIFDIX_CTX_QW0_BUFF1_MASK	(0x3FFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW0_BUFF1_SHIFT)
-
-#define AVF_FCOE_DIFDIX_CTX_QW0_REF_SHIFT	32
-#define AVF_FCOE_DIFDIX_CTX_QW0_REF_MASK	(0xFFFFFFFFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW0_REF_SHIFT)
-
-#define AVF_FCOE_DIFDIX_CTX_QW1_APP_SHIFT	0
-#define AVF_FCOE_DIFDIX_CTX_QW1_APP_MASK	(0xFFFFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW1_APP_SHIFT)
-
-#define AVF_FCOE_DIFDIX_CTX_QW1_APP_MSK_SHIFT	16
-#define AVF_FCOE_DIFDIX_CTX_QW1_APP_MSK_MASK	(0xFFFFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW1_APP_MSK_SHIFT)
-
-#define AVF_FCOE_DIFDIX_CTX_QW1_REF_BIAS_SHIFT	32
-#define AVF_FCOE_DIFDIX_CTX_QW0_REF_BIAS_MASK	(0xFFFFFFFFULL << \
-					AVF_FCOE_DIFDIX_CTX_QW1_REF_BIAS_SHIFT)
-
-/* FCoE DIF/DIX Buffers descriptor */
-struct avf_fcoe_difdix_buffers_desc {
-	__le64 buff_addr0;
-	__le64 buff_addr1;
-};
-
-/* FCoE DDP Context descriptor */
-struct avf_fcoe_ddp_context_desc {
-	__le64 rsvd;
-	__le64 type_cmd_foff_lsize;
-};
-
-#define AVF_FCOE_DDP_CTX_QW1_DTYPE_SHIFT	0
-#define AVF_FCOE_DDP_CTX_QW1_DTYPE_MASK	(0xFULL << \
-					AVF_FCOE_DDP_CTX_QW1_DTYPE_SHIFT)
-
-#define AVF_FCOE_DDP_CTX_QW1_CMD_SHIFT	4
-#define AVF_FCOE_DDP_CTX_QW1_CMD_MASK	(0xFULL << \
-					 AVF_FCOE_DDP_CTX_QW1_CMD_SHIFT)
-
-enum avf_fcoe_ddp_ctx_desc_cmd_bits {
-	AVF_FCOE_DDP_CTX_DESC_BSIZE_512B	= 0x00, /* 2 BITS */
-	AVF_FCOE_DDP_CTX_DESC_BSIZE_4K		= 0x01, /* 2 BITS */
-	AVF_FCOE_DDP_CTX_DESC_BSIZE_8K		= 0x02, /* 2 BITS */
-	AVF_FCOE_DDP_CTX_DESC_BSIZE_16K	= 0x03, /* 2 BITS */
-	AVF_FCOE_DDP_CTX_DESC_DIFENA		= 0x04, /* 1 BIT  */
-	AVF_FCOE_DDP_CTX_DESC_LASTSEQH		= 0x08, /* 1 BIT  */
-};
-
-#define AVF_FCOE_DDP_CTX_QW1_FOFF_SHIFT	16
-#define AVF_FCOE_DDP_CTX_QW1_FOFF_MASK	(0x3FFFULL << \
-					 AVF_FCOE_DDP_CTX_QW1_FOFF_SHIFT)
-
-#define AVF_FCOE_DDP_CTX_QW1_LSIZE_SHIFT	32
-#define AVF_FCOE_DDP_CTX_QW1_LSIZE_MASK	(0x3FFFULL << \
-					AVF_FCOE_DDP_CTX_QW1_LSIZE_SHIFT)
-
-/* FCoE DDP/DWO Queue Context descriptor */
-struct avf_fcoe_queue_context_desc {
-	__le64 dmaindx_fbase;           /* 0:11 DMAINDX, 12:63 FBASE */
-	__le64 flen_tph;                /* 0:12 FLEN, 13:15 TPH */
-};
-
-#define AVF_FCOE_QUEUE_CTX_QW0_DMAINDX_SHIFT	0
-#define AVF_FCOE_QUEUE_CTX_QW0_DMAINDX_MASK	(0xFFFULL << \
-					AVF_FCOE_QUEUE_CTX_QW0_DMAINDX_SHIFT)
-
-#define AVF_FCOE_QUEUE_CTX_QW0_FBASE_SHIFT	12
-#define AVF_FCOE_QUEUE_CTX_QW0_FBASE_MASK	(0xFFFFFFFFFFFFFULL << \
-					AVF_FCOE_QUEUE_CTX_QW0_FBASE_SHIFT)
-
-#define AVF_FCOE_QUEUE_CTX_QW1_FLEN_SHIFT	0
-#define AVF_FCOE_QUEUE_CTX_QW1_FLEN_MASK	(0x1FFFULL << \
-					AVF_FCOE_QUEUE_CTX_QW1_FLEN_SHIFT)
-
-#define AVF_FCOE_QUEUE_CTX_QW1_TPH_SHIFT	13
-#define AVF_FCOE_QUEUE_CTX_QW1_TPH_MASK	(0x7ULL << \
-					AVF_FCOE_QUEUE_CTX_QW1_FLEN_SHIFT)
-
-enum avf_fcoe_queue_ctx_desc_tph_bits {
-	AVF_FCOE_QUEUE_CTX_DESC_TPHRDESC	= 0x1,
-	AVF_FCOE_QUEUE_CTX_DESC_TPHDATA	= 0x2
-};
-
-#define AVF_FCOE_QUEUE_CTX_QW1_RECIPE_SHIFT	30
-#define AVF_FCOE_QUEUE_CTX_QW1_RECIPE_MASK	(0x3ULL << \
-					AVF_FCOE_QUEUE_CTX_QW1_RECIPE_SHIFT)
-
-/* FCoE DDP/DWO Filter Context descriptor */
-struct avf_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 AVF_FCOE_FILTER_CTX_QW0_DMAINDX_SHIFT	4
-#define AVF_FCOE_FILTER_CTX_QW0_DMAINDX_MASK	(0xFFF << \
-					AVF_FCOE_FILTER_CTX_QW0_DMAINDX_SHIFT)
-
-enum avf_fcoe_filter_ctx_desc_flags_bits {
-	AVF_FCOE_FILTER_CTX_DESC_CTYP_DDP	= 0x00,
-	AVF_FCOE_FILTER_CTX_DESC_CTYP_DWO	= 0x01,
-	AVF_FCOE_FILTER_CTX_DESC_ENODE_INIT	= 0x00,
-	AVF_FCOE_FILTER_CTX_DESC_ENODE_RSP	= 0x02,
-	AVF_FCOE_FILTER_CTX_DESC_FC_CLASS2	= 0x00,
-	AVF_FCOE_FILTER_CTX_DESC_FC_CLASS3	= 0x04
-};
-
-#define AVF_FCOE_FILTER_CTX_QW1_FLAGS_SHIFT	0
-#define AVF_FCOE_FILTER_CTX_QW1_FLAGS_MASK	(0xFFULL << \
-					AVF_FCOE_FILTER_CTX_QW1_FLAGS_SHIFT)
-
-#define AVF_FCOE_FILTER_CTX_QW1_PCTYPE_SHIFT     8
-#define AVF_FCOE_FILTER_CTX_QW1_PCTYPE_MASK      (0x3FULL << \
-			AVF_FCOE_FILTER_CTX_QW1_PCTYPE_SHIFT)
-
-#define AVF_FCOE_FILTER_CTX_QW1_LANQINDX_SHIFT     53
-#define AVF_FCOE_FILTER_CTX_QW1_LANQINDX_MASK      (0x7FFULL << \
-			AVF_FCOE_FILTER_CTX_QW1_LANQINDX_SHIFT)
-
-enum avf_switch_element_types {
-	AVF_SWITCH_ELEMENT_TYPE_MAC	= 1,
-	AVF_SWITCH_ELEMENT_TYPE_PF	= 2,
-	AVF_SWITCH_ELEMENT_TYPE_VF	= 3,
-	AVF_SWITCH_ELEMENT_TYPE_EMP	= 4,
-	AVF_SWITCH_ELEMENT_TYPE_BMC	= 6,
-	AVF_SWITCH_ELEMENT_TYPE_PE	= 16,
-	AVF_SWITCH_ELEMENT_TYPE_VEB	= 17,
-	AVF_SWITCH_ELEMENT_TYPE_PA	= 18,
-	AVF_SWITCH_ELEMENT_TYPE_VSI	= 19,
-};
-
-/* Supported EtherType filters */
-enum avf_ether_type_index {
-	AVF_ETHER_TYPE_1588		= 0,
-	AVF_ETHER_TYPE_FIP		= 1,
-	AVF_ETHER_TYPE_OUI_EXTENDED	= 2,
-	AVF_ETHER_TYPE_MAC_CONTROL	= 3,
-	AVF_ETHER_TYPE_LLDP		= 4,
-	AVF_ETHER_TYPE_EVB_PROTOCOL1	= 5,
-	AVF_ETHER_TYPE_EVB_PROTOCOL2	= 6,
-	AVF_ETHER_TYPE_QCN_CNM		= 7,
-	AVF_ETHER_TYPE_8021X		= 8,
-	AVF_ETHER_TYPE_ARP		= 9,
-	AVF_ETHER_TYPE_RSV1		= 10,
-	AVF_ETHER_TYPE_RSV2		= 11,
-};
-
-/* Filter context base size is 1K */
-#define AVF_HASH_FILTER_BASE_SIZE	1024
-/* Supported Hash filter values */
-enum avf_hash_filter_size {
-	AVF_HASH_FILTER_SIZE_1K	= 0,
-	AVF_HASH_FILTER_SIZE_2K	= 1,
-	AVF_HASH_FILTER_SIZE_4K	= 2,
-	AVF_HASH_FILTER_SIZE_8K	= 3,
-	AVF_HASH_FILTER_SIZE_16K	= 4,
-	AVF_HASH_FILTER_SIZE_32K	= 5,
-	AVF_HASH_FILTER_SIZE_64K	= 6,
-	AVF_HASH_FILTER_SIZE_128K	= 7,
-	AVF_HASH_FILTER_SIZE_256K	= 8,
-	AVF_HASH_FILTER_SIZE_512K	= 9,
-	AVF_HASH_FILTER_SIZE_1M	= 10,
-};
-
-/* DMA context base size is 0.5K */
-#define AVF_DMA_CNTX_BASE_SIZE		512
-/* Supported DMA context values */
-enum avf_dma_cntx_size {
-	AVF_DMA_CNTX_SIZE_512		= 0,
-	AVF_DMA_CNTX_SIZE_1K		= 1,
-	AVF_DMA_CNTX_SIZE_2K		= 2,
-	AVF_DMA_CNTX_SIZE_4K		= 3,
-	AVF_DMA_CNTX_SIZE_8K		= 4,
-	AVF_DMA_CNTX_SIZE_16K		= 5,
-	AVF_DMA_CNTX_SIZE_32K		= 6,
-	AVF_DMA_CNTX_SIZE_64K		= 7,
-	AVF_DMA_CNTX_SIZE_128K		= 8,
-	AVF_DMA_CNTX_SIZE_256K		= 9,
-};
-
-/* Supported Hash look up table (LUT) sizes */
-enum avf_hash_lut_size {
-	AVF_HASH_LUT_SIZE_128		= 0,
-	AVF_HASH_LUT_SIZE_512		= 1,
-};
-
-/* Structure to hold a per PF filter control settings */
-struct avf_filter_control_settings {
-	/* number of PE Quad Hash filter buckets */
-	enum avf_hash_filter_size pe_filt_num;
-	/* number of PE Quad Hash contexts */
-	enum avf_dma_cntx_size pe_cntx_num;
-	/* number of FCoE filter buckets */
-	enum avf_hash_filter_size fcoe_filt_num;
-	/* number of FCoE DDP contexts */
-	enum avf_dma_cntx_size fcoe_cntx_num;
-	/* size of the Hash LUT */
-	enum avf_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 avf_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 avf_reset_type {
-	AVF_RESET_POR		= 0,
-	AVF_RESET_CORER	= 1,
-	AVF_RESET_GLOBR	= 2,
-	AVF_RESET_EMPR		= 3,
-};
-
-/* IEEE 802.1AB LLDP Agent Variables from NVM */
-#define AVF_NVM_LLDP_CFG_PTR   0x06
-#define AVF_SR_LLDP_CFG_PTR    0x31
-struct avf_lldp_variables {
-	u16 length;
-	u16 adminstatus;
-	u16 msgfasttx;
-	u16 msgtxinterval;
-	u16 txparams;
-	u16 timers;
-	u16 crc8;
-};
-
-/* Offsets into Alternate Ram */
-#define AVF_ALT_STRUCT_FIRST_PF_OFFSET		0   /* in dwords */
-#define AVF_ALT_STRUCT_DWORDS_PER_PF		64   /* in dwords */
-#define AVF_ALT_STRUCT_OUTER_VLAN_TAG_OFFSET	0xD  /* in dwords */
-#define AVF_ALT_STRUCT_USER_PRIORITY_OFFSET	0xC  /* in dwords */
-#define AVF_ALT_STRUCT_MIN_BW_OFFSET		0xE  /* in dwords */
-#define AVF_ALT_STRUCT_MAX_BW_OFFSET		0xF  /* in dwords */
-
-/* Alternate Ram Bandwidth Masks */
-#define AVF_ALT_BW_VALUE_MASK		0xFF
-#define AVF_ALT_BW_RELATIVE_MASK	0x40000000
-#define AVF_ALT_BW_VALID_MASK		0x80000000
-
-/* RSS Hash Table Size */
-#define AVF_PFQF_CTL_0_HASHLUTSIZE_512	0x00010000
-
-/* INPUT SET MASK for RSS, flow director, and flexible payload */
-#define AVF_L3_SRC_SHIFT		47
-#define AVF_L3_SRC_MASK		(0x3ULL << AVF_L3_SRC_SHIFT)
-#define AVF_L3_V6_SRC_SHIFT		43
-#define AVF_L3_V6_SRC_MASK		(0xFFULL << AVF_L3_V6_SRC_SHIFT)
-#define AVF_L3_DST_SHIFT		35
-#define AVF_L3_DST_MASK		(0x3ULL << AVF_L3_DST_SHIFT)
-#define AVF_L3_V6_DST_SHIFT		35
-#define AVF_L3_V6_DST_MASK		(0xFFULL << AVF_L3_V6_DST_SHIFT)
-#define AVF_L4_SRC_SHIFT		34
-#define AVF_L4_SRC_MASK		(0x1ULL << AVF_L4_SRC_SHIFT)
-#define AVF_L4_DST_SHIFT		33
-#define AVF_L4_DST_MASK		(0x1ULL << AVF_L4_DST_SHIFT)
-#define AVF_VERIFY_TAG_SHIFT		31
-#define AVF_VERIFY_TAG_MASK		(0x3ULL << AVF_VERIFY_TAG_SHIFT)
-
-#define AVF_FLEX_50_SHIFT		13
-#define AVF_FLEX_50_MASK		(0x1ULL << AVF_FLEX_50_SHIFT)
-#define AVF_FLEX_51_SHIFT		12
-#define AVF_FLEX_51_MASK		(0x1ULL << AVF_FLEX_51_SHIFT)
-#define AVF_FLEX_52_SHIFT		11
-#define AVF_FLEX_52_MASK		(0x1ULL << AVF_FLEX_52_SHIFT)
-#define AVF_FLEX_53_SHIFT		10
-#define AVF_FLEX_53_MASK		(0x1ULL << AVF_FLEX_53_SHIFT)
-#define AVF_FLEX_54_SHIFT		9
-#define AVF_FLEX_54_MASK		(0x1ULL << AVF_FLEX_54_SHIFT)
-#define AVF_FLEX_55_SHIFT		8
-#define AVF_FLEX_55_MASK		(0x1ULL << AVF_FLEX_55_SHIFT)
-#define AVF_FLEX_56_SHIFT		7
-#define AVF_FLEX_56_MASK		(0x1ULL << AVF_FLEX_56_SHIFT)
-#define AVF_FLEX_57_SHIFT		6
-#define AVF_FLEX_57_MASK		(0x1ULL << AVF_FLEX_57_SHIFT)
-
-/* Version format for Dynamic Device Personalization(DDP) */
-struct avf_ddp_version {
-	u8 major;
-	u8 minor;
-	u8 update;
-	u8 draft;
-};
-
-#define AVF_DDP_NAME_SIZE	32
-
-/* Package header */
-struct avf_package_header {
-	struct avf_ddp_version version;
-	u32 segment_count;
-	u32 segment_offset[1];
-};
-
-/* Generic segment header */
-struct avf_generic_seg_header {
-#define SEGMENT_TYPE_METADATA	0x00000001
-#define SEGMENT_TYPE_NOTES	0x00000002
-#define SEGMENT_TYPE_AVF	0x00000011
-#define SEGMENT_TYPE_X722	0x00000012
-	u32 type;
-	struct avf_ddp_version version;
-	u32 size;
-	char name[AVF_DDP_NAME_SIZE];
-};
-
-struct avf_metadata_segment {
-	struct avf_generic_seg_header header;
-	struct avf_ddp_version version;
-#define AVF_DDP_TRACKID_RDONLY		0
-#define AVF_DDP_TRACKID_INVALID	0xFFFFFFFF
-	u32 track_id;
-	char name[AVF_DDP_NAME_SIZE];
-};
-
-struct avf_device_id_entry {
-	u32 vendor_dev_id;
-	u32 sub_vendor_dev_id;
-};
-
-struct avf_profile_segment {
-	struct avf_generic_seg_header header;
-	struct avf_ddp_version version;
-	char name[AVF_DDP_NAME_SIZE];
-	u32 device_table_count;
-	struct avf_device_id_entry device_table[1];
-};
-
-struct avf_section_table {
-	u32 section_count;
-	u32 section_offset[1];
-};
-
-struct avf_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 avf_profile_tlv_section_record {
-	u8 rtype;
-	u8 type;
-	u16 len;
-	u8 data[12];
-};
-
-/* Generic AQ section in proflie */
-struct avf_profile_aq_section {
-	u16 opcode;
-	u16 flags;
-	u8  param[16];
-	u16 datalen;
-	u8  data[1];
-};
-
-struct avf_profile_info {
-	u32 track_id;
-	struct avf_ddp_version version;
-	u8 op;
-#define AVF_DDP_ADD_TRACKID		0x01
-#define AVF_DDP_REMOVE_TRACKID	0x02
-	u8 reserved[7];
-	u8 name[AVF_DDP_NAME_SIZE];
-};
-#endif /* _AVF_TYPE_H_ */
diff --git a/drivers/net/avf/Makefile b/drivers/net/iavf/Makefile
similarity index 73%
rename from drivers/net/avf/Makefile
rename to drivers/net/iavf/Makefile
index aec6e4cba..3a0eb79ca 100644
--- a/drivers/net/avf/Makefile
+++ b/drivers/net/iavf/Makefile
@@ -6,7 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 # library name
 #
-LIB = librte_pmd_avf.a
+LIB = librte_pmd_iavf.a
 
 CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
@@ -16,7 +16,7 @@ LDLIBS += -lrte_bus_pci
 # used to dump HW descriptor for debugging
 # CFLAGS += -DDEBUG_DUMP_DESC
 
-EXPORT_MAP := rte_pmd_avf_version.map
+EXPORT_MAP := rte_pmd_iavf_version.map
 
 LIBABIVER := 1
 
@@ -41,14 +41,14 @@ VPATH += $(SRCDIR)/base
 #
 # all source are stored in SRCS-y
 #
-SRCS-$(CONFIG_RTE_LIBRTE_AVF_PMD) += avf_adminq.c
-SRCS-$(CONFIG_RTE_LIBRTE_AVF_PMD) += avf_common.c
+SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_adminq.c
+SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_common.c
 
-SRCS-$(CONFIG_RTE_LIBRTE_AVF_PMD) += avf_ethdev.c
-SRCS-$(CONFIG_RTE_LIBRTE_AVF_PMD) += avf_vchnl.c
-SRCS-$(CONFIG_RTE_LIBRTE_AVF_PMD) += avf_rxtx.c
+SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_ethdev.c
+SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_vchnl.c
+SRCS-$(CONFIG_RTE_LIBRTE_IAVF_PMD) += iavf_rxtx.c
 ifeq ($(CONFIG_RTE_ARCH_X86), y)
-SRCS-$(CONFIG_RTE_LIBRTE_AVF_INC_VECTOR) += avf_rxtx_vec_sse.c
+SRCS-$(CONFIG_RTE_LIBRTE_IAVF_INC_VECTOR) += iavf_rxtx_vec_sse.c
 endif
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/drivers/net/avf/base/README b/drivers/net/iavf/base/README
similarity index 65%
rename from drivers/net/avf/base/README
rename to drivers/net/iavf/base/README
index 4710ae271..f57e1048f 100644
--- a/drivers/net/avf/base/README
+++ b/drivers/net/iavf/base/README
@@ -2,12 +2,12 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
-Intel® AVF driver
+Intel® IAVF driver
 =================
 
-This directory contains source code of FreeBSD AVF driver of version
+This directory contains source code of FreeBSD IAVF driver of version
 cid-avf.2018.01.02.tar.gz released by the team which develops
-basic drivers for any AVF NIC. The directory of base/ contains the
+basic drivers for any IAVF NIC. The directory of base/ contains the
 original source package.
 
 Updating the driver
@@ -16,4 +16,4 @@ Updating the driver
 NOTE: The source code in this directory should not be modified apart from
 the following file(s):
 
-    avf_osdep.h
+    iavf_osdep.h
diff --git a/drivers/net/avf/base/avf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c
similarity index 56%
rename from drivers/net/avf/base/avf_adminq.c
rename to drivers/net/iavf/base/iavf_adminq.c
index 616e2a9cc..036c34087 100644
--- a/drivers/net/avf/base/avf_adminq.c
+++ b/drivers/net/iavf/base/iavf_adminq.c
@@ -31,56 +31,56 @@ POSSIBILITY OF SUCH DAMAGE.
 
 ***************************************************************************/
 
-#include "avf_status.h"
-#include "avf_type.h"
-#include "avf_register.h"
-#include "avf_adminq.h"
-#include "avf_prototype.h"
+#include "iavf_status.h"
+#include "iavf_type.h"
+#include "iavf_register.h"
+#include "iavf_adminq.h"
+#include "iavf_prototype.h"
 
 /**
- *  avf_adminq_init_regs - Initialize AdminQ registers
+ *  iavf_adminq_init_regs - Initialize AdminQ registers
  *  @hw: pointer to the hardware structure
  *
  *  This assumes the alloc_asq and alloc_arq functions have already been called
  **/
-STATIC void avf_adminq_init_regs(struct avf_hw *hw)
+STATIC void iavf_adminq_init_regs(struct iavf_hw *hw)
 {
 	/* set head and tail registers in our local struct */
-	if (avf_is_vf(hw)) {
-		hw->aq.asq.tail = AVF_ATQT1;
-		hw->aq.asq.head = AVF_ATQH1;
-		hw->aq.asq.len  = AVF_ATQLEN1;
-		hw->aq.asq.bal  = AVF_ATQBAL1;
-		hw->aq.asq.bah  = AVF_ATQBAH1;
-		hw->aq.arq.tail = AVF_ARQT1;
-		hw->aq.arq.head = AVF_ARQH1;
-		hw->aq.arq.len  = AVF_ARQLEN1;
-		hw->aq.arq.bal  = AVF_ARQBAL1;
-		hw->aq.arq.bah  = AVF_ARQBAH1;
+	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;
 	}
 }
 
 /**
- *  avf_alloc_adminq_asq_ring - Allocate Admin Queue send rings
+ *  iavf_alloc_adminq_asq_ring - Allocate Admin Queue send rings
  *  @hw: pointer to the hardware structure
  **/
-enum avf_status_code avf_alloc_adminq_asq_ring(struct avf_hw *hw)
+enum iavf_status_code iavf_alloc_adminq_asq_ring(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code;
+	enum iavf_status_code ret_code;
 
-	ret_code = avf_allocate_dma_mem(hw, &hw->aq.asq.desc_buf,
-					 avf_mem_atq_ring,
+	ret_code = iavf_allocate_dma_mem(hw, &hw->aq.asq.desc_buf,
+					 iavf_mem_atq_ring,
 					 (hw->aq.num_asq_entries *
-					 sizeof(struct avf_aq_desc)),
-					 AVF_ADMINQ_DESC_ALIGNMENT);
+					 sizeof(struct iavf_aq_desc)),
+					 IAVF_ADMINQ_DESC_ALIGNMENT);
 	if (ret_code)
 		return ret_code;
 
-	ret_code = avf_allocate_virt_mem(hw, &hw->aq.asq.cmd_buf,
+	ret_code = iavf_allocate_virt_mem(hw, &hw->aq.asq.cmd_buf,
 					  (hw->aq.num_asq_entries *
-					  sizeof(struct avf_asq_cmd_details)));
+					  sizeof(struct iavf_asq_cmd_details)));
 	if (ret_code) {
-		avf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
+		iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
 		return ret_code;
 	}
 
@@ -88,55 +88,55 @@ enum avf_status_code avf_alloc_adminq_asq_ring(struct avf_hw *hw)
 }
 
 /**
- *  avf_alloc_adminq_arq_ring - Allocate Admin Queue receive rings
+ *  iavf_alloc_adminq_arq_ring - Allocate Admin Queue receive rings
  *  @hw: pointer to the hardware structure
  **/
-enum avf_status_code avf_alloc_adminq_arq_ring(struct avf_hw *hw)
+enum iavf_status_code iavf_alloc_adminq_arq_ring(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code;
+	enum iavf_status_code ret_code;
 
-	ret_code = avf_allocate_dma_mem(hw, &hw->aq.arq.desc_buf,
-					 avf_mem_arq_ring,
+	ret_code = iavf_allocate_dma_mem(hw, &hw->aq.arq.desc_buf,
+					 iavf_mem_arq_ring,
 					 (hw->aq.num_arq_entries *
-					 sizeof(struct avf_aq_desc)),
-					 AVF_ADMINQ_DESC_ALIGNMENT);
+					 sizeof(struct iavf_aq_desc)),
+					 IAVF_ADMINQ_DESC_ALIGNMENT);
 
 	return ret_code;
 }
 
 /**
- *  avf_free_adminq_asq - Free Admin Queue send rings
+ *  iavf_free_adminq_asq - Free Admin Queue send rings
  *  @hw: pointer to the hardware structure
  *
  *  This assumes the posted send buffers have already been cleaned
  *  and de-allocated
  **/
-void avf_free_adminq_asq(struct avf_hw *hw)
+void iavf_free_adminq_asq(struct iavf_hw *hw)
 {
-	avf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
+	iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
 }
 
 /**
- *  avf_free_adminq_arq - Free Admin Queue receive rings
+ *  iavf_free_adminq_arq - Free Admin Queue receive rings
  *  @hw: pointer to the hardware structure
  *
  *  This assumes the posted receive buffers have already been cleaned
  *  and de-allocated
  **/
-void avf_free_adminq_arq(struct avf_hw *hw)
+void iavf_free_adminq_arq(struct iavf_hw *hw)
 {
-	avf_free_dma_mem(hw, &hw->aq.arq.desc_buf);
+	iavf_free_dma_mem(hw, &hw->aq.arq.desc_buf);
 }
 
 /**
- *  avf_alloc_arq_bufs - Allocate pre-posted buffers for the receive queue
+ *  iavf_alloc_arq_bufs - Allocate pre-posted buffers for the receive queue
  *  @hw: pointer to the hardware structure
  **/
-STATIC enum avf_status_code avf_alloc_arq_bufs(struct avf_hw *hw)
+STATIC enum iavf_status_code iavf_alloc_arq_bufs(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code;
-	struct avf_aq_desc *desc;
-	struct avf_dma_mem *bi;
+	enum iavf_status_code ret_code;
+	struct iavf_aq_desc *desc;
+	struct iavf_dma_mem *bi;
 	int i;
 
 	/* We'll be allocating the buffer info memory first, then we can
@@ -144,28 +144,28 @@ STATIC enum avf_status_code avf_alloc_arq_bufs(struct avf_hw *hw)
 	 */
 
 	/* buffer_info structures do not need alignment */
-	ret_code = avf_allocate_virt_mem(hw, &hw->aq.arq.dma_head,
-		(hw->aq.num_arq_entries * sizeof(struct avf_dma_mem)));
+	ret_code = iavf_allocate_virt_mem(hw, &hw->aq.arq.dma_head,
+		(hw->aq.num_arq_entries * sizeof(struct iavf_dma_mem)));
 	if (ret_code)
 		goto alloc_arq_bufs;
-	hw->aq.arq.r.arq_bi = (struct avf_dma_mem *)hw->aq.arq.dma_head.va;
+	hw->aq.arq.r.arq_bi = (struct iavf_dma_mem *)hw->aq.arq.dma_head.va;
 
 	/* allocate the mapped buffers */
 	for (i = 0; i < hw->aq.num_arq_entries; i++) {
 		bi = &hw->aq.arq.r.arq_bi[i];
-		ret_code = avf_allocate_dma_mem(hw, bi,
-						 avf_mem_arq_buf,
+		ret_code = iavf_allocate_dma_mem(hw, bi,
+						 iavf_mem_arq_buf,
 						 hw->aq.arq_buf_size,
-						 AVF_ADMINQ_DESC_ALIGNMENT);
+						 IAVF_ADMINQ_DESC_ALIGNMENT);
 		if (ret_code)
 			goto unwind_alloc_arq_bufs;
 
 		/* now configure the descriptors for use */
-		desc = AVF_ADMINQ_DESC(hw->aq.arq, i);
+		desc = IAVF_ADMINQ_DESC(hw->aq.arq, i);
 
-		desc->flags = CPU_TO_LE16(AVF_AQ_FLAG_BUF);
-		if (hw->aq.arq_buf_size > AVF_AQ_LARGE_BUF)
-			desc->flags |= CPU_TO_LE16(AVF_AQ_FLAG_LB);
+		desc->flags = CPU_TO_LE16(IAVF_AQ_FLAG_BUF);
+		if (hw->aq.arq_buf_size > IAVF_AQ_LARGE_BUF)
+			desc->flags |= CPU_TO_LE16(IAVF_AQ_FLAG_LB);
 		desc->opcode = 0;
 		/* This is in accordance with Admin queue design, there is no
 		 * register for buffer size configuration
@@ -175,9 +175,9 @@ STATIC enum avf_status_code avf_alloc_arq_bufs(struct avf_hw *hw)
 		desc->cookie_high = 0;
 		desc->cookie_low = 0;
 		desc->params.external.addr_high =
-			CPU_TO_LE32(AVF_HI_DWORD(bi->pa));
+			CPU_TO_LE32(IAVF_HI_DWORD(bi->pa));
 		desc->params.external.addr_low =
-			CPU_TO_LE32(AVF_LO_DWORD(bi->pa));
+			CPU_TO_LE32(IAVF_LO_DWORD(bi->pa));
 		desc->params.external.param0 = 0;
 		desc->params.external.param1 = 0;
 	}
@@ -189,36 +189,36 @@ STATIC enum avf_status_code avf_alloc_arq_bufs(struct avf_hw *hw)
 	/* don't try to free the one that failed... */
 	i--;
 	for (; i >= 0; i--)
-		avf_free_dma_mem(hw, &hw->aq.arq.r.arq_bi[i]);
-	avf_free_virt_mem(hw, &hw->aq.arq.dma_head);
+		iavf_free_dma_mem(hw, &hw->aq.arq.r.arq_bi[i]);
+	iavf_free_virt_mem(hw, &hw->aq.arq.dma_head);
 
 	return ret_code;
 }
 
 /**
- *  avf_alloc_asq_bufs - Allocate empty buffer structs for the send queue
+ *  iavf_alloc_asq_bufs - Allocate empty buffer structs for the send queue
  *  @hw: pointer to the hardware structure
  **/
-STATIC enum avf_status_code avf_alloc_asq_bufs(struct avf_hw *hw)
+STATIC enum iavf_status_code iavf_alloc_asq_bufs(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code;
-	struct avf_dma_mem *bi;
+	enum iavf_status_code ret_code;
+	struct iavf_dma_mem *bi;
 	int i;
 
 	/* No mapped memory needed yet, just the buffer info structures */
-	ret_code = avf_allocate_virt_mem(hw, &hw->aq.asq.dma_head,
-		(hw->aq.num_asq_entries * sizeof(struct avf_dma_mem)));
+	ret_code = iavf_allocate_virt_mem(hw, &hw->aq.asq.dma_head,
+		(hw->aq.num_asq_entries * sizeof(struct iavf_dma_mem)));
 	if (ret_code)
 		goto alloc_asq_bufs;
-	hw->aq.asq.r.asq_bi = (struct avf_dma_mem *)hw->aq.asq.dma_head.va;
+	hw->aq.asq.r.asq_bi = (struct iavf_dma_mem *)hw->aq.asq.dma_head.va;
 
 	/* allocate the mapped buffers */
 	for (i = 0; i < hw->aq.num_asq_entries; i++) {
 		bi = &hw->aq.asq.r.asq_bi[i];
-		ret_code = avf_allocate_dma_mem(hw, bi,
-						 avf_mem_asq_buf,
+		ret_code = iavf_allocate_dma_mem(hw, bi,
+						 iavf_mem_asq_buf,
 						 hw->aq.asq_buf_size,
-						 AVF_ADMINQ_DESC_ALIGNMENT);
+						 IAVF_ADMINQ_DESC_ALIGNMENT);
 		if (ret_code)
 			goto unwind_alloc_asq_bufs;
 	}
@@ -229,63 +229,63 @@ STATIC enum avf_status_code avf_alloc_asq_bufs(struct avf_hw *hw)
 	/* don't try to free the one that failed... */
 	i--;
 	for (; i >= 0; i--)
-		avf_free_dma_mem(hw, &hw->aq.asq.r.asq_bi[i]);
-	avf_free_virt_mem(hw, &hw->aq.asq.dma_head);
+		iavf_free_dma_mem(hw, &hw->aq.asq.r.asq_bi[i]);
+	iavf_free_virt_mem(hw, &hw->aq.asq.dma_head);
 
 	return ret_code;
 }
 
 /**
- *  avf_free_arq_bufs - Free receive queue buffer info elements
+ *  iavf_free_arq_bufs - Free receive queue buffer info elements
  *  @hw: pointer to the hardware structure
  **/
-STATIC void avf_free_arq_bufs(struct avf_hw *hw)
+STATIC void iavf_free_arq_bufs(struct iavf_hw *hw)
 {
 	int i;
 
 	/* free descriptors */
 	for (i = 0; i < hw->aq.num_arq_entries; i++)
-		avf_free_dma_mem(hw, &hw->aq.arq.r.arq_bi[i]);
+		iavf_free_dma_mem(hw, &hw->aq.arq.r.arq_bi[i]);
 
 	/* free the descriptor memory */
-	avf_free_dma_mem(hw, &hw->aq.arq.desc_buf);
+	iavf_free_dma_mem(hw, &hw->aq.arq.desc_buf);
 
 	/* free the dma header */
-	avf_free_virt_mem(hw, &hw->aq.arq.dma_head);
+	iavf_free_virt_mem(hw, &hw->aq.arq.dma_head);
 }
 
 /**
- *  avf_free_asq_bufs - Free send queue buffer info elements
+ *  iavf_free_asq_bufs - Free send queue buffer info elements
  *  @hw: pointer to the hardware structure
  **/
-STATIC void avf_free_asq_bufs(struct avf_hw *hw)
+STATIC void iavf_free_asq_bufs(struct iavf_hw *hw)
 {
 	int i;
 
 	/* only unmap if the address is non-NULL */
 	for (i = 0; i < hw->aq.num_asq_entries; i++)
 		if (hw->aq.asq.r.asq_bi[i].pa)
-			avf_free_dma_mem(hw, &hw->aq.asq.r.asq_bi[i]);
+			iavf_free_dma_mem(hw, &hw->aq.asq.r.asq_bi[i]);
 
 	/* free the buffer info list */
-	avf_free_virt_mem(hw, &hw->aq.asq.cmd_buf);
+	iavf_free_virt_mem(hw, &hw->aq.asq.cmd_buf);
 
 	/* free the descriptor memory */
-	avf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
+	iavf_free_dma_mem(hw, &hw->aq.asq.desc_buf);
 
 	/* free the dma header */
-	avf_free_virt_mem(hw, &hw->aq.asq.dma_head);
+	iavf_free_virt_mem(hw, &hw->aq.asq.dma_head);
 }
 
 /**
- *  avf_config_asq_regs - configure ASQ registers
+ *  iavf_config_asq_regs - configure ASQ registers
  *  @hw: pointer to the hardware structure
  *
  *  Configure base address and length registers for the transmit queue
  **/
-STATIC enum avf_status_code avf_config_asq_regs(struct avf_hw *hw)
+STATIC enum iavf_status_code iavf_config_asq_regs(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 	u32 reg = 0;
 
 	/* Clear Head and Tail */
@@ -294,33 +294,33 @@ STATIC enum avf_status_code avf_config_asq_regs(struct avf_hw *hw)
 
 	/* set starting point */
 #ifdef INTEGRATED_VF
-	if (avf_is_vf(hw))
+	if (iavf_is_vf(hw))
 		wr32(hw, hw->aq.asq.len, (hw->aq.num_asq_entries |
-					  AVF_ATQLEN1_ATQENABLE_MASK));
+					  IAVF_ATQLEN1_ATQENABLE_MASK));
 #else
 	wr32(hw, hw->aq.asq.len, (hw->aq.num_asq_entries |
-				  AVF_ATQLEN1_ATQENABLE_MASK));
+				  IAVF_ATQLEN1_ATQENABLE_MASK));
 #endif /* INTEGRATED_VF */
-	wr32(hw, hw->aq.asq.bal, AVF_LO_DWORD(hw->aq.asq.desc_buf.pa));
-	wr32(hw, hw->aq.asq.bah, AVF_HI_DWORD(hw->aq.asq.desc_buf.pa));
+	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));
 
 	/* Check one register to verify that config was applied */
 	reg = rd32(hw, hw->aq.asq.bal);
-	if (reg != AVF_LO_DWORD(hw->aq.asq.desc_buf.pa))
-		ret_code = AVF_ERR_ADMIN_QUEUE_ERROR;
+	if (reg != IAVF_LO_DWORD(hw->aq.asq.desc_buf.pa))
+		ret_code = IAVF_ERR_ADMIN_QUEUE_ERROR;
 
 	return ret_code;
 }
 
 /**
- *  avf_config_arq_regs - ARQ register configuration
+ *  iavf_config_arq_regs - ARQ register configuration
  *  @hw: pointer to the hardware structure
  *
  * Configure base address and length registers for the receive (event queue)
  **/
-STATIC enum avf_status_code avf_config_arq_regs(struct avf_hw *hw)
+STATIC enum iavf_status_code iavf_config_arq_regs(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 	u32 reg = 0;
 
 	/* Clear Head and Tail */
@@ -329,29 +329,29 @@ STATIC enum avf_status_code avf_config_arq_regs(struct avf_hw *hw)
 
 	/* set starting point */
 #ifdef INTEGRATED_VF
-	if (avf_is_vf(hw))
+	if (iavf_is_vf(hw))
 		wr32(hw, hw->aq.arq.len, (hw->aq.num_arq_entries |
-					  AVF_ARQLEN1_ARQENABLE_MASK));
+					  IAVF_ARQLEN1_ARQENABLE_MASK));
 #else
 	wr32(hw, hw->aq.arq.len, (hw->aq.num_arq_entries |
-				  AVF_ARQLEN1_ARQENABLE_MASK));
+				  IAVF_ARQLEN1_ARQENABLE_MASK));
 #endif /* INTEGRATED_VF */
-	wr32(hw, hw->aq.arq.bal, AVF_LO_DWORD(hw->aq.arq.desc_buf.pa));
-	wr32(hw, hw->aq.arq.bah, AVF_HI_DWORD(hw->aq.arq.desc_buf.pa));
+	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));
 
 	/* Update tail in the HW to post pre-allocated buffers */
 	wr32(hw, hw->aq.arq.tail, hw->aq.num_arq_entries - 1);
 
 	/* Check one register to verify that config was applied */
 	reg = rd32(hw, hw->aq.arq.bal);
-	if (reg != AVF_LO_DWORD(hw->aq.arq.desc_buf.pa))
-		ret_code = AVF_ERR_ADMIN_QUEUE_ERROR;
+	if (reg != IAVF_LO_DWORD(hw->aq.arq.desc_buf.pa))
+		ret_code = IAVF_ERR_ADMIN_QUEUE_ERROR;
 
 	return ret_code;
 }
 
 /**
- *  avf_init_asq - main initialization routine for ASQ
+ *  iavf_init_asq - main initialization routine for ASQ
  *  @hw: pointer to the hardware structure
  *
  *  This is the main initialization routine for the Admin Send Queue
@@ -363,20 +363,20 @@ STATIC enum avf_status_code avf_config_arq_regs(struct avf_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 avf_status_code avf_init_asq(struct avf_hw *hw)
+enum iavf_status_code iavf_init_asq(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 
 	if (hw->aq.asq.count > 0) {
 		/* queue already initialized */
-		ret_code = AVF_ERR_NOT_READY;
+		ret_code = IAVF_ERR_NOT_READY;
 		goto init_adminq_exit;
 	}
 
 	/* verify input for valid configuration */
 	if ((hw->aq.num_asq_entries == 0) ||
 	    (hw->aq.asq_buf_size == 0)) {
-		ret_code = AVF_ERR_CONFIG;
+		ret_code = IAVF_ERR_CONFIG;
 		goto init_adminq_exit;
 	}
 
@@ -384,18 +384,18 @@ enum avf_status_code avf_init_asq(struct avf_hw *hw)
 	hw->aq.asq.next_to_clean = 0;
 
 	/* allocate the ring memory */
-	ret_code = avf_alloc_adminq_asq_ring(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_alloc_adminq_asq_ring(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_exit;
 
 	/* allocate buffers in the rings */
-	ret_code = avf_alloc_asq_bufs(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_alloc_asq_bufs(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_free_rings;
 
 	/* initialize base registers */
-	ret_code = avf_config_asq_regs(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_config_asq_regs(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_free_rings;
 
 	/* success! */
@@ -403,14 +403,14 @@ enum avf_status_code avf_init_asq(struct avf_hw *hw)
 	goto init_adminq_exit;
 
 init_adminq_free_rings:
-	avf_free_adminq_asq(hw);
+	iavf_free_adminq_asq(hw);
 
 init_adminq_exit:
 	return ret_code;
 }
 
 /**
- *  avf_init_arq - initialize ARQ
+ *  iavf_init_arq - initialize ARQ
  *  @hw: pointer to the hardware structure
  *
  *  The main initialization routine for the Admin Receive (Event) Queue.
@@ -422,20 +422,20 @@ enum avf_status_code avf_init_asq(struct avf_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 avf_status_code avf_init_arq(struct avf_hw *hw)
+enum iavf_status_code iavf_init_arq(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 
 	if (hw->aq.arq.count > 0) {
 		/* queue already initialized */
-		ret_code = AVF_ERR_NOT_READY;
+		ret_code = IAVF_ERR_NOT_READY;
 		goto init_adminq_exit;
 	}
 
 	/* verify input for valid configuration */
 	if ((hw->aq.num_arq_entries == 0) ||
 	    (hw->aq.arq_buf_size == 0)) {
-		ret_code = AVF_ERR_CONFIG;
+		ret_code = IAVF_ERR_CONFIG;
 		goto init_adminq_exit;
 	}
 
@@ -443,18 +443,18 @@ enum avf_status_code avf_init_arq(struct avf_hw *hw)
 	hw->aq.arq.next_to_clean = 0;
 
 	/* allocate the ring memory */
-	ret_code = avf_alloc_adminq_arq_ring(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_alloc_adminq_arq_ring(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_exit;
 
 	/* allocate buffers in the rings */
-	ret_code = avf_alloc_arq_bufs(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_alloc_arq_bufs(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_free_rings;
 
 	/* initialize base registers */
-	ret_code = avf_config_arq_regs(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_config_arq_regs(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_free_rings;
 
 	/* success! */
@@ -462,26 +462,26 @@ enum avf_status_code avf_init_arq(struct avf_hw *hw)
 	goto init_adminq_exit;
 
 init_adminq_free_rings:
-	avf_free_adminq_arq(hw);
+	iavf_free_adminq_arq(hw);
 
 init_adminq_exit:
 	return ret_code;
 }
 
 /**
- *  avf_shutdown_asq - shutdown the ASQ
+ *  iavf_shutdown_asq - shutdown the ASQ
  *  @hw: pointer to the hardware structure
  *
  *  The main shutdown routine for the Admin Send Queue
  **/
-enum avf_status_code avf_shutdown_asq(struct avf_hw *hw)
+enum iavf_status_code iavf_shutdown_asq(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 
-	avf_acquire_spinlock(&hw->aq.asq_spinlock);
+	iavf_acquire_spinlock(&hw->aq.asq_spinlock);
 
 	if (hw->aq.asq.count == 0) {
-		ret_code = AVF_ERR_NOT_READY;
+		ret_code = IAVF_ERR_NOT_READY;
 		goto shutdown_asq_out;
 	}
 
@@ -495,27 +495,27 @@ enum avf_status_code avf_shutdown_asq(struct avf_hw *hw)
 	hw->aq.asq.count = 0; /* to indicate uninitialized queue */
 
 	/* free ring buffers */
-	avf_free_asq_bufs(hw);
+	iavf_free_asq_bufs(hw);
 
 shutdown_asq_out:
-	avf_release_spinlock(&hw->aq.asq_spinlock);
+	iavf_release_spinlock(&hw->aq.asq_spinlock);
 	return ret_code;
 }
 
 /**
- *  avf_shutdown_arq - shutdown ARQ
+ *  iavf_shutdown_arq - shutdown ARQ
  *  @hw: pointer to the hardware structure
  *
  *  The main shutdown routine for the Admin Receive Queue
  **/
-enum avf_status_code avf_shutdown_arq(struct avf_hw *hw)
+enum iavf_status_code iavf_shutdown_arq(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 
-	avf_acquire_spinlock(&hw->aq.arq_spinlock);
+	iavf_acquire_spinlock(&hw->aq.arq_spinlock);
 
 	if (hw->aq.arq.count == 0) {
-		ret_code = AVF_ERR_NOT_READY;
+		ret_code = IAVF_ERR_NOT_READY;
 		goto shutdown_arq_out;
 	}
 
@@ -529,15 +529,15 @@ enum avf_status_code avf_shutdown_arq(struct avf_hw *hw)
 	hw->aq.arq.count = 0; /* to indicate uninitialized queue */
 
 	/* free ring buffers */
-	avf_free_arq_bufs(hw);
+	iavf_free_arq_bufs(hw);
 
 shutdown_arq_out:
-	avf_release_spinlock(&hw->aq.arq_spinlock);
+	iavf_release_spinlock(&hw->aq.arq_spinlock);
 	return ret_code;
 }
 
 /**
- *  avf_init_adminq - main initialization routine for Admin Queue
+ *  iavf_init_adminq - main initialization routine for Admin Queue
  *  @hw: pointer to the hardware structure
  *
  *  Prior to calling this function, drivers *MUST* set the following fields
@@ -547,123 +547,123 @@ enum avf_status_code avf_shutdown_arq(struct avf_hw *hw)
  *     - hw->aq.arq_buf_size
  *     - hw->aq.asq_buf_size
  **/
-enum avf_status_code avf_init_adminq(struct avf_hw *hw)
+enum iavf_status_code iavf_init_adminq(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code;
+	enum iavf_status_code ret_code;
 
 	/* verify input for valid configuration */
 	if ((hw->aq.num_arq_entries == 0) ||
 	    (hw->aq.num_asq_entries == 0) ||
 	    (hw->aq.arq_buf_size == 0) ||
 	    (hw->aq.asq_buf_size == 0)) {
-		ret_code = AVF_ERR_CONFIG;
+		ret_code = IAVF_ERR_CONFIG;
 		goto init_adminq_exit;
 	}
-	avf_init_spinlock(&hw->aq.asq_spinlock);
-	avf_init_spinlock(&hw->aq.arq_spinlock);
+	iavf_init_spinlock(&hw->aq.asq_spinlock);
+	iavf_init_spinlock(&hw->aq.arq_spinlock);
 
 	/* Set up register offsets */
-	avf_adminq_init_regs(hw);
+	iavf_adminq_init_regs(hw);
 
 	/* setup ASQ command write back timeout */
-	hw->aq.asq_cmd_timeout = AVF_ASQ_CMD_TIMEOUT;
+	hw->aq.asq_cmd_timeout = IAVF_ASQ_CMD_TIMEOUT;
 
 	/* allocate the ASQ */
-	ret_code = avf_init_asq(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_init_asq(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_destroy_spinlocks;
 
 	/* allocate the ARQ */
-	ret_code = avf_init_arq(hw);
-	if (ret_code != AVF_SUCCESS)
+	ret_code = iavf_init_arq(hw);
+	if (ret_code != IAVF_SUCCESS)
 		goto init_adminq_free_asq;
 
-	ret_code = AVF_SUCCESS;
+	ret_code = IAVF_SUCCESS;
 
 	/* success! */
 	goto init_adminq_exit;
 
 init_adminq_free_asq:
-	avf_shutdown_asq(hw);
+	iavf_shutdown_asq(hw);
 init_adminq_destroy_spinlocks:
-	avf_destroy_spinlock(&hw->aq.asq_spinlock);
-	avf_destroy_spinlock(&hw->aq.arq_spinlock);
+	iavf_destroy_spinlock(&hw->aq.asq_spinlock);
+	iavf_destroy_spinlock(&hw->aq.arq_spinlock);
 
 init_adminq_exit:
 	return ret_code;
 }
 
 /**
- *  avf_shutdown_adminq - shutdown routine for the Admin Queue
+ *  iavf_shutdown_adminq - shutdown routine for the Admin Queue
  *  @hw: pointer to the hardware structure
  **/
-enum avf_status_code avf_shutdown_adminq(struct avf_hw *hw)
+enum iavf_status_code iavf_shutdown_adminq(struct iavf_hw *hw)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 
-	if (avf_check_asq_alive(hw))
-		avf_aq_queue_shutdown(hw, true);
+	if (iavf_check_asq_alive(hw))
+		iavf_aq_queue_shutdown(hw, true);
 
-	avf_shutdown_asq(hw);
-	avf_shutdown_arq(hw);
-	avf_destroy_spinlock(&hw->aq.asq_spinlock);
-	avf_destroy_spinlock(&hw->aq.arq_spinlock);
+	iavf_shutdown_asq(hw);
+	iavf_shutdown_arq(hw);
+	iavf_destroy_spinlock(&hw->aq.asq_spinlock);
+	iavf_destroy_spinlock(&hw->aq.arq_spinlock);
 
 	if (hw->nvm_buff.va)
-		avf_free_virt_mem(hw, &hw->nvm_buff);
+		iavf_free_virt_mem(hw, &hw->nvm_buff);
 
 	return ret_code;
 }
 
 /**
- *  avf_clean_asq - cleans Admin send queue
+ *  iavf_clean_asq - cleans Admin send queue
  *  @hw: pointer to the hardware structure
  *
  *  returns the number of free desc
  **/
-u16 avf_clean_asq(struct avf_hw *hw)
+u16 iavf_clean_asq(struct iavf_hw *hw)
 {
-	struct avf_adminq_ring *asq = &(hw->aq.asq);
-	struct avf_asq_cmd_details *details;
+	struct iavf_adminq_ring *asq = &(hw->aq.asq);
+	struct iavf_asq_cmd_details *details;
 	u16 ntc = asq->next_to_clean;
-	struct avf_aq_desc desc_cb;
-	struct avf_aq_desc *desc;
+	struct iavf_aq_desc desc_cb;
+	struct iavf_aq_desc *desc;
 
-	desc = AVF_ADMINQ_DESC(*asq, ntc);
-	details = AVF_ADMINQ_DETAILS(*asq, ntc);
+	desc = IAVF_ADMINQ_DESC(*asq, ntc);
+	details = IAVF_ADMINQ_DETAILS(*asq, ntc);
 	while (rd32(hw, hw->aq.asq.head) != ntc) {
-		avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+		iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 			   "ntc %d head %d.\n", ntc, rd32(hw, hw->aq.asq.head));
 
 		if (details->callback) {
-			AVF_ADMINQ_CALLBACK cb_func =
-					(AVF_ADMINQ_CALLBACK)details->callback;
-			avf_memcpy(&desc_cb, desc, sizeof(struct avf_aq_desc),
-				    AVF_DMA_TO_DMA);
+			IAVF_ADMINQ_CALLBACK cb_func =
+					(IAVF_ADMINQ_CALLBACK)details->callback;
+			iavf_memcpy(&desc_cb, desc, sizeof(struct iavf_aq_desc),
+				    IAVF_DMA_TO_DMA);
 			cb_func(hw, &desc_cb);
 		}
-		avf_memset(desc, 0, sizeof(*desc), AVF_DMA_MEM);
-		avf_memset(details, 0, sizeof(*details), AVF_NONDMA_MEM);
+		iavf_memset(desc, 0, sizeof(*desc), IAVF_DMA_MEM);
+		iavf_memset(details, 0, sizeof(*details), IAVF_NONDMA_MEM);
 		ntc++;
 		if (ntc == asq->count)
 			ntc = 0;
-		desc = AVF_ADMINQ_DESC(*asq, ntc);
-		details = AVF_ADMINQ_DETAILS(*asq, ntc);
+		desc = IAVF_ADMINQ_DESC(*asq, ntc);
+		details = IAVF_ADMINQ_DETAILS(*asq, ntc);
 	}
 
 	asq->next_to_clean = ntc;
 
-	return AVF_DESC_UNUSED(asq);
+	return IAVF_DESC_UNUSED(asq);
 }
 
 /**
- *  avf_asq_done - check if FW has processed the Admin Send Queue
+ *  iavf_asq_done - check if FW has processed the Admin Send Queue
  *  @hw: pointer to the hw struct
  *
  *  Returns true if the firmware has processed all descriptors on the
  *  admin send queue. Returns false if there are still requests pending.
  **/
-bool avf_asq_done(struct avf_hw *hw)
+bool iavf_asq_done(struct iavf_hw *hw)
 {
 	/* AQ designers suggest use of head for better
 	 * timing reliability than DD bit
@@ -673,7 +673,7 @@ bool avf_asq_done(struct avf_hw *hw)
 }
 
 /**
- *  avf_asq_send_command - send command to Admin Queue
+ *  iavf_asq_send_command - send command to Admin Queue
  *  @hw: pointer to the hw struct
  *  @desc: prefilled descriptor describing the command (non DMA mem)
  *  @buff: buffer to use for indirect commands
@@ -683,45 +683,45 @@ bool avf_asq_done(struct avf_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 avf_status_code avf_asq_send_command(struct avf_hw *hw,
-				struct avf_aq_desc *desc,
+enum iavf_status_code iavf_asq_send_command(struct iavf_hw *hw,
+				struct iavf_aq_desc *desc,
 				void *buff, /* can be NULL */
 				u16  buff_size,
-				struct avf_asq_cmd_details *cmd_details)
+				struct iavf_asq_cmd_details *cmd_details)
 {
-	enum avf_status_code status = AVF_SUCCESS;
-	struct avf_dma_mem *dma_buff = NULL;
-	struct avf_asq_cmd_details *details;
-	struct avf_aq_desc *desc_on_ring;
+	enum iavf_status_code status = IAVF_SUCCESS;
+	struct iavf_dma_mem *dma_buff = NULL;
+	struct iavf_asq_cmd_details *details;
+	struct iavf_aq_desc *desc_on_ring;
 	bool cmd_completed = false;
 	u16  retval = 0;
 	u32  val = 0;
 
-	avf_acquire_spinlock(&hw->aq.asq_spinlock);
+	iavf_acquire_spinlock(&hw->aq.asq_spinlock);
 
-	hw->aq.asq_last_status = AVF_AQ_RC_OK;
+	hw->aq.asq_last_status = IAVF_AQ_RC_OK;
 
 	if (hw->aq.asq.count == 0) {
-		avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+		iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 			   "AQTX: Admin queue not initialized.\n");
-		status = AVF_ERR_QUEUE_EMPTY;
+		status = IAVF_ERR_QUEUE_EMPTY;
 		goto asq_send_command_error;
 	}
 
 	val = rd32(hw, hw->aq.asq.head);
 	if (val >= hw->aq.num_asq_entries) {
-		avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+		iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 			   "AQTX: head overrun at %d\n", val);
-		status = AVF_ERR_QUEUE_EMPTY;
+		status = IAVF_ERR_QUEUE_EMPTY;
 		goto asq_send_command_error;
 	}
 
-	details = AVF_ADMINQ_DETAILS(hw->aq.asq, hw->aq.asq.next_to_use);
+	details = IAVF_ADMINQ_DETAILS(hw->aq.asq, hw->aq.asq.next_to_use);
 	if (cmd_details) {
-		avf_memcpy(details,
+		iavf_memcpy(details,
 			    cmd_details,
-			    sizeof(struct avf_asq_cmd_details),
-			    AVF_NONDMA_TO_NONDMA);
+			    sizeof(struct iavf_asq_cmd_details),
+			    IAVF_NONDMA_TO_NONDMA);
 
 		/* If the cmd_details are defined copy the cookie.  The
 		 * CPU_TO_LE32 is not needed here because the data is ignored
@@ -729,14 +729,14 @@ enum avf_status_code avf_asq_send_command(struct avf_hw *hw,
 		 */
 		if (details->cookie) {
 			desc->cookie_high =
-				CPU_TO_LE32(AVF_HI_DWORD(details->cookie));
+				CPU_TO_LE32(IAVF_HI_DWORD(details->cookie));
 			desc->cookie_low =
-				CPU_TO_LE32(AVF_LO_DWORD(details->cookie));
+				CPU_TO_LE32(IAVF_LO_DWORD(details->cookie));
 		}
 	} else {
-		avf_memset(details, 0,
-			    sizeof(struct avf_asq_cmd_details),
-			    AVF_NONDMA_MEM);
+		iavf_memset(details, 0,
+			    sizeof(struct iavf_asq_cmd_details),
+			    IAVF_NONDMA_MEM);
 	}
 
 	/* clear requested flags and then set additional flags if defined */
@@ -744,19 +744,19 @@ enum avf_status_code avf_asq_send_command(struct avf_hw *hw,
 	desc->flags |= CPU_TO_LE16(details->flags_ena);
 
 	if (buff_size > hw->aq.asq_buf_size) {
-		avf_debug(hw,
-			   AVF_DEBUG_AQ_MESSAGE,
+		iavf_debug(hw,
+			   IAVF_DEBUG_AQ_MESSAGE,
 			   "AQTX: Invalid buffer size: %d.\n",
 			   buff_size);
-		status = AVF_ERR_INVALID_SIZE;
+		status = IAVF_ERR_INVALID_SIZE;
 		goto asq_send_command_error;
 	}
 
 	if (details->postpone && !details->async) {
-		avf_debug(hw,
-			   AVF_DEBUG_AQ_MESSAGE,
+		iavf_debug(hw,
+			   IAVF_DEBUG_AQ_MESSAGE,
 			   "AQTX: Async flag not set along with postpone flag");
-		status = AVF_ERR_PARAM;
+		status = IAVF_ERR_PARAM;
 		goto asq_send_command_error;
 	}
 
@@ -767,41 +767,41 @@ enum avf_status_code avf_asq_send_command(struct avf_hw *hw,
 	/* the clean function called here could be called in a separate thread
 	 * in case of asynchronous completions
 	 */
-	if (avf_clean_asq(hw) == 0) {
-		avf_debug(hw,
-			   AVF_DEBUG_AQ_MESSAGE,
+	if (iavf_clean_asq(hw) == 0) {
+		iavf_debug(hw,
+			   IAVF_DEBUG_AQ_MESSAGE,
 			   "AQTX: Error queue is full.\n");
-		status = AVF_ERR_ADMIN_QUEUE_FULL;
+		status = IAVF_ERR_ADMIN_QUEUE_FULL;
 		goto asq_send_command_error;
 	}
 
 	/* initialize the temp desc pointer with the right desc */
-	desc_on_ring = AVF_ADMINQ_DESC(hw->aq.asq, hw->aq.asq.next_to_use);
+	desc_on_ring = IAVF_ADMINQ_DESC(hw->aq.asq, hw->aq.asq.next_to_use);
 
 	/* if the desc is available copy the temp desc to the right place */
-	avf_memcpy(desc_on_ring, desc, sizeof(struct avf_aq_desc),
-		    AVF_NONDMA_TO_DMA);
+	iavf_memcpy(desc_on_ring, desc, sizeof(struct iavf_aq_desc),
+		    IAVF_NONDMA_TO_DMA);
 
 	/* if buff is not NULL assume indirect command */
 	if (buff != NULL) {
 		dma_buff = &(hw->aq.asq.r.asq_bi[hw->aq.asq.next_to_use]);
 		/* copy the user buff into the respective DMA buff */
-		avf_memcpy(dma_buff->va, buff, buff_size,
-			    AVF_NONDMA_TO_DMA);
+		iavf_memcpy(dma_buff->va, buff, buff_size,
+			    IAVF_NONDMA_TO_DMA);
 		desc_on_ring->datalen = CPU_TO_LE16(buff_size);
 
 		/* Update the address values in the desc with the pa value
 		 * for respective buffer
 		 */
 		desc_on_ring->params.external.addr_high =
-				CPU_TO_LE32(AVF_HI_DWORD(dma_buff->pa));
+				CPU_TO_LE32(IAVF_HI_DWORD(dma_buff->pa));
 		desc_on_ring->params.external.addr_low =
-				CPU_TO_LE32(AVF_LO_DWORD(dma_buff->pa));
+				CPU_TO_LE32(IAVF_LO_DWORD(dma_buff->pa));
 	}
 
 	/* bump the tail */
-	avf_debug(hw, AVF_DEBUG_AQ_MESSAGE, "AQTX: desc and buffer:\n");
-	avf_debug_aq(hw, AVF_DEBUG_AQ_COMMAND, (void *)desc_on_ring,
+	iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE, "AQTX: desc and buffer:\n");
+	iavf_debug_aq(hw, IAVF_DEBUG_AQ_COMMAND, (void *)desc_on_ring,
 		      buff, buff_size);
 	(hw->aq.asq.next_to_use)++;
 	if (hw->aq.asq.next_to_use == hw->aq.asq.count)
@@ -819,24 +819,24 @@ enum avf_status_code avf_asq_send_command(struct avf_hw *hw,
 			/* AQ designers suggest use of head for better
 			 * timing reliability than DD bit
 			 */
-			if (avf_asq_done(hw))
+			if (iavf_asq_done(hw))
 				break;
-			avf_usec_delay(50);
+			iavf_usec_delay(50);
 			total_delay += 50;
 		} while (total_delay < hw->aq.asq_cmd_timeout);
 	}
 
 	/* if ready, copy the desc back to temp */
-	if (avf_asq_done(hw)) {
-		avf_memcpy(desc, desc_on_ring, sizeof(struct avf_aq_desc),
-			    AVF_DMA_TO_NONDMA);
+	if (iavf_asq_done(hw)) {
+		iavf_memcpy(desc, desc_on_ring, sizeof(struct iavf_aq_desc),
+			    IAVF_DMA_TO_NONDMA);
 		if (buff != NULL)
-			avf_memcpy(buff, dma_buff->va, buff_size,
-				    AVF_DMA_TO_NONDMA);
+			iavf_memcpy(buff, dma_buff->va, buff_size,
+				    IAVF_DMA_TO_NONDMA);
 		retval = LE16_TO_CPU(desc->retval);
 		if (retval != 0) {
-			avf_debug(hw,
-				   AVF_DEBUG_AQ_MESSAGE,
+			iavf_debug(hw,
+				   IAVF_DEBUG_AQ_MESSAGE,
 				   "AQTX: Command completed with error 0x%X.\n",
 				   retval);
 
@@ -844,60 +844,60 @@ enum avf_status_code avf_asq_send_command(struct avf_hw *hw,
 			retval &= 0xff;
 		}
 		cmd_completed = true;
-		if ((enum avf_admin_queue_err)retval == AVF_AQ_RC_OK)
-			status = AVF_SUCCESS;
+		if ((enum iavf_admin_queue_err)retval == IAVF_AQ_RC_OK)
+			status = IAVF_SUCCESS;
 		else
-			status = AVF_ERR_ADMIN_QUEUE_ERROR;
-		hw->aq.asq_last_status = (enum avf_admin_queue_err)retval;
+			status = IAVF_ERR_ADMIN_QUEUE_ERROR;
+		hw->aq.asq_last_status = (enum iavf_admin_queue_err)retval;
 	}
 
-	avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+	iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 		   "AQTX: desc and buffer writeback:\n");
-	avf_debug_aq(hw, AVF_DEBUG_AQ_COMMAND, (void *)desc, buff, buff_size);
+	iavf_debug_aq(hw, IAVF_DEBUG_AQ_COMMAND, (void *)desc, buff, buff_size);
 
 	/* save writeback aq if requested */
 	if (details->wb_desc)
-		avf_memcpy(details->wb_desc, desc_on_ring,
-			    sizeof(struct avf_aq_desc), AVF_DMA_TO_NONDMA);
+		iavf_memcpy(details->wb_desc, desc_on_ring,
+			    sizeof(struct iavf_aq_desc), IAVF_DMA_TO_NONDMA);
 
 	/* update the error if time out occurred */
 	if ((!cmd_completed) &&
 	    (!details->async && !details->postpone)) {
-		if (rd32(hw, hw->aq.asq.len) & AVF_ATQLEN1_ATQCRIT_MASK) {
-			avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+		if (rd32(hw, hw->aq.asq.len) & IAVF_ATQLEN1_ATQCRIT_MASK) {
+			iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 				   "AQTX: AQ Critical error.\n");
-			status = AVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR;
+			status = IAVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR;
 		} else {
-			avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+			iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 				   "AQTX: Writeback timeout.\n");
-			status = AVF_ERR_ADMIN_QUEUE_TIMEOUT;
+			status = IAVF_ERR_ADMIN_QUEUE_TIMEOUT;
 		}
 	}
 
 asq_send_command_error:
-	avf_release_spinlock(&hw->aq.asq_spinlock);
+	iavf_release_spinlock(&hw->aq.asq_spinlock);
 	return status;
 }
 
 /**
- *  avf_fill_default_direct_cmd_desc - AQ descriptor helper function
+ *  iavf_fill_default_direct_cmd_desc - AQ descriptor helper function
  *  @desc:     pointer to the temp descriptor (non DMA mem)
  *  @opcode:   the opcode can be used to decide which flags to turn off or on
  *
  *  Fill the desc with default values
  **/
-void avf_fill_default_direct_cmd_desc(struct avf_aq_desc *desc,
+void iavf_fill_default_direct_cmd_desc(struct iavf_aq_desc *desc,
 				       u16 opcode)
 {
 	/* zero out the desc */
-	avf_memset((void *)desc, 0, sizeof(struct avf_aq_desc),
-		    AVF_NONDMA_MEM);
+	iavf_memset((void *)desc, 0, sizeof(struct iavf_aq_desc),
+		    IAVF_NONDMA_MEM);
 	desc->opcode = CPU_TO_LE16(opcode);
-	desc->flags = CPU_TO_LE16(AVF_AQ_FLAG_SI);
+	desc->flags = CPU_TO_LE16(IAVF_AQ_FLAG_SI);
 }
 
 /**
- *  avf_clean_arq_element
+ *  iavf_clean_arq_element
  *  @hw: pointer to the hw struct
  *  @e: event info from the receive descriptor, includes any buffers
  *  @pending: number of events that could be left to process
@@ -906,73 +906,73 @@ void avf_fill_default_direct_cmd_desc(struct avf_aq_desc *desc,
  *  the contents through e.  It can also return how many events are
  *  left to process through 'pending'
  **/
-enum avf_status_code avf_clean_arq_element(struct avf_hw *hw,
-					     struct avf_arq_event_info *e,
+enum iavf_status_code iavf_clean_arq_element(struct iavf_hw *hw,
+					     struct iavf_arq_event_info *e,
 					     u16 *pending)
 {
-	enum avf_status_code ret_code = AVF_SUCCESS;
+	enum iavf_status_code ret_code = IAVF_SUCCESS;
 	u16 ntc = hw->aq.arq.next_to_clean;
-	struct avf_aq_desc *desc;
-	struct avf_dma_mem *bi;
+	struct iavf_aq_desc *desc;
+	struct iavf_dma_mem *bi;
 	u16 desc_idx;
 	u16 datalen;
 	u16 flags;
 	u16 ntu;
 
 	/* pre-clean the event info */
-	avf_memset(&e->desc, 0, sizeof(e->desc), AVF_NONDMA_MEM);
+	iavf_memset(&e->desc, 0, sizeof(e->desc), IAVF_NONDMA_MEM);
 
 	/* take the lock before we start messing with the ring */
-	avf_acquire_spinlock(&hw->aq.arq_spinlock);
+	iavf_acquire_spinlock(&hw->aq.arq_spinlock);
 
 	if (hw->aq.arq.count == 0) {
-		avf_debug(hw, AVF_DEBUG_AQ_MESSAGE,
+		iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE,
 			   "AQRX: Admin queue not initialized.\n");
-		ret_code = AVF_ERR_QUEUE_EMPTY;
+		ret_code = IAVF_ERR_QUEUE_EMPTY;
 		goto clean_arq_element_err;
 	}
 
 	/* set next_to_use to head */
 #ifdef INTEGRATED_VF
-	if (!avf_is_vf(hw))
-		ntu = rd32(hw, hw->aq.arq.head) & AVF_PF_ARQH_ARQH_MASK;
+	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) & AVF_ARQH1_ARQH_MASK;
+		ntu = rd32(hw, hw->aq.arq.head) & IAVF_ARQH1_ARQH_MASK;
 #else
-	ntu = rd32(hw, hw->aq.arq.head) & AVF_ARQH1_ARQH_MASK;
+	ntu = rd32(hw, hw->aq.arq.head) & IAVF_ARQH1_ARQH_MASK;
 #endif /* INTEGRATED_VF */
 	if (ntu == ntc) {
 		/* nothing to do - shouldn't need to update ring's values */
-		ret_code = AVF_ERR_ADMIN_QUEUE_NO_WORK;
+		ret_code = IAVF_ERR_ADMIN_QUEUE_NO_WORK;
 		goto clean_arq_element_out;
 	}
 
 	/* now clean the next descriptor */
-	desc = AVF_ADMINQ_DESC(hw->aq.arq, ntc);
+	desc = IAVF_ADMINQ_DESC(hw->aq.arq, ntc);
 	desc_idx = ntc;
 
 	hw->aq.arq_last_status =
-		(enum avf_admin_queue_err)LE16_TO_CPU(desc->retval);
+		(enum iavf_admin_queue_err)LE16_TO_CPU(desc->retval);
 	flags = LE16_TO_CPU(desc->flags);
-	if (flags & AVF_AQ_FLAG_ERR) {
-		ret_code = AVF_ERR_ADMIN_QUEUE_ERROR;
-		avf_debug(hw,
-			   AVF_DEBUG_AQ_MESSAGE,
+	if (flags & IAVF_AQ_FLAG_ERR) {
+		ret_code = IAVF_ERR_ADMIN_QUEUE_ERROR;
+		iavf_debug(hw,
+			   IAVF_DEBUG_AQ_MESSAGE,
 			   "AQRX: Event received with error 0x%X.\n",
 			   hw->aq.arq_last_status);
 	}
 
-	avf_memcpy(&e->desc, desc, sizeof(struct avf_aq_desc),
-		    AVF_DMA_TO_NONDMA);
+	iavf_memcpy(&e->desc, desc, sizeof(struct iavf_aq_desc),
+		    IAVF_DMA_TO_NONDMA);
 	datalen = LE16_TO_CPU(desc->datalen);
 	e->msg_len = min(datalen, e->buf_len);
 	if (e->msg_buf != NULL && (e->msg_len != 0))
-		avf_memcpy(e->msg_buf,
+		iavf_memcpy(e->msg_buf,
 			    hw->aq.arq.r.arq_bi[desc_idx].va,
-			    e->msg_len, AVF_DMA_TO_NONDMA);
+			    e->msg_len, IAVF_DMA_TO_NONDMA);
 
-	avf_debug(hw, AVF_DEBUG_AQ_MESSAGE, "AQRX: desc and buffer:\n");
-	avf_debug_aq(hw, AVF_DEBUG_AQ_COMMAND, (void *)desc, e->msg_buf,
+	iavf_debug(hw, IAVF_DEBUG_AQ_MESSAGE, "AQRX: desc and buffer:\n");
+	iavf_debug_aq(hw, IAVF_DEBUG_AQ_COMMAND, (void *)desc, e->msg_buf,
 		      hw->aq.arq_buf_size);
 
 	/* Restore the original datalen and buffer address in the desc,
@@ -980,14 +980,14 @@ enum avf_status_code avf_clean_arq_element(struct avf_hw *hw,
 	 * size
 	 */
 	bi = &hw->aq.arq.r.arq_bi[ntc];
-	avf_memset((void *)desc, 0, sizeof(struct avf_aq_desc), AVF_DMA_MEM);
+	iavf_memset((void *)desc, 0, sizeof(struct iavf_aq_desc), IAVF_DMA_MEM);
 
-	desc->flags = CPU_TO_LE16(AVF_AQ_FLAG_BUF);
-	if (hw->aq.arq_buf_size > AVF_AQ_LARGE_BUF)
-		desc->flags |= CPU_TO_LE16(AVF_AQ_FLAG_LB);
+	desc->flags = CPU_TO_LE16(IAVF_AQ_FLAG_BUF);
+	if (hw->aq.arq_buf_size > IAVF_AQ_LARGE_BUF)
+		desc->flags |= CPU_TO_LE16(IAVF_AQ_FLAG_LB);
 	desc->datalen = CPU_TO_LE16((u16)bi->size);
-	desc->params.external.addr_high = CPU_TO_LE32(AVF_HI_DWORD(bi->pa));
-	desc->params.external.addr_low = CPU_TO_LE32(AVF_LO_DWORD(bi->pa));
+	desc->params.external.addr_high = CPU_TO_LE32(IAVF_HI_DWORD(bi->pa));
+	desc->params.external.addr_low = CPU_TO_LE32(IAVF_LO_DWORD(bi->pa));
 
 	/* set tail = the last cleaned desc index. */
 	wr32(hw, hw->aq.arq.tail, ntc);
@@ -1003,7 +1003,7 @@ enum avf_status_code avf_clean_arq_element(struct avf_hw *hw,
 	if (pending != NULL)
 		*pending = (ntc > ntu ? hw->aq.arq.count : 0) + (ntu - ntc);
 clean_arq_element_err:
-	avf_release_spinlock(&hw->aq.arq_spinlock);
+	iavf_release_spinlock(&hw->aq.arq_spinlock);
 
 	return ret_code;
 }
diff --git a/drivers/net/avf/base/avf_adminq.h b/drivers/net/iavf/base/iavf_adminq.h
similarity index 57%
rename from drivers/net/avf/base/avf_adminq.h
rename to drivers/net/iavf/base/iavf_adminq.h
index d7d242a99..c6e7e852d 100644
--- a/drivers/net/avf/base/avf_adminq.h
+++ b/drivers/net/iavf/base/iavf_adminq.h
@@ -31,26 +31,26 @@ POSSIBILITY OF SUCH DAMAGE.
 
 ***************************************************************************/
 
-#ifndef _AVF_ADMINQ_H_
-#define _AVF_ADMINQ_H_
+#ifndef _IAVF_ADMINQ_H_
+#define _IAVF_ADMINQ_H_
 
-#include "avf_osdep.h"
-#include "avf_status.h"
-#include "avf_adminq_cmd.h"
+#include "iavf_osdep.h"
+#include "iavf_status.h"
+#include "iavf_adminq_cmd.h"
 
-#define AVF_ADMINQ_DESC(R, i)   \
-	(&(((struct avf_aq_desc *)((R).desc_buf.va))[i]))
+#define IAVF_ADMINQ_DESC(R, i)   \
+	(&(((struct iavf_aq_desc *)((R).desc_buf.va))[i]))
 
-#define AVF_ADMINQ_DESC_ALIGNMENT 4096
+#define IAVF_ADMINQ_DESC_ALIGNMENT 4096
 
-struct avf_adminq_ring {
-	struct avf_virt_mem dma_head;	/* space for dma structures */
-	struct avf_dma_mem desc_buf;	/* descriptor ring memory */
-	struct avf_virt_mem cmd_buf;	/* command buffer memory */
+struct iavf_adminq_ring {
+	struct iavf_virt_mem dma_head;	/* space for dma structures */
+	struct iavf_dma_mem desc_buf;	/* descriptor ring memory */
+	struct iavf_virt_mem cmd_buf;	/* command buffer memory */
 
 	union {
-		struct avf_dma_mem *asq_bi;
-		struct avf_dma_mem *arq_bi;
+		struct iavf_dma_mem *asq_bi;
+		struct iavf_dma_mem *arq_bi;
 	} r;
 
 	u16 count;		/* Number of descriptors */
@@ -69,31 +69,31 @@ struct avf_adminq_ring {
 };
 
 /* ASQ transaction details */
-struct avf_asq_cmd_details {
-	void *callback; /* cast from type AVF_ADMINQ_CALLBACK */
+struct iavf_asq_cmd_details {
+	void *callback; /* cast from type IAVF_ADMINQ_CALLBACK */
 	u64 cookie;
 	u16 flags_ena;
 	u16 flags_dis;
 	bool async;
 	bool postpone;
-	struct avf_aq_desc *wb_desc;
+	struct iavf_aq_desc *wb_desc;
 };
 
-#define AVF_ADMINQ_DETAILS(R, i)   \
-	(&(((struct avf_asq_cmd_details *)((R).cmd_buf.va))[i]))
+#define IAVF_ADMINQ_DETAILS(R, i)   \
+	(&(((struct iavf_asq_cmd_details *)((R).cmd_buf.va))[i]))
 
 /* ARQ event information */
-struct avf_arq_event_info {
-	struct avf_aq_desc desc;
+struct iavf_arq_event_info {
+	struct iavf_aq_desc desc;
 	u16 msg_len;
 	u16 buf_len;
 	u8 *msg_buf;
 };
 
 /* Admin Queue information */
-struct avf_adminq_info {
-	struct avf_adminq_ring arq;    /* receive queue */
-	struct avf_adminq_ring asq;    /* send queue */
+struct iavf_adminq_info {
+	struct iavf_adminq_ring arq;    /* receive queue */
+	struct iavf_adminq_ring asq;    /* send queue */
 	u32 asq_cmd_timeout;            /* send queue cmd write back timeout*/
 	u16 num_arq_entries;            /* receive queue depth */
 	u16 num_asq_entries;            /* send queue depth */
@@ -105,49 +105,49 @@ struct avf_adminq_info {
 	u16 api_maj_ver;                /* api major version */
 	u16 api_min_ver;                /* api minor version */
 
-	struct avf_spinlock asq_spinlock; /* Send queue spinlock */
-	struct avf_spinlock arq_spinlock; /* Receive queue spinlock */
+	struct iavf_spinlock asq_spinlock; /* Send queue spinlock */
+	struct iavf_spinlock arq_spinlock; /* Receive queue spinlock */
 
 	/* last status values on send and receive queues */
-	enum avf_admin_queue_err asq_last_status;
-	enum avf_admin_queue_err arq_last_status;
+	enum iavf_admin_queue_err asq_last_status;
+	enum iavf_admin_queue_err arq_last_status;
 };
 
 /**
- * avf_aq_rc_to_posix - convert errors to user-land codes
+ * 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 avf_aq_rc_to_posix(int aq_ret, int aq_rc)
+STATIC INLINE int iavf_aq_rc_to_posix(int aq_ret, int aq_rc)
 {
 	int aq_to_posix[] = {
-		0,           /* AVF_AQ_RC_OK */
-		-EPERM,      /* AVF_AQ_RC_EPERM */
-		-ENOENT,     /* AVF_AQ_RC_ENOENT */
-		-ESRCH,      /* AVF_AQ_RC_ESRCH */
-		-EINTR,      /* AVF_AQ_RC_EINTR */
-		-EIO,        /* AVF_AQ_RC_EIO */
-		-ENXIO,      /* AVF_AQ_RC_ENXIO */
-		-E2BIG,      /* AVF_AQ_RC_E2BIG */
-		-EAGAIN,     /* AVF_AQ_RC_EAGAIN */
-		-ENOMEM,     /* AVF_AQ_RC_ENOMEM */
-		-EACCES,     /* AVF_AQ_RC_EACCES */
-		-EFAULT,     /* AVF_AQ_RC_EFAULT */
-		-EBUSY,      /* AVF_AQ_RC_EBUSY */
-		-EEXIST,     /* AVF_AQ_RC_EEXIST */
-		-EINVAL,     /* AVF_AQ_RC_EINVAL */
-		-ENOTTY,     /* AVF_AQ_RC_ENOTTY */
-		-ENOSPC,     /* AVF_AQ_RC_ENOSPC */
-		-ENOSYS,     /* AVF_AQ_RC_ENOSYS */
-		-ERANGE,     /* AVF_AQ_RC_ERANGE */
-		-EPIPE,      /* AVF_AQ_RC_EFLUSHED */
-		-ESPIPE,     /* AVF_AQ_RC_BAD_ADDR */
-		-EROFS,      /* AVF_AQ_RC_EMODE */
-		-EFBIG,      /* AVF_AQ_RC_EFBIG */
+		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 == AVF_ERR_ADMIN_QUEUE_TIMEOUT)
+	if (aq_ret == IAVF_ERR_ADMIN_QUEUE_TIMEOUT)
 		return -EAGAIN;
 
 	if (!((u32)aq_rc < (sizeof(aq_to_posix) / sizeof((aq_to_posix)[0]))))
@@ -157,10 +157,10 @@ STATIC INLINE int avf_aq_rc_to_posix(int aq_ret, int aq_rc)
 }
 
 /* general information */
-#define AVF_AQ_LARGE_BUF	512
-#define AVF_ASQ_CMD_TIMEOUT	250000  /* usecs */
+#define IAVF_AQ_LARGE_BUF	512
+#define IAVF_ASQ_CMD_TIMEOUT	250000  /* usecs */
 
-void avf_fill_default_direct_cmd_desc(struct avf_aq_desc *desc,
+void iavf_fill_default_direct_cmd_desc(struct iavf_aq_desc *desc,
 				       u16 opcode);
 
-#endif /* _AVF_ADMINQ_H_ */
+#endif /* _IAVF_ADMINQ_H_ */
diff --git a/drivers/net/iavf/base/iavf_adminq_cmd.h b/drivers/net/iavf/base/iavf_adminq_cmd.h
new file mode 100644
index 000000000..353feb3da
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_adminq_cmd.h
@@ -0,0 +1,2841 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#ifndef _IAVF_ADMINQ_CMD_H_
+#define _IAVF_ADMINQ_CMD_H_
+
+/* This header file defines the iavf Admin Queue commands and is shared between
+ * iavf Firmware and Software.
+ *
+ * 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
+
+#define IAVF_FW_MINOR_VERSION(_h) ((_h)->mac.type == IAVF_MAC_XL710 ? \
+					IAVF_FW_API_VERSION_MINOR_X710 : \
+					IAVF_FW_API_VERSION_MINOR_X722)
+
+/* API version 1.7 implements additional link and PHY-specific APIs  */
+#define IAVF_MINOR_VER_GET_LINK_INFO_XL710 0x0007
+
+struct iavf_aq_desc {
+	__le16 flags;
+	__le16 opcode;
+	__le16 datalen;
+	__le16 retval;
+	__le32 cookie_high;
+	__le32 cookie_low;
+	union {
+		struct {
+			__le32 param0;
+			__le32 param1;
+			__le32 param2;
+			__le32 param3;
+		} internal;
+		struct {
+			__le32 param0;
+			__le32 param1;
+			__le32 addr_high;
+			__le32 addr_low;
+		} external;
+		u8 raw[16];
+	} params;
+};
+
+/* Flags sub-structure
+ * |0  |1  |2  |3  |4  |5  |6  |7  |8  |9  |10 |11 |12 |13 |14 |15 |
+ * |DD |CMP|ERR|VFE| * *  RESERVED * * |LB |RD |VFC|BUF|SI |EI |FE |
+ */
+
+/* command flags and offsets*/
+#define IAVF_AQ_FLAG_DD_SHIFT	0
+#define IAVF_AQ_FLAG_CMP_SHIFT	1
+#define IAVF_AQ_FLAG_ERR_SHIFT	2
+#define IAVF_AQ_FLAG_VFE_SHIFT	3
+#define IAVF_AQ_FLAG_LB_SHIFT	9
+#define IAVF_AQ_FLAG_RD_SHIFT	10
+#define IAVF_AQ_FLAG_VFC_SHIFT	11
+#define IAVF_AQ_FLAG_BUF_SHIFT	12
+#define IAVF_AQ_FLAG_SI_SHIFT	13
+#define IAVF_AQ_FLAG_EI_SHIFT	14
+#define IAVF_AQ_FLAG_FE_SHIFT	15
+
+#define IAVF_AQ_FLAG_DD		(1 << IAVF_AQ_FLAG_DD_SHIFT)  /* 0x1    */
+#define IAVF_AQ_FLAG_CMP	(1 << IAVF_AQ_FLAG_CMP_SHIFT) /* 0x2    */
+#define IAVF_AQ_FLAG_ERR	(1 << IAVF_AQ_FLAG_ERR_SHIFT) /* 0x4    */
+#define IAVF_AQ_FLAG_VFE	(1 << IAVF_AQ_FLAG_VFE_SHIFT) /* 0x8    */
+#define IAVF_AQ_FLAG_LB		(1 << IAVF_AQ_FLAG_LB_SHIFT)  /* 0x200  */
+#define IAVF_AQ_FLAG_RD		(1 << IAVF_AQ_FLAG_RD_SHIFT)  /* 0x400  */
+#define IAVF_AQ_FLAG_VFC	(1 << IAVF_AQ_FLAG_VFC_SHIFT) /* 0x800  */
+#define IAVF_AQ_FLAG_BUF	(1 << IAVF_AQ_FLAG_BUF_SHIFT) /* 0x1000 */
+#define IAVF_AQ_FLAG_SI		(1 << IAVF_AQ_FLAG_SI_SHIFT)  /* 0x2000 */
+#define IAVF_AQ_FLAG_EI		(1 << IAVF_AQ_FLAG_EI_SHIFT)  /* 0x4000 */
+#define IAVF_AQ_FLAG_FE		(1 << IAVF_AQ_FLAG_FE_SHIFT)  /* 0x8000 */
+
+/* error codes */
+enum iavf_admin_queue_err {
+	IAVF_AQ_RC_OK		= 0,  /* success */
+	IAVF_AQ_RC_EPERM	= 1,  /* Operation not permitted */
+	IAVF_AQ_RC_ENOENT	= 2,  /* No such element */
+	IAVF_AQ_RC_ESRCH	= 3,  /* Bad opcode */
+	IAVF_AQ_RC_EINTR	= 4,  /* operation interrupted */
+	IAVF_AQ_RC_EIO		= 5,  /* I/O error */
+	IAVF_AQ_RC_ENXIO	= 6,  /* No such resource */
+	IAVF_AQ_RC_E2BIG	= 7,  /* Arg too long */
+	IAVF_AQ_RC_EAGAIN	= 8,  /* Try again */
+	IAVF_AQ_RC_ENOMEM	= 9,  /* Out of memory */
+	IAVF_AQ_RC_EACCES	= 10, /* Permission denied */
+	IAVF_AQ_RC_EFAULT	= 11, /* Bad address */
+	IAVF_AQ_RC_EBUSY	= 12, /* Device or resource busy */
+	IAVF_AQ_RC_EEXIST	= 13, /* object already exists */
+	IAVF_AQ_RC_EINVAL	= 14, /* Invalid argument */
+	IAVF_AQ_RC_ENOTTY	= 15, /* Not a typewriter */
+	IAVF_AQ_RC_ENOSPC	= 16, /* No space left or alloc failure */
+	IAVF_AQ_RC_ENOSYS	= 17, /* Function not implemented */
+	IAVF_AQ_RC_ERANGE	= 18, /* Parameter out of range */
+	IAVF_AQ_RC_EFLUSHED	= 19, /* Cmd flushed due to prev cmd error */
+	IAVF_AQ_RC_BAD_ADDR	= 20, /* Descriptor contains a bad pointer */
+	IAVF_AQ_RC_EMODE	= 21, /* Op not allowed in current dev mode */
+	IAVF_AQ_RC_EFBIG	= 22, /* File too large */
+};
+
+/* Admin Queue command opcodes */
+enum iavf_admin_queue_opc {
+	/* aq commands */
+	iavf_aqc_opc_get_version	= 0x0001,
+	iavf_aqc_opc_driver_version	= 0x0002,
+	iavf_aqc_opc_queue_shutdown	= 0x0003,
+	iavf_aqc_opc_set_pf_context	= 0x0004,
+
+	/* resource ownership */
+	iavf_aqc_opc_request_resource	= 0x0008,
+	iavf_aqc_opc_release_resource	= 0x0009,
+
+	iavf_aqc_opc_list_func_capabilities	= 0x000A,
+	iavf_aqc_opc_list_dev_capabilities	= 0x000B,
+
+	/* Proxy commands */
+	iavf_aqc_opc_set_proxy_config		= 0x0104,
+	iavf_aqc_opc_set_ns_proxy_table_entry	= 0x0105,
+
+	/* LAA */
+	iavf_aqc_opc_mac_address_read	= 0x0107,
+	iavf_aqc_opc_mac_address_write	= 0x0108,
+
+	/* PXE */
+	iavf_aqc_opc_clear_pxe_mode	= 0x0110,
+
+	/* WoL commands */
+	iavf_aqc_opc_set_wol_filter	= 0x0120,
+	iavf_aqc_opc_get_wake_reason	= 0x0121,
+	iavf_aqc_opc_clear_all_wol_filters = 0x025E,
+
+	/* internal switch commands */
+	iavf_aqc_opc_get_switch_config		= 0x0200,
+	iavf_aqc_opc_add_statistics		= 0x0201,
+	iavf_aqc_opc_remove_statistics		= 0x0202,
+	iavf_aqc_opc_set_port_parameters	= 0x0203,
+	iavf_aqc_opc_get_switch_resource_alloc	= 0x0204,
+	iavf_aqc_opc_set_switch_config		= 0x0205,
+	iavf_aqc_opc_rx_ctl_reg_read		= 0x0206,
+	iavf_aqc_opc_rx_ctl_reg_write		= 0x0207,
+
+	iavf_aqc_opc_add_vsi			= 0x0210,
+	iavf_aqc_opc_update_vsi_parameters	= 0x0211,
+	iavf_aqc_opc_get_vsi_parameters		= 0x0212,
+
+	iavf_aqc_opc_add_pv			= 0x0220,
+	iavf_aqc_opc_update_pv_parameters	= 0x0221,
+	iavf_aqc_opc_get_pv_parameters		= 0x0222,
+
+	iavf_aqc_opc_add_veb			= 0x0230,
+	iavf_aqc_opc_update_veb_parameters	= 0x0231,
+	iavf_aqc_opc_get_veb_parameters		= 0x0232,
+
+	iavf_aqc_opc_delete_element		= 0x0243,
+
+	iavf_aqc_opc_add_macvlan		= 0x0250,
+	iavf_aqc_opc_remove_macvlan		= 0x0251,
+	iavf_aqc_opc_add_vlan			= 0x0252,
+	iavf_aqc_opc_remove_vlan		= 0x0253,
+	iavf_aqc_opc_set_vsi_promiscuous_modes	= 0x0254,
+	iavf_aqc_opc_add_tag			= 0x0255,
+	iavf_aqc_opc_remove_tag			= 0x0256,
+	iavf_aqc_opc_add_multicast_etag		= 0x0257,
+	iavf_aqc_opc_remove_multicast_etag	= 0x0258,
+	iavf_aqc_opc_update_tag			= 0x0259,
+	iavf_aqc_opc_add_control_packet_filter	= 0x025A,
+	iavf_aqc_opc_remove_control_packet_filter	= 0x025B,
+	iavf_aqc_opc_add_cloud_filters		= 0x025C,
+	iavf_aqc_opc_remove_cloud_filters	= 0x025D,
+	iavf_aqc_opc_clear_wol_switch_filters	= 0x025E,
+	iavf_aqc_opc_replace_cloud_filters	= 0x025F,
+
+	iavf_aqc_opc_add_mirror_rule	= 0x0260,
+	iavf_aqc_opc_delete_mirror_rule	= 0x0261,
+
+	/* Dynamic Device Personalization */
+	iavf_aqc_opc_write_personalization_profile	= 0x0270,
+	iavf_aqc_opc_get_personalization_profile_list	= 0x0271,
+
+	/* DCB commands */
+	iavf_aqc_opc_dcb_ignore_pfc	= 0x0301,
+	iavf_aqc_opc_dcb_updated	= 0x0302,
+	iavf_aqc_opc_set_dcb_parameters = 0x0303,
+
+	/* TX scheduler */
+	iavf_aqc_opc_configure_vsi_bw_limit		= 0x0400,
+	iavf_aqc_opc_configure_vsi_ets_sla_bw_limit	= 0x0406,
+	iavf_aqc_opc_configure_vsi_tc_bw		= 0x0407,
+	iavf_aqc_opc_query_vsi_bw_config		= 0x0408,
+	iavf_aqc_opc_query_vsi_ets_sla_config		= 0x040A,
+	iavf_aqc_opc_configure_switching_comp_bw_limit	= 0x0410,
+
+	iavf_aqc_opc_enable_switching_comp_ets			= 0x0413,
+	iavf_aqc_opc_modify_switching_comp_ets			= 0x0414,
+	iavf_aqc_opc_disable_switching_comp_ets			= 0x0415,
+	iavf_aqc_opc_configure_switching_comp_ets_bw_limit	= 0x0416,
+	iavf_aqc_opc_configure_switching_comp_bw_config		= 0x0417,
+	iavf_aqc_opc_query_switching_comp_ets_config		= 0x0418,
+	iavf_aqc_opc_query_port_ets_config			= 0x0419,
+	iavf_aqc_opc_query_switching_comp_bw_config		= 0x041A,
+	iavf_aqc_opc_suspend_port_tx				= 0x041B,
+	iavf_aqc_opc_resume_port_tx				= 0x041C,
+	iavf_aqc_opc_configure_partition_bw			= 0x041D,
+	/* hmc */
+	iavf_aqc_opc_query_hmc_resource_profile	= 0x0500,
+	iavf_aqc_opc_set_hmc_resource_profile	= 0x0501,
+
+	/* phy commands*/
+
+	/* phy commands*/
+	iavf_aqc_opc_get_phy_abilities		= 0x0600,
+	iavf_aqc_opc_set_phy_config		= 0x0601,
+	iavf_aqc_opc_set_mac_config		= 0x0603,
+	iavf_aqc_opc_set_link_restart_an	= 0x0605,
+	iavf_aqc_opc_get_link_status		= 0x0607,
+	iavf_aqc_opc_set_phy_int_mask		= 0x0613,
+	iavf_aqc_opc_get_local_advt_reg		= 0x0614,
+	iavf_aqc_opc_set_local_advt_reg		= 0x0615,
+	iavf_aqc_opc_get_partner_advt		= 0x0616,
+	iavf_aqc_opc_set_lb_modes		= 0x0618,
+	iavf_aqc_opc_get_phy_wol_caps		= 0x0621,
+	iavf_aqc_opc_set_phy_debug		= 0x0622,
+	iavf_aqc_opc_upload_ext_phy_fm		= 0x0625,
+	iavf_aqc_opc_run_phy_activity		= 0x0626,
+	iavf_aqc_opc_set_phy_register		= 0x0628,
+	iavf_aqc_opc_get_phy_register		= 0x0629,
+
+	/* NVM commands */
+	iavf_aqc_opc_nvm_read			= 0x0701,
+	iavf_aqc_opc_nvm_erase			= 0x0702,
+	iavf_aqc_opc_nvm_update			= 0x0703,
+	iavf_aqc_opc_nvm_config_read		= 0x0704,
+	iavf_aqc_opc_nvm_config_write		= 0x0705,
+	iavf_aqc_opc_nvm_progress		= 0x0706,
+	iavf_aqc_opc_oem_post_update		= 0x0720,
+	iavf_aqc_opc_thermal_sensor		= 0x0721,
+
+	/* virtualization commands */
+	iavf_aqc_opc_send_msg_to_pf		= 0x0801,
+	iavf_aqc_opc_send_msg_to_vf		= 0x0802,
+	iavf_aqc_opc_send_msg_to_peer		= 0x0803,
+
+	/* alternate structure */
+	iavf_aqc_opc_alternate_write		= 0x0900,
+	iavf_aqc_opc_alternate_write_indirect	= 0x0901,
+	iavf_aqc_opc_alternate_read		= 0x0902,
+	iavf_aqc_opc_alternate_read_indirect	= 0x0903,
+	iavf_aqc_opc_alternate_write_done	= 0x0904,
+	iavf_aqc_opc_alternate_set_mode		= 0x0905,
+	iavf_aqc_opc_alternate_clear_port	= 0x0906,
+
+	/* LLDP commands */
+	iavf_aqc_opc_lldp_get_mib	= 0x0A00,
+	iavf_aqc_opc_lldp_update_mib	= 0x0A01,
+	iavf_aqc_opc_lldp_add_tlv	= 0x0A02,
+	iavf_aqc_opc_lldp_update_tlv	= 0x0A03,
+	iavf_aqc_opc_lldp_delete_tlv	= 0x0A04,
+	iavf_aqc_opc_lldp_stop		= 0x0A05,
+	iavf_aqc_opc_lldp_start		= 0x0A06,
+	iavf_aqc_opc_get_cee_dcb_cfg	= 0x0A07,
+	iavf_aqc_opc_lldp_set_local_mib	= 0x0A08,
+	iavf_aqc_opc_lldp_stop_start_spec_agent	= 0x0A09,
+
+	/* Tunnel commands */
+	iavf_aqc_opc_add_udp_tunnel	= 0x0B00,
+	iavf_aqc_opc_del_udp_tunnel	= 0x0B01,
+	iavf_aqc_opc_set_rss_key	= 0x0B02,
+	iavf_aqc_opc_set_rss_lut	= 0x0B03,
+	iavf_aqc_opc_get_rss_key	= 0x0B04,
+	iavf_aqc_opc_get_rss_lut	= 0x0B05,
+
+	/* Async Events */
+	iavf_aqc_opc_event_lan_overflow		= 0x1001,
+
+	/* OEM commands */
+	iavf_aqc_opc_oem_parameter_change	= 0xFE00,
+	iavf_aqc_opc_oem_device_status_change	= 0xFE01,
+	iavf_aqc_opc_oem_ocsd_initialize	= 0xFE02,
+	iavf_aqc_opc_oem_ocbb_initialize	= 0xFE03,
+
+	/* debug commands */
+	iavf_aqc_opc_debug_read_reg		= 0xFF03,
+	iavf_aqc_opc_debug_write_reg		= 0xFF04,
+	iavf_aqc_opc_debug_modify_reg		= 0xFF07,
+	iavf_aqc_opc_debug_dump_internals	= 0xFF08,
+};
+
+/* command structures and indirect data structures */
+
+/* Structure naming conventions:
+ * - no suffix for direct command descriptor structures
+ * - _data for indirect sent data
+ * - _resp for indirect return data (data which is both will use _data)
+ * - _completion for direct return data
+ * - _element_ for repeated elements (may also be _data or _resp)
+ *
+ * Command structures are expected to overlay the params.raw member of the basic
+ * descriptor, and as such cannot exceed 16 bytes in length.
+ */
+
+/* This macro is used to generate a compilation error if a structure
+ * 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.
+ */
+#define IAVF_CHECK_STRUCT_LEN(n, X) enum iavf_static_assert_enum_##X \
+	{ iavf_static_assert_##X = (n)/((sizeof(struct X) == (n)) ? 1 : 0) }
+
+/* This macro is used extensively to ensure that command structures are 16
+ * bytes in length as they have to map to the raw array of that size.
+ */
+#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;
+#define IAVF_AQ_DRIVER_UNLOADING	0x1
+	u8	reserved[12];
+};
+
+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 */
+	__le16	valid_sections;
+#define IAVF_AQ_VSI_PROP_SWITCH_VALID		0x0001
+#define IAVF_AQ_VSI_PROP_SECURITY_VALID		0x0002
+#define IAVF_AQ_VSI_PROP_VLAN_VALID		0x0004
+#define IAVF_AQ_VSI_PROP_CAS_PV_VALID		0x0008
+#define IAVF_AQ_VSI_PROP_INGRESS_UP_VALID	0x0010
+#define IAVF_AQ_VSI_PROP_EGRESS_UP_VALID	0x0020
+#define IAVF_AQ_VSI_PROP_QUEUE_MAP_VALID	0x0040
+#define IAVF_AQ_VSI_PROP_QUEUE_OPT_VALID	0x0080
+#define IAVF_AQ_VSI_PROP_OUTER_UP_VALID		0x0100
+#define IAVF_AQ_VSI_PROP_SCHED_VALID		0x0200
+	/* switch section */
+	__le16	switch_id; /* 12bit id combined with flags below */
+#define IAVF_AQ_VSI_SW_ID_SHIFT		0x0000
+#define IAVF_AQ_VSI_SW_ID_MASK		(0xFFF << IAVF_AQ_VSI_SW_ID_SHIFT)
+#define IAVF_AQ_VSI_SW_ID_FLAG_NOT_STAG	0x1000
+#define IAVF_AQ_VSI_SW_ID_FLAG_ALLOW_LB	0x2000
+#define IAVF_AQ_VSI_SW_ID_FLAG_LOCAL_LB	0x4000
+	u8	sw_reserved[2];
+	/* security section */
+	u8	sec_flags;
+#define IAVF_AQ_VSI_SEC_FLAG_ALLOW_DEST_OVRD	0x01
+#define IAVF_AQ_VSI_SEC_FLAG_ENABLE_VLAN_CHK	0x02
+#define IAVF_AQ_VSI_SEC_FLAG_ENABLE_MAC_CHK	0x04
+	u8	sec_reserved;
+	/* VLAN section */
+	__le16	pvid; /* VLANS include priority bits */
+	__le16	fcoe_pvid;
+	u8	port_vlan_flags;
+#define IAVF_AQ_VSI_PVLAN_MODE_SHIFT	0x00
+#define IAVF_AQ_VSI_PVLAN_MODE_MASK	(0x03 << \
+					 IAVF_AQ_VSI_PVLAN_MODE_SHIFT)
+#define IAVF_AQ_VSI_PVLAN_MODE_TAGGED	0x01
+#define IAVF_AQ_VSI_PVLAN_MODE_UNTAGGED	0x02
+#define IAVF_AQ_VSI_PVLAN_MODE_ALL	0x03
+#define IAVF_AQ_VSI_PVLAN_INSERT_PVID	0x04
+#define IAVF_AQ_VSI_PVLAN_EMOD_SHIFT	0x03
+#define IAVF_AQ_VSI_PVLAN_EMOD_MASK	(0x3 << \
+					 IAVF_AQ_VSI_PVLAN_EMOD_SHIFT)
+#define IAVF_AQ_VSI_PVLAN_EMOD_STR_BOTH	0x0
+#define IAVF_AQ_VSI_PVLAN_EMOD_STR_UP	0x08
+#define IAVF_AQ_VSI_PVLAN_EMOD_STR	0x10
+#define IAVF_AQ_VSI_PVLAN_EMOD_NOTHING	0x18
+	u8	pvlan_reserved[3];
+	/* ingress egress up sections */
+	__le32	ingress_table; /* bitmap, 3 bits per up */
+#define IAVF_AQ_VSI_UP_TABLE_UP0_SHIFT	0
+#define IAVF_AQ_VSI_UP_TABLE_UP0_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP0_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP1_SHIFT	3
+#define IAVF_AQ_VSI_UP_TABLE_UP1_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP1_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP2_SHIFT	6
+#define IAVF_AQ_VSI_UP_TABLE_UP2_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP2_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP3_SHIFT	9
+#define IAVF_AQ_VSI_UP_TABLE_UP3_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP3_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP4_SHIFT	12
+#define IAVF_AQ_VSI_UP_TABLE_UP4_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP4_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP5_SHIFT	15
+#define IAVF_AQ_VSI_UP_TABLE_UP5_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP5_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP6_SHIFT	18
+#define IAVF_AQ_VSI_UP_TABLE_UP6_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP6_SHIFT)
+#define IAVF_AQ_VSI_UP_TABLE_UP7_SHIFT	21
+#define IAVF_AQ_VSI_UP_TABLE_UP7_MASK	(0x7 << \
+					 IAVF_AQ_VSI_UP_TABLE_UP7_SHIFT)
+	__le32	egress_table;   /* same defines as for ingress table */
+	/* cascaded PV section */
+	__le16	cas_pv_tag;
+	u8	cas_pv_flags;
+#define IAVF_AQ_VSI_CAS_PV_TAGX_SHIFT		0x00
+#define IAVF_AQ_VSI_CAS_PV_TAGX_MASK		(0x03 << \
+						 IAVF_AQ_VSI_CAS_PV_TAGX_SHIFT)
+#define IAVF_AQ_VSI_CAS_PV_TAGX_LEAVE		0x00
+#define IAVF_AQ_VSI_CAS_PV_TAGX_REMOVE		0x01
+#define IAVF_AQ_VSI_CAS_PV_TAGX_COPY		0x02
+#define IAVF_AQ_VSI_CAS_PV_INSERT_TAG		0x10
+#define IAVF_AQ_VSI_CAS_PV_ETAG_PRUNE		0x20
+#define IAVF_AQ_VSI_CAS_PV_ACCEPT_HOST_TAG	0x40
+	u8	cas_pv_reserved;
+	/* queue mapping section */
+	__le16	mapping_flags;
+#define IAVF_AQ_VSI_QUE_MAP_CONTIG	0x0
+#define IAVF_AQ_VSI_QUE_MAP_NONCONTIG	0x1
+	__le16	queue_mapping[16];
+#define IAVF_AQ_VSI_QUEUE_SHIFT		0x0
+#define IAVF_AQ_VSI_QUEUE_MASK		(0x7FF << IAVF_AQ_VSI_QUEUE_SHIFT)
+	__le16	tc_mapping[8];
+#define IAVF_AQ_VSI_TC_QUE_OFFSET_SHIFT	0
+#define IAVF_AQ_VSI_TC_QUE_OFFSET_MASK	(0x1FF << \
+					 IAVF_AQ_VSI_TC_QUE_OFFSET_SHIFT)
+#define IAVF_AQ_VSI_TC_QUE_NUMBER_SHIFT	9
+#define IAVF_AQ_VSI_TC_QUE_NUMBER_MASK	(0x7 << \
+					 IAVF_AQ_VSI_TC_QUE_NUMBER_SHIFT)
+	/* queueing option section */
+	u8	queueing_opt_flags;
+#define IAVF_AQ_VSI_QUE_OPT_MULTICAST_UDP_ENA	0x04
+#define IAVF_AQ_VSI_QUE_OPT_UNICAST_UDP_ENA	0x08
+#define IAVF_AQ_VSI_QUE_OPT_TCP_ENA	0x10
+#define IAVF_AQ_VSI_QUE_OPT_FCOE_ENA	0x20
+#define IAVF_AQ_VSI_QUE_OPT_RSS_LUT_PF	0x00
+#define IAVF_AQ_VSI_QUE_OPT_RSS_LUT_VSI	0x40
+	u8	queueing_opt_reserved[3];
+	/* scheduler section */
+	u8	up_enable_bits;
+	u8	sched_reserved;
+	/* outer up section */
+	__le32	outer_up_table; /* same structure and defines as ingress tbl */
+	u8	cmd_reserved[8];
+	/* last 32 bytes are written by FW */
+	__le16	qs_handle[8];
+#define IAVF_AQ_VSI_QS_HANDLE_INVALID	0xFFFF
+	__le16	stat_counter_idx;
+	__le16	sched_id;
+	u8	resp_reserved[12];
+};
+
+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
+ */
+struct iavf_aqc_get_veb_parameters_completion {
+	__le16	seid;
+	__le16	switch_id;
+	__le16	veb_flags; /* only the first/last flags from 0x0230 is valid */
+	__le16	statistic_index;
+	__le16	vebs_used;
+	__le16	vebs_free;
+	u8	reserved[4];
+};
+
+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];
+};
+
+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;
+};
+
+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];
+};
+
+/* Add VLAN (indirect 0x0252)
+ * Remove VLAN (indirect 0x0253)
+ * use the generic iavf_aqc_macvlan for the command
+ */
+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 {
+	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_set_vsi_promiscuous_modes);
+
+/* Add S/E-tag command (direct 0x0255)
+ * Uses generic iavf_aqc_add_remove_tag_completion for completion
+ */
+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];
+};
+
+IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_tag);
+
+struct iavf_aqc_add_remove_tag_completion {
+	u8	reserved[12];
+	__le16	tags_used;
+	__le16	tags_free;
+};
+
+IAVF_CHECK_CMD_LENGTH(iavf_aqc_add_remove_tag_completion);
+
+/* Remove S/E-tag command (direct 0x0256)
+ * Uses generic iavf_aqc_add_remove_tag_completion for completion
+ */
+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;
+};
+
+IAVF_CHECK_CMD_LENGTH(iavf_aqc_lldp_set_local_mib);
+
+struct iavf_aqc_lldp_set_local_mib_resp {
+#define SET_LOCAL_MIB_RESP_EVENT_TRIGGERED_MASK      0x01
+	u8  status;
+	u8  reserved[15];
+};
+
+IAVF_CHECK_STRUCT_LEN(0x10, iavf_aqc_lldp_set_local_mib_resp);
+
+/*	Stop/Start LLDP Agent (direct 0x0A09)
+ *	Used for stopping/starting specific LLDP agent. e.g. DCBx
+ */
+struct iavf_aqc_lldp_stop_start_specific_agent {
+#define IAVF_AQC_START_SPECIFIC_AGENT_SHIFT	0
+#define IAVF_AQC_START_SPECIFIC_AGENT_MASK \
+				(1 << IAVF_AQC_START_SPECIFIC_AGENT_SHIFT)
+	u8	command;
+	u8	reserved[15];
+};
+
+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
+#define IAVF_AQC_SET_RSS_KEY_VSI_ID_MASK	(0x3FF << \
+					IAVF_AQC_SET_RSS_KEY_VSI_ID_SHIFT)
+	__le16	vsi_id;
+	u8	reserved[6];
+	__le32	addr_high;
+	__le32	addr_low;
+};
+
+IAVF_CHECK_CMD_LENGTH(iavf_aqc_get_set_rss_key);
+
+struct iavf_aqc_get_set_rss_key_data {
+	u8 standard_rss_key[0x28];
+	u8 extended_hash_key[0xc];
+};
+
+IAVF_CHECK_STRUCT_LEN(0x34, iavf_aqc_get_set_rss_key_data);
+
+struct  iavf_aqc_get_set_rss_lut {
+#define IAVF_AQC_SET_RSS_LUT_VSI_VALID		(0x1 << 15)
+#define IAVF_AQC_SET_RSS_LUT_VSI_ID_SHIFT	0
+#define IAVF_AQC_SET_RSS_LUT_VSI_ID_MASK	(0x3FF << \
+					IAVF_AQC_SET_RSS_LUT_VSI_ID_SHIFT)
+	__le16	vsi_id;
+#define IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT	0
+#define IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_MASK	(0x1 << \
+					IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT)
+
+#define IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_VSI	0
+#define IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_PF	1
+	__le16	flags;
+	u8	reserved[4];
+	__le32	addr_high;
+	__le32	addr_low;
+};
+
+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/avf/base/avf_alloc.h b/drivers/net/iavf/base/iavf_alloc.h
similarity index 66%
rename from drivers/net/avf/base/avf_alloc.h
rename to drivers/net/iavf/base/iavf_alloc.h
index 21e29bd0e..be61b3313 100644
--- a/drivers/net/avf/base/avf_alloc.h
+++ b/drivers/net/iavf/base/iavf_alloc.h
@@ -31,35 +31,35 @@ POSSIBILITY OF SUCH DAMAGE.
 
 ***************************************************************************/
 
-#ifndef _AVF_ALLOC_H_
-#define _AVF_ALLOC_H_
+#ifndef _IAVF_ALLOC_H_
+#define _IAVF_ALLOC_H_
 
-struct avf_hw;
+struct iavf_hw;
 
 /* Memory allocation types */
-enum avf_memory_type {
-	avf_mem_arq_buf = 0,		/* ARQ indirect command buffer */
-	avf_mem_asq_buf = 1,
-	avf_mem_atq_buf = 2,		/* ATQ indirect command buffer */
-	avf_mem_arq_ring = 3,		/* ARQ descriptor ring */
-	avf_mem_atq_ring = 4,		/* ATQ descriptor ring */
-	avf_mem_pd = 5,		/* Page Descriptor */
-	avf_mem_bp = 6,		/* Backing Page - 4KB */
-	avf_mem_bp_jumbo = 7,		/* Backing Page - > 4KB */
-	avf_mem_reserved
+enum iavf_memory_type {
+	iavf_mem_arq_buf = 0,		/* ARQ indirect command buffer */
+	iavf_mem_asq_buf = 1,
+	iavf_mem_atq_buf = 2,		/* ATQ indirect command buffer */
+	iavf_mem_arq_ring = 3,		/* ARQ descriptor ring */
+	iavf_mem_atq_ring = 4,		/* ATQ descriptor ring */
+	iavf_mem_pd = 5,		/* Page Descriptor */
+	iavf_mem_bp = 6,		/* Backing Page - 4KB */
+	iavf_mem_bp_jumbo = 7,		/* Backing Page - > 4KB */
+	iavf_mem_reserved
 };
 
 /* prototype for functions used for dynamic memory allocation */
-enum avf_status_code avf_allocate_dma_mem(struct avf_hw *hw,
-					    struct avf_dma_mem *mem,
-					    enum avf_memory_type type,
+enum iavf_status_code iavf_allocate_dma_mem(struct iavf_hw *hw,
+					    struct iavf_dma_mem *mem,
+					    enum iavf_memory_type type,
 					    u64 size, u32 alignment);
-enum avf_status_code avf_free_dma_mem(struct avf_hw *hw,
-					struct avf_dma_mem *mem);
-enum avf_status_code avf_allocate_virt_mem(struct avf_hw *hw,
-					     struct avf_virt_mem *mem,
+enum iavf_status_code 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,
+					     struct iavf_virt_mem *mem,
 					     u32 size);
-enum avf_status_code avf_free_virt_mem(struct avf_hw *hw,
-					 struct avf_virt_mem *mem);
+enum iavf_status_code iavf_free_virt_mem(struct iavf_hw *hw,
+					 struct iavf_virt_mem *mem);
 
-#endif /* _AVF_ALLOC_H_ */
+#endif /* _IAVF_ALLOC_H_ */
diff --git a/drivers/net/iavf/base/iavf_common.c b/drivers/net/iavf/base/iavf_common.c
new file mode 100644
index 000000000..be700dde2
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_common.c
@@ -0,0 +1,1845 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#include "iavf_type.h"
+#include "iavf_adminq.h"
+#include "iavf_prototype.h"
+#include "virtchnl.h"
+
+
+/**
+ * iavf_set_mac_type - Sets MAC type
+ * @hw: pointer to the HW structure
+ *
+ * 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_code status = IAVF_SUCCESS;
+
+	DEBUGFUNC("iavf_set_mac_type\n");
+
+	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_ADAPTIVE_VF:
+			hw->mac.type = IAVF_MAC_VF;
+			break;
+		default:
+			hw->mac.type = IAVF_MAC_GENERIC;
+			break;
+		}
+	} else {
+		status = IAVF_ERR_DEVICE_NOT_SUPPORTED;
+	}
+
+	DEBUGOUT2("iavf_set_mac_type found mac: %d, returns: %d\n",
+		  hw->mac.type, status);
+	return status;
+}
+
+/**
+ * iavf_aq_str - convert AQ err code to a string
+ * @hw: pointer to the HW structure
+ * @aq_err: the AQ error code to convert
+ **/
+const char *iavf_aq_str(struct iavf_hw *hw, enum iavf_admin_queue_err aq_err)
+{
+	switch (aq_err) {
+	case IAVF_AQ_RC_OK:
+		return "OK";
+	case IAVF_AQ_RC_EPERM:
+		return "IAVF_AQ_RC_EPERM";
+	case IAVF_AQ_RC_ENOENT:
+		return "IAVF_AQ_RC_ENOENT";
+	case IAVF_AQ_RC_ESRCH:
+		return "IAVF_AQ_RC_ESRCH";
+	case IAVF_AQ_RC_EINTR:
+		return "IAVF_AQ_RC_EINTR";
+	case IAVF_AQ_RC_EIO:
+		return "IAVF_AQ_RC_EIO";
+	case IAVF_AQ_RC_ENXIO:
+		return "IAVF_AQ_RC_ENXIO";
+	case IAVF_AQ_RC_E2BIG:
+		return "IAVF_AQ_RC_E2BIG";
+	case IAVF_AQ_RC_EAGAIN:
+		return "IAVF_AQ_RC_EAGAIN";
+	case IAVF_AQ_RC_ENOMEM:
+		return "IAVF_AQ_RC_ENOMEM";
+	case IAVF_AQ_RC_EACCES:
+		return "IAVF_AQ_RC_EACCES";
+	case IAVF_AQ_RC_EFAULT:
+		return "IAVF_AQ_RC_EFAULT";
+	case IAVF_AQ_RC_EBUSY:
+		return "IAVF_AQ_RC_EBUSY";
+	case IAVF_AQ_RC_EEXIST:
+		return "IAVF_AQ_RC_EEXIST";
+	case IAVF_AQ_RC_EINVAL:
+		return "IAVF_AQ_RC_EINVAL";
+	case IAVF_AQ_RC_ENOTTY:
+		return "IAVF_AQ_RC_ENOTTY";
+	case IAVF_AQ_RC_ENOSPC:
+		return "IAVF_AQ_RC_ENOSPC";
+	case IAVF_AQ_RC_ENOSYS:
+		return "IAVF_AQ_RC_ENOSYS";
+	case IAVF_AQ_RC_ERANGE:
+		return "IAVF_AQ_RC_ERANGE";
+	case IAVF_AQ_RC_EFLUSHED:
+		return "IAVF_AQ_RC_EFLUSHED";
+	case IAVF_AQ_RC_BAD_ADDR:
+		return "IAVF_AQ_RC_BAD_ADDR";
+	case IAVF_AQ_RC_EMODE:
+		return "IAVF_AQ_RC_EMODE";
+	case IAVF_AQ_RC_EFBIG:
+		return "IAVF_AQ_RC_EFBIG";
+	}
+
+	snprintf(hw->err_str, sizeof(hw->err_str), "%d", aq_err);
+	return hw->err_str;
+}
+
+/**
+ * iavf_stat_str - convert status err code to a string
+ * @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)
+{
+	switch (stat_err) {
+	case IAVF_SUCCESS:
+		return "OK";
+	case IAVF_ERR_NVM:
+		return "IAVF_ERR_NVM";
+	case IAVF_ERR_NVM_CHECKSUM:
+		return "IAVF_ERR_NVM_CHECKSUM";
+	case IAVF_ERR_PHY:
+		return "IAVF_ERR_PHY";
+	case IAVF_ERR_CONFIG:
+		return "IAVF_ERR_CONFIG";
+	case IAVF_ERR_PARAM:
+		return "IAVF_ERR_PARAM";
+	case IAVF_ERR_MAC_TYPE:
+		return "IAVF_ERR_MAC_TYPE";
+	case IAVF_ERR_UNKNOWN_PHY:
+		return "IAVF_ERR_UNKNOWN_PHY";
+	case IAVF_ERR_LINK_SETUP:
+		return "IAVF_ERR_LINK_SETUP";
+	case IAVF_ERR_ADAPTER_STOPPED:
+		return "IAVF_ERR_ADAPTER_STOPPED";
+	case IAVF_ERR_INVALID_MAC_ADDR:
+		return "IAVF_ERR_INVALID_MAC_ADDR";
+	case IAVF_ERR_DEVICE_NOT_SUPPORTED:
+		return "IAVF_ERR_DEVICE_NOT_SUPPORTED";
+	case IAVF_ERR_MASTER_REQUESTS_PENDING:
+		return "IAVF_ERR_MASTER_REQUESTS_PENDING";
+	case IAVF_ERR_INVALID_LINK_SETTINGS:
+		return "IAVF_ERR_INVALID_LINK_SETTINGS";
+	case IAVF_ERR_AUTONEG_NOT_COMPLETE:
+		return "IAVF_ERR_AUTONEG_NOT_COMPLETE";
+	case IAVF_ERR_RESET_FAILED:
+		return "IAVF_ERR_RESET_FAILED";
+	case IAVF_ERR_SWFW_SYNC:
+		return "IAVF_ERR_SWFW_SYNC";
+	case IAVF_ERR_NO_AVAILABLE_VSI:
+		return "IAVF_ERR_NO_AVAILABLE_VSI";
+	case IAVF_ERR_NO_MEMORY:
+		return "IAVF_ERR_NO_MEMORY";
+	case IAVF_ERR_BAD_PTR:
+		return "IAVF_ERR_BAD_PTR";
+	case IAVF_ERR_RING_FULL:
+		return "IAVF_ERR_RING_FULL";
+	case IAVF_ERR_INVALID_PD_ID:
+		return "IAVF_ERR_INVALID_PD_ID";
+	case IAVF_ERR_INVALID_QP_ID:
+		return "IAVF_ERR_INVALID_QP_ID";
+	case IAVF_ERR_INVALID_CQ_ID:
+		return "IAVF_ERR_INVALID_CQ_ID";
+	case IAVF_ERR_INVALID_CEQ_ID:
+		return "IAVF_ERR_INVALID_CEQ_ID";
+	case IAVF_ERR_INVALID_AEQ_ID:
+		return "IAVF_ERR_INVALID_AEQ_ID";
+	case IAVF_ERR_INVALID_SIZE:
+		return "IAVF_ERR_INVALID_SIZE";
+	case IAVF_ERR_INVALID_ARP_INDEX:
+		return "IAVF_ERR_INVALID_ARP_INDEX";
+	case IAVF_ERR_INVALID_FPM_FUNC_ID:
+		return "IAVF_ERR_INVALID_FPM_FUNC_ID";
+	case IAVF_ERR_QP_INVALID_MSG_SIZE:
+		return "IAVF_ERR_QP_INVALID_MSG_SIZE";
+	case IAVF_ERR_QP_TOOMANY_WRS_POSTED:
+		return "IAVF_ERR_QP_TOOMANY_WRS_POSTED";
+	case IAVF_ERR_INVALID_FRAG_COUNT:
+		return "IAVF_ERR_INVALID_FRAG_COUNT";
+	case IAVF_ERR_QUEUE_EMPTY:
+		return "IAVF_ERR_QUEUE_EMPTY";
+	case IAVF_ERR_INVALID_ALIGNMENT:
+		return "IAVF_ERR_INVALID_ALIGNMENT";
+	case IAVF_ERR_FLUSHED_QUEUE:
+		return "IAVF_ERR_FLUSHED_QUEUE";
+	case IAVF_ERR_INVALID_PUSH_PAGE_INDEX:
+		return "IAVF_ERR_INVALID_PUSH_PAGE_INDEX";
+	case IAVF_ERR_INVALID_IMM_DATA_SIZE:
+		return "IAVF_ERR_INVALID_IMM_DATA_SIZE";
+	case IAVF_ERR_TIMEOUT:
+		return "IAVF_ERR_TIMEOUT";
+	case IAVF_ERR_OPCODE_MISMATCH:
+		return "IAVF_ERR_OPCODE_MISMATCH";
+	case IAVF_ERR_CQP_COMPL_ERROR:
+		return "IAVF_ERR_CQP_COMPL_ERROR";
+	case IAVF_ERR_INVALID_VF_ID:
+		return "IAVF_ERR_INVALID_VF_ID";
+	case IAVF_ERR_INVALID_HMCFN_ID:
+		return "IAVF_ERR_INVALID_HMCFN_ID";
+	case IAVF_ERR_BACKING_PAGE_ERROR:
+		return "IAVF_ERR_BACKING_PAGE_ERROR";
+	case IAVF_ERR_NO_PBLCHUNKS_AVAILABLE:
+		return "IAVF_ERR_NO_PBLCHUNKS_AVAILABLE";
+	case IAVF_ERR_INVALID_PBLE_INDEX:
+		return "IAVF_ERR_INVALID_PBLE_INDEX";
+	case IAVF_ERR_INVALID_SD_INDEX:
+		return "IAVF_ERR_INVALID_SD_INDEX";
+	case IAVF_ERR_INVALID_PAGE_DESC_INDEX:
+		return "IAVF_ERR_INVALID_PAGE_DESC_INDEX";
+	case IAVF_ERR_INVALID_SD_TYPE:
+		return "IAVF_ERR_INVALID_SD_TYPE";
+	case IAVF_ERR_MEMCPY_FAILED:
+		return "IAVF_ERR_MEMCPY_FAILED";
+	case IAVF_ERR_INVALID_HMC_OBJ_INDEX:
+		return "IAVF_ERR_INVALID_HMC_OBJ_INDEX";
+	case IAVF_ERR_INVALID_HMC_OBJ_COUNT:
+		return "IAVF_ERR_INVALID_HMC_OBJ_COUNT";
+	case IAVF_ERR_INVALID_SRQ_ARM_LIMIT:
+		return "IAVF_ERR_INVALID_SRQ_ARM_LIMIT";
+	case IAVF_ERR_SRQ_ENABLED:
+		return "IAVF_ERR_SRQ_ENABLED";
+	case IAVF_ERR_ADMIN_QUEUE_ERROR:
+		return "IAVF_ERR_ADMIN_QUEUE_ERROR";
+	case IAVF_ERR_ADMIN_QUEUE_TIMEOUT:
+		return "IAVF_ERR_ADMIN_QUEUE_TIMEOUT";
+	case IAVF_ERR_BUF_TOO_SHORT:
+		return "IAVF_ERR_BUF_TOO_SHORT";
+	case IAVF_ERR_ADMIN_QUEUE_FULL:
+		return "IAVF_ERR_ADMIN_QUEUE_FULL";
+	case IAVF_ERR_ADMIN_QUEUE_NO_WORK:
+		return "IAVF_ERR_ADMIN_QUEUE_NO_WORK";
+	case IAVF_ERR_BAD_IWARP_CQE:
+		return "IAVF_ERR_BAD_IWARP_CQE";
+	case IAVF_ERR_NVM_BLANK_MODE:
+		return "IAVF_ERR_NVM_BLANK_MODE";
+	case IAVF_ERR_NOT_IMPLEMENTED:
+		return "IAVF_ERR_NOT_IMPLEMENTED";
+	case IAVF_ERR_PE_DOORBELL_NOT_ENABLED:
+		return "IAVF_ERR_PE_DOORBELL_NOT_ENABLED";
+	case IAVF_ERR_DIAG_TEST_FAILED:
+		return "IAVF_ERR_DIAG_TEST_FAILED";
+	case IAVF_ERR_NOT_READY:
+		return "IAVF_ERR_NOT_READY";
+	case IAVF_NOT_SUPPORTED:
+		return "IAVF_NOT_SUPPORTED";
+	case IAVF_ERR_FIRMWARE_API_VERSION:
+		return "IAVF_ERR_FIRMWARE_API_VERSION";
+	case IAVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR:
+		return "IAVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR";
+	}
+
+	snprintf(hw->err_str, sizeof(hw->err_str), "%d", stat_err);
+	return hw->err_str;
+}
+
+/**
+ * iavf_debug_aq
+ * @hw: debug mask related to admin queue
+ * @mask: debug mask
+ * @desc: pointer to admin queue descriptor
+ * @buffer: pointer to command buffer
+ * @buf_len: max length of buffer
+ *
+ * Dumps debug log about adminq command with descriptor contents.
+ **/
+void iavf_debug_aq(struct iavf_hw *hw, enum iavf_debug_mask mask, void *desc,
+		   void *buffer, u16 buf_len)
+{
+	struct iavf_aq_desc *aq_desc = (struct iavf_aq_desc *)desc;
+	u8 *buf = (u8 *)buffer;
+	u16 len;
+	u16 i = 0;
+
+	if ((!(mask & hw->debug_mask)) || (desc == NULL))
+		return;
+
+	len = LE16_TO_CPU(aq_desc->datalen);
+
+	iavf_debug(hw, mask,
+		   "AQ CMD: opcode 0x%04X, flags 0x%04X, datalen 0x%04X, retval 0x%04X\n",
+		   LE16_TO_CPU(aq_desc->opcode),
+		   LE16_TO_CPU(aq_desc->flags),
+		   LE16_TO_CPU(aq_desc->datalen),
+		   LE16_TO_CPU(aq_desc->retval));
+	iavf_debug(hw, mask, "\tcookie (h,l) 0x%08X 0x%08X\n",
+		   LE32_TO_CPU(aq_desc->cookie_high),
+		   LE32_TO_CPU(aq_desc->cookie_low));
+	iavf_debug(hw, mask, "\tparam (0,1)  0x%08X 0x%08X\n",
+		   LE32_TO_CPU(aq_desc->params.internal.param0),
+		   LE32_TO_CPU(aq_desc->params.internal.param1));
+	iavf_debug(hw, mask, "\taddr (h,l)   0x%08X 0x%08X\n",
+		   LE32_TO_CPU(aq_desc->params.external.addr_high),
+		   LE32_TO_CPU(aq_desc->params.external.addr_low));
+
+	if ((buffer != NULL) && (aq_desc->datalen != 0)) {
+		iavf_debug(hw, mask, "AQ CMD Buffer:\n");
+		if (buf_len < len)
+			len = buf_len;
+		/* write the full 16-byte chunks */
+		for (i = 0; i < (len - 16); i += 16)
+			iavf_debug(hw, mask,
+				   "\t0x%04X  %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n",
+				   i, buf[i], buf[i+1], buf[i+2], buf[i+3],
+				   buf[i+4], buf[i+5], buf[i+6], buf[i+7],
+				   buf[i+8], buf[i+9], buf[i+10], buf[i+11],
+				   buf[i+12], buf[i+13], buf[i+14], buf[i+15]);
+		/* the most we could have left is 16 bytes, pad with zeros */
+		if (i < len) {
+			char d_buf[16];
+			int j, i_sav;
+
+			i_sav = i;
+			memset(d_buf, 0, sizeof(d_buf));
+			for (j = 0; i < len; j++, i++)
+				d_buf[j] = buf[i];
+			iavf_debug(hw, mask,
+				   "\t0x%04X  %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X\n",
+				   i_sav, d_buf[0], d_buf[1], d_buf[2], d_buf[3],
+				   d_buf[4], d_buf[5], d_buf[6], d_buf[7],
+				   d_buf[8], d_buf[9], d_buf[10], d_buf[11],
+				   d_buf[12], d_buf[13], d_buf[14], d_buf[15]);
+		}
+	}
+}
+
+/**
+ * iavf_check_asq_alive
+ * @hw: pointer to the hw struct
+ *
+ * Returns true if Queue is enabled else false.
+ **/
+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_ATQLEN1_ATQENABLE_MASK);
+#else
+		return !!(rd32(hw, hw->aq.asq.len) &
+			IAVF_ATQLEN1_ATQENABLE_MASK);
+#endif /* INTEGRATED_VF */
+	return false;
+}
+
+/**
+ * iavf_aq_queue_shutdown
+ * @hw: pointer to the hw struct
+ * @unloading: is the driver unloading itself
+ *
+ * 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,
+					     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;
+
+	iavf_fill_default_direct_cmd_desc(&desc,
+					  iavf_aqc_opc_queue_shutdown);
+
+	if (unloading)
+		cmd->driver_unloading = CPU_TO_LE32(IAVF_AQ_DRIVER_UNLOADING);
+	status = iavf_asq_send_command(hw, &desc, NULL, 0, NULL);
+
+	return status;
+}
+
+/**
+ * iavf_aq_get_set_rss_lut
+ * @hw: pointer to the hardware structure
+ * @vsi_id: vsi fw index
+ * @pf_lut: for PF table set true, for VSI table set false
+ * @lut: pointer to the lut buffer provided by the caller
+ * @lut_size: size of the lut buffer
+ * @set: set true to set the table, false to get the table
+ *
+ * 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,
+						     u16 vsi_id, bool pf_lut,
+						     u8 *lut, u16 lut_size,
+						     bool set)
+{
+	enum iavf_status_code 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;
+
+	if (set)
+		iavf_fill_default_direct_cmd_desc(&desc,
+						  iavf_aqc_opc_set_rss_lut);
+	else
+		iavf_fill_default_direct_cmd_desc(&desc,
+						  iavf_aqc_opc_get_rss_lut);
+
+	/* Indirect command */
+	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_BUF);
+	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_RD);
+
+	cmd_resp->vsi_id =
+			CPU_TO_LE16((u16)((vsi_id <<
+					  IAVF_AQC_SET_RSS_LUT_VSI_ID_SHIFT) &
+					  IAVF_AQC_SET_RSS_LUT_VSI_ID_MASK));
+	cmd_resp->vsi_id |= CPU_TO_LE16((u16)IAVF_AQC_SET_RSS_LUT_VSI_VALID);
+
+	if (pf_lut)
+		cmd_resp->flags |= CPU_TO_LE16((u16)
+					((IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_PF <<
+					IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) &
+					IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_MASK));
+	else
+		cmd_resp->flags |= CPU_TO_LE16((u16)
+					((IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_VSI <<
+					IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_SHIFT) &
+					IAVF_AQC_SET_RSS_LUT_TABLE_TYPE_MASK));
+
+	status = iavf_asq_send_command(hw, &desc, lut, lut_size, NULL);
+
+	return status;
+}
+
+/**
+ * iavf_aq_get_rss_lut
+ * @hw: pointer to the hardware structure
+ * @vsi_id: vsi fw index
+ * @pf_lut: for PF table set true, for VSI table set false
+ * @lut: pointer to the lut buffer provided by the caller
+ * @lut_size: size of the lut buffer
+ *
+ * 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,
+					  bool pf_lut, u8 *lut, u16 lut_size)
+{
+	return iavf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size,
+				       false);
+}
+
+/**
+ * iavf_aq_set_rss_lut
+ * @hw: pointer to the hardware structure
+ * @vsi_id: vsi fw index
+ * @pf_lut: for PF table set true, for VSI table set false
+ * @lut: pointer to the lut buffer provided by the caller
+ * @lut_size: size of the lut buffer
+ *
+ * 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,
+					  bool pf_lut, u8 *lut, u16 lut_size)
+{
+	return iavf_aq_get_set_rss_lut(hw, vsi_id, pf_lut, lut, lut_size, true);
+}
+
+/**
+ * iavf_aq_get_set_rss_key
+ * @hw: pointer to the hw struct
+ * @vsi_id: vsi fw index
+ * @key: pointer to key info struct
+ * @set: set true to set the key, false to get the key
+ *
+ * get the RSS key per VSI
+ **/
+STATIC enum iavf_status_code 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;
+	struct iavf_aq_desc desc;
+	struct iavf_aqc_get_set_rss_key *cmd_resp =
+			(struct iavf_aqc_get_set_rss_key *)&desc.params.raw;
+	u16 key_size = sizeof(struct iavf_aqc_get_set_rss_key_data);
+
+	if (set)
+		iavf_fill_default_direct_cmd_desc(&desc,
+						  iavf_aqc_opc_set_rss_key);
+	else
+		iavf_fill_default_direct_cmd_desc(&desc,
+						  iavf_aqc_opc_get_rss_key);
+
+	/* Indirect command */
+	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_BUF);
+	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_RD);
+
+	cmd_resp->vsi_id =
+			CPU_TO_LE16((u16)((vsi_id <<
+					  IAVF_AQC_SET_RSS_KEY_VSI_ID_SHIFT) &
+					  IAVF_AQC_SET_RSS_KEY_VSI_ID_MASK));
+	cmd_resp->vsi_id |= CPU_TO_LE16((u16)IAVF_AQC_SET_RSS_KEY_VSI_VALID);
+
+	status = iavf_asq_send_command(hw, &desc, key, key_size, NULL);
+
+	return status;
+}
+
+/**
+ * iavf_aq_get_rss_key
+ * @hw: pointer to the hw struct
+ * @vsi_id: vsi fw index
+ * @key: pointer to key info struct
+ *
+ **/
+enum iavf_status_code iavf_aq_get_rss_key(struct iavf_hw *hw,
+				      u16 vsi_id,
+				      struct iavf_aqc_get_set_rss_key_data *key)
+{
+	return iavf_aq_get_set_rss_key(hw, vsi_id, key, false);
+}
+
+/**
+ * iavf_aq_set_rss_key
+ * @hw: pointer to the hw struct
+ * @vsi_id: vsi fw index
+ * @key: pointer to key info struct
+ *
+ * set the RSS key per VSI
+ **/
+enum iavf_status_code iavf_aq_set_rss_key(struct iavf_hw *hw,
+				      u16 vsi_id,
+				      struct iavf_aqc_get_set_rss_key_data *key)
+{
+	return iavf_aq_get_set_rss_key(hw, vsi_id, key, true);
+}
+
+/* The iavf_ptype_lookup table is used to convert from the 8-bit ptype in the
+ * hardware to a bit-field that can be used by SW to more easily determine the
+ * packet type.
+ *
+ * Macros are used to shorten the table lines and make this table human
+ * readable.
+ *
+ * We store the PTYPE in the top byte of the bit field - this is just so that
+ * we can check that the table doesn't have a row missing, as the index into
+ * the table should be the PTYPE.
+ *
+ * Typical work flow:
+ *
+ * IF NOT iavf_ptype_lookup[ptype].known
+ * THEN
+ *      Packet is unknown
+ * ELSE IF iavf_ptype_lookup[ptype].outer_ip == IAVF_RX_PTYPE_OUTER_IP
+ *      Use the rest of the fields to look at the tunnels, inner protocols, etc
+ * ELSE
+ *      Use the enum iavf_rx_l2_ptype to decode the packet type
+ * ENDIF
+ */
+
+/* macro to make the table lines short */
+#define IAVF_PTT(PTYPE, OUTER_IP, OUTER_IP_VER, OUTER_FRAG, T, TE, TEF, I, PL)\
+	{	PTYPE, \
+		1, \
+		IAVF_RX_PTYPE_OUTER_##OUTER_IP, \
+		IAVF_RX_PTYPE_OUTER_##OUTER_IP_VER, \
+		IAVF_RX_PTYPE_##OUTER_FRAG, \
+		IAVF_RX_PTYPE_TUNNEL_##T, \
+		IAVF_RX_PTYPE_TUNNEL_END_##TE, \
+		IAVF_RX_PTYPE_##TEF, \
+		IAVF_RX_PTYPE_INNER_PROT_##I, \
+		IAVF_RX_PTYPE_PAYLOAD_LAYER_##PL }
+
+#define IAVF_PTT_UNUSED_ENTRY(PTYPE) \
+		{ PTYPE, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
+
+/* shorter macros makes the table fit but are terse */
+#define IAVF_RX_PTYPE_NOF		IAVF_RX_PTYPE_NOT_FRAG
+#define IAVF_RX_PTYPE_FRG		IAVF_RX_PTYPE_FRAG
+#define IAVF_RX_PTYPE_INNER_PROT_TS	IAVF_RX_PTYPE_INNER_PROT_TIMESYNC
+
+/* Lookup table mapping the HW PTYPE to the bit field for decoding */
+struct iavf_rx_ptype_decoded iavf_ptype_lookup[] = {
+	/* L2 Packet types */
+	IAVF_PTT_UNUSED_ENTRY(0),
+	IAVF_PTT(1,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
+	IAVF_PTT(2,  L2, NONE, NOF, NONE, NONE, NOF, TS,   PAY2),
+	IAVF_PTT(3,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
+	IAVF_PTT_UNUSED_ENTRY(4),
+	IAVF_PTT_UNUSED_ENTRY(5),
+	IAVF_PTT(6,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
+	IAVF_PTT(7,  L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
+	IAVF_PTT_UNUSED_ENTRY(8),
+	IAVF_PTT_UNUSED_ENTRY(9),
+	IAVF_PTT(10, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY2),
+	IAVF_PTT(11, L2, NONE, NOF, NONE, NONE, NOF, NONE, NONE),
+	IAVF_PTT(12, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(13, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(14, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(15, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(16, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(17, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(18, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(19, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(20, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(21, L2, NONE, NOF, NONE, NONE, NOF, NONE, PAY3),
+
+	/* Non Tunneled IPv4 */
+	IAVF_PTT(22, IP, IPV4, FRG, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(23, IP, IPV4, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(24, IP, IPV4, NOF, NONE, NONE, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(25),
+	IAVF_PTT(26, IP, IPV4, NOF, NONE, NONE, NOF, TCP,  PAY4),
+	IAVF_PTT(27, IP, IPV4, NOF, NONE, NONE, NOF, SCTP, PAY4),
+	IAVF_PTT(28, IP, IPV4, NOF, NONE, NONE, NOF, ICMP, PAY4),
+
+	/* IPv4 --> IPv4 */
+	IAVF_PTT(29, IP, IPV4, NOF, IP_IP, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(30, IP, IPV4, NOF, IP_IP, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(31, IP, IPV4, NOF, IP_IP, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(32),
+	IAVF_PTT(33, IP, IPV4, NOF, IP_IP, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(34, IP, IPV4, NOF, IP_IP, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(35, IP, IPV4, NOF, IP_IP, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv4 --> IPv6 */
+	IAVF_PTT(36, IP, IPV4, NOF, IP_IP, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(37, IP, IPV4, NOF, IP_IP, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(38, IP, IPV4, NOF, IP_IP, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(39),
+	IAVF_PTT(40, IP, IPV4, NOF, IP_IP, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(41, IP, IPV4, NOF, IP_IP, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(42, IP, IPV4, NOF, IP_IP, IPV6, NOF, ICMP, PAY4),
+
+	/* IPv4 --> GRE/NAT */
+	IAVF_PTT(43, IP, IPV4, NOF, IP_GRENAT, NONE, NOF, NONE, PAY3),
+
+	/* IPv4 --> GRE/NAT --> IPv4 */
+	IAVF_PTT(44, IP, IPV4, NOF, IP_GRENAT, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(45, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(46, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(47),
+	IAVF_PTT(48, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(49, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(50, IP, IPV4, NOF, IP_GRENAT, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv4 --> GRE/NAT --> IPv6 */
+	IAVF_PTT(51, IP, IPV4, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(52, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(53, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(54),
+	IAVF_PTT(55, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(56, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(57, IP, IPV4, NOF, IP_GRENAT, IPV6, NOF, ICMP, PAY4),
+
+	/* IPv4 --> GRE/NAT --> MAC */
+	IAVF_PTT(58, IP, IPV4, NOF, IP_GRENAT_MAC, NONE, NOF, NONE, PAY3),
+
+	/* IPv4 --> GRE/NAT --> MAC --> IPv4 */
+	IAVF_PTT(59, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(60, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(61, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(62),
+	IAVF_PTT(63, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(64, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(65, IP, IPV4, NOF, IP_GRENAT_MAC, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv4 --> GRE/NAT -> MAC --> IPv6 */
+	IAVF_PTT(66, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(67, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(68, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(69),
+	IAVF_PTT(70, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(71, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(72, IP, IPV4, NOF, IP_GRENAT_MAC, IPV6, NOF, ICMP, PAY4),
+
+	/* IPv4 --> GRE/NAT --> MAC/VLAN */
+	IAVF_PTT(73, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, NONE, NOF, NONE, PAY3),
+
+	/* IPv4 ---> GRE/NAT -> MAC/VLAN --> IPv4 */
+	IAVF_PTT(74, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(75, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(76, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(77),
+	IAVF_PTT(78, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(79, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(80, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv4 -> GRE/NAT -> MAC/VLAN --> IPv6 */
+	IAVF_PTT(81, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(82, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(83, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(84),
+	IAVF_PTT(85, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(86, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(87, IP, IPV4, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, ICMP, PAY4),
+
+	/* Non Tunneled IPv6 */
+	IAVF_PTT(88, IP, IPV6, FRG, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(89, IP, IPV6, NOF, NONE, NONE, NOF, NONE, PAY3),
+	IAVF_PTT(90, IP, IPV6, NOF, NONE, NONE, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(91),
+	IAVF_PTT(92, IP, IPV6, NOF, NONE, NONE, NOF, TCP,  PAY4),
+	IAVF_PTT(93, IP, IPV6, NOF, NONE, NONE, NOF, SCTP, PAY4),
+	IAVF_PTT(94, IP, IPV6, NOF, NONE, NONE, NOF, ICMP, PAY4),
+
+	/* IPv6 --> IPv4 */
+	IAVF_PTT(95,  IP, IPV6, NOF, IP_IP, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(96,  IP, IPV6, NOF, IP_IP, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(97,  IP, IPV6, NOF, IP_IP, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(98),
+	IAVF_PTT(99,  IP, IPV6, NOF, IP_IP, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(100, IP, IPV6, NOF, IP_IP, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(101, IP, IPV6, NOF, IP_IP, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv6 --> IPv6 */
+	IAVF_PTT(102, IP, IPV6, NOF, IP_IP, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(103, IP, IPV6, NOF, IP_IP, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(104, IP, IPV6, NOF, IP_IP, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(105),
+	IAVF_PTT(106, IP, IPV6, NOF, IP_IP, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(107, IP, IPV6, NOF, IP_IP, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(108, IP, IPV6, NOF, IP_IP, IPV6, NOF, ICMP, PAY4),
+
+	/* IPv6 --> GRE/NAT */
+	IAVF_PTT(109, IP, IPV6, NOF, IP_GRENAT, NONE, NOF, NONE, PAY3),
+
+	/* IPv6 --> GRE/NAT -> IPv4 */
+	IAVF_PTT(110, IP, IPV6, NOF, IP_GRENAT, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(111, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(112, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(113),
+	IAVF_PTT(114, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(115, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(116, IP, IPV6, NOF, IP_GRENAT, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv6 --> GRE/NAT -> IPv6 */
+	IAVF_PTT(117, IP, IPV6, NOF, IP_GRENAT, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(118, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(119, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(120),
+	IAVF_PTT(121, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(122, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(123, IP, IPV6, NOF, IP_GRENAT, IPV6, NOF, ICMP, PAY4),
+
+	/* IPv6 --> GRE/NAT -> MAC */
+	IAVF_PTT(124, IP, IPV6, NOF, IP_GRENAT_MAC, NONE, NOF, NONE, PAY3),
+
+	/* IPv6 --> GRE/NAT -> MAC -> IPv4 */
+	IAVF_PTT(125, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(126, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(127, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(128),
+	IAVF_PTT(129, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(130, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(131, IP, IPV6, NOF, IP_GRENAT_MAC, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv6 --> GRE/NAT -> MAC -> IPv6 */
+	IAVF_PTT(132, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(133, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(134, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(135),
+	IAVF_PTT(136, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(137, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(138, IP, IPV6, NOF, IP_GRENAT_MAC, IPV6, NOF, ICMP, PAY4),
+
+	/* IPv6 --> GRE/NAT -> MAC/VLAN */
+	IAVF_PTT(139, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, NONE, NOF, NONE, PAY3),
+
+	/* IPv6 --> GRE/NAT -> MAC/VLAN --> IPv4 */
+	IAVF_PTT(140, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, FRG, NONE, PAY3),
+	IAVF_PTT(141, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, NONE, PAY3),
+	IAVF_PTT(142, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(143),
+	IAVF_PTT(144, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, TCP,  PAY4),
+	IAVF_PTT(145, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, SCTP, PAY4),
+	IAVF_PTT(146, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV4, NOF, ICMP, PAY4),
+
+	/* IPv6 --> GRE/NAT -> MAC/VLAN --> IPv6 */
+	IAVF_PTT(147, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, FRG, NONE, PAY3),
+	IAVF_PTT(148, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, NONE, PAY3),
+	IAVF_PTT(149, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, UDP,  PAY4),
+	IAVF_PTT_UNUSED_ENTRY(150),
+	IAVF_PTT(151, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, TCP,  PAY4),
+	IAVF_PTT(152, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, SCTP, PAY4),
+	IAVF_PTT(153, IP, IPV6, NOF, IP_GRENAT_MAC_VLAN, IPV6, NOF, ICMP, PAY4),
+
+	/* unused entries */
+	IAVF_PTT_UNUSED_ENTRY(154),
+	IAVF_PTT_UNUSED_ENTRY(155),
+	IAVF_PTT_UNUSED_ENTRY(156),
+	IAVF_PTT_UNUSED_ENTRY(157),
+	IAVF_PTT_UNUSED_ENTRY(158),
+	IAVF_PTT_UNUSED_ENTRY(159),
+
+	IAVF_PTT_UNUSED_ENTRY(160),
+	IAVF_PTT_UNUSED_ENTRY(161),
+	IAVF_PTT_UNUSED_ENTRY(162),
+	IAVF_PTT_UNUSED_ENTRY(163),
+	IAVF_PTT_UNUSED_ENTRY(164),
+	IAVF_PTT_UNUSED_ENTRY(165),
+	IAVF_PTT_UNUSED_ENTRY(166),
+	IAVF_PTT_UNUSED_ENTRY(167),
+	IAVF_PTT_UNUSED_ENTRY(168),
+	IAVF_PTT_UNUSED_ENTRY(169),
+
+	IAVF_PTT_UNUSED_ENTRY(170),
+	IAVF_PTT_UNUSED_ENTRY(171),
+	IAVF_PTT_UNUSED_ENTRY(172),
+	IAVF_PTT_UNUSED_ENTRY(173),
+	IAVF_PTT_UNUSED_ENTRY(174),
+	IAVF_PTT_UNUSED_ENTRY(175),
+	IAVF_PTT_UNUSED_ENTRY(176),
+	IAVF_PTT_UNUSED_ENTRY(177),
+	IAVF_PTT_UNUSED_ENTRY(178),
+	IAVF_PTT_UNUSED_ENTRY(179),
+
+	IAVF_PTT_UNUSED_ENTRY(180),
+	IAVF_PTT_UNUSED_ENTRY(181),
+	IAVF_PTT_UNUSED_ENTRY(182),
+	IAVF_PTT_UNUSED_ENTRY(183),
+	IAVF_PTT_UNUSED_ENTRY(184),
+	IAVF_PTT_UNUSED_ENTRY(185),
+	IAVF_PTT_UNUSED_ENTRY(186),
+	IAVF_PTT_UNUSED_ENTRY(187),
+	IAVF_PTT_UNUSED_ENTRY(188),
+	IAVF_PTT_UNUSED_ENTRY(189),
+
+	IAVF_PTT_UNUSED_ENTRY(190),
+	IAVF_PTT_UNUSED_ENTRY(191),
+	IAVF_PTT_UNUSED_ENTRY(192),
+	IAVF_PTT_UNUSED_ENTRY(193),
+	IAVF_PTT_UNUSED_ENTRY(194),
+	IAVF_PTT_UNUSED_ENTRY(195),
+	IAVF_PTT_UNUSED_ENTRY(196),
+	IAVF_PTT_UNUSED_ENTRY(197),
+	IAVF_PTT_UNUSED_ENTRY(198),
+	IAVF_PTT_UNUSED_ENTRY(199),
+
+	IAVF_PTT_UNUSED_ENTRY(200),
+	IAVF_PTT_UNUSED_ENTRY(201),
+	IAVF_PTT_UNUSED_ENTRY(202),
+	IAVF_PTT_UNUSED_ENTRY(203),
+	IAVF_PTT_UNUSED_ENTRY(204),
+	IAVF_PTT_UNUSED_ENTRY(205),
+	IAVF_PTT_UNUSED_ENTRY(206),
+	IAVF_PTT_UNUSED_ENTRY(207),
+	IAVF_PTT_UNUSED_ENTRY(208),
+	IAVF_PTT_UNUSED_ENTRY(209),
+
+	IAVF_PTT_UNUSED_ENTRY(210),
+	IAVF_PTT_UNUSED_ENTRY(211),
+	IAVF_PTT_UNUSED_ENTRY(212),
+	IAVF_PTT_UNUSED_ENTRY(213),
+	IAVF_PTT_UNUSED_ENTRY(214),
+	IAVF_PTT_UNUSED_ENTRY(215),
+	IAVF_PTT_UNUSED_ENTRY(216),
+	IAVF_PTT_UNUSED_ENTRY(217),
+	IAVF_PTT_UNUSED_ENTRY(218),
+	IAVF_PTT_UNUSED_ENTRY(219),
+
+	IAVF_PTT_UNUSED_ENTRY(220),
+	IAVF_PTT_UNUSED_ENTRY(221),
+	IAVF_PTT_UNUSED_ENTRY(222),
+	IAVF_PTT_UNUSED_ENTRY(223),
+	IAVF_PTT_UNUSED_ENTRY(224),
+	IAVF_PTT_UNUSED_ENTRY(225),
+	IAVF_PTT_UNUSED_ENTRY(226),
+	IAVF_PTT_UNUSED_ENTRY(227),
+	IAVF_PTT_UNUSED_ENTRY(228),
+	IAVF_PTT_UNUSED_ENTRY(229),
+
+	IAVF_PTT_UNUSED_ENTRY(230),
+	IAVF_PTT_UNUSED_ENTRY(231),
+	IAVF_PTT_UNUSED_ENTRY(232),
+	IAVF_PTT_UNUSED_ENTRY(233),
+	IAVF_PTT_UNUSED_ENTRY(234),
+	IAVF_PTT_UNUSED_ENTRY(235),
+	IAVF_PTT_UNUSED_ENTRY(236),
+	IAVF_PTT_UNUSED_ENTRY(237),
+	IAVF_PTT_UNUSED_ENTRY(238),
+	IAVF_PTT_UNUSED_ENTRY(239),
+
+	IAVF_PTT_UNUSED_ENTRY(240),
+	IAVF_PTT_UNUSED_ENTRY(241),
+	IAVF_PTT_UNUSED_ENTRY(242),
+	IAVF_PTT_UNUSED_ENTRY(243),
+	IAVF_PTT_UNUSED_ENTRY(244),
+	IAVF_PTT_UNUSED_ENTRY(245),
+	IAVF_PTT_UNUSED_ENTRY(246),
+	IAVF_PTT_UNUSED_ENTRY(247),
+	IAVF_PTT_UNUSED_ENTRY(248),
+	IAVF_PTT_UNUSED_ENTRY(249),
+
+	IAVF_PTT_UNUSED_ENTRY(250),
+	IAVF_PTT_UNUSED_ENTRY(251),
+	IAVF_PTT_UNUSED_ENTRY(252),
+	IAVF_PTT_UNUSED_ENTRY(253),
+	IAVF_PTT_UNUSED_ENTRY(254),
+	IAVF_PTT_UNUSED_ENTRY(255)
+};
+
+
+/**
+ * iavf_validate_mac_addr - Validate unicast MAC address
+ * @mac_addr: pointer to MAC address
+ *
+ * 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_code status = IAVF_SUCCESS;
+
+	DEBUGFUNC("iavf_validate_mac_addr");
+
+	/* Broadcast addresses ARE multicast addresses
+	 * Make sure it is not a multicast address
+	 * Reject the zero address
+	 */
+	if (IAVF_IS_MULTICAST(mac_addr) ||
+	    (mac_addr[0] == 0 && mac_addr[1] == 0 && mac_addr[2] == 0 &&
+	      mac_addr[3] == 0 && mac_addr[4] == 0 && mac_addr[5] == 0))
+		status = IAVF_ERR_INVALID_MAC_ADDR;
+
+	return status;
+}
+
+/**
+ * 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_code 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;
+
+	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_code 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_code 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;
+
+	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_code 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_code 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_code 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_code 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_code 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
+ * @v_retval: return error code
+ * @msg: pointer to the msg buffer
+ * @msglen: msg length
+ * @cmd_details: pointer to command details
+ *
+ * Send message to PF driver using admin queue. By default, this message
+ * 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 virtchnl_ops v_opcode,
+				enum iavf_status_code 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;
+
+	iavf_fill_default_direct_cmd_desc(&desc, iavf_aqc_opc_send_msg_to_pf);
+	desc.flags |= CPU_TO_LE16((u16)IAVF_AQ_FLAG_SI);
+	desc.cookie_high = CPU_TO_LE32(v_opcode);
+	desc.cookie_low = CPU_TO_LE32(v_retval);
+	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);
+	}
+	if (!cmd_details) {
+		iavf_memset(&details, 0, sizeof(details), IAVF_NONDMA_MEM);
+		details.async = true;
+		cmd_details = &details;
+	}
+	status = iavf_asq_send_command(hw, (struct iavf_aq_desc *)&desc, msg,
+				       msglen, cmd_details);
+	return status;
+}
+
+/**
+ * iavf_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,
+			     struct virtchnl_vf_resource *msg)
+{
+	struct virtchnl_vsi_resource *vsi_res;
+	int i;
+
+	vsi_res = &msg->vsi_res[0];
+
+	hw->dev_caps.num_vsis = msg->num_vsis;
+	hw->dev_caps.num_rx_qp = msg->num_queue_pairs;
+	hw->dev_caps.num_tx_qp = msg->num_queue_pairs;
+	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,
+				    vsi_res->default_mac_addr,
+				    ETH_ALEN,
+				    IAVF_NONDMA_TO_NONDMA);
+			iavf_memcpy(hw->mac.addr, vsi_res->default_mac_addr,
+				    ETH_ALEN,
+				    IAVF_NONDMA_TO_NONDMA);
+		}
+		vsi_res++;
+	}
+}
+
+/**
+ * iavf_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_code iavf_reset(struct iavf_hw *hw)
+{
+	return iavf_aq_send_msg_to_pf(hw, VIRTCHNL_OP_RESET_VF,
+				      IAVF_SUCCESS, NULL, 0, NULL);
+}
+
+/**
+ * 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_code 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;
+
+	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_code 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;
+
+	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_code 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_code 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_code 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;
+
+	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
+*
+* Get information for the reason of a Wake Up event
+**/
+enum iavf_status_code 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;
+
+	iavf_fill_default_direct_cmd_desc(&desc,
+					  iavf_aqc_opc_clear_all_wol_filters);
+
+	status = iavf_asq_send_command(hw, &desc, NULL, 0, cmd_details);
+
+	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_code 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_code 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_code 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;
+
+	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_code iavf_ddp_exec_aq_section(struct iavf_hw *hw,
+					  struct iavf_profile_aq_section *aq)
+{
+	enum iavf_status_code 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_code
+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;
+	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_code
+iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *profile,
+		   u32 track_id)
+{
+	enum iavf_status_code 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_code
+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;
+	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_code
+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;
+	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/avf/base/avf_devids.h b/drivers/net/iavf/base/iavf_devids.h
similarity index 91%
rename from drivers/net/avf/base/avf_devids.h
rename to drivers/net/iavf/base/iavf_devids.h
index 7d9fed25b..efb39cc34 100644
--- a/drivers/net/avf/base/avf_devids.h
+++ b/drivers/net/iavf/base/iavf_devids.h
@@ -31,13 +31,13 @@ POSSIBILITY OF SUCH DAMAGE.
 
 ***************************************************************************/
 
-#ifndef _AVF_DEVIDS_H_
-#define _AVF_DEVIDS_H_
+#ifndef _IAVF_DEVIDS_H_
+#define _IAVF_DEVIDS_H_
 
 /* Vendor ID */
-#define AVF_INTEL_VENDOR_ID		0x8086
+#define IAVF_INTEL_VENDOR_ID		0x8086
 
 /* Device IDs */
-#define AVF_DEV_ID_ADAPTIVE_VF		0x1889
+#define IAVF_DEV_ID_ADAPTIVE_VF		0x1889
 
-#endif /* _AVF_DEVIDS_H_ */
+#endif /* _IAVF_DEVIDS_H_ */
diff --git a/drivers/net/iavf/base/iavf_hmc.h b/drivers/net/iavf/base/iavf_hmc.h
new file mode 100644
index 000000000..348b71a2f
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_hmc.h
@@ -0,0 +1,245 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#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/avf/base/avf_lan_hmc.h b/drivers/net/iavf/base/iavf_lan_hmc.h
similarity index 59%
rename from drivers/net/avf/base/avf_lan_hmc.h
rename to drivers/net/iavf/base/iavf_lan_hmc.h
index 48805d89a..a9389f52b 100644
--- a/drivers/net/avf/base/avf_lan_hmc.h
+++ b/drivers/net/iavf/base/iavf_lan_hmc.h
@@ -31,11 +31,11 @@ POSSIBILITY OF SUCH DAMAGE.
 
 ***************************************************************************/
 
-#ifndef _AVF_LAN_HMC_H_
-#define _AVF_LAN_HMC_H_
+#ifndef _IAVF_LAN_HMC_H_
+#define _IAVF_LAN_HMC_H_
 
 /* forward-declare the HW struct for the compiler */
-struct avf_hw;
+struct iavf_hw;
 
 /* HMC element context information */
 
@@ -46,14 +46,14 @@ struct avf_hw;
  * 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 avf_hmc_obj_rxq {
+struct iavf_hmc_obj_rxq {
 	u16 head;
 	u16 cpuid; /* bigger than needed, see above for reason */
 	u64 base;
 	u16 qlen;
-#define AVF_RXQ_CTX_DBUFF_SHIFT 7
+#define IAVF_RXQ_CTX_DBUFF_SHIFT 7
 	u16 dbuff; /* bigger than needed, see above for reason */
-#define AVF_RXQ_CTX_HBUFF_SHIFT 6
+#define IAVF_RXQ_CTX_HBUFF_SHIFT 6
 	u16 hbuff; /* bigger than needed, see above for reason */
 	u8  dtype;
 	u8  dsize;
@@ -79,7 +79,7 @@ struct avf_hmc_obj_rxq {
 * 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 avf_hmc_obj_txq {
+struct iavf_hmc_obj_txq {
 	u16 head;
 	u8  new_context;
 	u64 base;
@@ -101,100 +101,100 @@ struct avf_hmc_obj_txq {
 };
 
 /* for hsplit_0 field of Rx HMC context */
-enum avf_hmc_obj_rx_hsplit_0 {
-	AVF_HMC_OBJ_RX_HSPLIT_0_NO_SPLIT      = 0,
-	AVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_L2      = 1,
-	AVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_IP      = 2,
-	AVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_TCP_UDP = 4,
-	AVF_HMC_OBJ_RX_HSPLIT_0_SPLIT_SCTP    = 8,
+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 avf_hmc_obj_fcoe_cntx {
+struct iavf_hmc_obj_fcoe_cntx {
 	u32 rsv[32];
 };
 
-struct avf_hmc_obj_fcoe_filt {
+struct iavf_hmc_obj_fcoe_filt {
 	u32 rsv[8];
 };
 
 /* Context sizes for LAN objects */
-enum avf_hmc_lan_object_size {
-	AVF_HMC_LAN_OBJ_SZ_8   = 0x3,
-	AVF_HMC_LAN_OBJ_SZ_16  = 0x4,
-	AVF_HMC_LAN_OBJ_SZ_32  = 0x5,
-	AVF_HMC_LAN_OBJ_SZ_64  = 0x6,
-	AVF_HMC_LAN_OBJ_SZ_128 = 0x7,
-	AVF_HMC_LAN_OBJ_SZ_256 = 0x8,
-	AVF_HMC_LAN_OBJ_SZ_512 = 0x9,
+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 AVF_HMC_L2OBJ_BASE_ALIGNMENT 512
-#define AVF_HMC_OBJ_SIZE_TXQ         128
-#define AVF_HMC_OBJ_SIZE_RXQ         32
-#define AVF_HMC_OBJ_SIZE_FCOE_CNTX   64
-#define AVF_HMC_OBJ_SIZE_FCOE_FILT   64
-
-enum avf_hmc_lan_rsrc_type {
-	AVF_HMC_LAN_FULL  = 0,
-	AVF_HMC_LAN_TX    = 1,
-	AVF_HMC_LAN_RX    = 2,
-	AVF_HMC_FCOE_CTX  = 3,
-	AVF_HMC_FCOE_FILT = 4,
-	AVF_HMC_LAN_MAX   = 5
+#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 avf_hmc_model {
-	AVF_HMC_MODEL_DIRECT_PREFERRED = 0,
-	AVF_HMC_MODEL_DIRECT_ONLY      = 1,
-	AVF_HMC_MODEL_PAGED_ONLY       = 2,
-	AVF_HMC_MODEL_UNKNOWN,
+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 avf_hmc_lan_create_obj_info {
-	struct avf_hmc_info *hmc_info;
+struct iavf_hmc_lan_create_obj_info {
+	struct iavf_hmc_info *hmc_info;
 	u32 rsrc_type;
 	u32 start_idx;
 	u32 count;
-	enum avf_sd_entry_type entry_type;
+	enum iavf_sd_entry_type entry_type;
 	u64 direct_mode_sz;
 };
 
-struct avf_hmc_lan_delete_obj_info {
-	struct avf_hmc_info *hmc_info;
+struct iavf_hmc_lan_delete_obj_info {
+	struct iavf_hmc_info *hmc_info;
 	u32 rsrc_type;
 	u32 start_idx;
 	u32 count;
 };
 
-enum avf_status_code avf_init_lan_hmc(struct avf_hw *hw, u32 txq_num,
+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 avf_status_code avf_configure_lan_hmc(struct avf_hw *hw,
-					     enum avf_hmc_model model);
-enum avf_status_code avf_shutdown_lan_hmc(struct avf_hw *hw);
+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 avf_calculate_l2fpm_size(u32 txq_num, u32 rxq_num,
+u64 iavf_calculate_l2fpm_size(u32 txq_num, u32 rxq_num,
 			      u32 fcoe_cntx_num, u32 fcoe_filt_num);
-enum avf_status_code avf_get_lan_tx_queue_context(struct avf_hw *hw,
+enum iavf_status_code iavf_get_lan_tx_queue_context(struct iavf_hw *hw,
 						    u16 queue,
-						    struct avf_hmc_obj_txq *s);
-enum avf_status_code avf_clear_lan_tx_queue_context(struct avf_hw *hw,
+						    struct iavf_hmc_obj_txq *s);
+enum iavf_status_code iavf_clear_lan_tx_queue_context(struct iavf_hw *hw,
 						      u16 queue);
-enum avf_status_code avf_set_lan_tx_queue_context(struct avf_hw *hw,
+enum iavf_status_code iavf_set_lan_tx_queue_context(struct iavf_hw *hw,
 						    u16 queue,
-						    struct avf_hmc_obj_txq *s);
-enum avf_status_code avf_get_lan_rx_queue_context(struct avf_hw *hw,
+						    struct iavf_hmc_obj_txq *s);
+enum iavf_status_code iavf_get_lan_rx_queue_context(struct iavf_hw *hw,
 						    u16 queue,
-						    struct avf_hmc_obj_rxq *s);
-enum avf_status_code avf_clear_lan_rx_queue_context(struct avf_hw *hw,
+						    struct iavf_hmc_obj_rxq *s);
+enum iavf_status_code iavf_clear_lan_rx_queue_context(struct iavf_hw *hw,
 						      u16 queue);
-enum avf_status_code avf_set_lan_rx_queue_context(struct avf_hw *hw,
+enum iavf_status_code iavf_set_lan_rx_queue_context(struct iavf_hw *hw,
 						    u16 queue,
-						    struct avf_hmc_obj_rxq *s);
-enum avf_status_code avf_create_lan_hmc_object(struct avf_hw *hw,
-				struct avf_hmc_lan_create_obj_info *info);
-enum avf_status_code avf_delete_lan_hmc_object(struct avf_hw *hw,
-				struct avf_hmc_lan_delete_obj_info *info);
+						    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 /* _AVF_LAN_HMC_H_ */
+#endif /* _IAVF_LAN_HMC_H_ */
diff --git a/drivers/net/avf/base/avf_osdep.h b/drivers/net/iavf/base/iavf_osdep.h
similarity index 60%
rename from drivers/net/avf/base/avf_osdep.h
rename to drivers/net/iavf/base/iavf_osdep.h
index 442a5acd0..648026693 100644
--- a/drivers/net/avf/base/avf_osdep.h
+++ b/drivers/net/iavf/base/iavf_osdep.h
@@ -2,8 +2,8 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
-#ifndef _AVF_OSDEP_H_
-#define _AVF_OSDEP_H_
+#ifndef _IAVF_OSDEP_H_
+#define _IAVF_OSDEP_H_
 
 #include <string.h>
 #include <stdint.h>
@@ -21,7 +21,7 @@
 #include <rte_log.h>
 #include <rte_io.h>
 
-#include "../avf_log.h"
+#include "../iavf_log.h"
 
 #define INLINE inline
 #define STATIC static
@@ -70,7 +70,7 @@ typedef uint64_t        u64;
 #define max(a,b) RTE_MAX(a,b)
 
 #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f))
-#define ASSERT(x) if(!(x)) rte_panic("AVF: x")
+#define ASSERT(x) if(!(x)) rte_panic("IAVF: x")
 
 #define DEBUGOUT(S)             PMD_DRV_LOG_RAW(DEBUG, S)
 #define DEBUGOUT2(S, A...)      PMD_DRV_LOG_RAW(DEBUG, S, ##A)
@@ -90,98 +90,98 @@ typedef uint64_t        u64;
 #define le32_to_cpu(c) rte_le_to_cpu_32(c)
 #define le64_to_cpu(k) rte_le_to_cpu_64(k)
 
-#define avf_memset(a, b, c, d) memset((a), (b), (c))
-#define avf_memcpy(a, b, c, d) rte_memcpy((a), (b), (c))
+#define iavf_memset(a, b, c, d) memset((a), (b), (c))
+#define iavf_memcpy(a, b, c, d) rte_memcpy((a), (b), (c))
 
-#define avf_usec_delay(x) rte_delay_us_sleep(x)
-#define avf_msec_delay(x) avf_usec_delay(1000 * (x))
+#define iavf_usec_delay(x) rte_delay_us_sleep(x)
+#define iavf_msec_delay(x) iavf_usec_delay(1000 * (x))
 
-#define AVF_PCI_REG(reg)		rte_read32(reg)
-#define AVF_PCI_REG_ADDR(a, reg) \
+#define IAVF_PCI_REG(reg)		rte_read32(reg)
+#define IAVF_PCI_REG_ADDR(a, reg) \
 	((volatile uint32_t *)((char *)(a)->hw_addr + (reg)))
 
-#define AVF_PCI_REG_WRITE(reg, value)		\
+#define IAVF_PCI_REG_WRITE(reg, value)		\
 	rte_write32((rte_cpu_to_le_32(value)), reg)
-#define AVF_PCI_REG_WRITE_RELAXED(reg, value)	\
+#define IAVF_PCI_REG_WRITE_RELAXED(reg, value)	\
 	rte_write32_relaxed((rte_cpu_to_le_32(value)), reg)
 static inline
-uint32_t avf_read_addr(volatile void *addr)
+uint32_t iavf_read_addr(volatile void *addr)
 {
-	return rte_le_to_cpu_32(AVF_PCI_REG(addr));
+	return rte_le_to_cpu_32(IAVF_PCI_REG(addr));
 }
 
-#define AVF_READ_REG(hw, reg) \
-	avf_read_addr(AVF_PCI_REG_ADDR((hw), (reg)))
-#define AVF_WRITE_REG(hw, reg, value) \
-	AVF_PCI_REG_WRITE(AVF_PCI_REG_ADDR((hw), (reg)), (value))
-#define AVF_WRITE_FLUSH(a) \
-	AVF_READ_REG(a, AVFGEN_RSTAT)
+#define IAVF_READ_REG(hw, reg) \
+	iavf_read_addr(IAVF_PCI_REG_ADDR((hw), (reg)))
+#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)
 
-#define rd32(a, reg) avf_read_addr(AVF_PCI_REG_ADDR((a), (reg)))
+#define rd32(a, reg) iavf_read_addr(IAVF_PCI_REG_ADDR((a), (reg)))
 #define wr32(a, reg, value) \
-	AVF_PCI_REG_WRITE(AVF_PCI_REG_ADDR((a), (reg)), (value))
+	IAVF_PCI_REG_WRITE(IAVF_PCI_REG_ADDR((a), (reg)), (value))
 
 #define ARRAY_SIZE(arr) (sizeof(arr)/sizeof(arr[0]))
 
-#define avf_debug(h, m, s, ...)                                \
+#define iavf_debug(h, m, s, ...)                                \
 do {                                                            \
 	if (((m) & (h)->debug_mask))                            \
-		PMD_DRV_LOG_RAW(DEBUG, "avf %02x.%x " s,       \
+		PMD_DRV_LOG_RAW(DEBUG, "iavf %02x.%x " s,       \
 			(h)->bus.device, (h)->bus.func,         \
 					##__VA_ARGS__);         \
 } while (0)
 
 /* memory allocation tracking */
-struct avf_dma_mem {
+struct iavf_dma_mem {
 	void *va;
 	u64 pa;
 	u32 size;
 	const void *zone;
 } __attribute__((packed));
 
-struct avf_virt_mem {
+struct iavf_virt_mem {
 	void *va;
 	u32 size;
 } __attribute__((packed));
 
 /* SW spinlock */
-struct avf_spinlock {
+struct iavf_spinlock {
 	rte_spinlock_t spinlock;
 };
 
-#define avf_allocate_dma_mem(h, m, unused, s, a) \
-			avf_allocate_dma_mem_d(h, m, s, a)
-#define avf_free_dma_mem(h, m) avf_free_dma_mem_d(h, m)
+#define iavf_allocate_dma_mem(h, m, unused, s, a) \
+			iavf_allocate_dma_mem_d(h, m, s, a)
+#define iavf_free_dma_mem(h, m) iavf_free_dma_mem_d(h, m)
 
-#define avf_allocate_virt_mem(h, m, s) avf_allocate_virt_mem_d(h, m, s)
-#define avf_free_virt_mem(h, m) avf_free_virt_mem_d(h, m)
+#define iavf_allocate_virt_mem(h, m, s) iavf_allocate_virt_mem_d(h, m, s)
+#define iavf_free_virt_mem(h, m) iavf_free_virt_mem_d(h, m)
 
 static inline void
-avf_init_spinlock_d(struct avf_spinlock *sp)
+iavf_init_spinlock_d(struct iavf_spinlock *sp)
 {
 	rte_spinlock_init(&sp->spinlock);
 }
 
 static inline void
-avf_acquire_spinlock_d(struct avf_spinlock *sp)
+iavf_acquire_spinlock_d(struct iavf_spinlock *sp)
 {
 	rte_spinlock_lock(&sp->spinlock);
 }
 
 static inline void
-avf_release_spinlock_d(struct avf_spinlock *sp)
+iavf_release_spinlock_d(struct iavf_spinlock *sp)
 {
 	rte_spinlock_unlock(&sp->spinlock);
 }
 
 static inline void
-avf_destroy_spinlock_d(__rte_unused struct avf_spinlock *sp)
+iavf_destroy_spinlock_d(__rte_unused struct iavf_spinlock *sp)
 {
 }
 
-#define avf_init_spinlock(_sp) avf_init_spinlock_d(_sp)
-#define avf_acquire_spinlock(_sp) avf_acquire_spinlock_d(_sp)
-#define avf_release_spinlock(_sp) avf_release_spinlock_d(_sp)
-#define avf_destroy_spinlock(_sp) avf_destroy_spinlock_d(_sp)
+#define iavf_init_spinlock(_sp) iavf_init_spinlock_d(_sp)
+#define iavf_acquire_spinlock(_sp) iavf_acquire_spinlock_d(_sp)
+#define iavf_release_spinlock(_sp) iavf_release_spinlock_d(_sp)
+#define iavf_destroy_spinlock(_sp) iavf_destroy_spinlock_d(_sp)
 
-#endif /* _AVF_OSDEP_H_ */
+#endif /* _IAVF_OSDEP_H_ */
diff --git a/drivers/net/iavf/base/iavf_prototype.h b/drivers/net/iavf/base/iavf_prototype.h
new file mode 100644
index 000000000..35122aedb
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_prototype.h
@@ -0,0 +1,206 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#ifndef _IAVF_PROTOTYPE_H_
+#define _IAVF_PROTOTYPE_H_
+
+#include "iavf_type.h"
+#include "iavf_alloc.h"
+#include "virtchnl.h"
+
+/* Prototypes for shared code functions that are not in
+ * the standard function pointer structures.  These are
+ * mostly because they are needed even before the init
+ * has happened and will assist in the early SW and FW
+ * setup.
+ */
+
+/* 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);
+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);
+void iavf_adminq_init_ring_data(struct iavf_hw *hw);
+enum iavf_status_code 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,
+				struct iavf_aq_desc *desc,
+				void *buff, /* can be NULL */
+				u16  buff_size,
+				struct iavf_asq_cmd_details *cmd_details);
+bool iavf_asq_done(struct iavf_hw *hw);
+
+/* debug function for adminq */
+void iavf_debug_aq(struct iavf_hw *hw, enum iavf_debug_mask mask,
+		   void *desc, void *buffer, u16 buf_len);
+
+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_code 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,
+					  bool pf_lut, u8 *lut, u16 lut_size);
+enum iavf_status_code 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,
+				     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);
+
+
+enum iavf_status_code iavf_set_mac_type(struct iavf_hw *hw);
+
+extern struct iavf_rx_ptype_decoded iavf_ptype_lookup[];
+
+STATIC INLINE struct iavf_rx_ptype_decoded decode_rx_desc_ptype(u8 ptype)
+{
+	return iavf_ptype_lookup[ptype];
+}
+
+/* prototype for functions used for SW spinlocks */
+void iavf_init_spinlock(struct iavf_spinlock *sp);
+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_code iavf_reset(struct iavf_hw *hw);
+enum iavf_status_code iavf_aq_send_msg_to_pf(struct iavf_hw *hw,
+				enum virtchnl_ops v_opcode,
+				enum iavf_status_code 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,
+				struct iavf_filter_control_settings *settings);
+enum iavf_status_code 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,
+				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,
+				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,
+				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,
+				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,
+				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,
+			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,
+			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,
+			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,
+			u16 *wake_reason,
+			struct iavf_asq_cmd_details *cmd_details);
+enum iavf_status_code 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,
+					u16 reg, u8 phy_addr, u16 *value);
+enum iavf_status_code 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,
+				u8 page, u16 reg, u8 phy_addr, u16 *value);
+enum iavf_status_code 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,
+				u8 page, u16 reg, u8 phy_addr, u16 *value);
+enum iavf_status_code 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,
+					      u32 time, u32 interval);
+enum iavf_status_code 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,
+					   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_code
+iavf_write_profile(struct iavf_hw *hw, struct iavf_profile_segment *iavf_seg,
+		   u32 track_id);
+enum iavf_status_code
+iavf_rollback_profile(struct iavf_hw *hw, struct iavf_profile_segment *iavf_seg,
+		      u32 track_id);
+enum iavf_status_code
+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_register.h b/drivers/net/iavf/base/iavf_register.h
new file mode 100644
index 000000000..de0629c5e
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_register.h
@@ -0,0 +1,346 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#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_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)
+
+#endif /* _IAVF_REGISTER_H_ */
diff --git a/drivers/net/iavf/base/iavf_status.h b/drivers/net/iavf/base/iavf_status.h
new file mode 100644
index 000000000..37454c697
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_status.h
@@ -0,0 +1,108 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#ifndef _IAVF_STATUS_H_
+#define _IAVF_STATUS_H_
+
+/* Error Codes */
+enum iavf_status_code {
+	IAVF_SUCCESS				= 0,
+	IAVF_ERR_NVM				= -1,
+	IAVF_ERR_NVM_CHECKSUM			= -2,
+	IAVF_ERR_PHY				= -3,
+	IAVF_ERR_CONFIG				= -4,
+	IAVF_ERR_PARAM				= -5,
+	IAVF_ERR_MAC_TYPE			= -6,
+	IAVF_ERR_UNKNOWN_PHY			= -7,
+	IAVF_ERR_LINK_SETUP			= -8,
+	IAVF_ERR_ADAPTER_STOPPED		= -9,
+	IAVF_ERR_INVALID_MAC_ADDR		= -10,
+	IAVF_ERR_DEVICE_NOT_SUPPORTED		= -11,
+	IAVF_ERR_MASTER_REQUESTS_PENDING	= -12,
+	IAVF_ERR_INVALID_LINK_SETTINGS		= -13,
+	IAVF_ERR_AUTONEG_NOT_COMPLETE		= -14,
+	IAVF_ERR_RESET_FAILED			= -15,
+	IAVF_ERR_SWFW_SYNC			= -16,
+	IAVF_ERR_NO_AVAILABLE_VSI		= -17,
+	IAVF_ERR_NO_MEMORY			= -18,
+	IAVF_ERR_BAD_PTR			= -19,
+	IAVF_ERR_RING_FULL			= -20,
+	IAVF_ERR_INVALID_PD_ID			= -21,
+	IAVF_ERR_INVALID_QP_ID			= -22,
+	IAVF_ERR_INVALID_CQ_ID			= -23,
+	IAVF_ERR_INVALID_CEQ_ID			= -24,
+	IAVF_ERR_INVALID_AEQ_ID			= -25,
+	IAVF_ERR_INVALID_SIZE			= -26,
+	IAVF_ERR_INVALID_ARP_INDEX		= -27,
+	IAVF_ERR_INVALID_FPM_FUNC_ID		= -28,
+	IAVF_ERR_QP_INVALID_MSG_SIZE		= -29,
+	IAVF_ERR_QP_TOOMANY_WRS_POSTED		= -30,
+	IAVF_ERR_INVALID_FRAG_COUNT		= -31,
+	IAVF_ERR_QUEUE_EMPTY			= -32,
+	IAVF_ERR_INVALID_ALIGNMENT		= -33,
+	IAVF_ERR_FLUSHED_QUEUE			= -34,
+	IAVF_ERR_INVALID_PUSH_PAGE_INDEX	= -35,
+	IAVF_ERR_INVALID_IMM_DATA_SIZE		= -36,
+	IAVF_ERR_TIMEOUT			= -37,
+	IAVF_ERR_OPCODE_MISMATCH		= -38,
+	IAVF_ERR_CQP_COMPL_ERROR		= -39,
+	IAVF_ERR_INVALID_VF_ID			= -40,
+	IAVF_ERR_INVALID_HMCFN_ID		= -41,
+	IAVF_ERR_BACKING_PAGE_ERROR		= -42,
+	IAVF_ERR_NO_PBLCHUNKS_AVAILABLE		= -43,
+	IAVF_ERR_INVALID_PBLE_INDEX		= -44,
+	IAVF_ERR_INVALID_SD_INDEX		= -45,
+	IAVF_ERR_INVALID_PAGE_DESC_INDEX	= -46,
+	IAVF_ERR_INVALID_SD_TYPE		= -47,
+	IAVF_ERR_MEMCPY_FAILED			= -48,
+	IAVF_ERR_INVALID_HMC_OBJ_INDEX		= -49,
+	IAVF_ERR_INVALID_HMC_OBJ_COUNT		= -50,
+	IAVF_ERR_INVALID_SRQ_ARM_LIMIT		= -51,
+	IAVF_ERR_SRQ_ENABLED			= -52,
+	IAVF_ERR_ADMIN_QUEUE_ERROR		= -53,
+	IAVF_ERR_ADMIN_QUEUE_TIMEOUT		= -54,
+	IAVF_ERR_BUF_TOO_SHORT			= -55,
+	IAVF_ERR_ADMIN_QUEUE_FULL		= -56,
+	IAVF_ERR_ADMIN_QUEUE_NO_WORK		= -57,
+	IAVF_ERR_BAD_IWARP_CQE			= -58,
+	IAVF_ERR_NVM_BLANK_MODE			= -59,
+	IAVF_ERR_NOT_IMPLEMENTED		= -60,
+	IAVF_ERR_PE_DOORBELL_NOT_ENABLED	= -61,
+	IAVF_ERR_DIAG_TEST_FAILED		= -62,
+	IAVF_ERR_NOT_READY			= -63,
+	IAVF_NOT_SUPPORTED			= -64,
+	IAVF_ERR_FIRMWARE_API_VERSION		= -65,
+	IAVF_ERR_ADMIN_QUEUE_CRITICAL_ERROR	= -66,
+};
+
+#endif /* _IAVF_STATUS_H_ */
diff --git a/drivers/net/iavf/base/iavf_type.h b/drivers/net/iavf/base/iavf_type.h
new file mode 100644
index 000000000..0a602874f
--- /dev/null
+++ b/drivers/net/iavf/base/iavf_type.h
@@ -0,0 +1,2024 @@
+/*******************************************************************************
+
+Copyright (c) 2013 - 2015, Intel Corporation
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+ 2. Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in the
+    documentation and/or other materials provided with the distribution.
+
+ 3. Neither the name of the Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived from
+    this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+***************************************************************************/
+
+#ifndef _IAVF_TYPE_H_
+#define _IAVF_TYPE_H_
+
+#include "iavf_status.h"
+#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 UNREFERENCED_XPARAMETER
+#define UNREFERENCED_1PARAMETER(_p) (_p);
+#define UNREFERENCED_2PARAMETER(_p, _q) (_p); (_q);
+#define UNREFERENCED_3PARAMETER(_p, _q, _r) (_p); (_q); (_r);
+#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 */
+
+#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
+#define IAVF_MAX_PF_QP			128
+#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))
+
+/* Check whether an address is broadcast. */
+#define IAVF_IS_BROADCAST(address)	\
+	((((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;
+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))
+
+#define IAVF_HI_WORD(x)		((u16)(((x) >> 16) & 0xFFFF))
+#define IAVF_LO_WORD(x)		((u16)((x) & 0xFFFF))
+
+#define IAVF_HI_BYTE(x)		((u8)(((x) >> 8) & 0xFF))
+#define IAVF_LO_BYTE(x)		((u8)((x) & 0xFF))
+
+/* Number of Transmit Descriptors must be a multiple of 8. */
+#define IAVF_REQ_TX_DESCRIPTOR_MULTIPLE	8
+/* Number of Receive Descriptors must be a multiple of 32 if
+ * the number of descriptors is greater than 32.
+ */
+#define IAVF_REQ_RX_DESCRIPTOR_MULTIPLE	32
+
+#define IAVF_DESC_UNUSED(R)	\
+	((((R)->next_to_clean > (R)->next_to_use) ? 0 : (R)->count) + \
+	(R)->next_to_clean - (R)->next_to_use - 1)
+
+/* bitfields for Tx queue mapping in QTX_CTL */
+#define IAVF_QTX_CTL_VF_QUEUE	0x0
+#define IAVF_QTX_CTL_VM_QUEUE	0x1
+#define IAVF_QTX_CTL_PF_QUEUE	0x2
+
+/* debug masks - set these bits in hw->debug_mask to control output */
+enum iavf_debug_mask {
+	IAVF_DEBUG_INIT			= 0x00000001,
+	IAVF_DEBUG_RELEASE		= 0x00000002,
+
+	IAVF_DEBUG_LINK			= 0x00000010,
+	IAVF_DEBUG_PHY			= 0x00000020,
+	IAVF_DEBUG_HMC			= 0x00000040,
+	IAVF_DEBUG_NVM			= 0x00000080,
+	IAVF_DEBUG_LAN			= 0x00000100,
+	IAVF_DEBUG_FLOW			= 0x00000200,
+	IAVF_DEBUG_DCB			= 0x00000400,
+	IAVF_DEBUG_DIAG			= 0x00000800,
+	IAVF_DEBUG_FD			= 0x00001000,
+	IAVF_DEBUG_PACKAGE		= 0x00002000,
+
+	IAVF_DEBUG_AQ_MESSAGE		= 0x01000000,
+	IAVF_DEBUG_AQ_DESCRIPTOR	= 0x02000000,
+	IAVF_DEBUG_AQ_DESC_BUFFER	= 0x04000000,
+	IAVF_DEBUG_AQ_COMMAND		= 0x06000000,
+	IAVF_DEBUG_AQ			= 0x0F000000,
+
+	IAVF_DEBUG_USER			= 0xF0000000,
+
+	IAVF_DEBUG_ALL			= 0xFFFFFFFF
+};
+
+/* PCI Bus Info */
+#define IAVF_PCI_LINK_STATUS		0xB2
+#define IAVF_PCI_LINK_WIDTH		0x3F0
+#define IAVF_PCI_LINK_WIDTH_1		0x10
+#define IAVF_PCI_LINK_WIDTH_2		0x20
+#define IAVF_PCI_LINK_WIDTH_4		0x40
+#define IAVF_PCI_LINK_WIDTH_8		0x80
+#define IAVF_PCI_LINK_SPEED		0xF
+#define IAVF_PCI_LINK_SPEED_2500	0x1
+#define IAVF_PCI_LINK_SPEED_5000	0x2
+#define IAVF_PCI_LINK_SPEED_8000	0x3
+
+#define IAVF_MDIO_CLAUSE22_STCODE_MASK	IAVF_MASK(1, \
+						  IAVF_GLGEN_MSCA_STCODE_SHIFT)
+#define IAVF_MDIO_CLAUSE22_OPCODE_WRITE_MASK	IAVF_MASK(1, \
+						  IAVF_GLGEN_MSCA_OPCODE_SHIFT)
+#define IAVF_MDIO_CLAUSE22_OPCODE_READ_MASK	IAVF_MASK(2, \
+						  IAVF_GLGEN_MSCA_OPCODE_SHIFT)
+
+#define IAVF_MDIO_CLAUSE45_STCODE_MASK	IAVF_MASK(0, \
+						  IAVF_GLGEN_MSCA_STCODE_SHIFT)
+#define IAVF_MDIO_CLAUSE45_OPCODE_ADDRESS_MASK	IAVF_MASK(0, \
+						  IAVF_GLGEN_MSCA_OPCODE_SHIFT)
+#define IAVF_MDIO_CLAUSE45_OPCODE_WRITE_MASK	IAVF_MASK(1, \
+						  IAVF_GLGEN_MSCA_OPCODE_SHIFT)
+#define IAVF_MDIO_CLAUSE45_OPCODE_READ_INC_ADDR_MASK	IAVF_MASK(2, \
+						  IAVF_GLGEN_MSCA_OPCODE_SHIFT)
+#define IAVF_MDIO_CLAUSE45_OPCODE_READ_MASK	IAVF_MASK(3, \
+						  IAVF_GLGEN_MSCA_OPCODE_SHIFT)
+
+#define IAVF_PHY_COM_REG_PAGE			0x1E
+#define IAVF_PHY_LED_LINK_MODE_MASK		0xF0
+#define IAVF_PHY_LED_MANUAL_ON			0x100
+#define IAVF_PHY_LED_PROV_REG_1			0xC430
+#define IAVF_PHY_LED_MODE_MASK			0xFFFF
+#define IAVF_PHY_LED_MODE_ORIG			0x80000000
+
+/* Memory types */
+enum iavf_memset_type {
+	IAVF_NONDMA_MEM = 0,
+	IAVF_DMA_MEM
+};
+
+/* Memcpy types */
+enum iavf_memcpy_type {
+	IAVF_NONDMA_TO_NONDMA = 0,
+	IAVF_NONDMA_TO_DMA,
+	IAVF_DMA_TO_DMA,
+	IAVF_DMA_TO_NONDMA
+};
+
+/* These are structs for managing the hardware information and the operations.
+ * The structures of function pointers are filled out at init time when we
+ * know for sure exactly which hardware we're working with.  This gives us the
+ * flexibility of using the same main driver code but adapting to slightly
+ * different hardware needs as new parts are developed.  For this architecture,
+ * the Firmware and AdminQ are intended to insulate the driver from most of the
+ * future changes, but these structures will also do part of the job.
+ */
+enum iavf_mac_type {
+	IAVF_MAC_UNKNOWN = 0,
+	IAVF_MAC_XL710,
+	IAVF_MAC_VF,
+	IAVF_MAC_X722,
+	IAVF_MAC_X722_VF,
+	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,
+	IAVF_VSI_VMDQ2	= 2,
+	IAVF_VSI_CTRL	= 3,
+	IAVF_VSI_FCOE	= 4,
+	IAVF_VSI_MIRROR	= 5,
+	IAVF_VSI_SRIOV	= 6,
+	IAVF_VSI_FDIR	= 7,
+	IAVF_VSI_TYPE_UNKNOWN
+};
+
+enum iavf_queue_type {
+	IAVF_QUEUE_TYPE_RX = 0,
+	IAVF_QUEUE_TYPE_TX,
+	IAVF_QUEUE_TYPE_PE_CEQ,
+	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
+
+enum iavf_acpi_programming_method {
+	IAVF_ACPI_PROGRAMMING_METHOD_HW_FVL = 0,
+	IAVF_ACPI_PROGRAMMING_METHOD_AQC_FPK = 1
+};
+
+#define IAVF_WOL_SUPPORT_MASK			0x1
+#define IAVF_ACPI_PROGRAMMING_METHOD_MASK	0x2
+#define IAVF_PROXY_SUPPORT_MASK			0x4
+
+/* 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 */
+	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;
+};
+
+struct iavf_mac_info {
+	enum iavf_mac_type type;
+	u8 addr[ETH_ALEN];
+	u8 perm_addr[ETH_ALEN];
+	u8 san_addr[ETH_ALEN];
+	u8 port_addr[ETH_ALEN];
+	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
+};
+
+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 */
+};
+
+/* 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
+};
+
+/* 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];
+};
+
+/* (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,
+	iavf_bus_type_pci,
+	iavf_bus_type_pcix,
+	iavf_bus_type_pci_express,
+	iavf_bus_type_reserved
+};
+
+/* PCI bus speeds */
+enum iavf_bus_speed {
+	iavf_bus_speed_unknown	= 0,
+	iavf_bus_speed_33	= 33,
+	iavf_bus_speed_66	= 66,
+	iavf_bus_speed_100	= 100,
+	iavf_bus_speed_120	= 120,
+	iavf_bus_speed_133	= 133,
+	iavf_bus_speed_2500	= 2500,
+	iavf_bus_speed_5000	= 5000,
+	iavf_bus_speed_8000	= 8000,
+	iavf_bus_speed_reserved
+};
+
+/* PCI bus widths */
+enum iavf_bus_width {
+	iavf_bus_width_unknown	= 0,
+	iavf_bus_width_pcie_x1	= 1,
+	iavf_bus_width_pcie_x2	= 2,
+	iavf_bus_width_pcie_x4	= 4,
+	iavf_bus_width_pcie_x8	= 8,
+	iavf_bus_width_32	= 32,
+	iavf_bus_width_64	= 64,
+	iavf_bus_width_reserved
+};
+
+/* Bus parameters */
+struct iavf_bus_info {
+	enum iavf_bus_speed speed;
+	enum iavf_bus_width width;
+	enum iavf_bus_type type;
+
+	u16 func;
+	u16 device;
+	u16 lan_id;
+	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
+#define IAVF_CEE_OPER_MAX_APPS		3
+#define IAVF_APP_PROTOID_FCOE		0x8906
+#define IAVF_APP_PROTOID_ISCSI		0x0cbc
+#define IAVF_APP_PROTOID_FIP		0x8914
+#define IAVF_APP_SEL_ETHTYPE		0x1
+#define IAVF_APP_SEL_TCPIP		0x2
+#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;
+	u16 vendor_id;
+	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;
+
+	/* HMC info */
+	struct iavf_hmc_info hmc; /* HMC info struct */
+
+	/* 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;
+
+#define IAVF_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE BIT_ULL(0)
+#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)
+	u64 flags;
+
+	/* Used in set switch config AQ command */
+	u16 switch_tag;
+	u16 first_tag;
+	u16 second_tag;
+
+	/* 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;
+	u8 build_version;
+	u8 subbuild_version;
+	u8 driver_string[32];
+};
+
+/* RX Descriptors */
+union iavf_16byte_rx_desc {
+	struct {
+		__le64 pkt_addr; /* Packet buffer address */
+		__le64 hdr_addr; /* Header buffer address */
+	} read;
+	struct {
+		struct {
+			struct {
+				union {
+					__le16 mirroring_status;
+					__le16 fcoe_ctx_id;
+				} mirr_fcoe;
+				__le16 l2tag1;
+			} lo_dword;
+			union {
+				__le32 rss; /* RSS Hash */
+				__le32 fd_id; /* Flow director filter id */
+				__le32 fcoe_param; /* FCoE DDP Context id */
+			} hi_dword;
+		} qword0;
+		struct {
+			/* ext status/error/pktype/length */
+			__le64 status_error_len;
+		} qword1;
+	} wb;  /* writeback */
+};
+
+union iavf_32byte_rx_desc {
+	struct {
+		__le64  pkt_addr; /* Packet buffer address */
+		__le64  hdr_addr; /* Header buffer address */
+			/* bit 0 of hdr_buffer_addr is DD bit */
+		__le64  rsvd1;
+		__le64  rsvd2;
+	} read;
+	struct {
+		struct {
+			struct {
+				union {
+					__le16 mirroring_status;
+					__le16 fcoe_ctx_id;
+				} mirr_fcoe;
+				__le16 l2tag1;
+			} lo_dword;
+			union {
+				__le32 rss; /* RSS Hash */
+				__le32 fcoe_param; /* FCoE DDP Context id */
+				/* Flow director filter id in case of
+				 * Programming status desc WB
+				 */
+				__le32 fd_id;
+			} hi_dword;
+		} qword0;
+		struct {
+			/* status/error/pktype/length */
+			__le64 status_error_len;
+		} qword1;
+		struct {
+			__le16 ext_status; /* extended status */
+			__le16 rsvd;
+			__le16 l2tag2_1;
+			__le16 l2tag2_2;
+		} qword2;
+		struct {
+			union {
+				__le32 flex_bytes_lo;
+				__le32 pe_status;
+			} lo_dword;
+			union {
+				__le32 flex_bytes_hi;
+				__le32 fd_id;
+			} hi_dword;
+		} qword3;
+	} wb;  /* writeback */
+};
+
+#define IAVF_RXD_QW0_MIRROR_STATUS_SHIFT	8
+#define IAVF_RXD_QW0_MIRROR_STATUS_MASK	(0x3FUL << \
+					 IAVF_RXD_QW0_MIRROR_STATUS_SHIFT)
+#define IAVF_RXD_QW0_FCOEINDX_SHIFT	0
+#define IAVF_RXD_QW0_FCOEINDX_MASK	(0xFFFUL << \
+					 IAVF_RXD_QW0_FCOEINDX_SHIFT)
+
+enum iavf_rx_desc_status_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_RX_DESC_STATUS_DD_SHIFT		= 0,
+	IAVF_RX_DESC_STATUS_EOF_SHIFT		= 1,
+	IAVF_RX_DESC_STATUS_L2TAG1P_SHIFT	= 2,
+	IAVF_RX_DESC_STATUS_L3L4P_SHIFT		= 3,
+	IAVF_RX_DESC_STATUS_CRCP_SHIFT		= 4,
+	IAVF_RX_DESC_STATUS_TSYNINDX_SHIFT	= 5, /* 2 BITS */
+	IAVF_RX_DESC_STATUS_TSYNVALID_SHIFT	= 7,
+	IAVF_RX_DESC_STATUS_EXT_UDP_0_SHIFT	= 8,
+
+	IAVF_RX_DESC_STATUS_UMBCAST_SHIFT	= 9, /* 2 BITS */
+	IAVF_RX_DESC_STATUS_FLM_SHIFT		= 11,
+	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_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_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_MASK   BIT_ULL(IAVF_RXD_QW1_STATUS_TSYNVALID_SHIFT)
+
+#define IAVF_RXD_QW1_STATUS_UMBCAST_SHIFT	IAVF_RX_DESC_STATUS_UMBCAST
+#define IAVF_RXD_QW1_STATUS_UMBCAST_MASK	(0x3UL << \
+					 IAVF_RXD_QW1_STATUS_UMBCAST_SHIFT)
+
+enum iavf_rx_desc_fltstat_values {
+	IAVF_RX_DESC_FLTSTAT_NO_DATA	= 0,
+	IAVF_RX_DESC_FLTSTAT_RSV_FD_ID	= 1, /* 16byte desc? FD_ID : RSV */
+	IAVF_RX_DESC_FLTSTAT_RSV	= 2,
+	IAVF_RX_DESC_FLTSTAT_RSS_HASH	= 3,
+};
+
+#define IAVF_RXD_PACKET_TYPE_UNICAST	0
+#define IAVF_RXD_PACKET_TYPE_MULTICAST	1
+#define IAVF_RXD_PACKET_TYPE_BROADCAST	2
+#define IAVF_RXD_PACKET_TYPE_MIRRORED	3
+
+#define IAVF_RXD_QW1_ERROR_SHIFT	19
+#define IAVF_RXD_QW1_ERROR_MASK		(0xFFUL << IAVF_RXD_QW1_ERROR_SHIFT)
+
+enum iavf_rx_desc_error_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_RX_DESC_ERROR_RXE_SHIFT		= 0,
+	IAVF_RX_DESC_ERROR_RECIPE_SHIFT		= 1,
+	IAVF_RX_DESC_ERROR_HBO_SHIFT		= 2,
+	IAVF_RX_DESC_ERROR_L3L4E_SHIFT		= 3, /* 3 BITS */
+	IAVF_RX_DESC_ERROR_IPE_SHIFT		= 3,
+	IAVF_RX_DESC_ERROR_L4E_SHIFT		= 4,
+	IAVF_RX_DESC_ERROR_EIPE_SHIFT		= 5,
+	IAVF_RX_DESC_ERROR_OVERSIZE_SHIFT	= 6,
+	IAVF_RX_DESC_ERROR_PPRS_SHIFT		= 7
+};
+
+enum iavf_rx_desc_error_l3l4e_fcoe_masks {
+	IAVF_RX_DESC_ERROR_L3L4E_NONE		= 0,
+	IAVF_RX_DESC_ERROR_L3L4E_PROT		= 1,
+	IAVF_RX_DESC_ERROR_L3L4E_FC		= 2,
+	IAVF_RX_DESC_ERROR_L3L4E_DMAC_ERR	= 3,
+	IAVF_RX_DESC_ERROR_L3L4E_DMAC_WARN	= 4
+};
+
+#define IAVF_RXD_QW1_PTYPE_SHIFT	30
+#define IAVF_RXD_QW1_PTYPE_MASK		(0xFFULL << IAVF_RXD_QW1_PTYPE_SHIFT)
+
+/* Packet type non-ip values */
+enum iavf_rx_l2_ptype {
+	IAVF_RX_PTYPE_L2_RESERVED			= 0,
+	IAVF_RX_PTYPE_L2_MAC_PAY2			= 1,
+	IAVF_RX_PTYPE_L2_TIMESYNC_PAY2			= 2,
+	IAVF_RX_PTYPE_L2_FIP_PAY2			= 3,
+	IAVF_RX_PTYPE_L2_OUI_PAY2			= 4,
+	IAVF_RX_PTYPE_L2_MACCNTRL_PAY2			= 5,
+	IAVF_RX_PTYPE_L2_LLDP_PAY2			= 6,
+	IAVF_RX_PTYPE_L2_ECP_PAY2			= 7,
+	IAVF_RX_PTYPE_L2_EVB_PAY2			= 8,
+	IAVF_RX_PTYPE_L2_QCN_PAY2			= 9,
+	IAVF_RX_PTYPE_L2_EAPOL_PAY2			= 10,
+	IAVF_RX_PTYPE_L2_ARP				= 11,
+	IAVF_RX_PTYPE_L2_FCOE_PAY3			= 12,
+	IAVF_RX_PTYPE_L2_FCOE_FCDATA_PAY3		= 13,
+	IAVF_RX_PTYPE_L2_FCOE_FCRDY_PAY3		= 14,
+	IAVF_RX_PTYPE_L2_FCOE_FCRSP_PAY3		= 15,
+	IAVF_RX_PTYPE_L2_FCOE_FCOTHER_PA		= 16,
+	IAVF_RX_PTYPE_L2_FCOE_VFT_PAY3			= 17,
+	IAVF_RX_PTYPE_L2_FCOE_VFT_FCDATA		= 18,
+	IAVF_RX_PTYPE_L2_FCOE_VFT_FCRDY			= 19,
+	IAVF_RX_PTYPE_L2_FCOE_VFT_FCRSP			= 20,
+	IAVF_RX_PTYPE_L2_FCOE_VFT_FCOTHER		= 21,
+	IAVF_RX_PTYPE_GRENAT4_MAC_PAY3			= 58,
+	IAVF_RX_PTYPE_GRENAT4_MACVLAN_IPV6_ICMP_PAY4	= 87,
+	IAVF_RX_PTYPE_GRENAT6_MAC_PAY3			= 124,
+	IAVF_RX_PTYPE_GRENAT6_MACVLAN_IPV6_ICMP_PAY4	= 153
+};
+
+struct iavf_rx_ptype_decoded {
+	u32 ptype:8;
+	u32 known:1;
+	u32 outer_ip:1;
+	u32 outer_ip_ver:1;
+	u32 outer_frag:1;
+	u32 tunnel_type:3;
+	u32 tunnel_end_prot:2;
+	u32 tunnel_end_frag:1;
+	u32 inner_prot:4;
+	u32 payload_layer:3;
+};
+
+enum iavf_rx_ptype_outer_ip {
+	IAVF_RX_PTYPE_OUTER_L2	= 0,
+	IAVF_RX_PTYPE_OUTER_IP	= 1
+};
+
+enum iavf_rx_ptype_outer_ip_ver {
+	IAVF_RX_PTYPE_OUTER_NONE	= 0,
+	IAVF_RX_PTYPE_OUTER_IPV4	= 0,
+	IAVF_RX_PTYPE_OUTER_IPV6	= 1
+};
+
+enum iavf_rx_ptype_outer_fragmented {
+	IAVF_RX_PTYPE_NOT_FRAG	= 0,
+	IAVF_RX_PTYPE_FRAG	= 1
+};
+
+enum iavf_rx_ptype_tunnel_type {
+	IAVF_RX_PTYPE_TUNNEL_NONE		= 0,
+	IAVF_RX_PTYPE_TUNNEL_IP_IP		= 1,
+	IAVF_RX_PTYPE_TUNNEL_IP_GRENAT		= 2,
+	IAVF_RX_PTYPE_TUNNEL_IP_GRENAT_MAC	= 3,
+	IAVF_RX_PTYPE_TUNNEL_IP_GRENAT_MAC_VLAN	= 4,
+};
+
+enum iavf_rx_ptype_tunnel_end_prot {
+	IAVF_RX_PTYPE_TUNNEL_END_NONE	= 0,
+	IAVF_RX_PTYPE_TUNNEL_END_IPV4	= 1,
+	IAVF_RX_PTYPE_TUNNEL_END_IPV6	= 2,
+};
+
+enum iavf_rx_ptype_inner_prot {
+	IAVF_RX_PTYPE_INNER_PROT_NONE		= 0,
+	IAVF_RX_PTYPE_INNER_PROT_UDP		= 1,
+	IAVF_RX_PTYPE_INNER_PROT_TCP		= 2,
+	IAVF_RX_PTYPE_INNER_PROT_SCTP		= 3,
+	IAVF_RX_PTYPE_INNER_PROT_ICMP		= 4,
+	IAVF_RX_PTYPE_INNER_PROT_TIMESYNC	= 5
+};
+
+enum iavf_rx_ptype_payload_layer {
+	IAVF_RX_PTYPE_PAYLOAD_LAYER_NONE	= 0,
+	IAVF_RX_PTYPE_PAYLOAD_LAYER_PAY2	= 1,
+	IAVF_RX_PTYPE_PAYLOAD_LAYER_PAY3	= 2,
+	IAVF_RX_PTYPE_PAYLOAD_LAYER_PAY4	= 3,
+};
+
+#define IAVF_RX_PTYPE_BIT_MASK		0x0FFFFFFF
+#define IAVF_RX_PTYPE_SHIFT		56
+
+#define IAVF_RXD_QW1_LENGTH_PBUF_SHIFT	38
+#define IAVF_RXD_QW1_LENGTH_PBUF_MASK	(0x3FFFULL << \
+					 IAVF_RXD_QW1_LENGTH_PBUF_SHIFT)
+
+#define IAVF_RXD_QW1_LENGTH_HBUF_SHIFT	52
+#define IAVF_RXD_QW1_LENGTH_HBUF_MASK	(0x7FFULL << \
+					 IAVF_RXD_QW1_LENGTH_HBUF_SHIFT)
+
+#define IAVF_RXD_QW1_LENGTH_SPH_SHIFT	63
+#define IAVF_RXD_QW1_LENGTH_SPH_MASK	BIT_ULL(IAVF_RXD_QW1_LENGTH_SPH_SHIFT)
+
+#define IAVF_RXD_QW1_NEXTP_SHIFT	38
+#define IAVF_RXD_QW1_NEXTP_MASK		(0x1FFFULL << IAVF_RXD_QW1_NEXTP_SHIFT)
+
+#define IAVF_RXD_QW2_EXT_STATUS_SHIFT	0
+#define IAVF_RXD_QW2_EXT_STATUS_MASK	(0xFFFFFUL << \
+					 IAVF_RXD_QW2_EXT_STATUS_SHIFT)
+
+enum iavf_rx_desc_ext_status_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_RX_DESC_EXT_STATUS_L2TAG2P_SHIFT	= 0,
+	IAVF_RX_DESC_EXT_STATUS_L2TAG3P_SHIFT	= 1,
+	IAVF_RX_DESC_EXT_STATUS_FLEXBL_SHIFT	= 2, /* 2 BITS */
+	IAVF_RX_DESC_EXT_STATUS_FLEXBH_SHIFT	= 4, /* 2 BITS */
+	IAVF_RX_DESC_EXT_STATUS_FDLONGB_SHIFT	= 9,
+	IAVF_RX_DESC_EXT_STATUS_FCOELONGB_SHIFT	= 10,
+	IAVF_RX_DESC_EXT_STATUS_PELONGB_SHIFT	= 11,
+};
+
+#define IAVF_RXD_QW2_L2TAG2_SHIFT	0
+#define IAVF_RXD_QW2_L2TAG2_MASK	(0xFFFFUL << IAVF_RXD_QW2_L2TAG2_SHIFT)
+
+#define IAVF_RXD_QW2_L2TAG3_SHIFT	16
+#define IAVF_RXD_QW2_L2TAG3_MASK	(0xFFFFUL << IAVF_RXD_QW2_L2TAG3_SHIFT)
+
+enum iavf_rx_desc_pe_status_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_RX_DESC_PE_STATUS_QPID_SHIFT	= 0, /* 18 BITS */
+	IAVF_RX_DESC_PE_STATUS_L4PORT_SHIFT	= 0, /* 16 BITS */
+	IAVF_RX_DESC_PE_STATUS_IPINDEX_SHIFT	= 16, /* 8 BITS */
+	IAVF_RX_DESC_PE_STATUS_QPIDHIT_SHIFT	= 24,
+	IAVF_RX_DESC_PE_STATUS_APBVTHIT_SHIFT	= 25,
+	IAVF_RX_DESC_PE_STATUS_PORTV_SHIFT	= 26,
+	IAVF_RX_DESC_PE_STATUS_URG_SHIFT	= 27,
+	IAVF_RX_DESC_PE_STATUS_IPFRAG_SHIFT	= 28,
+	IAVF_RX_DESC_PE_STATUS_IPOPT_SHIFT	= 29
+};
+
+#define IAVF_RX_PROG_STATUS_DESC_LENGTH_SHIFT		38
+#define IAVF_RX_PROG_STATUS_DESC_LENGTH			0x2000000
+
+#define IAVF_RX_PROG_STATUS_DESC_QW1_PROGID_SHIFT	2
+#define IAVF_RX_PROG_STATUS_DESC_QW1_PROGID_MASK	(0x7UL << \
+				IAVF_RX_PROG_STATUS_DESC_QW1_PROGID_SHIFT)
+
+#define IAVF_RX_PROG_STATUS_DESC_QW1_STATUS_SHIFT	0
+#define IAVF_RX_PROG_STATUS_DESC_QW1_STATUS_MASK	(0x7FFFUL << \
+				IAVF_RX_PROG_STATUS_DESC_QW1_STATUS_SHIFT)
+
+#define IAVF_RX_PROG_STATUS_DESC_QW1_ERROR_SHIFT	19
+#define IAVF_RX_PROG_STATUS_DESC_QW1_ERROR_MASK		(0x3FUL << \
+				IAVF_RX_PROG_STATUS_DESC_QW1_ERROR_SHIFT)
+
+enum iavf_rx_prog_status_desc_status_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_RX_PROG_STATUS_DESC_DD_SHIFT	= 0,
+	IAVF_RX_PROG_STATUS_DESC_PROG_ID_SHIFT	= 2 /* 3 BITS */
+};
+
+enum iavf_rx_prog_status_desc_prog_id_masks {
+	IAVF_RX_PROG_STATUS_DESC_FD_FILTER_STATUS	= 1,
+	IAVF_RX_PROG_STATUS_DESC_FCOE_CTXT_PROG_STATUS	= 2,
+	IAVF_RX_PROG_STATUS_DESC_FCOE_CTXT_INVL_STATUS	= 4,
+};
+
+enum iavf_rx_prog_status_desc_error_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_RX_PROG_STATUS_DESC_FD_TBL_FULL_SHIFT	= 0,
+	IAVF_RX_PROG_STATUS_DESC_NO_FD_ENTRY_SHIFT	= 1,
+	IAVF_RX_PROG_STATUS_DESC_FCOE_TBL_FULL_SHIFT	= 2,
+	IAVF_RX_PROG_STATUS_DESC_FCOE_CONFLICT_SHIFT	= 3
+};
+
+#define IAVF_TWO_BIT_MASK	0x3
+#define IAVF_THREE_BIT_MASK	0x7
+#define IAVF_FOUR_BIT_MASK	0xF
+#define IAVF_EIGHTEEN_BIT_MASK	0x3FFFF
+
+/* TX Descriptor */
+struct iavf_tx_desc {
+	__le64 buffer_addr; /* Address of descriptor's data buf */
+	__le64 cmd_type_offset_bsz;
+};
+
+#define IAVF_TXD_QW1_DTYPE_SHIFT	0
+#define IAVF_TXD_QW1_DTYPE_MASK		(0xFUL << IAVF_TXD_QW1_DTYPE_SHIFT)
+
+enum iavf_tx_desc_dtype_value {
+	IAVF_TX_DESC_DTYPE_DATA		= 0x0,
+	IAVF_TX_DESC_DTYPE_NOP		= 0x1, /* same as Context desc */
+	IAVF_TX_DESC_DTYPE_CONTEXT	= 0x1,
+	IAVF_TX_DESC_DTYPE_FCOE_CTX	= 0x2,
+	IAVF_TX_DESC_DTYPE_FILTER_PROG	= 0x8,
+	IAVF_TX_DESC_DTYPE_DDP_CTX	= 0x9,
+	IAVF_TX_DESC_DTYPE_FLEX_DATA	= 0xB,
+	IAVF_TX_DESC_DTYPE_FLEX_CTX_1	= 0xC,
+	IAVF_TX_DESC_DTYPE_FLEX_CTX_2	= 0xD,
+	IAVF_TX_DESC_DTYPE_DESC_DONE	= 0xF
+};
+
+#define IAVF_TXD_QW1_CMD_SHIFT	4
+#define IAVF_TXD_QW1_CMD_MASK	(0x3FFUL << IAVF_TXD_QW1_CMD_SHIFT)
+
+enum iavf_tx_desc_cmd_bits {
+	IAVF_TX_DESC_CMD_EOP			= 0x0001,
+	IAVF_TX_DESC_CMD_RS			= 0x0002,
+	IAVF_TX_DESC_CMD_ICRC			= 0x0004,
+	IAVF_TX_DESC_CMD_IL2TAG1		= 0x0008,
+	IAVF_TX_DESC_CMD_DUMMY			= 0x0010,
+	IAVF_TX_DESC_CMD_IIPT_NONIP		= 0x0000, /* 2 BITS */
+	IAVF_TX_DESC_CMD_IIPT_IPV6		= 0x0020, /* 2 BITS */
+	IAVF_TX_DESC_CMD_IIPT_IPV4		= 0x0040, /* 2 BITS */
+	IAVF_TX_DESC_CMD_IIPT_IPV4_CSUM		= 0x0060, /* 2 BITS */
+	IAVF_TX_DESC_CMD_FCOET			= 0x0080,
+	IAVF_TX_DESC_CMD_L4T_EOFT_UNK		= 0x0000, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_TCP		= 0x0100, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_SCTP		= 0x0200, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_UDP		= 0x0300, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_EOF_N		= 0x0000, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_EOF_T		= 0x0100, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_EOF_NI	= 0x0200, /* 2 BITS */
+	IAVF_TX_DESC_CMD_L4T_EOFT_EOF_A		= 0x0300, /* 2 BITS */
+};
+
+#define IAVF_TXD_QW1_OFFSET_SHIFT	16
+#define IAVF_TXD_QW1_OFFSET_MASK	(0x3FFFFULL << \
+					 IAVF_TXD_QW1_OFFSET_SHIFT)
+
+enum iavf_tx_desc_length_fields {
+	/* Note: These are predefined bit offsets */
+	IAVF_TX_DESC_LENGTH_MACLEN_SHIFT	= 0, /* 7 BITS */
+	IAVF_TX_DESC_LENGTH_IPLEN_SHIFT		= 7, /* 7 BITS */
+	IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT	= 14 /* 4 BITS */
+};
+
+#define IAVF_TXD_QW1_MACLEN_MASK (0x7FUL << IAVF_TX_DESC_LENGTH_MACLEN_SHIFT)
+#define IAVF_TXD_QW1_IPLEN_MASK  (0x7FUL << IAVF_TX_DESC_LENGTH_IPLEN_SHIFT)
+#define IAVF_TXD_QW1_L4LEN_MASK  (0xFUL << IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT)
+#define IAVF_TXD_QW1_FCLEN_MASK  (0xFUL << IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT)
+
+#define IAVF_TXD_QW1_TX_BUF_SZ_SHIFT	34
+#define IAVF_TXD_QW1_TX_BUF_SZ_MASK	(0x3FFFULL << \
+					 IAVF_TXD_QW1_TX_BUF_SZ_SHIFT)
+
+#define IAVF_TXD_QW1_L2TAG1_SHIFT	48
+#define IAVF_TXD_QW1_L2TAG1_MASK	(0xFFFFULL << IAVF_TXD_QW1_L2TAG1_SHIFT)
+
+/* Context descriptors */
+struct iavf_tx_context_desc {
+	__le32 tunneling_params;
+	__le16 l2tag2;
+	__le16 rsvd;
+	__le64 type_cmd_tso_mss;
+};
+
+#define IAVF_TXD_CTX_QW1_DTYPE_SHIFT	0
+#define IAVF_TXD_CTX_QW1_DTYPE_MASK	(0xFUL << IAVF_TXD_CTX_QW1_DTYPE_SHIFT)
+
+#define IAVF_TXD_CTX_QW1_CMD_SHIFT	4
+#define IAVF_TXD_CTX_QW1_CMD_MASK	(0xFFFFUL << IAVF_TXD_CTX_QW1_CMD_SHIFT)
+
+enum iavf_tx_ctx_desc_cmd_bits {
+	IAVF_TX_CTX_DESC_TSO		= 0x01,
+	IAVF_TX_CTX_DESC_TSYN		= 0x02,
+	IAVF_TX_CTX_DESC_IL2TAG2	= 0x04,
+	IAVF_TX_CTX_DESC_IL2TAG2_IL2H	= 0x08,
+	IAVF_TX_CTX_DESC_SWTCH_NOTAG	= 0x00,
+	IAVF_TX_CTX_DESC_SWTCH_UPLINK	= 0x10,
+	IAVF_TX_CTX_DESC_SWTCH_LOCAL	= 0x20,
+	IAVF_TX_CTX_DESC_SWTCH_VSI	= 0x30,
+	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;
+};
+
+#define IAVF_TXD_NOP_QW1_DTYPE_SHIFT	0
+#define IAVF_TXD_NOP_QW1_DTYPE_MASK	(0xFUL << IAVF_TXD_NOP_QW1_DTYPE_SHIFT)
+
+#define IAVF_TXD_NOP_QW1_CMD_SHIFT	4
+#define IAVF_TXD_NOP_QW1_CMD_MASK	(0x7FUL << IAVF_TXD_NOP_QW1_CMD_SHIFT)
+
+enum iavf_tx_nop_desc_cmd_bits {
+	/* Note: These are predefined bit offsets */
+	IAVF_TX_NOP_DESC_EOP_SHIFT	= 0,
+	IAVF_TX_NOP_DESC_RS_SHIFT	= 1,
+	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.
+	 * Value 29, 30, 32 are not supported on XL710 and X710.
+	 */
+	IAVF_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP	= 29,
+	IAVF_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP	= 30,
+	IAVF_FILTER_PCTYPE_NONF_IPV4_UDP		= 31,
+	IAVF_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK	= 32,
+	IAVF_FILTER_PCTYPE_NONF_IPV4_TCP		= 33,
+	IAVF_FILTER_PCTYPE_NONF_IPV4_SCTP		= 34,
+	IAVF_FILTER_PCTYPE_NONF_IPV4_OTHER		= 35,
+	IAVF_FILTER_PCTYPE_FRAG_IPV4			= 36,
+	/* Note: Values 37-38 are reserved for future use.
+	 * Value 39, 40, 42 are not supported on XL710 and X710.
+	 */
+	IAVF_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP	= 39,
+	IAVF_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP	= 40,
+	IAVF_FILTER_PCTYPE_NONF_IPV6_UDP		= 41,
+	IAVF_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK	= 42,
+	IAVF_FILTER_PCTYPE_NONF_IPV6_TCP		= 43,
+	IAVF_FILTER_PCTYPE_NONF_IPV6_SCTP		= 44,
+	IAVF_FILTER_PCTYPE_NONF_IPV6_OTHER		= 45,
+	IAVF_FILTER_PCTYPE_FRAG_IPV6			= 46,
+	/* Note: Value 47 is reserved for future use */
+	IAVF_FILTER_PCTYPE_FCOE_OX			= 48,
+	IAVF_FILTER_PCTYPE_FCOE_RX			= 49,
+	IAVF_FILTER_PCTYPE_FCOE_OTHER			= 50,
+	/* Note: Values 51-62 are reserved for future use */
+	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 << \
+					 IAVF_TXD_FLTR_QW1_CMD_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_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_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_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_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_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
+};
+
+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;
+};
+
+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;
+};
+
+/* Statistics collected by each port, VSI, VEB, and S-channel */
+struct iavf_eth_stats {
+	u64 rx_bytes;			/* gorc */
+	u64 rx_unicast;			/* uprc */
+	u64 rx_multicast;		/* mprc */
+	u64 rx_broadcast;		/* bprc */
+	u64 rx_discards;		/* rdpc */
+	u64 rx_unknown_protocol;	/* rupp */
+	u64 tx_bytes;			/* gotc */
+	u64 tx_unicast;			/* uptc */
+	u64 tx_multicast;		/* mptc */
+	u64 tx_broadcast;		/* bptc */
+	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
+#define IAVF_SR_RO_PCIR_REGS_AUTO_LOAD_PTR	0x06
+#define IAVF_SR_AUTO_GENERATED_POINTERS_PTR	0x07
+#define IAVF_SR_PCIR_REGS_AUTO_LOAD_PTR		0x08
+#define IAVF_SR_EMP_GLOBAL_MODULE_PTR		0x09
+#define IAVF_SR_RO_PCIE_LCB_PTR			0x0A
+#define IAVF_SR_EMP_IMAGE_PTR			0x0B
+#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
+#define IAVF_SR_NVM_ORIGINAL_EETRACK_HI		0x35
+#define IAVF_SR_SW_ETHERNET_MAC_ADDRESS_PTR	0x37
+#define IAVF_SR_POR_REGS_AUTO_LOAD_PTR		0x38
+#define IAVF_SR_EMPR_REGS_AUTO_LOAD_PTR		0x3A
+#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
+#define IAVF_SR_2ND_FREE_PROVISION_AREA_PTR	0x46
+#define IAVF_SR_EMP_SR_SETTINGS_PTR		0x48
+#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_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;
+	u16 msgfasttx;
+	u16 msgtxinterval;
+	u16 txparams;
+	u16 timers;
+	u16 crc8;
+};
+
+/* Offsets into Alternate Ram */
+#define IAVF_ALT_STRUCT_FIRST_PF_OFFSET		0   /* in dwords */
+#define IAVF_ALT_STRUCT_DWORDS_PER_PF		64   /* in dwords */
+#define IAVF_ALT_STRUCT_OUTER_VLAN_TAG_OFFSET	0xD  /* in dwords */
+#define IAVF_ALT_STRUCT_USER_PRIORITY_OFFSET	0xC  /* in dwords */
+#define IAVF_ALT_STRUCT_MIN_BW_OFFSET		0xE  /* in dwords */
+#define IAVF_ALT_STRUCT_MAX_BW_OFFSET		0xF  /* in dwords */
+
+/* Alternate Ram Bandwidth Masks */
+#define IAVF_ALT_BW_VALUE_MASK		0xFF
+#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;
+	u16 len;
+	u8 data[12];
+};
+
+/* Generic AQ section in proflie */
+struct iavf_profile_aq_section {
+	u16 opcode;
+	u16 flags;
+	u8  param[16];
+	u16 datalen;
+	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_ */
diff --git a/drivers/net/avf/base/meson.build b/drivers/net/iavf/base/meson.build
similarity index 83%
rename from drivers/net/avf/base/meson.build
rename to drivers/net/iavf/base/meson.build
index 6f3d7192e..bcb24b739 100644
--- a/drivers/net/avf/base/meson.build
+++ b/drivers/net/iavf/base/meson.build
@@ -2,8 +2,8 @@
 # Copyright(c) 2018 Luca Boccassi <bluca at debian.org>
 
 sources = [
-	'avf_adminq.c',
-	'avf_common.c',
+	'iavf_adminq.c',
+	'iavf_common.c',
 ]
 
 error_cflags = ['-Wno-pointer-to-int-cast']
@@ -17,7 +17,7 @@ foreach flag: error_cflags
 	endif
 endforeach
 
-base_lib = static_library('avf_base', sources,
+base_lib = static_library('iavf_base', sources,
 	dependencies: static_rte_eal,
 	c_args: c_args)
 base_objs = base_lib.extract_all_objects()
diff --git a/drivers/net/avf/base/virtchnl.h b/drivers/net/iavf/base/virtchnl.h
similarity index 98%
rename from drivers/net/avf/base/virtchnl.h
rename to drivers/net/iavf/base/virtchnl.h
index 167518f0d..13bfdb86b 100644
--- a/drivers/net/avf/base/virtchnl.h
+++ b/drivers/net/iavf/base/virtchnl.h
@@ -94,7 +94,7 @@ enum virtchnl_link_speed {
 };
 
 /* for hsplit_0 field of Rx HMC context */
-/* deprecated with AVF 1.0 */
+/* deprecated with IAVF 1.0 */
 enum virtchnl_rx_hsplit {
 	VIRTCHNL_RX_HSPLIT_NO_SPLIT      = 0,
 	VIRTCHNL_RX_HSPLIT_SPLIT_L2      = 1,
@@ -289,9 +289,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 AVF 1.0 */
+	u16 headwb_enabled; /* deprecated with IAVF 1.0 */
 	u64 dma_ring_addr;
-	u64 dma_headwb_addr; /* deprecated with AVF 1.0 */
+	u64 dma_headwb_addr; /* deprecated with IAVF 1.0 */
 };
 
 VIRTCHNL_CHECK_STRUCT_LEN(24, virtchnl_txq_info);
@@ -308,12 +308,12 @@ struct virtchnl_rxq_info {
 	u16 queue_id;
 	u32 ring_len;		/* number of descriptors, multiple of 32 */
 	u16 hdr_size;
-	u16 splithdr_enabled; /* deprecated with AVF 1.0 */
+	u16 splithdr_enabled; /* deprecated with IAVF 1.0 */
 	u32 databuffer_size;
 	u32 max_pkt_size;
 	u32 pad1;
 	u64 dma_ring_addr;
-	enum virtchnl_rx_hsplit rx_split_pos; /* deprecated with AVF 1.0 */
+	enum virtchnl_rx_hsplit rx_split_pos; /* deprecated with IAVF 1.0 */
 	u32 pad2;
 };
 
diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
new file mode 100644
index 000000000..e6e3e8d30
--- /dev/null
+++ b/drivers/net/iavf/iavf.h
@@ -0,0 +1,216 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2017 Intel Corporation
+ */
+
+#ifndef _IAVF_ETHDEV_H_
+#define _IAVF_ETHDEV_H_
+
+#include <rte_kvargs.h>
+
+#define IAVF_AQ_LEN               32
+#define IAVF_AQ_BUF_SZ            4096
+#define IAVF_RESET_WAIT_CNT       50
+#define IAVF_BUF_SIZE_MIN         1024
+#define IAVF_FRAME_SIZE_MAX       9728
+#define IAVF_QUEUE_BASE_ADDR_UNIT 128
+
+#define IAVF_MAX_NUM_QUEUES       16
+
+#define IAVF_NUM_MACADDR_MAX      64
+
+#define IAVF_DEFAULT_RX_PTHRESH      8
+#define IAVF_DEFAULT_RX_HTHRESH      8
+#define IAVF_DEFAULT_RX_WTHRESH      0
+
+#define IAVF_DEFAULT_RX_FREE_THRESH  32
+
+#define IAVF_DEFAULT_TX_PTHRESH      32
+#define IAVF_DEFAULT_TX_HTHRESH      0
+#define IAVF_DEFAULT_TX_WTHRESH      0
+
+#define IAVF_DEFAULT_TX_FREE_THRESH  32
+#define IAVF_DEFAULT_TX_RS_THRESH 32
+
+#define IAVF_BASIC_OFFLOAD_CAPS  ( \
+	VF_BASE_MODE_OFFLOADS | \
+	VIRTCHNL_VF_OFFLOAD_WB_ON_ITR | \
+	VIRTCHNL_VF_OFFLOAD_RX_POLLING)
+
+#define IAVF_RSS_OFFLOAD_ALL ( \
+	ETH_RSS_FRAG_IPV4 |         \
+	ETH_RSS_NONFRAG_IPV4_TCP |  \
+	ETH_RSS_NONFRAG_IPV4_UDP |  \
+	ETH_RSS_NONFRAG_IPV4_SCTP | \
+	ETH_RSS_NONFRAG_IPV4_OTHER)
+
+#define IAVF_MISC_VEC_ID                RTE_INTR_VEC_ZERO_OFFSET
+#define IAVF_RX_VEC_START               RTE_INTR_VEC_RXTX_OFFSET
+
+/* Default queue interrupt throttling time in microseconds */
+#define IAVF_ITR_INDEX_DEFAULT          0
+#define IAVF_QUEUE_ITR_INTERVAL_DEFAULT 32 /* 32 us */
+#define IAVF_QUEUE_ITR_INTERVAL_MAX     8160 /* 8160 us */
+
+/* The overhead from MTU to max frame size.
+ * Considering QinQ packet, the VLAN tag needs to be counted twice.
+ */
+#define IAVF_VLAN_TAG_SIZE               4
+#define IAVF_ETH_OVERHEAD \
+	(ETHER_HDR_LEN + ETHER_CRC_LEN + IAVF_VLAN_TAG_SIZE * 2)
+
+struct iavf_adapter;
+struct iavf_rx_queue;
+struct iavf_tx_queue;
+
+/* Structure that defines a VSI, associated with a adapter. */
+struct iavf_vsi {
+	struct iavf_adapter *adapter; /* Backreference to associated adapter */
+	uint16_t vsi_id;
+	uint16_t nb_qps;         /* Number of queue pairs VSI can occupy */
+	uint16_t nb_used_qps;    /* Number of queue pairs VSI uses */
+	uint16_t max_macaddrs;   /* Maximum number of MAC addresses */
+	uint16_t base_vector;
+	uint16_t msix_intr;      /* The MSIX interrupt binds to VSI */
+};
+
+/* TODO: is that correct to assume the max number to be 16 ?*/
+#define IAVF_MAX_MSIX_VECTORS   16
+
+/* Structure to store private data specific for VF instance. */
+struct iavf_info {
+	uint16_t num_queue_pairs;
+	uint16_t max_pkt_len; /* Maximum packet length */
+	uint16_t mac_num;     /* Number of MAC addresses */
+	bool promisc_unicast_enabled;
+	bool promisc_multicast_enabled;
+
+	struct virtchnl_version_info virtchnl_version;
+	struct virtchnl_vf_resource *vf_res; /* VF resource */
+	struct virtchnl_vsi_resource *vsi_res; /* LAN VSI */
+
+	volatile enum virtchnl_ops pend_cmd; /* pending command not finished */
+	uint32_t cmd_retval; /* return value of the cmd response from PF */
+	uint8_t *aq_resp; /* buffer to store the adminq response from PF */
+
+	/* Event from pf */
+	bool dev_closed;
+	bool link_up;
+	enum virtchnl_link_speed link_speed;
+
+	struct iavf_vsi vsi;
+	bool vf_reset;
+	uint64_t flags;
+
+	uint8_t *rss_lut;
+	uint8_t *rss_key;
+	uint16_t nb_msix;   /* number of MSI-X interrupts on Rx */
+	uint16_t msix_base; /* msix vector base from */
+	/* queue bitmask for each vector */
+	uint16_t rxq_map[IAVF_MAX_MSIX_VECTORS];
+};
+
+#define IAVF_MAX_PKT_TYPE 256
+
+/* Structure to store private data for each VF instance. */
+struct iavf_adapter {
+	struct iavf_hw hw;
+	struct rte_eth_dev *eth_dev;
+	struct iavf_info vf;
+
+	bool rx_bulk_alloc_allowed;
+	/* For vector PMD */
+	bool rx_vec_allowed;
+	bool tx_vec_allowed;
+};
+
+/* IAVF_DEV_PRIVATE_TO */
+#define IAVF_DEV_PRIVATE_TO_ADAPTER(adapter) \
+	((struct iavf_adapter *)adapter)
+#define IAVF_DEV_PRIVATE_TO_VF(adapter) \
+	(&((struct iavf_adapter *)adapter)->vf)
+#define IAVF_DEV_PRIVATE_TO_HW(adapter) \
+	(&((struct iavf_adapter *)adapter)->hw)
+
+/* IAVF_VSI_TO */
+#define IAVF_VSI_TO_HW(vsi) \
+	(&(((struct iavf_vsi *)vsi)->adapter->hw))
+#define IAVF_VSI_TO_VF(vsi) \
+	(&(((struct iavf_vsi *)vsi)->adapter->vf))
+#define IAVF_VSI_TO_ETH_DEV(vsi) \
+	(((struct iavf_vsi *)vsi)->adapter->eth_dev)
+
+static inline void
+iavf_init_adminq_parameter(struct iavf_hw *hw)
+{
+	hw->aq.num_arq_entries = IAVF_AQ_LEN;
+	hw->aq.num_asq_entries = IAVF_AQ_LEN;
+	hw->aq.arq_buf_size = IAVF_AQ_BUF_SZ;
+	hw->aq.asq_buf_size = IAVF_AQ_BUF_SZ;
+}
+
+static inline uint16_t
+iavf_calc_itr_interval(int16_t interval)
+{
+	if (interval < 0 || interval > IAVF_QUEUE_ITR_INTERVAL_MAX)
+		interval = IAVF_QUEUE_ITR_INTERVAL_DEFAULT;
+
+	/* Convert to hardware count, as writing each 1 represents 2 us */
+	return interval / 2;
+}
+
+/* structure used for sending and checking response of virtchnl ops */
+struct iavf_cmd_info {
+	enum virtchnl_ops ops;
+	uint8_t *in_args;       /* buffer for sending */
+	uint32_t in_args_size;  /* buffer size for sending */
+	uint8_t *out_buffer;    /* buffer for response */
+	uint32_t out_size;      /* buffer size for response */
+};
+
+/* clear current command. Only call in case execute
+ * _atomic_set_cmd successfully.
+ */
+static inline void
+_clear_cmd(struct iavf_info *vf)
+{
+	rte_wmb();
+	vf->pend_cmd = VIRTCHNL_OP_UNKNOWN;
+	vf->cmd_retval = VIRTCHNL_STATUS_SUCCESS;
+}
+
+/* Check there is pending cmd in execution. If none, set new command. */
+static inline int
+_atomic_set_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
+{
+	int ret = rte_atomic32_cmpset(&vf->pend_cmd, VIRTCHNL_OP_UNKNOWN, ops);
+
+	if (!ret)
+		PMD_DRV_LOG(ERR, "There is incomplete cmd %d", vf->pend_cmd);
+
+	return !ret;
+}
+
+int iavf_check_api_version(struct iavf_adapter *adapter);
+int iavf_get_vf_resource(struct iavf_adapter *adapter);
+void iavf_handle_virtchnl_msg(struct rte_eth_dev *dev);
+int iavf_enable_vlan_strip(struct iavf_adapter *adapter);
+int iavf_disable_vlan_strip(struct iavf_adapter *adapter);
+int iavf_switch_queue(struct iavf_adapter *adapter, uint16_t qid,
+		     bool rx, bool on);
+int iavf_enable_queues(struct iavf_adapter *adapter);
+int iavf_disable_queues(struct iavf_adapter *adapter);
+int iavf_configure_rss_lut(struct iavf_adapter *adapter);
+int iavf_configure_rss_key(struct iavf_adapter *adapter);
+int iavf_configure_queues(struct iavf_adapter *adapter);
+int iavf_config_irq_map(struct iavf_adapter *adapter);
+void iavf_add_del_all_mac_addr(struct iavf_adapter *adapter, bool add);
+int iavf_dev_link_update(struct rte_eth_dev *dev,
+			__rte_unused int wait_to_complete);
+int iavf_query_stats(struct iavf_adapter *adapter,
+		    struct virtchnl_eth_stats **pstats);
+int iavf_config_promisc(struct iavf_adapter *adapter, bool enable_unicast,
+		       bool enable_multicast);
+int iavf_add_del_eth_addr(struct iavf_adapter *adapter,
+			 struct ether_addr *addr, bool add);
+int iavf_add_del_vlan(struct iavf_adapter *adapter, uint16_t vlanid, bool add);
+#endif /* _IAVF_ETHDEV_H_ */
diff --git a/drivers/net/avf/avf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
similarity index 57%
rename from drivers/net/avf/avf_ethdev.c
rename to drivers/net/iavf/iavf_ethdev.c
index 797f505a8..846e604a6 100644
--- a/drivers/net/avf/avf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -25,111 +25,111 @@
 #include <rte_memzone.h>
 #include <rte_dev.h>
 
-#include "avf_log.h"
-#include "base/avf_prototype.h"
-#include "base/avf_adminq_cmd.h"
-#include "base/avf_type.h"
-
-#include "avf.h"
-#include "avf_rxtx.h"
-
-static int avf_dev_configure(struct rte_eth_dev *dev);
-static int avf_dev_start(struct rte_eth_dev *dev);
-static void avf_dev_stop(struct rte_eth_dev *dev);
-static void avf_dev_close(struct rte_eth_dev *dev);
-static void avf_dev_info_get(struct rte_eth_dev *dev,
+#include "iavf_log.h"
+#include "base/iavf_prototype.h"
+#include "base/iavf_adminq_cmd.h"
+#include "base/iavf_type.h"
+
+#include "iavf.h"
+#include "iavf_rxtx.h"
+
+static int iavf_dev_configure(struct rte_eth_dev *dev);
+static int iavf_dev_start(struct rte_eth_dev *dev);
+static void iavf_dev_stop(struct rte_eth_dev *dev);
+static void iavf_dev_close(struct rte_eth_dev *dev);
+static void iavf_dev_info_get(struct rte_eth_dev *dev,
 			     struct rte_eth_dev_info *dev_info);
-static const uint32_t *avf_dev_supported_ptypes_get(struct rte_eth_dev *dev);
-static int avf_dev_stats_get(struct rte_eth_dev *dev,
+static const uint32_t *iavf_dev_supported_ptypes_get(struct rte_eth_dev *dev);
+static int iavf_dev_stats_get(struct rte_eth_dev *dev,
 			     struct rte_eth_stats *stats);
-static void avf_dev_promiscuous_enable(struct rte_eth_dev *dev);
-static void avf_dev_promiscuous_disable(struct rte_eth_dev *dev);
-static void avf_dev_allmulticast_enable(struct rte_eth_dev *dev);
-static void avf_dev_allmulticast_disable(struct rte_eth_dev *dev);
-static int avf_dev_add_mac_addr(struct rte_eth_dev *dev,
+static void iavf_dev_promiscuous_enable(struct rte_eth_dev *dev);
+static void iavf_dev_promiscuous_disable(struct rte_eth_dev *dev);
+static void iavf_dev_allmulticast_enable(struct rte_eth_dev *dev);
+static void iavf_dev_allmulticast_disable(struct rte_eth_dev *dev);
+static int iavf_dev_add_mac_addr(struct rte_eth_dev *dev,
 				struct ether_addr *addr,
 				uint32_t index,
 				uint32_t pool);
-static void avf_dev_del_mac_addr(struct rte_eth_dev *dev, uint32_t index);
-static int avf_dev_vlan_filter_set(struct rte_eth_dev *dev,
+static void iavf_dev_del_mac_addr(struct rte_eth_dev *dev, uint32_t index);
+static int iavf_dev_vlan_filter_set(struct rte_eth_dev *dev,
 				   uint16_t vlan_id, int on);
-static int avf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask);
-static int avf_dev_rss_reta_update(struct rte_eth_dev *dev,
+static int iavf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask);
+static int iavf_dev_rss_reta_update(struct rte_eth_dev *dev,
 				   struct rte_eth_rss_reta_entry64 *reta_conf,
 				   uint16_t reta_size);
-static int avf_dev_rss_reta_query(struct rte_eth_dev *dev,
+static int iavf_dev_rss_reta_query(struct rte_eth_dev *dev,
 				  struct rte_eth_rss_reta_entry64 *reta_conf,
 				  uint16_t reta_size);
-static int avf_dev_rss_hash_update(struct rte_eth_dev *dev,
+static int iavf_dev_rss_hash_update(struct rte_eth_dev *dev,
 				   struct rte_eth_rss_conf *rss_conf);
-static int avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
+static int iavf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 				     struct rte_eth_rss_conf *rss_conf);
-static int avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
-static int avf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
+static int iavf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
+static int iavf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
 					 struct ether_addr *mac_addr);
-static int avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev,
+static int iavf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev,
 					uint16_t queue_id);
-static int avf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev,
+static int iavf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev,
 					 uint16_t queue_id);
 
-int avf_logtype_init;
-int avf_logtype_driver;
+int iavf_logtype_init;
+int iavf_logtype_driver;
 
-static const struct rte_pci_id pci_id_avf_map[] = {
-	{ RTE_PCI_DEVICE(AVF_INTEL_VENDOR_ID, AVF_DEV_ID_ADAPTIVE_VF) },
+static const struct rte_pci_id pci_id_iavf_map[] = {
+	{ RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_ADAPTIVE_VF) },
 	{ .vendor_id = 0, /* sentinel */ },
 };
 
-static const struct eth_dev_ops avf_eth_dev_ops = {
-	.dev_configure              = avf_dev_configure,
-	.dev_start                  = avf_dev_start,
-	.dev_stop                   = avf_dev_stop,
-	.dev_close                  = avf_dev_close,
-	.dev_infos_get              = avf_dev_info_get,
-	.dev_supported_ptypes_get   = avf_dev_supported_ptypes_get,
-	.link_update                = avf_dev_link_update,
-	.stats_get                  = avf_dev_stats_get,
-	.promiscuous_enable         = avf_dev_promiscuous_enable,
-	.promiscuous_disable        = avf_dev_promiscuous_disable,
-	.allmulticast_enable        = avf_dev_allmulticast_enable,
-	.allmulticast_disable       = avf_dev_allmulticast_disable,
-	.mac_addr_add               = avf_dev_add_mac_addr,
-	.mac_addr_remove            = avf_dev_del_mac_addr,
-	.vlan_filter_set            = avf_dev_vlan_filter_set,
-	.vlan_offload_set           = avf_dev_vlan_offload_set,
-	.rx_queue_start             = avf_dev_rx_queue_start,
-	.rx_queue_stop              = avf_dev_rx_queue_stop,
-	.tx_queue_start             = avf_dev_tx_queue_start,
-	.tx_queue_stop              = avf_dev_tx_queue_stop,
-	.rx_queue_setup             = avf_dev_rx_queue_setup,
-	.rx_queue_release           = avf_dev_rx_queue_release,
-	.tx_queue_setup             = avf_dev_tx_queue_setup,
-	.tx_queue_release           = avf_dev_tx_queue_release,
-	.mac_addr_set               = avf_dev_set_default_mac_addr,
-	.reta_update                = avf_dev_rss_reta_update,
-	.reta_query                 = avf_dev_rss_reta_query,
-	.rss_hash_update            = avf_dev_rss_hash_update,
-	.rss_hash_conf_get          = avf_dev_rss_hash_conf_get,
-	.rxq_info_get               = avf_dev_rxq_info_get,
-	.txq_info_get               = avf_dev_txq_info_get,
-	.rx_queue_count             = avf_dev_rxq_count,
-	.rx_descriptor_status       = avf_dev_rx_desc_status,
-	.tx_descriptor_status       = avf_dev_tx_desc_status,
-	.mtu_set                    = avf_dev_mtu_set,
-	.rx_queue_intr_enable       = avf_dev_rx_queue_intr_enable,
-	.rx_queue_intr_disable      = avf_dev_rx_queue_intr_disable,
+static const struct eth_dev_ops iavf_eth_dev_ops = {
+	.dev_configure              = iavf_dev_configure,
+	.dev_start                  = iavf_dev_start,
+	.dev_stop                   = iavf_dev_stop,
+	.dev_close                  = iavf_dev_close,
+	.dev_infos_get              = iavf_dev_info_get,
+	.dev_supported_ptypes_get   = iavf_dev_supported_ptypes_get,
+	.link_update                = iavf_dev_link_update,
+	.stats_get                  = iavf_dev_stats_get,
+	.promiscuous_enable         = iavf_dev_promiscuous_enable,
+	.promiscuous_disable        = iavf_dev_promiscuous_disable,
+	.allmulticast_enable        = iavf_dev_allmulticast_enable,
+	.allmulticast_disable       = iavf_dev_allmulticast_disable,
+	.mac_addr_add               = iavf_dev_add_mac_addr,
+	.mac_addr_remove            = iavf_dev_del_mac_addr,
+	.vlan_filter_set            = iavf_dev_vlan_filter_set,
+	.vlan_offload_set           = iavf_dev_vlan_offload_set,
+	.rx_queue_start             = iavf_dev_rx_queue_start,
+	.rx_queue_stop              = iavf_dev_rx_queue_stop,
+	.tx_queue_start             = iavf_dev_tx_queue_start,
+	.tx_queue_stop              = iavf_dev_tx_queue_stop,
+	.rx_queue_setup             = iavf_dev_rx_queue_setup,
+	.rx_queue_release           = iavf_dev_rx_queue_release,
+	.tx_queue_setup             = iavf_dev_tx_queue_setup,
+	.tx_queue_release           = iavf_dev_tx_queue_release,
+	.mac_addr_set               = iavf_dev_set_default_mac_addr,
+	.reta_update                = iavf_dev_rss_reta_update,
+	.reta_query                 = iavf_dev_rss_reta_query,
+	.rss_hash_update            = iavf_dev_rss_hash_update,
+	.rss_hash_conf_get          = iavf_dev_rss_hash_conf_get,
+	.rxq_info_get               = iavf_dev_rxq_info_get,
+	.txq_info_get               = iavf_dev_txq_info_get,
+	.rx_queue_count             = iavf_dev_rxq_count,
+	.rx_descriptor_status       = iavf_dev_rx_desc_status,
+	.tx_descriptor_status       = iavf_dev_tx_desc_status,
+	.mtu_set                    = iavf_dev_mtu_set,
+	.rx_queue_intr_enable       = iavf_dev_rx_queue_intr_enable,
+	.rx_queue_intr_disable      = iavf_dev_rx_queue_intr_disable,
 };
 
 static int
-avf_dev_configure(struct rte_eth_dev *dev)
+iavf_dev_configure(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *ad =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf =  AVF_DEV_PRIVATE_TO_VF(ad);
+	struct iavf_adapter *ad =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf =  IAVF_DEV_PRIVATE_TO_VF(ad);
 	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
 
 	ad->rx_bulk_alloc_allowed = true;
-#ifdef RTE_LIBRTE_AVF_INC_VECTOR
+#ifdef RTE_LIBRTE_IAVF_INC_VECTOR
 	/* Initialize to TRUE. If any of Rx queues doesn't meet the
 	 * vector Rx/Tx preconditions, it will be reset.
 	 */
@@ -143,24 +143,24 @@ avf_dev_configure(struct rte_eth_dev *dev)
 	/* Vlan stripping setting */
 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_VLAN) {
 		if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_VLAN_STRIP)
-			avf_enable_vlan_strip(ad);
+			iavf_enable_vlan_strip(ad);
 		else
-			avf_disable_vlan_strip(ad);
+			iavf_disable_vlan_strip(ad);
 	}
 	return 0;
 }
 
 static int
-avf_init_rss(struct avf_adapter *adapter)
+iavf_init_rss(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf =  AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf =  IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct rte_eth_rss_conf *rss_conf;
 	uint8_t i, j, nb_q;
 	int ret;
 
 	rss_conf = &adapter->eth_dev->data->dev_conf.rx_adv_conf.rss_conf;
 	nb_q = RTE_MIN(adapter->eth_dev->data->nb_rx_queues,
-		       AVF_MAX_NUM_QUEUES);
+		       IAVF_MAX_NUM_QUEUES);
 
 	if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF)) {
 		PMD_DRV_LOG(DEBUG, "RSS is not supported");
@@ -171,11 +171,11 @@ avf_init_rss(struct avf_adapter *adapter)
 		/* set all lut items to default queue */
 		for (i = 0; i < vf->vf_res->rss_lut_size; i++)
 			vf->rss_lut[i] = 0;
-		ret = avf_configure_rss_lut(adapter);
+		ret = iavf_configure_rss_lut(adapter);
 		return ret;
 	}
 
-	/* In AVF, RSS enablement is set by PF driver. It is not supported
+	/* In IAVF, RSS enablement is set by PF driver. It is not supported
 	 * to set based on rss_conf->rss_hf.
 	 */
 
@@ -196,10 +196,10 @@ avf_init_rss(struct avf_adapter *adapter)
 		vf->rss_lut[i] = j;
 	}
 	/* send virtchnnl ops to configure rss*/
-	ret = avf_configure_rss_lut(adapter);
+	ret = iavf_configure_rss_lut(adapter);
 	if (ret)
 		return ret;
-	ret = avf_configure_rss_key(adapter);
+	ret = iavf_configure_rss_key(adapter);
 	if (ret)
 		return ret;
 
@@ -207,16 +207,16 @@ avf_init_rss(struct avf_adapter *adapter)
 }
 
 static int
-avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
+iavf_init_rxq(struct rte_eth_dev *dev, struct iavf_rx_queue *rxq)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	struct rte_eth_dev_data *dev_data = dev->data;
 	uint16_t buf_size, max_pkt_len, len;
 
 	buf_size = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM;
 
 	/* Calculate the maximum packet length allowed */
-	len = rxq->rx_buf_len * AVF_MAX_CHAINED_RX_BUFFERS;
+	len = rxq->rx_buf_len * IAVF_MAX_CHAINED_RX_BUFFERS;
 	max_pkt_len = RTE_MIN(len, dev->data->dev_conf.rxmode.max_rx_pkt_len);
 
 	/* Check if the jumbo frame and maximum packet length are set
@@ -224,12 +224,12 @@ avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
 	 */
 	if (dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
 		if (max_pkt_len <= ETHER_MAX_LEN ||
-		    max_pkt_len > AVF_FRAME_SIZE_MAX) {
+		    max_pkt_len > IAVF_FRAME_SIZE_MAX) {
 			PMD_DRV_LOG(ERR, "maximum packet length must be "
 				    "larger than %u and smaller than %u, "
 				    "as jumbo frame is enabled",
 				    (uint32_t)ETHER_MAX_LEN,
-				    (uint32_t)AVF_FRAME_SIZE_MAX);
+				    (uint32_t)IAVF_FRAME_SIZE_MAX);
 			return -EINVAL;
 		}
 	} else {
@@ -246,45 +246,45 @@ avf_init_rxq(struct rte_eth_dev *dev, struct avf_rx_queue *rxq)
 
 	rxq->max_pkt_len = max_pkt_len;
 	if ((dev_data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_SCATTER) ||
-	    (rxq->max_pkt_len + 2 * AVF_VLAN_TAG_SIZE) > buf_size) {
+	    (rxq->max_pkt_len + 2 * IAVF_VLAN_TAG_SIZE) > buf_size) {
 		dev_data->scattered_rx = 1;
 	}
-	AVF_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);
-	AVF_WRITE_FLUSH(hw);
+	IAVF_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);
+	IAVF_WRITE_FLUSH(hw);
 
 	return 0;
 }
 
 static int
-avf_init_queues(struct rte_eth_dev *dev)
+iavf_init_queues(struct rte_eth_dev *dev)
 {
-	struct avf_rx_queue **rxq =
-		(struct avf_rx_queue **)dev->data->rx_queues;
-	int i, ret = AVF_SUCCESS;
+	struct iavf_rx_queue **rxq =
+		(struct iavf_rx_queue **)dev->data->rx_queues;
+	int i, ret = IAVF_SUCCESS;
 
 	for (i = 0; i < dev->data->nb_rx_queues; i++) {
 		if (!rxq[i] || !rxq[i]->q_set)
 			continue;
-		ret = avf_init_rxq(dev, rxq[i]);
-		if (ret != AVF_SUCCESS)
+		ret = iavf_init_rxq(dev, rxq[i]);
+		if (ret != IAVF_SUCCESS)
 			break;
 	}
 	/* set rx/tx function to vector/scatter/single-segment
 	 * according to parameters
 	 */
-	avf_set_rx_function(dev);
-	avf_set_tx_function(dev);
+	iavf_set_rx_function(dev);
+	iavf_set_tx_function(dev);
 
 	return ret;
 }
 
-static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev,
+static int iavf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 				     struct rte_intr_handle *intr_handle)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
 	uint16_t interval, i;
 	int vec;
 
@@ -312,37 +312,37 @@ static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 		if (vf->vf_res->vf_cap_flags &
 		    VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
 			/* If WB_ON_ITR supports, enable it */
-			vf->msix_base = AVF_RX_VEC_START;
-			AVF_WRITE_REG(hw, AVFINT_DYN_CTLN1(vf->msix_base - 1),
-				      AVFINT_DYN_CTLN1_ITR_INDX_MASK |
-				      AVFINT_DYN_CTLN1_WB_ON_ITR_MASK);
+			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);
 		} else {
 			/* If no WB_ON_ITR offload flags, need to set
 			 * interrupt for descriptor write back.
 			 */
-			vf->msix_base = AVF_MISC_VEC_ID;
+			vf->msix_base = IAVF_MISC_VEC_ID;
 
 			/* set ITR to max */
-			interval = avf_calc_itr_interval(
-					AVF_QUEUE_ITR_INTERVAL_MAX);
-			AVF_WRITE_REG(hw, AVFINT_DYN_CTL01,
-				      AVFINT_DYN_CTL01_INTENA_MASK |
-				      (AVF_ITR_INDEX_DEFAULT <<
-				       AVFINT_DYN_CTL01_ITR_INDX_SHIFT) |
+			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 <<
-				       AVFINT_DYN_CTL01_INTERVAL_SHIFT));
+				       IAVFINT_DYN_CTL01_INTERVAL_SHIFT));
 		}
-		AVF_WRITE_FLUSH(hw);
+		IAVF_WRITE_FLUSH(hw);
 		/* map all queues to the same interrupt */
 		for (i = 0; i < dev->data->nb_rx_queues; i++)
 			vf->rxq_map[vf->msix_base] |= 1 << i;
 	} else {
 		if (!rte_intr_allow_others(intr_handle)) {
 			vf->nb_msix = 1;
-			vf->msix_base = AVF_MISC_VEC_ID;
+			vf->msix_base = IAVF_MISC_VEC_ID;
 			for (i = 0; i < dev->data->nb_rx_queues; i++) {
 				vf->rxq_map[vf->msix_base] |= 1 << i;
-				intr_handle->intr_vec[i] = AVF_MISC_VEC_ID;
+				intr_handle->intr_vec[i] = IAVF_MISC_VEC_ID;
 			}
 			PMD_DRV_LOG(DEBUG,
 				    "vector %u are mapping to all Rx queues",
@@ -353,13 +353,13 @@ static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 			 */
 			vf->nb_msix = RTE_MIN(vf->vf_res->max_vectors,
 					      intr_handle->nb_efd);
-			vf->msix_base = AVF_RX_VEC_START;
-			vec = AVF_RX_VEC_START;
+			vf->msix_base = IAVF_RX_VEC_START;
+			vec = IAVF_RX_VEC_START;
 			for (i = 0; i < dev->data->nb_rx_queues; i++) {
 				vf->rxq_map[vec] |= 1 << i;
 				intr_handle->intr_vec[i] = vec++;
 				if (vec >= vf->nb_msix)
-					vec = AVF_RX_VEC_START;
+					vec = IAVF_RX_VEC_START;
 			}
 			PMD_DRV_LOG(DEBUG,
 				    "%u vectors are mapping to %u Rx queues",
@@ -367,7 +367,7 @@ static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 		}
 	}
 
-	if (avf_config_irq_map(adapter)) {
+	if (iavf_config_irq_map(adapter)) {
 		PMD_DRV_LOG(ERR, "config interrupt mapping failed");
 		return -1;
 	}
@@ -375,17 +375,17 @@ static int avf_config_rx_queues_irqs(struct rte_eth_dev *dev,
 }
 
 static int
-avf_start_queues(struct rte_eth_dev *dev)
+iavf_start_queues(struct rte_eth_dev *dev)
 {
-	struct avf_rx_queue *rxq;
-	struct avf_tx_queue *txq;
+	struct iavf_rx_queue *rxq;
+	struct iavf_tx_queue *txq;
 	int i;
 
 	for (i = 0; i < dev->data->nb_tx_queues; i++) {
 		txq = dev->data->tx_queues[i];
 		if (txq->tx_deferred_start)
 			continue;
-		if (avf_dev_tx_queue_start(dev, i) != 0) {
+		if (iavf_dev_tx_queue_start(dev, i) != 0) {
 			PMD_DRV_LOG(ERR, "Fail to start queue %u", i);
 			return -1;
 		}
@@ -395,7 +395,7 @@ avf_start_queues(struct rte_eth_dev *dev)
 		rxq = dev->data->rx_queues[i];
 		if (rxq->rx_deferred_start)
 			continue;
-		if (avf_dev_rx_queue_start(dev, i) != 0) {
+		if (iavf_dev_rx_queue_start(dev, i) != 0) {
 			PMD_DRV_LOG(ERR, "Fail to start queue %u", i);
 			return -1;
 		}
@@ -405,12 +405,12 @@ avf_start_queues(struct rte_eth_dev *dev)
 }
 
 static int
-avf_dev_start(struct rte_eth_dev *dev)
+iavf_dev_start(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	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();
@@ -421,24 +421,24 @@ avf_dev_start(struct rte_eth_dev *dev)
 	vf->num_queue_pairs = RTE_MAX(dev->data->nb_rx_queues,
 				      dev->data->nb_tx_queues);
 
-	if (avf_init_queues(dev) != 0) {
+	if (iavf_init_queues(dev) != 0) {
 		PMD_DRV_LOG(ERR, "failed to do Queue init");
 		return -1;
 	}
 
 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF) {
-		if (avf_init_rss(adapter) != 0) {
+		if (iavf_init_rss(adapter) != 0) {
 			PMD_DRV_LOG(ERR, "configure rss failed");
 			goto err_rss;
 		}
 	}
 
-	if (avf_configure_queues(adapter) != 0) {
+	if (iavf_configure_queues(adapter) != 0) {
 		PMD_DRV_LOG(ERR, "configure queues failed");
 		goto err_queue;
 	}
 
-	if (avf_config_rx_queues_irqs(dev, intr_handle) != 0) {
+	if (iavf_config_rx_queues_irqs(dev, intr_handle) != 0) {
 		PMD_DRV_LOG(ERR, "configure irq failed");
 		goto err_queue;
 	}
@@ -449,9 +449,9 @@ avf_dev_start(struct rte_eth_dev *dev)
 	}
 
 	/* Set all mac addrs */
-	avf_add_del_all_mac_addr(adapter, TRUE);
+	iavf_add_del_all_mac_addr(adapter, TRUE);
 
-	if (avf_start_queues(dev) != 0) {
+	if (iavf_start_queues(dev) != 0) {
 		PMD_DRV_LOG(ERR, "enable queues failed");
 		goto err_mac;
 	}
@@ -459,18 +459,18 @@ avf_dev_start(struct rte_eth_dev *dev)
 	return 0;
 
 err_mac:
-	avf_add_del_all_mac_addr(adapter, FALSE);
+	iavf_add_del_all_mac_addr(adapter, FALSE);
 err_queue:
 err_rss:
 	return -1;
 }
 
 static void
-avf_dev_stop(struct rte_eth_dev *dev)
+iavf_dev_stop(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	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();
@@ -478,7 +478,7 @@ avf_dev_stop(struct rte_eth_dev *dev)
 	if (hw->adapter_stopped == 1)
 		return;
 
-	avf_stop_queues(dev);
+	iavf_stop_queues(dev);
 
 	/* Disable the interrupt for Rx */
 	rte_intr_efd_disable(intr_handle);
@@ -489,24 +489,24 @@ avf_dev_stop(struct rte_eth_dev *dev)
 	}
 
 	/* remove all mac addrs */
-	avf_add_del_all_mac_addr(adapter, FALSE);
+	iavf_add_del_all_mac_addr(adapter, FALSE);
 	hw->adapter_stopped = 1;
 }
 
 static void
-avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+iavf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	memset(dev_info, 0, sizeof(*dev_info));
 	dev_info->max_rx_queues = vf->vsi_res->num_queue_pairs;
 	dev_info->max_tx_queues = vf->vsi_res->num_queue_pairs;
-	dev_info->min_rx_bufsize = AVF_BUF_SIZE_MIN;
-	dev_info->max_rx_pktlen = AVF_FRAME_SIZE_MAX;
+	dev_info->min_rx_bufsize = IAVF_BUF_SIZE_MIN;
+	dev_info->max_rx_pktlen = IAVF_FRAME_SIZE_MAX;
 	dev_info->hash_key_size = vf->vf_res->rss_key_size;
 	dev_info->reta_size = vf->vf_res->rss_lut_size;
-	dev_info->flow_type_rss_offloads = AVF_RSS_OFFLOAD_ALL;
-	dev_info->max_mac_addrs = AVF_NUM_MACADDR_MAX;
+	dev_info->flow_type_rss_offloads = IAVF_RSS_OFFLOAD_ALL;
+	dev_info->max_mac_addrs = IAVF_NUM_MACADDR_MAX;
 	dev_info->rx_offload_capa =
 		DEV_RX_OFFLOAD_VLAN_STRIP |
 		DEV_RX_OFFLOAD_QINQ_STRIP |
@@ -533,32 +533,32 @@ avf_dev_info_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 		DEV_TX_OFFLOAD_MULTI_SEGS;
 
 	dev_info->default_rxconf = (struct rte_eth_rxconf) {
-		.rx_free_thresh = AVF_DEFAULT_RX_FREE_THRESH,
+		.rx_free_thresh = IAVF_DEFAULT_RX_FREE_THRESH,
 		.rx_drop_en = 0,
 		.offloads = 0,
 	};
 
 	dev_info->default_txconf = (struct rte_eth_txconf) {
-		.tx_free_thresh = AVF_DEFAULT_TX_FREE_THRESH,
-		.tx_rs_thresh = AVF_DEFAULT_TX_RS_THRESH,
+		.tx_free_thresh = IAVF_DEFAULT_TX_FREE_THRESH,
+		.tx_rs_thresh = IAVF_DEFAULT_TX_RS_THRESH,
 		.offloads = 0,
 	};
 
 	dev_info->rx_desc_lim = (struct rte_eth_desc_lim) {
-		.nb_max = AVF_MAX_RING_DESC,
-		.nb_min = AVF_MIN_RING_DESC,
-		.nb_align = AVF_ALIGN_RING_DESC,
+		.nb_max = IAVF_MAX_RING_DESC,
+		.nb_min = IAVF_MIN_RING_DESC,
+		.nb_align = IAVF_ALIGN_RING_DESC,
 	};
 
 	dev_info->tx_desc_lim = (struct rte_eth_desc_lim) {
-		.nb_max = AVF_MAX_RING_DESC,
-		.nb_min = AVF_MIN_RING_DESC,
-		.nb_align = AVF_ALIGN_RING_DESC,
+		.nb_max = IAVF_MAX_RING_DESC,
+		.nb_min = IAVF_MIN_RING_DESC,
+		.nb_align = IAVF_ALIGN_RING_DESC,
 	};
 }
 
 static const uint32_t *
-avf_dev_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused)
+iavf_dev_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused)
 {
 	static const uint32_t ptypes[] = {
 		RTE_PTYPE_L2_ETHER,
@@ -575,11 +575,11 @@ avf_dev_supported_ptypes_get(struct rte_eth_dev *dev __rte_unused)
 }
 
 int
-avf_dev_link_update(struct rte_eth_dev *dev,
+iavf_dev_link_update(struct rte_eth_dev *dev,
 		    __rte_unused int wait_to_complete)
 {
 	struct rte_eth_link new_link;
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	/* Only read status info stored in VF, and the info is updated
 	 *  when receive LINK_CHANGE evnet from PF by Virtchnnl.
@@ -623,77 +623,77 @@ avf_dev_link_update(struct rte_eth_dev *dev,
 }
 
 static void
-avf_dev_promiscuous_enable(struct rte_eth_dev *dev)
+iavf_dev_promiscuous_enable(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	int ret;
 
 	if (vf->promisc_unicast_enabled)
 		return;
 
-	ret = avf_config_promisc(adapter, TRUE, vf->promisc_multicast_enabled);
+	ret = iavf_config_promisc(adapter, TRUE, vf->promisc_multicast_enabled);
 	if (!ret)
 		vf->promisc_unicast_enabled = TRUE;
 }
 
 static void
-avf_dev_promiscuous_disable(struct rte_eth_dev *dev)
+iavf_dev_promiscuous_disable(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	int ret;
 
 	if (!vf->promisc_unicast_enabled)
 		return;
 
-	ret = avf_config_promisc(adapter, FALSE, vf->promisc_multicast_enabled);
+	ret = iavf_config_promisc(adapter, FALSE, vf->promisc_multicast_enabled);
 	if (!ret)
 		vf->promisc_unicast_enabled = FALSE;
 }
 
 static void
-avf_dev_allmulticast_enable(struct rte_eth_dev *dev)
+iavf_dev_allmulticast_enable(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	int ret;
 
 	if (vf->promisc_multicast_enabled)
 		return;
 
-	ret = avf_config_promisc(adapter, vf->promisc_unicast_enabled, TRUE);
+	ret = iavf_config_promisc(adapter, vf->promisc_unicast_enabled, TRUE);
 	if (!ret)
 		vf->promisc_multicast_enabled = TRUE;
 }
 
 static void
-avf_dev_allmulticast_disable(struct rte_eth_dev *dev)
+iavf_dev_allmulticast_disable(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	int ret;
 
 	if (!vf->promisc_multicast_enabled)
 		return;
 
-	ret = avf_config_promisc(adapter, vf->promisc_unicast_enabled, FALSE);
+	ret = iavf_config_promisc(adapter, vf->promisc_unicast_enabled, FALSE);
 	if (!ret)
 		vf->promisc_multicast_enabled = FALSE;
 }
 
 static int
-avf_dev_add_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr,
+iavf_dev_add_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr,
 		     __rte_unused uint32_t index,
 		     __rte_unused uint32_t pool)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	int err;
 
 	if (is_zero_ether_addr(addr)) {
@@ -701,7 +701,7 @@ avf_dev_add_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr,
 		return -EINVAL;
 	}
 
-	err = avf_add_del_eth_addr(adapter, addr, TRUE);
+	err = iavf_add_del_eth_addr(adapter, addr, TRUE);
 	if (err) {
 		PMD_DRV_LOG(ERR, "fail to add MAC address");
 		return -EIO;
@@ -713,17 +713,17 @@ avf_dev_add_mac_addr(struct rte_eth_dev *dev, struct ether_addr *addr,
 }
 
 static void
-avf_dev_del_mac_addr(struct rte_eth_dev *dev, uint32_t index)
+iavf_dev_del_mac_addr(struct rte_eth_dev *dev, uint32_t index)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct ether_addr *addr;
 	int err;
 
 	addr = &dev->data->mac_addrs[index];
 
-	err = avf_add_del_eth_addr(adapter, addr, FALSE);
+	err = iavf_add_del_eth_addr(adapter, addr, FALSE);
 	if (err)
 		PMD_DRV_LOG(ERR, "fail to delete MAC address");
 
@@ -731,28 +731,28 @@ avf_dev_del_mac_addr(struct rte_eth_dev *dev, uint32_t index)
 }
 
 static int
-avf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
+iavf_dev_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	int err;
 
 	if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_VLAN))
 		return -ENOTSUP;
 
-	err = avf_add_del_vlan(adapter, vlan_id, on);
+	err = iavf_add_del_vlan(adapter, vlan_id, on);
 	if (err)
 		return -EIO;
 	return 0;
 }
 
 static int
-avf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
+iavf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct rte_eth_conf *dev_conf = &dev->data->dev_conf;
 	int err;
 
@@ -763,9 +763,9 @@ avf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 	if (mask & ETH_VLAN_STRIP_MASK) {
 		/* Enable or disable VLAN stripping */
 		if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_VLAN_STRIP)
-			err = avf_enable_vlan_strip(adapter);
+			err = iavf_enable_vlan_strip(adapter);
 		else
-			err = avf_disable_vlan_strip(adapter);
+			err = iavf_disable_vlan_strip(adapter);
 
 		if (err)
 			return -EIO;
@@ -774,13 +774,13 @@ avf_dev_vlan_offload_set(struct rte_eth_dev *dev, int mask)
 }
 
 static int
-avf_dev_rss_reta_update(struct rte_eth_dev *dev,
+iavf_dev_rss_reta_update(struct rte_eth_dev *dev,
 			struct rte_eth_rss_reta_entry64 *reta_conf,
 			uint16_t reta_size)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	uint8_t *lut;
 	uint16_t i, idx, shift;
 	int ret;
@@ -812,7 +812,7 @@ avf_dev_rss_reta_update(struct rte_eth_dev *dev,
 
 	rte_memcpy(vf->rss_lut, lut, reta_size);
 	/* send virtchnnl ops to configure rss*/
-	ret = avf_configure_rss_lut(adapter);
+	ret = iavf_configure_rss_lut(adapter);
 	if (ret) /* revert back */
 		rte_memcpy(vf->rss_lut, lut, reta_size);
 	rte_free(lut);
@@ -821,13 +821,13 @@ avf_dev_rss_reta_update(struct rte_eth_dev *dev,
 }
 
 static int
-avf_dev_rss_reta_query(struct rte_eth_dev *dev,
+iavf_dev_rss_reta_query(struct rte_eth_dev *dev,
 		       struct rte_eth_rss_reta_entry64 *reta_conf,
 		       uint16_t reta_size)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	uint16_t i, idx, shift;
 
 	if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF))
@@ -851,12 +851,12 @@ avf_dev_rss_reta_query(struct rte_eth_dev *dev,
 }
 
 static int
-avf_dev_rss_hash_update(struct rte_eth_dev *dev,
+iavf_dev_rss_hash_update(struct rte_eth_dev *dev,
 			struct rte_eth_rss_conf *rss_conf)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 
 	if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF))
 		return -ENOTSUP;
@@ -875,22 +875,22 @@ avf_dev_rss_hash_update(struct rte_eth_dev *dev,
 
 	rte_memcpy(vf->rss_key, rss_conf->rss_key, rss_conf->rss_key_len);
 
-	return avf_configure_rss_key(adapter);
+	return iavf_configure_rss_key(adapter);
 }
 
 static int
-avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
+iavf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 			  struct rte_eth_rss_conf *rss_conf)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 
 	if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_RSS_PF))
 		return -ENOTSUP;
 
 	 /* Just set it to default value now. */
-	rss_conf->rss_hf = AVF_RSS_OFFLOAD_ALL;
+	rss_conf->rss_hf = IAVF_RSS_OFFLOAD_ALL;
 
 	if (!rss_conf->rss_key)
 		return 0;
@@ -902,12 +902,12 @@ avf_dev_rss_hash_conf_get(struct rte_eth_dev *dev,
 }
 
 static int
-avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
+iavf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 {
-	uint32_t frame_size = mtu + AVF_ETH_OVERHEAD;
+	uint32_t frame_size = mtu + IAVF_ETH_OVERHEAD;
 	int ret = 0;
 
-	if (mtu < ETHER_MIN_MTU || frame_size > AVF_FRAME_SIZE_MAX)
+	if (mtu < ETHER_MIN_MTU || frame_size > IAVF_FRAME_SIZE_MAX)
 		return -EINVAL;
 
 	/* mtu setting is forbidden if port is start */
@@ -929,12 +929,12 @@ avf_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
 }
 
 static int
-avf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
+iavf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
 			     struct ether_addr *mac_addr)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
 	struct ether_addr *perm_addr, *old_addr;
 	int ret;
 
@@ -948,7 +948,7 @@ avf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
 	if (is_valid_assigned_ether_addr(perm_addr))
 		return -EPERM;
 
-	ret = avf_add_del_eth_addr(adapter, old_addr, FALSE);
+	ret = iavf_add_del_eth_addr(adapter, old_addr, FALSE);
 	if (ret)
 		PMD_DRV_LOG(ERR, "Fail to delete old MAC:"
 			    " %02X:%02X:%02X:%02X:%02X:%02X",
@@ -959,7 +959,7 @@ avf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
 			    old_addr->addr_bytes[4],
 			    old_addr->addr_bytes[5]);
 
-	ret = avf_add_del_eth_addr(adapter, mac_addr, TRUE);
+	ret = iavf_add_del_eth_addr(adapter, mac_addr, TRUE);
 	if (ret)
 		PMD_DRV_LOG(ERR, "Fail to add new MAC:"
 			    " %02X:%02X:%02X:%02X:%02X:%02X",
@@ -978,14 +978,14 @@ avf_dev_set_default_mac_addr(struct rte_eth_dev *dev,
 }
 
 static int
-avf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
+iavf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct virtchnl_eth_stats *pstats = NULL;
 	int ret;
 
-	ret = avf_query_stats(adapter, &pstats);
+	ret = iavf_query_stats(adapter, &pstats);
 	if (ret == 0) {
 		stats->ipackets = pstats->rx_unicast + pstats->rx_multicast +
 						pstats->rx_broadcast;
@@ -1002,28 +1002,28 @@ avf_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
 }
 
 static int
-avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
+iavf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
 	uint16_t msix_intr;
 
 	msix_intr = pci_dev->intr_handle.intr_vec[queue_id];
-	if (msix_intr == AVF_MISC_VEC_ID) {
+	if (msix_intr == IAVF_MISC_VEC_ID) {
 		PMD_DRV_LOG(INFO, "MISC is also enabled for control");
-		AVF_WRITE_REG(hw, AVFINT_DYN_CTL01,
-			      AVFINT_DYN_CTL01_INTENA_MASK |
-			      AVFINT_DYN_CTL01_ITR_INDX_MASK);
+		IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01,
+			      IAVFINT_DYN_CTL01_INTENA_MASK |
+			      IAVFINT_DYN_CTL01_ITR_INDX_MASK);
 	} else {
-		AVF_WRITE_REG(hw,
-			      AVFINT_DYN_CTLN1(msix_intr - AVF_RX_VEC_START),
-			      AVFINT_DYN_CTLN1_INTENA_MASK |
-			      AVFINT_DYN_CTLN1_ITR_INDX_MASK);
+		IAVF_WRITE_REG(hw,
+			      IAVFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
+			      IAVFINT_DYN_CTLN1_INTENA_MASK |
+			      IAVFINT_DYN_CTLN1_ITR_INDX_MASK);
 	}
 
-	AVF_WRITE_FLUSH(hw);
+	IAVF_WRITE_FLUSH(hw);
 
 	rte_intr_enable(&pci_dev->intr_handle);
 
@@ -1031,94 +1031,94 @@ avf_dev_rx_queue_intr_enable(struct rte_eth_dev *dev, uint16_t queue_id)
 }
 
 static int
-avf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
+iavf_dev_rx_queue_intr_disable(struct rte_eth_dev *dev, uint16_t queue_id)
 {
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	uint16_t msix_intr;
 
 	msix_intr = pci_dev->intr_handle.intr_vec[queue_id];
-	if (msix_intr == AVF_MISC_VEC_ID) {
+	if (msix_intr == IAVF_MISC_VEC_ID) {
 		PMD_DRV_LOG(ERR, "MISC is used for control, cannot disable it");
 		return -EIO;
 	}
 
-	AVF_WRITE_REG(hw,
-		      AVFINT_DYN_CTLN1(msix_intr - AVF_RX_VEC_START),
+	IAVF_WRITE_REG(hw,
+		      IAVFINT_DYN_CTLN1(msix_intr - IAVF_RX_VEC_START),
 		      0);
 
-	AVF_WRITE_FLUSH(hw);
+	IAVF_WRITE_FLUSH(hw);
 	return 0;
 }
 
 static int
-avf_check_vf_reset_done(struct avf_hw *hw)
+iavf_check_vf_reset_done(struct iavf_hw *hw)
 {
 	int i, reset;
 
-	for (i = 0; i < AVF_RESET_WAIT_CNT; i++) {
-		reset = AVF_READ_REG(hw, AVFGEN_RSTAT) &
-			AVFGEN_RSTAT_VFR_STATE_MASK;
-		reset = reset >> AVFGEN_RSTAT_VFR_STATE_SHIFT;
+	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;
 		if (reset == VIRTCHNL_VFR_VFACTIVE ||
 		    reset == VIRTCHNL_VFR_COMPLETED)
 			break;
 		rte_delay_ms(20);
 	}
 
-	if (i >= AVF_RESET_WAIT_CNT)
+	if (i >= IAVF_RESET_WAIT_CNT)
 		return -1;
 
 	return 0;
 }
 
 static int
-avf_init_vf(struct rte_eth_dev *dev)
+iavf_init_vf(struct rte_eth_dev *dev)
 {
 	int err, bufsz;
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
+	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 iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
-	err = avf_set_mac_type(hw);
+	err = iavf_set_mac_type(hw);
 	if (err) {
 		PMD_INIT_LOG(ERR, "set_mac_type failed: %d", err);
 		goto err;
 	}
 
-	err = avf_check_vf_reset_done(hw);
+	err = iavf_check_vf_reset_done(hw);
 	if (err) {
 		PMD_INIT_LOG(ERR, "VF is still resetting");
 		goto err;
 	}
 
-	avf_init_adminq_parameter(hw);
-	err = avf_init_adminq(hw);
+	iavf_init_adminq_parameter(hw);
+	err = iavf_init_adminq(hw);
 	if (err) {
 		PMD_INIT_LOG(ERR, "init_adminq failed: %d", err);
 		goto err;
 	}
 
-	vf->aq_resp = rte_zmalloc("vf_aq_resp", AVF_AQ_BUF_SZ, 0);
+	vf->aq_resp = rte_zmalloc("vf_aq_resp", IAVF_AQ_BUF_SZ, 0);
 	if (!vf->aq_resp) {
 		PMD_INIT_LOG(ERR, "unable to allocate vf_aq_resp memory");
 		goto err_aq;
 	}
-	if (avf_check_api_version(adapter) != 0) {
+	if (iavf_check_api_version(adapter) != 0) {
 		PMD_INIT_LOG(ERR, "check_api version failed");
 		goto err_api;
 	}
 
 	bufsz = sizeof(struct virtchnl_vf_resource) +
-		(AVF_MAX_VF_VSI * sizeof(struct virtchnl_vsi_resource));
+		(IAVF_MAX_VF_VSI * sizeof(struct virtchnl_vsi_resource));
 	vf->vf_res = rte_zmalloc("vf_res", bufsz, 0);
 	if (!vf->vf_res) {
 		PMD_INIT_LOG(ERR, "unable to allocate vf_res memory");
 		goto err_api;
 	}
-	if (avf_get_vf_resource(adapter) != 0) {
-		PMD_INIT_LOG(ERR, "avf_get_vf_config failed");
+	if (iavf_get_vf_resource(adapter) != 0) {
+		PMD_INIT_LOG(ERR, "iavf_get_vf_config failed");
 		goto err_alloc;
 	}
 	/* Allocate memort for RSS info */
@@ -1146,70 +1146,70 @@ avf_init_vf(struct rte_eth_dev *dev)
 err_api:
 	rte_free(vf->aq_resp);
 err_aq:
-	avf_shutdown_adminq(hw);
+	iavf_shutdown_adminq(hw);
 err:
 	return -1;
 }
 
 /* Enable default admin queue interrupt setting */
 static inline void
-avf_enable_irq0(struct avf_hw *hw)
+iavf_enable_irq0(struct iavf_hw *hw)
 {
 	/* Enable admin queue interrupt trigger */
-	AVF_WRITE_REG(hw, AVFINT_ICR0_ENA1, AVFINT_ICR0_ENA1_ADMINQ_MASK);
+	IAVF_WRITE_REG(hw, IAVFINT_ICR0_ENA1, IAVFINT_ICR0_ENA1_ADMINQ_MASK);
 
-	AVF_WRITE_REG(hw, AVFINT_DYN_CTL01, AVFINT_DYN_CTL01_INTENA_MASK |
-		AVFINT_DYN_CTL01_CLEARPBA_MASK | AVFINT_DYN_CTL01_ITR_INDX_MASK);
+	IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01, IAVFINT_DYN_CTL01_INTENA_MASK |
+		IAVFINT_DYN_CTL01_CLEARPBA_MASK | IAVFINT_DYN_CTL01_ITR_INDX_MASK);
 
-	AVF_WRITE_FLUSH(hw);
+	IAVF_WRITE_FLUSH(hw);
 }
 
 static inline void
-avf_disable_irq0(struct avf_hw *hw)
+iavf_disable_irq0(struct iavf_hw *hw)
 {
 	/* Disable all interrupt types */
-	AVF_WRITE_REG(hw, AVFINT_ICR0_ENA1, 0);
-	AVF_WRITE_REG(hw, AVFINT_DYN_CTL01,
-		      AVFINT_DYN_CTL01_ITR_INDX_MASK);
-	AVF_WRITE_FLUSH(hw);
+	IAVF_WRITE_REG(hw, IAVFINT_ICR0_ENA1, 0);
+	IAVF_WRITE_REG(hw, IAVFINT_DYN_CTL01,
+		      IAVFINT_DYN_CTL01_ITR_INDX_MASK);
+	IAVF_WRITE_FLUSH(hw);
 }
 
 static void
-avf_dev_interrupt_handler(void *param)
+iavf_dev_interrupt_handler(void *param)
 {
 	struct rte_eth_dev *dev = (struct rte_eth_dev *)param;
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 
-	avf_disable_irq0(hw);
+	iavf_disable_irq0(hw);
 
-	avf_handle_virtchnl_msg(dev);
+	iavf_handle_virtchnl_msg(dev);
 
-	avf_enable_irq0(hw);
+	iavf_enable_irq0(hw);
 }
 
 static int
-avf_dev_init(struct rte_eth_dev *eth_dev)
+iavf_dev_init(struct rte_eth_dev *eth_dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
 
 	PMD_INIT_FUNC_TRACE();
 
 	/* assign ops func pointer */
-	eth_dev->dev_ops = &avf_eth_dev_ops;
-	eth_dev->rx_pkt_burst = &avf_recv_pkts;
-	eth_dev->tx_pkt_burst = &avf_xmit_pkts;
-	eth_dev->tx_pkt_prepare = &avf_prep_pkts;
+	eth_dev->dev_ops = &iavf_eth_dev_ops;
+	eth_dev->rx_pkt_burst = &iavf_recv_pkts;
+	eth_dev->tx_pkt_burst = &iavf_xmit_pkts;
+	eth_dev->tx_pkt_prepare = &iavf_prep_pkts;
 
 	/* For secondary processes, we don't initialise any further as primary
 	 * has already done this work. Only check if we need a different RX
 	 * and TX function.
 	 */
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY) {
-		avf_set_rx_function(eth_dev);
-		avf_set_tx_function(eth_dev);
+		iavf_set_rx_function(eth_dev);
+		iavf_set_tx_function(eth_dev);
 		return 0;
 	}
 	rte_eth_copy_pci_info(eth_dev, pci_dev);
@@ -1222,23 +1222,23 @@ avf_dev_init(struct rte_eth_dev *eth_dev)
 	hw->bus.device = pci_dev->addr.devid;
 	hw->bus.func = pci_dev->addr.function;
 	hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
-	hw->back = AVF_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
+	hw->back = IAVF_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
 	adapter->eth_dev = eth_dev;
 
-	if (avf_init_vf(eth_dev) != 0) {
+	if (iavf_init_vf(eth_dev) != 0) {
 		PMD_INIT_LOG(ERR, "Init vf failed");
 		return -1;
 	}
 
 	/* copy mac addr */
 	eth_dev->data->mac_addrs = rte_zmalloc(
-					"avf_mac",
-					ETHER_ADDR_LEN * AVF_NUM_MACADDR_MAX,
+					"iavf_mac",
+					ETHER_ADDR_LEN * IAVF_NUM_MACADDR_MAX,
 					0);
 	if (!eth_dev->data->mac_addrs) {
 		PMD_INIT_LOG(ERR, "Failed to allocate %d bytes needed to"
 			     " store MAC addresses",
-			     ETHER_ADDR_LEN * AVF_NUM_MACADDR_MAX);
+			     ETHER_ADDR_LEN * IAVF_NUM_MACADDR_MAX);
 		return -ENOMEM;
 	}
 	/* If the MAC address is not configured by host,
@@ -1251,41 +1251,41 @@ avf_dev_init(struct rte_eth_dev *eth_dev)
 
 	/* register callback func to eal lib */
 	rte_intr_callback_register(&pci_dev->intr_handle,
-				   avf_dev_interrupt_handler,
+				   iavf_dev_interrupt_handler,
 				   (void *)eth_dev);
 
 	/* enable uio intr after callback register */
 	rte_intr_enable(&pci_dev->intr_handle);
 
 	/* configure and enable device interrupt */
-	avf_enable_irq0(hw);
+	iavf_enable_irq0(hw);
 
 	return 0;
 }
 
 static void
-avf_dev_close(struct rte_eth_dev *dev)
+iavf_dev_close(struct rte_eth_dev *dev)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
 	struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
 	struct rte_intr_handle *intr_handle = &pci_dev->intr_handle;
 
-	avf_dev_stop(dev);
-	avf_shutdown_adminq(hw);
+	iavf_dev_stop(dev);
+	iavf_shutdown_adminq(hw);
 	/* disable uio intr before callback unregister */
 	rte_intr_disable(intr_handle);
 
 	/* unregister callback func from eal lib */
 	rte_intr_callback_unregister(intr_handle,
-				     avf_dev_interrupt_handler, dev);
-	avf_disable_irq0(hw);
+				     iavf_dev_interrupt_handler, dev);
+	iavf_disable_irq0(hw);
 }
 
 static int
-avf_dev_uninit(struct rte_eth_dev *dev)
+iavf_dev_uninit(struct rte_eth_dev *dev)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(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);
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
 		return -EPERM;
@@ -1294,7 +1294,7 @@ avf_dev_uninit(struct rte_eth_dev *dev)
 	dev->rx_pkt_burst = NULL;
 	dev->tx_pkt_burst = NULL;
 	if (hw->adapter_stopped == 0)
-		avf_dev_close(dev);
+		iavf_dev_close(dev);
 
 	rte_free(vf->vf_res);
 	vf->vsi_res = NULL;
@@ -1315,44 +1315,44 @@ avf_dev_uninit(struct rte_eth_dev *dev)
 	return 0;
 }
 
-static int eth_avf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
+static int eth_iavf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 			     struct rte_pci_device *pci_dev)
 {
 	return rte_eth_dev_pci_generic_probe(pci_dev,
-		sizeof(struct avf_adapter), avf_dev_init);
+		sizeof(struct iavf_adapter), iavf_dev_init);
 }
 
-static int eth_avf_pci_remove(struct rte_pci_device *pci_dev)
+static int eth_iavf_pci_remove(struct rte_pci_device *pci_dev)
 {
-	return rte_eth_dev_pci_generic_remove(pci_dev, avf_dev_uninit);
+	return rte_eth_dev_pci_generic_remove(pci_dev, iavf_dev_uninit);
 }
 
 /* Adaptive virtual function driver struct */
-static struct rte_pci_driver rte_avf_pmd = {
-	.id_table = pci_id_avf_map,
+static struct rte_pci_driver rte_iavf_pmd = {
+	.id_table = pci_id_iavf_map,
 	.drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC |
 		     RTE_PCI_DRV_IOVA_AS_VA,
-	.probe = eth_avf_pci_probe,
-	.remove = eth_avf_pci_remove,
+	.probe = eth_iavf_pci_probe,
+	.remove = eth_iavf_pci_remove,
 };
 
-RTE_PMD_REGISTER_PCI(net_avf, rte_avf_pmd);
-RTE_PMD_REGISTER_PCI_TABLE(net_avf, pci_id_avf_map);
-RTE_PMD_REGISTER_KMOD_DEP(net_avf, "* igb_uio | vfio-pci");
-RTE_INIT(avf_init_log)
+RTE_PMD_REGISTER_PCI(net_iavf, rte_iavf_pmd);
+RTE_PMD_REGISTER_PCI_TABLE(net_iavf, pci_id_iavf_map);
+RTE_PMD_REGISTER_KMOD_DEP(net_iavf, "* igb_uio | vfio-pci");
+RTE_INIT(iavf_init_log)
 {
-	avf_logtype_init = rte_log_register("pmd.net.avf.init");
-	if (avf_logtype_init >= 0)
-		rte_log_set_level(avf_logtype_init, RTE_LOG_NOTICE);
-	avf_logtype_driver = rte_log_register("pmd.net.avf.driver");
-	if (avf_logtype_driver >= 0)
-		rte_log_set_level(avf_logtype_driver, RTE_LOG_NOTICE);
+	iavf_logtype_init = rte_log_register("pmd.net.iavf.init");
+	if (iavf_logtype_init >= 0)
+		rte_log_set_level(iavf_logtype_init, RTE_LOG_NOTICE);
+	iavf_logtype_driver = rte_log_register("pmd.net.iavf.driver");
+	if (iavf_logtype_driver >= 0)
+		rte_log_set_level(iavf_logtype_driver, RTE_LOG_NOTICE);
 }
 
 /* memory func for base code */
-enum avf_status_code
-avf_allocate_dma_mem_d(__rte_unused struct avf_hw *hw,
-		       struct avf_dma_mem *mem,
+enum iavf_status_code
+iavf_allocate_dma_mem_d(__rte_unused struct iavf_hw *hw,
+		       struct iavf_dma_mem *mem,
 		       u64 size,
 		       u32 alignment)
 {
@@ -1360,13 +1360,13 @@ avf_allocate_dma_mem_d(__rte_unused struct avf_hw *hw,
 	char z_name[RTE_MEMZONE_NAMESIZE];
 
 	if (!mem)
-		return AVF_ERR_PARAM;
+		return IAVF_ERR_PARAM;
 
-	snprintf(z_name, sizeof(z_name), "avf_dma_%"PRIu64, rte_rand());
+	snprintf(z_name, sizeof(z_name), "iavf_dma_%"PRIu64, rte_rand());
 	mz = rte_memzone_reserve_bounded(z_name, size, SOCKET_ID_ANY,
 			RTE_MEMZONE_IOVA_CONTIG, alignment, RTE_PGSIZE_2M);
 	if (!mz)
-		return AVF_ERR_NO_MEMORY;
+		return IAVF_ERR_NO_MEMORY;
 
 	mem->size = size;
 	mem->va = mz->addr;
@@ -1376,15 +1376,15 @@ avf_allocate_dma_mem_d(__rte_unused struct avf_hw *hw,
 		    "memzone %s allocated with physical address: %"PRIu64,
 		    mz->name, mem->pa);
 
-	return AVF_SUCCESS;
+	return IAVF_SUCCESS;
 }
 
-enum avf_status_code
-avf_free_dma_mem_d(__rte_unused struct avf_hw *hw,
-		   struct avf_dma_mem *mem)
+enum iavf_status_code
+iavf_free_dma_mem_d(__rte_unused struct iavf_hw *hw,
+		   struct iavf_dma_mem *mem)
 {
 	if (!mem)
-		return AVF_ERR_PARAM;
+		return IAVF_ERR_PARAM;
 
 	PMD_DRV_LOG(DEBUG,
 		    "memzone %s to be freed with physical address: %"PRIu64,
@@ -1394,35 +1394,35 @@ avf_free_dma_mem_d(__rte_unused struct avf_hw *hw,
 	mem->va = NULL;
 	mem->pa = (u64)0;
 
-	return AVF_SUCCESS;
+	return IAVF_SUCCESS;
 }
 
-enum avf_status_code
-avf_allocate_virt_mem_d(__rte_unused struct avf_hw *hw,
-			struct avf_virt_mem *mem,
+enum iavf_status_code
+iavf_allocate_virt_mem_d(__rte_unused struct iavf_hw *hw,
+			struct iavf_virt_mem *mem,
 			u32 size)
 {
 	if (!mem)
-		return AVF_ERR_PARAM;
+		return IAVF_ERR_PARAM;
 
 	mem->size = size;
-	mem->va = rte_zmalloc("avf", size, 0);
+	mem->va = rte_zmalloc("iavf", size, 0);
 
 	if (mem->va)
-		return AVF_SUCCESS;
+		return IAVF_SUCCESS;
 	else
-		return AVF_ERR_NO_MEMORY;
+		return IAVF_ERR_NO_MEMORY;
 }
 
-enum avf_status_code
-avf_free_virt_mem_d(__rte_unused struct avf_hw *hw,
-		    struct avf_virt_mem *mem)
+enum iavf_status_code
+iavf_free_virt_mem_d(__rte_unused struct iavf_hw *hw,
+		    struct iavf_virt_mem *mem)
 {
 	if (!mem)
-		return AVF_ERR_PARAM;
+		return IAVF_ERR_PARAM;
 
 	rte_free(mem->va);
 	mem->va = NULL;
 
-	return AVF_SUCCESS;
+	return IAVF_SUCCESS;
 }
diff --git a/drivers/net/avf/avf_log.h b/drivers/net/iavf/iavf_log.h
similarity index 72%
rename from drivers/net/avf/avf_log.h
rename to drivers/net/iavf/iavf_log.h
index 8d574d3f3..f66c37041 100644
--- a/drivers/net/avf/avf_log.h
+++ b/drivers/net/iavf/iavf_log.h
@@ -2,43 +2,43 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
-#ifndef _AVF_LOG_H_
-#define _AVF_LOG_H_
+#ifndef _IAVF_LOG_H_
+#define _IAVF_LOG_H_
 
-extern int avf_logtype_init;
+extern int iavf_logtype_init;
 #define PMD_INIT_LOG(level, fmt, args...) \
-	rte_log(RTE_LOG_ ## level, avf_logtype_init, "%s(): " fmt "\n", \
+	rte_log(RTE_LOG_ ## level, iavf_logtype_init, "%s(): " fmt "\n", \
 		__func__, ## args)
 #define PMD_INIT_FUNC_TRACE() PMD_INIT_LOG(DEBUG, " >>")
 
-extern int avf_logtype_driver;
+extern int iavf_logtype_driver;
 #define PMD_DRV_LOG_RAW(level, fmt, args...) \
-	rte_log(RTE_LOG_ ## level, avf_logtype_driver, "%s(): " fmt, \
+	rte_log(RTE_LOG_ ## level, iavf_logtype_driver, "%s(): " fmt, \
 		__func__, ## args)
 
 #define PMD_DRV_LOG(level, fmt, args...) \
 	PMD_DRV_LOG_RAW(level, fmt "\n", ## args)
 #define PMD_DRV_FUNC_TRACE() PMD_DRV_LOG(DEBUG, " >>")
 
-#ifdef RTE_LIBRTE_AVF_DEBUG_RX
+#ifdef RTE_LIBRTE_IAVF_DEBUG_RX
 #define PMD_RX_LOG(level, fmt, args...) \
 	RTE_LOG_DP(level, PMD, "%s(): " fmt "\n", __func__, ## args)
 #else
 #define PMD_RX_LOG(level, fmt, args...) do { } while (0)
 #endif
 
-#ifdef RTE_LIBRTE_AVF_DEBUG_TX
+#ifdef RTE_LIBRTE_IAVF_DEBUG_TX
 #define PMD_TX_LOG(level, fmt, args...) \
 	RTE_LOG_DP(level, PMD, "%s(): " fmt "\n", __func__, ## args)
 #else
 #define PMD_TX_LOG(level, fmt, args...) do { } while (0)
 #endif
 
-#ifdef RTE_LIBRTE_AVF_DEBUG_TX_FREE
+#ifdef RTE_LIBRTE_IAVF_DEBUG_TX_FREE
 #define PMD_TX_FREE_LOG(level, fmt, args...) \
 	RTE_LOG_DP(level, PMD, "%s(): " fmt "\n", __func__, ## args)
 #else
 #define PMD_TX_FREE_LOG(level, fmt, args...) do { } while (0)
 #endif
 
-#endif /* _AVF_LOG_H_ */
+#endif /* _IAVF_LOG_H_ */
diff --git a/drivers/net/avf/avf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
similarity index 73%
rename from drivers/net/avf/avf_rxtx.c
rename to drivers/net/iavf/iavf_rxtx.c
index 8c7a96727..db7070fb5 100644
--- a/drivers/net/avf/avf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -24,11 +24,11 @@
 #include <rte_ip.h>
 #include <rte_net.h>
 
-#include "avf_log.h"
-#include "base/avf_prototype.h"
-#include "base/avf_type.h"
-#include "avf.h"
-#include "avf_rxtx.h"
+#include "iavf_log.h"
+#include "base/iavf_prototype.h"
+#include "base/iavf_type.h"
+#include "iavf.h"
+#include "iavf_rxtx.h"
 
 static inline int
 check_rx_thresh(uint16_t nb_desc, uint16_t thresh)
@@ -92,11 +92,11 @@ check_tx_thresh(uint16_t nb_desc, uint16_t tx_rs_thresh,
 	return 0;
 }
 
-#ifdef RTE_LIBRTE_AVF_INC_VECTOR
+#ifdef RTE_LIBRTE_IAVF_INC_VECTOR
 static inline bool
-check_rx_vec_allow(struct avf_rx_queue *rxq)
+check_rx_vec_allow(struct iavf_rx_queue *rxq)
 {
-	if (rxq->rx_free_thresh >= AVF_VPMD_RX_MAX_BURST &&
+	if (rxq->rx_free_thresh >= IAVF_VPMD_RX_MAX_BURST &&
 	    rxq->nb_rx_desc % rxq->rx_free_thresh == 0) {
 		PMD_INIT_LOG(DEBUG, "Vector Rx can be enabled on this rxq.");
 		return TRUE;
@@ -107,11 +107,11 @@ check_rx_vec_allow(struct avf_rx_queue *rxq)
 }
 
 static inline bool
-check_tx_vec_allow(struct avf_tx_queue *txq)
+check_tx_vec_allow(struct iavf_tx_queue *txq)
 {
-	if (!(txq->offloads & AVF_NO_VECTOR_FLAGS) &&
-	    txq->rs_thresh >= AVF_VPMD_TX_MAX_BURST &&
-	    txq->rs_thresh <= AVF_VPMD_TX_MAX_FREE_BUF) {
+	if (!(txq->offloads & IAVF_NO_VECTOR_FLAGS) &&
+	    txq->rs_thresh >= IAVF_VPMD_TX_MAX_BURST &&
+	    txq->rs_thresh <= IAVF_VPMD_TX_MAX_FREE_BUF) {
 		PMD_INIT_LOG(DEBUG, "Vector tx can be enabled on this txq.");
 		return TRUE;
 	}
@@ -121,15 +121,15 @@ check_tx_vec_allow(struct avf_tx_queue *txq)
 #endif
 
 static inline bool
-check_rx_bulk_allow(struct avf_rx_queue *rxq)
+check_rx_bulk_allow(struct iavf_rx_queue *rxq)
 {
 	int ret = TRUE;
 
-	if (!(rxq->rx_free_thresh >= AVF_RX_MAX_BURST)) {
+	if (!(rxq->rx_free_thresh >= IAVF_RX_MAX_BURST)) {
 		PMD_INIT_LOG(DEBUG, "Rx Burst Bulk Alloc Preconditions: "
 			     "rxq->rx_free_thresh=%d, "
-			     "AVF_RX_MAX_BURST=%d",
-			     rxq->rx_free_thresh, AVF_RX_MAX_BURST);
+			     "IAVF_RX_MAX_BURST=%d",
+			     rxq->rx_free_thresh, IAVF_RX_MAX_BURST);
 		ret = FALSE;
 	} else if (rxq->nb_rx_desc % rxq->rx_free_thresh != 0) {
 		PMD_INIT_LOG(DEBUG, "Rx Burst Bulk Alloc Preconditions: "
@@ -142,21 +142,21 @@ check_rx_bulk_allow(struct avf_rx_queue *rxq)
 }
 
 static inline void
-reset_rx_queue(struct avf_rx_queue *rxq)
+reset_rx_queue(struct iavf_rx_queue *rxq)
 {
 	uint16_t len, i;
 
 	if (!rxq)
 		return;
 
-	len = rxq->nb_rx_desc + AVF_RX_MAX_BURST;
+	len = rxq->nb_rx_desc + IAVF_RX_MAX_BURST;
 
-	for (i = 0; i < len * sizeof(union avf_rx_desc); i++)
+	for (i = 0; i < len * sizeof(union iavf_rx_desc); i++)
 		((volatile char *)rxq->rx_ring)[i] = 0;
 
 	memset(&rxq->fake_mbuf, 0x0, sizeof(rxq->fake_mbuf));
 
-	for (i = 0; i < AVF_RX_MAX_BURST; i++)
+	for (i = 0; i < IAVF_RX_MAX_BURST; i++)
 		rxq->sw_ring[rxq->nb_rx_desc + i] = &rxq->fake_mbuf;
 
 	/* for rx bulk */
@@ -171,9 +171,9 @@ reset_rx_queue(struct avf_rx_queue *rxq)
 }
 
 static inline void
-reset_tx_queue(struct avf_tx_queue *txq)
+reset_tx_queue(struct iavf_tx_queue *txq)
 {
-	struct avf_tx_entry *txe;
+	struct iavf_tx_entry *txe;
 	uint16_t i, prev, size;
 
 	if (!txq) {
@@ -182,14 +182,14 @@ reset_tx_queue(struct avf_tx_queue *txq)
 	}
 
 	txe = txq->sw_ring;
-	size = sizeof(struct avf_tx_desc) * txq->nb_tx_desc;
+	size = sizeof(struct iavf_tx_desc) * txq->nb_tx_desc;
 	for (i = 0; i < size; i++)
 		((volatile char *)txq->tx_ring)[i] = 0;
 
 	prev = (uint16_t)(txq->nb_tx_desc - 1);
 	for (i = 0; i < txq->nb_tx_desc; i++) {
 		txq->tx_ring[i].cmd_type_offset_bsz =
-			rte_cpu_to_le_64(AVF_TX_DESC_DTYPE_DESC_DONE);
+			rte_cpu_to_le_64(IAVF_TX_DESC_DTYPE_DESC_DONE);
 		txe[i].mbuf =  NULL;
 		txe[i].last_id = i;
 		txe[prev].next_id = i;
@@ -207,9 +207,9 @@ reset_tx_queue(struct avf_tx_queue *txq)
 }
 
 static int
-alloc_rxq_mbufs(struct avf_rx_queue *rxq)
+alloc_rxq_mbufs(struct iavf_rx_queue *rxq)
 {
-	volatile union avf_rx_desc *rxd;
+	volatile union iavf_rx_desc *rxd;
 	struct rte_mbuf *mbuf = NULL;
 	uint64_t dma_addr;
 	uint16_t i;
@@ -233,7 +233,7 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq)
 		rxd = &rxq->rx_ring[i];
 		rxd->read.pkt_addr = dma_addr;
 		rxd->read.hdr_addr = 0;
-#ifndef RTE_LIBRTE_AVF_16BYTE_RX_DESC
+#ifndef RTE_LIBRTE_IAVF_16BYTE_RX_DESC
 		rxd->read.rsvd1 = 0;
 		rxd->read.rsvd2 = 0;
 #endif
@@ -245,7 +245,7 @@ alloc_rxq_mbufs(struct avf_rx_queue *rxq)
 }
 
 static inline void
-release_rxq_mbufs(struct avf_rx_queue *rxq)
+release_rxq_mbufs(struct iavf_rx_queue *rxq)
 {
 	uint16_t i;
 
@@ -272,7 +272,7 @@ release_rxq_mbufs(struct avf_rx_queue *rxq)
 }
 
 static inline void
-release_txq_mbufs(struct avf_tx_queue *txq)
+release_txq_mbufs(struct iavf_tx_queue *txq)
 {
 	uint16_t i;
 
@@ -289,24 +289,24 @@ release_txq_mbufs(struct avf_tx_queue *txq)
 	}
 }
 
-static const struct avf_rxq_ops def_rxq_ops = {
+static const struct iavf_rxq_ops def_rxq_ops = {
 	.release_mbufs = release_rxq_mbufs,
 };
 
-static const struct avf_txq_ops def_txq_ops = {
+static const struct iavf_txq_ops def_txq_ops = {
 	.release_mbufs = release_txq_mbufs,
 };
 
 int
-avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
+iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 		       uint16_t nb_desc, unsigned int socket_id,
 		       const struct rte_eth_rxconf *rx_conf,
 		       struct rte_mempool *mp)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_adapter *ad =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_rx_queue *rxq;
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_adapter *ad =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_rx_queue *rxq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
 	uint16_t len;
@@ -314,9 +314,9 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 
 	PMD_INIT_FUNC_TRACE();
 
-	if (nb_desc % AVF_ALIGN_RING_DESC != 0 ||
-	    nb_desc > AVF_MAX_RING_DESC ||
-	    nb_desc < AVF_MIN_RING_DESC) {
+	if (nb_desc % IAVF_ALIGN_RING_DESC != 0 ||
+	    nb_desc > IAVF_MAX_RING_DESC ||
+	    nb_desc < IAVF_MIN_RING_DESC) {
 		PMD_INIT_LOG(ERR, "Number (%u) of receive descriptors is "
 			     "invalid", nb_desc);
 		return -EINVAL;
@@ -324,20 +324,20 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 
 	/* Check free threshold */
 	rx_free_thresh = (rx_conf->rx_free_thresh == 0) ?
-			 AVF_DEFAULT_RX_FREE_THRESH :
+			 IAVF_DEFAULT_RX_FREE_THRESH :
 			 rx_conf->rx_free_thresh;
 	if (check_rx_thresh(nb_desc, rx_free_thresh) != 0)
 		return -EINVAL;
 
 	/* Free memory if needed */
 	if (dev->data->rx_queues[queue_idx]) {
-		avf_dev_rx_queue_release(dev->data->rx_queues[queue_idx]);
+		iavf_dev_rx_queue_release(dev->data->rx_queues[queue_idx]);
 		dev->data->rx_queues[queue_idx] = NULL;
 	}
 
 	/* Allocate the rx queue data structure */
-	rxq = rte_zmalloc_socket("avf rxq",
-				 sizeof(struct avf_rx_queue),
+	rxq = rte_zmalloc_socket("iavf rxq",
+				 sizeof(struct iavf_rx_queue),
 				 RTE_CACHE_LINE_SIZE,
 				 socket_id);
 	if (!rxq) {
@@ -356,12 +356,12 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	rxq->rx_hdr_len = 0;
 
 	len = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM;
-	rxq->rx_buf_len = RTE_ALIGN(len, (1 << AVF_RXQ_CTX_DBUFF_SHIFT));
+	rxq->rx_buf_len = RTE_ALIGN(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT));
 
 	/* Allocate the software ring. */
-	len = nb_desc + AVF_RX_MAX_BURST;
+	len = nb_desc + IAVF_RX_MAX_BURST;
 	rxq->sw_ring =
-		rte_zmalloc_socket("avf rx sw ring",
+		rte_zmalloc_socket("iavf rx sw ring",
 				   sizeof(struct rte_mbuf *) * len,
 				   RTE_CACHE_LINE_SIZE,
 				   socket_id);
@@ -374,11 +374,11 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	/* Allocate the maximun number of RX ring hardware descriptor with
 	 * a liitle more to support bulk allocate.
 	 */
-	len = AVF_MAX_RING_DESC + AVF_RX_MAX_BURST;
-	ring_size = RTE_ALIGN(len * sizeof(union avf_rx_desc),
-			      AVF_DMA_MEM_ALIGN);
+	len = IAVF_MAX_RING_DESC + IAVF_RX_MAX_BURST;
+	ring_size = RTE_ALIGN(len * sizeof(union iavf_rx_desc),
+			      IAVF_DMA_MEM_ALIGN);
 	mz = rte_eth_dma_zone_reserve(dev, "rx_ring", queue_idx,
-				      ring_size, AVF_RING_BASE_ALIGN,
+				      ring_size, IAVF_RING_BASE_ALIGN,
 				      socket_id);
 	if (!mz) {
 		PMD_INIT_LOG(ERR, "Failed to reserve DMA memory for RX");
@@ -389,13 +389,13 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 	/* Zero all the descriptors in the ring. */
 	memset(mz->addr, 0, ring_size);
 	rxq->rx_ring_phys_addr = mz->iova;
-	rxq->rx_ring = (union avf_rx_desc *)mz->addr;
+	rxq->rx_ring = (union iavf_rx_desc *)mz->addr;
 
 	rxq->mz = mz;
 	reset_rx_queue(rxq);
 	rxq->q_set = TRUE;
 	dev->data->rx_queues[queue_idx] = rxq;
-	rxq->qrx_tail = hw->hw_addr + AVF_QRX_TAIL1(rxq->queue_id);
+	rxq->qrx_tail = hw->hw_addr + IAVF_QRX_TAIL1(rxq->queue_id);
 	rxq->ops = &def_rxq_ops;
 
 	if (check_rx_bulk_allow(rxq) == TRUE) {
@@ -411,7 +411,7 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 		ad->rx_bulk_alloc_allowed = false;
 	}
 
-#ifdef RTE_LIBRTE_AVF_INC_VECTOR
+#ifdef RTE_LIBRTE_IAVF_INC_VECTOR
 	if (check_rx_vec_allow(rxq) == FALSE)
 		ad->rx_vec_allowed = false;
 #endif
@@ -419,14 +419,14 @@ avf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
 }
 
 int
-avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
+iavf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		       uint16_t queue_idx,
 		       uint16_t nb_desc,
 		       unsigned int socket_id,
 		       const struct rte_eth_txconf *tx_conf)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_tx_queue *txq;
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_tx_queue *txq;
 	const struct rte_memzone *mz;
 	uint32_t ring_size;
 	uint16_t tx_rs_thresh, tx_free_thresh;
@@ -436,9 +436,9 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 
 	offloads = tx_conf->offloads | dev->data->dev_conf.txmode.offloads;
 
-	if (nb_desc % AVF_ALIGN_RING_DESC != 0 ||
-	    nb_desc > AVF_MAX_RING_DESC ||
-	    nb_desc < AVF_MIN_RING_DESC) {
+	if (nb_desc % IAVF_ALIGN_RING_DESC != 0 ||
+	    nb_desc > IAVF_MAX_RING_DESC ||
+	    nb_desc < IAVF_MIN_RING_DESC) {
 		PMD_INIT_LOG(ERR, "Number (%u) of transmit descriptors is "
 			    "invalid", nb_desc);
 		return -EINVAL;
@@ -452,13 +452,13 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 
 	/* Free memory if needed. */
 	if (dev->data->tx_queues[queue_idx]) {
-		avf_dev_tx_queue_release(dev->data->tx_queues[queue_idx]);
+		iavf_dev_tx_queue_release(dev->data->tx_queues[queue_idx]);
 		dev->data->tx_queues[queue_idx] = NULL;
 	}
 
 	/* Allocate the TX queue data structure. */
-	txq = rte_zmalloc_socket("avf txq",
-				 sizeof(struct avf_tx_queue),
+	txq = rte_zmalloc_socket("iavf txq",
+				 sizeof(struct iavf_tx_queue),
 				 RTE_CACHE_LINE_SIZE,
 				 socket_id);
 	if (!txq) {
@@ -477,8 +477,8 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 
 	/* Allocate software ring */
 	txq->sw_ring =
-		rte_zmalloc_socket("avf tx sw ring",
-				   sizeof(struct avf_tx_entry) * nb_desc,
+		rte_zmalloc_socket("iavf tx sw ring",
+				   sizeof(struct iavf_tx_entry) * nb_desc,
 				   RTE_CACHE_LINE_SIZE,
 				   socket_id);
 	if (!txq->sw_ring) {
@@ -488,10 +488,10 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 	}
 
 	/* Allocate TX hardware ring descriptors. */
-	ring_size = sizeof(struct avf_tx_desc) * AVF_MAX_RING_DESC;
-	ring_size = RTE_ALIGN(ring_size, AVF_DMA_MEM_ALIGN);
+	ring_size = sizeof(struct iavf_tx_desc) * IAVF_MAX_RING_DESC;
+	ring_size = RTE_ALIGN(ring_size, IAVF_DMA_MEM_ALIGN);
 	mz = rte_eth_dma_zone_reserve(dev, "tx_ring", queue_idx,
-				      ring_size, AVF_RING_BASE_ALIGN,
+				      ring_size, IAVF_RING_BASE_ALIGN,
 				      socket_id);
 	if (!mz) {
 		PMD_INIT_LOG(ERR, "Failed to reserve DMA memory for TX");
@@ -500,19 +500,19 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 		return -ENOMEM;
 	}
 	txq->tx_ring_phys_addr = mz->iova;
-	txq->tx_ring = (struct avf_tx_desc *)mz->addr;
+	txq->tx_ring = (struct iavf_tx_desc *)mz->addr;
 
 	txq->mz = mz;
 	reset_tx_queue(txq);
 	txq->q_set = TRUE;
 	dev->data->tx_queues[queue_idx] = txq;
-	txq->qtx_tail = hw->hw_addr + AVF_QTX_TAIL1(queue_idx);
+	txq->qtx_tail = hw->hw_addr + IAVF_QTX_TAIL1(queue_idx);
 	txq->ops = &def_txq_ops;
 
-#ifdef RTE_LIBRTE_AVF_INC_VECTOR
+#ifdef RTE_LIBRTE_IAVF_INC_VECTOR
 	if (check_tx_vec_allow(txq) == FALSE) {
-		struct avf_adapter *ad =
-			AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+		struct iavf_adapter *ad =
+			IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
 		ad->tx_vec_allowed = false;
 	}
 #endif
@@ -521,12 +521,12 @@ avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 }
 
 int
-avf_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+iavf_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_rx_queue *rxq;
+	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 iavf_rx_queue *rxq;
 	int err = 0;
 
 	PMD_DRV_FUNC_TRACE();
@@ -545,11 +545,11 @@ avf_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	rte_wmb();
 
 	/* Init the RX tail register. */
-	AVF_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);
-	AVF_WRITE_FLUSH(hw);
+	IAVF_PCI_REG_WRITE(rxq->qrx_tail, rxq->nb_rx_desc - 1);
+	IAVF_WRITE_FLUSH(hw);
 
 	/* Ready to switch the queue on */
-	err = avf_switch_queue(adapter, rx_queue_id, TRUE, TRUE);
+	err = iavf_switch_queue(adapter, rx_queue_id, TRUE, TRUE);
 	if (err)
 		PMD_DRV_LOG(ERR, "Failed to switch RX queue %u on",
 			    rx_queue_id);
@@ -561,12 +561,12 @@ avf_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 }
 
 int
-avf_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+iavf_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_tx_queue *txq;
+	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 iavf_tx_queue *txq;
 	int err = 0;
 
 	PMD_DRV_FUNC_TRACE();
@@ -577,11 +577,11 @@ avf_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 	txq = dev->data->tx_queues[tx_queue_id];
 
 	/* Init the RX tail register. */
-	AVF_PCI_REG_WRITE(txq->qtx_tail, 0);
-	AVF_WRITE_FLUSH(hw);
+	IAVF_PCI_REG_WRITE(txq->qtx_tail, 0);
+	IAVF_WRITE_FLUSH(hw);
 
 	/* Ready to switch the queue on */
-	err = avf_switch_queue(adapter, tx_queue_id, FALSE, TRUE);
+	err = iavf_switch_queue(adapter, tx_queue_id, FALSE, TRUE);
 
 	if (err)
 		PMD_DRV_LOG(ERR, "Failed to switch TX queue %u on",
@@ -594,11 +594,11 @@ avf_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 }
 
 int
-avf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_rx_queue *rxq;
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_rx_queue *rxq;
 	int err;
 
 	PMD_DRV_FUNC_TRACE();
@@ -606,7 +606,7 @@ avf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	if (rx_queue_id >= dev->data->nb_rx_queues)
 		return -EINVAL;
 
-	err = avf_switch_queue(adapter, rx_queue_id, TRUE, FALSE);
+	err = iavf_switch_queue(adapter, rx_queue_id, TRUE, FALSE);
 	if (err) {
 		PMD_DRV_LOG(ERR, "Failed to switch RX queue %u off",
 			    rx_queue_id);
@@ -622,11 +622,11 @@ avf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 }
 
 int
-avf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_tx_queue *txq;
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_tx_queue *txq;
 	int err;
 
 	PMD_DRV_FUNC_TRACE();
@@ -634,7 +634,7 @@ avf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 	if (tx_queue_id >= dev->data->nb_tx_queues)
 		return -EINVAL;
 
-	err = avf_switch_queue(adapter, tx_queue_id, FALSE, FALSE);
+	err = iavf_switch_queue(adapter, tx_queue_id, FALSE, FALSE);
 	if (err) {
 		PMD_DRV_LOG(ERR, "Failed to switch TX queue %u off",
 			    tx_queue_id);
@@ -650,9 +650,9 @@ avf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 }
 
 void
-avf_dev_rx_queue_release(void *rxq)
+iavf_dev_rx_queue_release(void *rxq)
 {
-	struct avf_rx_queue *q = (struct avf_rx_queue *)rxq;
+	struct iavf_rx_queue *q = (struct iavf_rx_queue *)rxq;
 
 	if (!q)
 		return;
@@ -664,9 +664,9 @@ avf_dev_rx_queue_release(void *rxq)
 }
 
 void
-avf_dev_tx_queue_release(void *txq)
+iavf_dev_tx_queue_release(void *txq)
 {
-	struct avf_tx_queue *q = (struct avf_tx_queue *)txq;
+	struct iavf_tx_queue *q = (struct iavf_tx_queue *)txq;
 
 	if (!q)
 		return;
@@ -678,16 +678,16 @@ avf_dev_tx_queue_release(void *txq)
 }
 
 void
-avf_stop_queues(struct rte_eth_dev *dev)
+iavf_stop_queues(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_rx_queue *rxq;
-	struct avf_tx_queue *txq;
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_rx_queue *rxq;
+	struct iavf_tx_queue *txq;
 	int ret, i;
 
 	/* Stop All queues */
-	ret = avf_disable_queues(adapter);
+	ret = iavf_disable_queues(adapter);
 	if (ret)
 		PMD_DRV_LOG(WARNING, "Fail to stop queues");
 
@@ -710,10 +710,10 @@ avf_stop_queues(struct rte_eth_dev *dev)
 }
 
 static inline void
-avf_rxd_to_vlan_tci(struct rte_mbuf *mb, volatile union avf_rx_desc *rxdp)
+iavf_rxd_to_vlan_tci(struct rte_mbuf *mb, volatile union iavf_rx_desc *rxdp)
 {
 	if (rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len) &
-		(1 << AVF_RX_DESC_STATUS_L2TAG1P_SHIFT)) {
+		(1 << IAVF_RX_DESC_STATUS_L2TAG1P_SHIFT)) {
 		mb->ol_flags |= PKT_RX_VLAN | PKT_RX_VLAN_STRIPPED;
 		mb->vlan_tci =
 			rte_le_to_cpu_16(rxdp->wb.qword0.lo_dword.l2tag1);
@@ -724,29 +724,29 @@ avf_rxd_to_vlan_tci(struct rte_mbuf *mb, volatile union avf_rx_desc *rxdp)
 
 /* Translate the rx descriptor status and error fields to pkt flags */
 static inline uint64_t
-avf_rxd_to_pkt_flags(uint64_t qword)
+iavf_rxd_to_pkt_flags(uint64_t qword)
 {
 	uint64_t flags;
-	uint64_t error_bits = (qword >> AVF_RXD_QW1_ERROR_SHIFT);
+	uint64_t error_bits = (qword >> IAVF_RXD_QW1_ERROR_SHIFT);
 
-#define AVF_RX_ERR_BITS 0x3f
+#define IAVF_RX_ERR_BITS 0x3f
 
 	/* Check if RSS_HASH */
-	flags = (((qword >> AVF_RX_DESC_STATUS_FLTSTAT_SHIFT) &
-					AVF_RX_DESC_FLTSTAT_RSS_HASH) ==
-			AVF_RX_DESC_FLTSTAT_RSS_HASH) ? PKT_RX_RSS_HASH : 0;
+	flags = (((qword >> IAVF_RX_DESC_STATUS_FLTSTAT_SHIFT) &
+					IAVF_RX_DESC_FLTSTAT_RSS_HASH) ==
+			IAVF_RX_DESC_FLTSTAT_RSS_HASH) ? PKT_RX_RSS_HASH : 0;
 
-	if (likely((error_bits & AVF_RX_ERR_BITS) == 0)) {
+	if (likely((error_bits & IAVF_RX_ERR_BITS) == 0)) {
 		flags |= (PKT_RX_IP_CKSUM_GOOD | PKT_RX_L4_CKSUM_GOOD);
 		return flags;
 	}
 
-	if (unlikely(error_bits & (1 << AVF_RX_DESC_ERROR_IPE_SHIFT)))
+	if (unlikely(error_bits & (1 << IAVF_RX_DESC_ERROR_IPE_SHIFT)))
 		flags |= PKT_RX_IP_CKSUM_BAD;
 	else
 		flags |= PKT_RX_IP_CKSUM_GOOD;
 
-	if (unlikely(error_bits & (1 << AVF_RX_DESC_ERROR_L4E_SHIFT)))
+	if (unlikely(error_bits & (1 << IAVF_RX_DESC_ERROR_L4E_SHIFT)))
 		flags |= PKT_RX_L4_CKSUM_BAD;
 	else
 		flags |= PKT_RX_L4_CKSUM_GOOD;
@@ -758,12 +758,12 @@ avf_rxd_to_pkt_flags(uint64_t qword)
 
 /* implement recv_pkts */
 uint16_t
-avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
+iavf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 {
-	volatile union avf_rx_desc *rx_ring;
-	volatile union avf_rx_desc *rxdp;
-	struct avf_rx_queue *rxq;
-	union avf_rx_desc rxd;
+	volatile union iavf_rx_desc *rx_ring;
+	volatile union iavf_rx_desc *rxdp;
+	struct iavf_rx_queue *rxq;
+	union iavf_rx_desc rxd;
 	struct rte_mbuf *rxe;
 	struct rte_eth_dev *dev;
 	struct rte_mbuf *rxm;
@@ -804,13 +804,13 @@ avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 	while (nb_rx < nb_pkts) {
 		rxdp = &rx_ring[rx_id];
 		qword1 = rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len);
-		rx_status = (qword1 & AVF_RXD_QW1_STATUS_MASK) >>
-			    AVF_RXD_QW1_STATUS_SHIFT;
+		rx_status = (qword1 & IAVF_RXD_QW1_STATUS_MASK) >>
+			    IAVF_RXD_QW1_STATUS_SHIFT;
 
 		/* Check the DD bit first */
-		if (!(rx_status & (1 << AVF_RX_DESC_STATUS_DD_SHIFT)))
+		if (!(rx_status & (1 << IAVF_RX_DESC_STATUS_DD_SHIFT)))
 			break;
-		AVF_DUMP_RX_DESC(rxq, rxdp, rx_id);
+		IAVF_DUMP_RX_DESC(rxq, rxdp, rx_id);
 
 		nmb = rte_mbuf_raw_alloc(rxq->mp);
 		if (unlikely(!nmb)) {
@@ -846,8 +846,8 @@ avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 		rxdp->read.hdr_addr = 0;
 		rxdp->read.pkt_addr = dma_addr;
 
-		rx_packet_len = ((qword1 & AVF_RXD_QW1_LENGTH_PBUF_MASK) >>
-				AVF_RXD_QW1_LENGTH_PBUF_SHIFT) - rxq->crc_len;
+		rx_packet_len = ((qword1 & IAVF_RXD_QW1_LENGTH_PBUF_MASK) >>
+				IAVF_RXD_QW1_LENGTH_PBUF_SHIFT) - rxq->crc_len;
 
 		rxm->data_off = RTE_PKTMBUF_HEADROOM;
 		rte_prefetch0(RTE_PTR_ADD(rxm->buf_addr, RTE_PKTMBUF_HEADROOM));
@@ -857,11 +857,11 @@ avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 		rxm->data_len = rx_packet_len;
 		rxm->port = rxq->port_id;
 		rxm->ol_flags = 0;
-		avf_rxd_to_vlan_tci(rxm, &rxd);
-		pkt_flags = avf_rxd_to_pkt_flags(qword1);
+		iavf_rxd_to_vlan_tci(rxm, &rxd);
+		pkt_flags = iavf_rxd_to_pkt_flags(qword1);
 		rxm->packet_type =
 			ptype_tbl[(uint8_t)((qword1 &
-			AVF_RXD_QW1_PTYPE_MASK) >> AVF_RXD_QW1_PTYPE_SHIFT)];
+			IAVF_RXD_QW1_PTYPE_MASK) >> IAVF_RXD_QW1_PTYPE_SHIFT)];
 
 		if (pkt_flags & PKT_RX_RSS_HASH)
 			rxm->hash.rss =
@@ -886,7 +886,7 @@ avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 			   rx_id, nb_hold, nb_rx);
 		rx_id = (uint16_t)((rx_id == 0) ?
 			(rxq->nb_rx_desc - 1) : (rx_id - 1));
-		AVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
+		IAVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
 		nb_hold = 0;
 	}
 	rxq->nb_rx_hold = nb_hold;
@@ -896,11 +896,11 @@ avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 
 /* implement recv_scattered_pkts  */
 uint16_t
-avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
+iavf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 			uint16_t nb_pkts)
 {
-	struct avf_rx_queue *rxq = rx_queue;
-	union avf_rx_desc rxd;
+	struct iavf_rx_queue *rxq = rx_queue;
+	union iavf_rx_desc rxd;
 	struct rte_mbuf *rxe;
 	struct rte_mbuf *first_seg = rxq->pkt_first_seg;
 	struct rte_mbuf *last_seg = rxq->pkt_last_seg;
@@ -913,8 +913,8 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 	uint64_t dma_addr;
 	uint64_t pkt_flags;
 
-	volatile union avf_rx_desc *rx_ring = rxq->rx_ring;
-	volatile union avf_rx_desc *rxdp;
+	volatile union iavf_rx_desc *rx_ring = rxq->rx_ring;
+	volatile union iavf_rx_desc *rxdp;
 	static const uint32_t ptype_tbl[UINT8_MAX + 1] __rte_cache_aligned = {
 		/* [0] reserved */
 		[1] = RTE_PTYPE_L2_ETHER,
@@ -938,13 +938,13 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 	while (nb_rx < nb_pkts) {
 		rxdp = &rx_ring[rx_id];
 		qword1 = rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len);
-		rx_status = (qword1 & AVF_RXD_QW1_STATUS_MASK) >>
-			    AVF_RXD_QW1_STATUS_SHIFT;
+		rx_status = (qword1 & IAVF_RXD_QW1_STATUS_MASK) >>
+			    IAVF_RXD_QW1_STATUS_SHIFT;
 
 		/* Check the DD bit */
-		if (!(rx_status & (1 << AVF_RX_DESC_STATUS_DD_SHIFT)))
+		if (!(rx_status & (1 << IAVF_RX_DESC_STATUS_DD_SHIFT)))
 			break;
-		AVF_DUMP_RX_DESC(rxq, rxdp, rx_id);
+		IAVF_DUMP_RX_DESC(rxq, rxdp, rx_id);
 
 		nmb = rte_mbuf_raw_alloc(rxq->mp);
 		if (unlikely(!nmb)) {
@@ -982,8 +982,8 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		/* Set data buffer address and data length of the mbuf */
 		rxdp->read.hdr_addr = 0;
 		rxdp->read.pkt_addr = dma_addr;
-		rx_packet_len = (qword1 & AVF_RXD_QW1_LENGTH_PBUF_MASK) >>
-				 AVF_RXD_QW1_LENGTH_PBUF_SHIFT;
+		rx_packet_len = (qword1 & IAVF_RXD_QW1_LENGTH_PBUF_MASK) >>
+				 IAVF_RXD_QW1_LENGTH_PBUF_SHIFT;
 		rxm->data_len = rx_packet_len;
 		rxm->data_off = RTE_PKTMBUF_HEADROOM;
 
@@ -1009,7 +1009,7 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		 * update the pointer to the last mbuf of the current scattered
 		 * packet and continue to parse the RX ring.
 		 */
-		if (!(rx_status & (1 << AVF_RX_DESC_STATUS_EOF_SHIFT))) {
+		if (!(rx_status & (1 << IAVF_RX_DESC_STATUS_EOF_SHIFT))) {
 			last_seg = rxm;
 			continue;
 		}
@@ -1040,11 +1040,11 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 
 		first_seg->port = rxq->port_id;
 		first_seg->ol_flags = 0;
-		avf_rxd_to_vlan_tci(first_seg, &rxd);
-		pkt_flags = avf_rxd_to_pkt_flags(qword1);
+		iavf_rxd_to_vlan_tci(first_seg, &rxd);
+		pkt_flags = iavf_rxd_to_pkt_flags(qword1);
 		first_seg->packet_type =
 			ptype_tbl[(uint8_t)((qword1 &
-			AVF_RXD_QW1_PTYPE_MASK) >> AVF_RXD_QW1_PTYPE_SHIFT)];
+			IAVF_RXD_QW1_PTYPE_MASK) >> IAVF_RXD_QW1_PTYPE_SHIFT)];
 
 		if (pkt_flags & PKT_RX_RSS_HASH)
 			first_seg->hash.rss =
@@ -1079,7 +1079,7 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 			   rx_id, nb_hold, nb_rx);
 		rx_id = (uint16_t)(rx_id == 0 ?
 			(rxq->nb_rx_desc - 1) : (rx_id - 1));
-		AVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
+		IAVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
 		nb_hold = 0;
 	}
 	rxq->nb_rx_hold = nb_hold;
@@ -1087,17 +1087,17 @@ avf_recv_scattered_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 	return nb_rx;
 }
 
-#define AVF_LOOK_AHEAD 8
+#define IAVF_LOOK_AHEAD 8
 static inline int
-avf_rx_scan_hw_ring(struct avf_rx_queue *rxq)
+iavf_rx_scan_hw_ring(struct iavf_rx_queue *rxq)
 {
-	volatile union avf_rx_desc *rxdp;
+	volatile union iavf_rx_desc *rxdp;
 	struct rte_mbuf **rxep;
 	struct rte_mbuf *mb;
 	uint16_t pkt_len;
 	uint64_t qword1;
 	uint32_t rx_status;
-	int32_t s[AVF_LOOK_AHEAD], nb_dd;
+	int32_t s[IAVF_LOOK_AHEAD], nb_dd;
 	int32_t i, j, nb_rx = 0;
 	uint64_t pkt_flags;
 	static const uint32_t ptype_tbl[UINT8_MAX + 1] __rte_cache_aligned = {
@@ -1124,53 +1124,53 @@ avf_rx_scan_hw_ring(struct avf_rx_queue *rxq)
 	rxep = &rxq->sw_ring[rxq->rx_tail];
 
 	qword1 = rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len);
-	rx_status = (qword1 & AVF_RXD_QW1_STATUS_MASK) >>
-		    AVF_RXD_QW1_STATUS_SHIFT;
+	rx_status = (qword1 & IAVF_RXD_QW1_STATUS_MASK) >>
+		    IAVF_RXD_QW1_STATUS_SHIFT;
 
 	/* Make sure there is at least 1 packet to receive */
-	if (!(rx_status & (1 << AVF_RX_DESC_STATUS_DD_SHIFT)))
+	if (!(rx_status & (1 << IAVF_RX_DESC_STATUS_DD_SHIFT)))
 		return 0;
 
 	/* Scan LOOK_AHEAD descriptors at a time to determine which
 	 * descriptors reference packets that are ready to be received.
 	 */
-	for (i = 0; i < AVF_RX_MAX_BURST; i += AVF_LOOK_AHEAD,
-	     rxdp += AVF_LOOK_AHEAD, rxep += AVF_LOOK_AHEAD) {
+	for (i = 0; i < IAVF_RX_MAX_BURST; i += IAVF_LOOK_AHEAD,
+	     rxdp += IAVF_LOOK_AHEAD, rxep += IAVF_LOOK_AHEAD) {
 		/* Read desc statuses backwards to avoid race condition */
-		for (j = AVF_LOOK_AHEAD - 1; j >= 0; j--) {
+		for (j = IAVF_LOOK_AHEAD - 1; j >= 0; j--) {
 			qword1 = rte_le_to_cpu_64(
 				rxdp[j].wb.qword1.status_error_len);
-			s[j] = (qword1 & AVF_RXD_QW1_STATUS_MASK) >>
-			       AVF_RXD_QW1_STATUS_SHIFT;
+			s[j] = (qword1 & IAVF_RXD_QW1_STATUS_MASK) >>
+			       IAVF_RXD_QW1_STATUS_SHIFT;
 		}
 
 		rte_smp_rmb();
 
 		/* Compute how many status bits were set */
-		for (j = 0, nb_dd = 0; j < AVF_LOOK_AHEAD; j++)
-			nb_dd += s[j] & (1 << AVF_RX_DESC_STATUS_DD_SHIFT);
+		for (j = 0, nb_dd = 0; j < IAVF_LOOK_AHEAD; j++)
+			nb_dd += s[j] & (1 << IAVF_RX_DESC_STATUS_DD_SHIFT);
 
 		nb_rx += nb_dd;
 
 		/* Translate descriptor info to mbuf parameters */
 		for (j = 0; j < nb_dd; j++) {
-			AVF_DUMP_RX_DESC(rxq, &rxdp[j],
-					 rxq->rx_tail + i * AVF_LOOK_AHEAD + j);
+			IAVF_DUMP_RX_DESC(rxq, &rxdp[j],
+					 rxq->rx_tail + i * IAVF_LOOK_AHEAD + j);
 
 			mb = rxep[j];
 			qword1 = rte_le_to_cpu_64
 					(rxdp[j].wb.qword1.status_error_len);
-			pkt_len = ((qword1 & AVF_RXD_QW1_LENGTH_PBUF_MASK) >>
-				  AVF_RXD_QW1_LENGTH_PBUF_SHIFT) - rxq->crc_len;
+			pkt_len = ((qword1 & IAVF_RXD_QW1_LENGTH_PBUF_MASK) >>
+				  IAVF_RXD_QW1_LENGTH_PBUF_SHIFT) - rxq->crc_len;
 			mb->data_len = pkt_len;
 			mb->pkt_len = pkt_len;
 			mb->ol_flags = 0;
-			avf_rxd_to_vlan_tci(mb, &rxdp[j]);
-			pkt_flags = avf_rxd_to_pkt_flags(qword1);
+			iavf_rxd_to_vlan_tci(mb, &rxdp[j]);
+			pkt_flags = iavf_rxd_to_pkt_flags(qword1);
 			mb->packet_type =
 				ptype_tbl[(uint8_t)((qword1 &
-				AVF_RXD_QW1_PTYPE_MASK) >>
-				AVF_RXD_QW1_PTYPE_SHIFT)];
+				IAVF_RXD_QW1_PTYPE_MASK) >>
+				IAVF_RXD_QW1_PTYPE_SHIFT)];
 
 			if (pkt_flags & PKT_RX_RSS_HASH)
 				mb->hash.rss = rte_le_to_cpu_32(
@@ -1179,10 +1179,10 @@ avf_rx_scan_hw_ring(struct avf_rx_queue *rxq)
 			mb->ol_flags |= pkt_flags;
 		}
 
-		for (j = 0; j < AVF_LOOK_AHEAD; j++)
+		for (j = 0; j < IAVF_LOOK_AHEAD; j++)
 			rxq->rx_stage[i + j] = rxep[j];
 
-		if (nb_dd != AVF_LOOK_AHEAD)
+		if (nb_dd != IAVF_LOOK_AHEAD)
 			break;
 	}
 
@@ -1194,7 +1194,7 @@ avf_rx_scan_hw_ring(struct avf_rx_queue *rxq)
 }
 
 static inline uint16_t
-avf_rx_fill_from_stage(struct avf_rx_queue *rxq,
+iavf_rx_fill_from_stage(struct iavf_rx_queue *rxq,
 		       struct rte_mbuf **rx_pkts,
 		       uint16_t nb_pkts)
 {
@@ -1213,9 +1213,9 @@ avf_rx_fill_from_stage(struct avf_rx_queue *rxq,
 }
 
 static inline int
-avf_rx_alloc_bufs(struct avf_rx_queue *rxq)
+iavf_rx_alloc_bufs(struct iavf_rx_queue *rxq)
 {
-	volatile union avf_rx_desc *rxdp;
+	volatile union iavf_rx_desc *rxdp;
 	struct rte_mbuf **rxep;
 	struct rte_mbuf *mb;
 	uint16_t alloc_idx, i;
@@ -1252,7 +1252,7 @@ avf_rx_alloc_bufs(struct avf_rx_queue *rxq)
 
 	/* Update rx tail register */
 	rte_wmb();
-	AVF_PCI_REG_WRITE_RELAXED(rxq->qrx_tail, rxq->rx_free_trigger);
+	IAVF_PCI_REG_WRITE_RELAXED(rxq->qrx_tail, rxq->rx_free_trigger);
 
 	rxq->rx_free_trigger =
 		(uint16_t)(rxq->rx_free_trigger + rxq->rx_free_thresh);
@@ -1265,22 +1265,22 @@ avf_rx_alloc_bufs(struct avf_rx_queue *rxq)
 static inline uint16_t
 rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 {
-	struct avf_rx_queue *rxq = (struct avf_rx_queue *)rx_queue;
+	struct iavf_rx_queue *rxq = (struct iavf_rx_queue *)rx_queue;
 	uint16_t nb_rx = 0;
 
 	if (!nb_pkts)
 		return 0;
 
 	if (rxq->rx_nb_avail)
-		return avf_rx_fill_from_stage(rxq, rx_pkts, nb_pkts);
+		return iavf_rx_fill_from_stage(rxq, rx_pkts, nb_pkts);
 
-	nb_rx = (uint16_t)avf_rx_scan_hw_ring(rxq);
+	nb_rx = (uint16_t)iavf_rx_scan_hw_ring(rxq);
 	rxq->rx_next_avail = 0;
 	rxq->rx_nb_avail = nb_rx;
 	rxq->rx_tail = (uint16_t)(rxq->rx_tail + nb_rx);
 
 	if (rxq->rx_tail > rxq->rx_free_trigger) {
-		if (avf_rx_alloc_bufs(rxq) != 0) {
+		if (iavf_rx_alloc_bufs(rxq) != 0) {
 			uint16_t i, j;
 
 			/* TODO: count rx_mbuf_alloc_failed here */
@@ -1302,13 +1302,13 @@ rx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)
 		   rxq->rx_tail, nb_rx);
 
 	if (rxq->rx_nb_avail)
-		return avf_rx_fill_from_stage(rxq, rx_pkts, nb_pkts);
+		return iavf_rx_fill_from_stage(rxq, rx_pkts, nb_pkts);
 
 	return 0;
 }
 
 static uint16_t
-avf_recv_pkts_bulk_alloc(void *rx_queue,
+iavf_recv_pkts_bulk_alloc(void *rx_queue,
 			 struct rte_mbuf **rx_pkts,
 			 uint16_t nb_pkts)
 {
@@ -1317,11 +1317,11 @@ avf_recv_pkts_bulk_alloc(void *rx_queue,
 	if (unlikely(nb_pkts == 0))
 		return 0;
 
-	if (likely(nb_pkts <= AVF_RX_MAX_BURST))
+	if (likely(nb_pkts <= IAVF_RX_MAX_BURST))
 		return rx_recv_pkts(rx_queue, rx_pkts, nb_pkts);
 
 	while (nb_pkts) {
-		n = RTE_MIN(nb_pkts, AVF_RX_MAX_BURST);
+		n = RTE_MIN(nb_pkts, IAVF_RX_MAX_BURST);
 		count = rx_recv_pkts(rx_queue, &rx_pkts[nb_rx], n);
 		nb_rx = (uint16_t)(nb_rx + count);
 		nb_pkts = (uint16_t)(nb_pkts - count);
@@ -1333,15 +1333,15 @@ avf_recv_pkts_bulk_alloc(void *rx_queue,
 }
 
 static inline int
-avf_xmit_cleanup(struct avf_tx_queue *txq)
+iavf_xmit_cleanup(struct iavf_tx_queue *txq)
 {
-	struct avf_tx_entry *sw_ring = txq->sw_ring;
+	struct iavf_tx_entry *sw_ring = txq->sw_ring;
 	uint16_t last_desc_cleaned = txq->last_desc_cleaned;
 	uint16_t nb_tx_desc = txq->nb_tx_desc;
 	uint16_t desc_to_clean_to;
 	uint16_t nb_tx_to_clean;
 
-	volatile struct avf_tx_desc *txd = txq->tx_ring;
+	volatile struct iavf_tx_desc *txd = txq->tx_ring;
 
 	desc_to_clean_to = (uint16_t)(last_desc_cleaned + txq->rs_thresh);
 	if (desc_to_clean_to >= nb_tx_desc)
@@ -1349,8 +1349,8 @@ avf_xmit_cleanup(struct avf_tx_queue *txq)
 
 	desc_to_clean_to = sw_ring[desc_to_clean_to].last_id;
 	if ((txd[desc_to_clean_to].cmd_type_offset_bsz &
-			rte_cpu_to_le_64(AVF_TXD_QW1_DTYPE_MASK)) !=
-			rte_cpu_to_le_64(AVF_TX_DESC_DTYPE_DESC_DONE)) {
+			rte_cpu_to_le_64(IAVF_TXD_QW1_DTYPE_MASK)) !=
+			rte_cpu_to_le_64(IAVF_TX_DESC_DTYPE_DESC_DONE)) {
 		PMD_TX_FREE_LOG(DEBUG, "TX descriptor %4u is not done "
 				"(port=%d queue=%d)", desc_to_clean_to,
 				txq->port_id, txq->queue_id);
@@ -1374,7 +1374,7 @@ avf_xmit_cleanup(struct avf_tx_queue *txq)
 
 /* Check if the context descriptor is needed for TX offloading */
 static inline uint16_t
-avf_calc_context_desc(uint64_t flags)
+iavf_calc_context_desc(uint64_t flags)
 {
 	static uint64_t mask = PKT_TX_TCP_SEG;
 
@@ -1382,53 +1382,53 @@ avf_calc_context_desc(uint64_t flags)
 }
 
 static inline void
-avf_txd_enable_checksum(uint64_t ol_flags,
+iavf_txd_enable_checksum(uint64_t ol_flags,
 			uint32_t *td_cmd,
 			uint32_t *td_offset,
-			union avf_tx_offload tx_offload)
+			union iavf_tx_offload tx_offload)
 {
 	/* Set MACLEN */
 	*td_offset |= (tx_offload.l2_len >> 1) <<
-		      AVF_TX_DESC_LENGTH_MACLEN_SHIFT;
+		      IAVF_TX_DESC_LENGTH_MACLEN_SHIFT;
 
 	/* Enable L3 checksum offloads */
 	if (ol_flags & PKT_TX_IP_CKSUM) {
-		*td_cmd |= AVF_TX_DESC_CMD_IIPT_IPV4_CSUM;
+		*td_cmd |= IAVF_TX_DESC_CMD_IIPT_IPV4_CSUM;
 		*td_offset |= (tx_offload.l3_len >> 2) <<
-			      AVF_TX_DESC_LENGTH_IPLEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
 	} else if (ol_flags & PKT_TX_IPV4) {
-		*td_cmd |= AVF_TX_DESC_CMD_IIPT_IPV4;
+		*td_cmd |= IAVF_TX_DESC_CMD_IIPT_IPV4;
 		*td_offset |= (tx_offload.l3_len >> 2) <<
-			      AVF_TX_DESC_LENGTH_IPLEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
 	} else if (ol_flags & PKT_TX_IPV6) {
-		*td_cmd |= AVF_TX_DESC_CMD_IIPT_IPV6;
+		*td_cmd |= IAVF_TX_DESC_CMD_IIPT_IPV6;
 		*td_offset |= (tx_offload.l3_len >> 2) <<
-			      AVF_TX_DESC_LENGTH_IPLEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_IPLEN_SHIFT;
 	}
 
 	if (ol_flags & PKT_TX_TCP_SEG) {
-		*td_cmd |= AVF_TX_DESC_CMD_L4T_EOFT_TCP;
+		*td_cmd |= IAVF_TX_DESC_CMD_L4T_EOFT_TCP;
 		*td_offset |= (tx_offload.l4_len >> 2) <<
-			      AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
 		return;
 	}
 
 	/* Enable L4 checksum offloads */
 	switch (ol_flags & PKT_TX_L4_MASK) {
 	case PKT_TX_TCP_CKSUM:
-		*td_cmd |= AVF_TX_DESC_CMD_L4T_EOFT_TCP;
+		*td_cmd |= IAVF_TX_DESC_CMD_L4T_EOFT_TCP;
 		*td_offset |= (sizeof(struct tcp_hdr) >> 2) <<
-			      AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
 		break;
 	case PKT_TX_SCTP_CKSUM:
-		*td_cmd |= AVF_TX_DESC_CMD_L4T_EOFT_SCTP;
+		*td_cmd |= IAVF_TX_DESC_CMD_L4T_EOFT_SCTP;
 		*td_offset |= (sizeof(struct sctp_hdr) >> 2) <<
-			      AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
 		break;
 	case PKT_TX_UDP_CKSUM:
-		*td_cmd |= AVF_TX_DESC_CMD_L4T_EOFT_UDP;
+		*td_cmd |= IAVF_TX_DESC_CMD_L4T_EOFT_UDP;
 		*td_offset |= (sizeof(struct udp_hdr) >> 2) <<
-			      AVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
+			      IAVF_TX_DESC_LENGTH_L4_FC_LEN_SHIFT;
 		break;
 	default:
 		break;
@@ -1439,7 +1439,7 @@ avf_txd_enable_checksum(uint64_t ol_flags,
  * support IP -> L4 and IP -> IP -> L4
  */
 static inline uint64_t
-avf_set_tso_ctx(struct rte_mbuf *mbuf, union avf_tx_offload tx_offload)
+iavf_set_tso_ctx(struct rte_mbuf *mbuf, union iavf_tx_offload tx_offload)
 {
 	uint64_t ctx_desc = 0;
 	uint32_t cd_cmd, hdr_len, cd_tso_len;
@@ -1456,39 +1456,39 @@ avf_set_tso_ctx(struct rte_mbuf *mbuf, union avf_tx_offload tx_offload)
 		  tx_offload.l3_len +
 		  tx_offload.l4_len;
 
-	cd_cmd = AVF_TX_CTX_DESC_TSO;
+	cd_cmd = IAVF_TX_CTX_DESC_TSO;
 	cd_tso_len = mbuf->pkt_len - hdr_len;
-	ctx_desc |= ((uint64_t)cd_cmd << AVF_TXD_CTX_QW1_CMD_SHIFT) |
-		     ((uint64_t)cd_tso_len << AVF_TXD_CTX_QW1_TSO_LEN_SHIFT) |
-		     ((uint64_t)mbuf->tso_segsz << AVF_TXD_CTX_QW1_MSS_SHIFT);
+	ctx_desc |= ((uint64_t)cd_cmd << IAVF_TXD_CTX_QW1_CMD_SHIFT) |
+		     ((uint64_t)cd_tso_len << IAVF_TXD_CTX_QW1_TSO_LEN_SHIFT) |
+		     ((uint64_t)mbuf->tso_segsz << IAVF_TXD_CTX_QW1_MSS_SHIFT);
 
 	return ctx_desc;
 }
 
 /* Construct the tx flags */
 static inline uint64_t
-avf_build_ctob(uint32_t td_cmd, uint32_t td_offset, unsigned int size,
+iavf_build_ctob(uint32_t td_cmd, uint32_t td_offset, unsigned int size,
 	       uint32_t td_tag)
 {
-	return rte_cpu_to_le_64(AVF_TX_DESC_DTYPE_DATA |
-				((uint64_t)td_cmd  << AVF_TXD_QW1_CMD_SHIFT) |
+	return rte_cpu_to_le_64(IAVF_TX_DESC_DTYPE_DATA |
+				((uint64_t)td_cmd  << IAVF_TXD_QW1_CMD_SHIFT) |
 				((uint64_t)td_offset <<
-				 AVF_TXD_QW1_OFFSET_SHIFT) |
+				 IAVF_TXD_QW1_OFFSET_SHIFT) |
 				((uint64_t)size  <<
-				 AVF_TXD_QW1_TX_BUF_SZ_SHIFT) |
+				 IAVF_TXD_QW1_TX_BUF_SZ_SHIFT) |
 				((uint64_t)td_tag  <<
-				 AVF_TXD_QW1_L2TAG1_SHIFT));
+				 IAVF_TXD_QW1_L2TAG1_SHIFT));
 }
 
 /* TX function */
 uint16_t
-avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 {
-	volatile struct avf_tx_desc *txd;
-	volatile struct avf_tx_desc *txr;
-	struct avf_tx_queue *txq;
-	struct avf_tx_entry *sw_ring;
-	struct avf_tx_entry *txe, *txn;
+	volatile struct iavf_tx_desc *txd;
+	volatile struct iavf_tx_desc *txr;
+	struct iavf_tx_queue *txq;
+	struct iavf_tx_entry *sw_ring;
+	struct iavf_tx_entry *txe, *txn;
 	struct rte_mbuf *tx_pkt;
 	struct rte_mbuf *m_seg;
 	uint16_t tx_id;
@@ -1502,7 +1502,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	uint16_t tx_last;
 	uint16_t slen;
 	uint64_t buf_dma_addr;
-	union avf_tx_offload tx_offload = {0};
+	union iavf_tx_offload tx_offload = {0};
 
 	txq = tx_queue;
 	sw_ring = txq->sw_ring;
@@ -1512,7 +1512,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 	/* Check if the descriptor ring needs to be cleaned. */
 	if (txq->nb_free < txq->free_thresh)
-		avf_xmit_cleanup(txq);
+		iavf_xmit_cleanup(txq);
 
 	for (nb_tx = 0; nb_tx < nb_pkts; nb_tx++) {
 		td_cmd = 0;
@@ -1529,7 +1529,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		tx_offload.tso_segsz = tx_pkt->tso_segsz;
 
 		/* Calculate the number of context descriptors needed. */
-		nb_ctx = avf_calc_context_desc(ol_flags);
+		nb_ctx = iavf_calc_context_desc(ol_flags);
 
 		/* The number of descriptors that must be allocated for
 		 * a packet equals to the number of the segments of that
@@ -1547,14 +1547,14 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 			   txq->port_id, txq->queue_id, tx_id, tx_last);
 
 		if (nb_used > txq->nb_free) {
-			if (avf_xmit_cleanup(txq)) {
+			if (iavf_xmit_cleanup(txq)) {
 				if (nb_tx == 0)
 					return 0;
 				goto end_of_tx;
 			}
 			if (unlikely(nb_used > txq->rs_thresh)) {
 				while (nb_used > txq->nb_free) {
-					if (avf_xmit_cleanup(txq)) {
+					if (iavf_xmit_cleanup(txq)) {
 						if (nb_tx == 0)
 							return 0;
 						goto end_of_tx;
@@ -1565,7 +1565,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 		/* Descriptor based VLAN insertion */
 		if (ol_flags & PKT_TX_VLAN_PKT) {
-			td_cmd |= AVF_TX_DESC_CMD_IL2TAG1;
+			td_cmd |= IAVF_TX_DESC_CMD_IL2TAG1;
 			td_tag = tx_pkt->vlan_tci;
 		}
 
@@ -1575,14 +1575,14 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		td_cmd |= 0x04;
 
 		/* Enable checksum offloading */
-		if (ol_flags & AVF_TX_CKSUM_OFFLOAD_MASK)
-			avf_txd_enable_checksum(ol_flags, &td_cmd,
+		if (ol_flags & IAVF_TX_CKSUM_OFFLOAD_MASK)
+			iavf_txd_enable_checksum(ol_flags, &td_cmd,
 						&td_offset, tx_offload);
 
 		if (nb_ctx) {
 			/* Setup TX context descriptor if required */
 			uint64_t cd_type_cmd_tso_mss =
-				AVF_TX_DESC_DTYPE_CONTEXT;
+				IAVF_TX_DESC_DTYPE_CONTEXT;
 
 			txn = &sw_ring[txe->next_id];
 			RTE_MBUF_PREFETCH_TO_FREE(txn->mbuf);
@@ -1594,9 +1594,9 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 			/* TSO enabled */
 			if (ol_flags & PKT_TX_TCP_SEG)
 				cd_type_cmd_tso_mss |=
-					avf_set_tso_ctx(tx_pkt, tx_offload);
+					iavf_set_tso_ctx(tx_pkt, tx_offload);
 
-			AVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
+			IAVF_DUMP_TX_DESC(txq, &txr[tx_id], tx_id);
 			txe->last_id = tx_last;
 			tx_id = txe->next_id;
 			txe = txn;
@@ -1615,12 +1615,12 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 			slen = m_seg->data_len;
 			buf_dma_addr = rte_mbuf_data_iova(m_seg);
 			txd->buffer_addr = rte_cpu_to_le_64(buf_dma_addr);
-			txd->cmd_type_offset_bsz = avf_build_ctob(td_cmd,
+			txd->cmd_type_offset_bsz = iavf_build_ctob(td_cmd,
 								  td_offset,
 								  slen,
 								  td_tag);
 
-			AVF_DUMP_TX_DESC(txq, txd, tx_id);
+			IAVF_DUMP_TX_DESC(txq, txd, tx_id);
 			txe->last_id = tx_last;
 			tx_id = txe->next_id;
 			txe = txn;
@@ -1628,7 +1628,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 		} while (m_seg);
 
 		/* The last packet data descriptor needs End Of Packet (EOP) */
-		td_cmd |= AVF_TX_DESC_CMD_EOP;
+		td_cmd |= IAVF_TX_DESC_CMD_EOP;
 		txq->nb_used = (uint16_t)(txq->nb_used + nb_used);
 		txq->nb_free = (uint16_t)(txq->nb_free - nb_used);
 
@@ -1637,7 +1637,7 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 				   "%4u (port=%d queue=%d)",
 				   tx_last, txq->port_id, txq->queue_id);
 
-			td_cmd |= AVF_TX_DESC_CMD_RS;
+			td_cmd |= IAVF_TX_DESC_CMD_RS;
 
 			/* Update txq RS bit counters */
 			txq->nb_used = 0;
@@ -1645,8 +1645,8 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 
 		txd->cmd_type_offset_bsz |=
 			rte_cpu_to_le_64(((uint64_t)td_cmd) <<
-					 AVF_TXD_QW1_CMD_SHIFT);
-		AVF_DUMP_TX_DESC(txq, txd, tx_id);
+					 IAVF_TXD_QW1_CMD_SHIFT);
+		IAVF_DUMP_TX_DESC(txq, txd, tx_id);
 	}
 
 end_of_tx:
@@ -1655,24 +1655,24 @@ avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 	PMD_TX_LOG(DEBUG, "port_id=%u queue_id=%u tx_tail=%u nb_tx=%u",
 		   txq->port_id, txq->queue_id, tx_id, nb_tx);
 
-	AVF_PCI_REG_WRITE_RELAXED(txq->qtx_tail, tx_id);
+	IAVF_PCI_REG_WRITE_RELAXED(txq->qtx_tail, tx_id);
 	txq->tx_tail = tx_id;
 
 	return nb_tx;
 }
 
 static uint16_t
-avf_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
+iavf_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 		  uint16_t nb_pkts)
 {
 	uint16_t nb_tx = 0;
-	struct avf_tx_queue *txq = (struct avf_tx_queue *)tx_queue;
+	struct iavf_tx_queue *txq = (struct iavf_tx_queue *)tx_queue;
 
 	while (nb_pkts) {
 		uint16_t ret, num;
 
 		num = (uint16_t)RTE_MIN(nb_pkts, txq->rs_thresh);
-		ret = avf_xmit_fixed_burst_vec(tx_queue, &tx_pkts[nb_tx], num);
+		ret = iavf_xmit_fixed_burst_vec(tx_queue, &tx_pkts[nb_tx], num);
 		nb_tx += ret;
 		nb_pkts -= ret;
 		if (ret < num)
@@ -1684,7 +1684,7 @@ avf_xmit_pkts_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 
 /* TX prep functions */
 uint16_t
-avf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
+iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
 	      uint16_t nb_pkts)
 {
 	int i, ret;
@@ -1695,20 +1695,20 @@ avf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
 		m = tx_pkts[i];
 		ol_flags = m->ol_flags;
 
-		/* Check condition for nb_segs > AVF_TX_MAX_MTU_SEG. */
+		/* Check condition for nb_segs > IAVF_TX_MAX_MTU_SEG. */
 		if (!(ol_flags & PKT_TX_TCP_SEG)) {
-			if (m->nb_segs > AVF_TX_MAX_MTU_SEG) {
+			if (m->nb_segs > IAVF_TX_MAX_MTU_SEG) {
 				rte_errno = -EINVAL;
 				return i;
 			}
-		} else if ((m->tso_segsz < AVF_MIN_TSO_MSS) ||
-			   (m->tso_segsz > AVF_MAX_TSO_MSS)) {
+		} else if ((m->tso_segsz < IAVF_MIN_TSO_MSS) ||
+			   (m->tso_segsz > IAVF_MAX_TSO_MSS)) {
 			/* MSS outside the range are considered malicious */
 			rte_errno = -EINVAL;
 			return i;
 		}
 
-		if (ol_flags & AVF_TX_OFFLOAD_NOTSUP_MASK) {
+		if (ol_flags & IAVF_TX_OFFLOAD_NOTSUP_MASK) {
 			rte_errno = -ENOTSUP;
 			return i;
 		}
@@ -1732,77 +1732,77 @@ avf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
 
 /* choose rx function*/
 void
-avf_set_rx_function(struct rte_eth_dev *dev)
+iavf_set_rx_function(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_rx_queue *rxq;
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_rx_queue *rxq;
 	int i;
 
 	if (adapter->rx_vec_allowed) {
 		if (dev->data->scattered_rx) {
 			PMD_DRV_LOG(DEBUG, "Using Vector Scattered Rx callback"
 				    " (port=%d).", dev->data->port_id);
-			dev->rx_pkt_burst = avf_recv_scattered_pkts_vec;
+			dev->rx_pkt_burst = iavf_recv_scattered_pkts_vec;
 		} else {
 			PMD_DRV_LOG(DEBUG, "Using Vector Rx callback"
 				    " (port=%d).", dev->data->port_id);
-			dev->rx_pkt_burst = avf_recv_pkts_vec;
+			dev->rx_pkt_burst = iavf_recv_pkts_vec;
 		}
 		for (i = 0; i < dev->data->nb_rx_queues; i++) {
 			rxq = dev->data->rx_queues[i];
 			if (!rxq)
 				continue;
-			avf_rxq_vec_setup(rxq);
+			iavf_rxq_vec_setup(rxq);
 		}
 	} else if (dev->data->scattered_rx) {
 		PMD_DRV_LOG(DEBUG, "Using a Scattered Rx callback (port=%d).",
 			    dev->data->port_id);
-		dev->rx_pkt_burst = avf_recv_scattered_pkts;
+		dev->rx_pkt_burst = iavf_recv_scattered_pkts;
 	} else if (adapter->rx_bulk_alloc_allowed) {
 		PMD_DRV_LOG(DEBUG, "Using bulk Rx callback (port=%d).",
 			    dev->data->port_id);
-		dev->rx_pkt_burst = avf_recv_pkts_bulk_alloc;
+		dev->rx_pkt_burst = iavf_recv_pkts_bulk_alloc;
 	} else {
 		PMD_DRV_LOG(DEBUG, "Using Basic Rx callback (port=%d).",
 			    dev->data->port_id);
-		dev->rx_pkt_burst = avf_recv_pkts;
+		dev->rx_pkt_burst = iavf_recv_pkts;
 	}
 }
 
 /* choose tx function*/
 void
-avf_set_tx_function(struct rte_eth_dev *dev)
+iavf_set_tx_function(struct rte_eth_dev *dev)
 {
-	struct avf_adapter *adapter =
-		AVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
-	struct avf_tx_queue *txq;
+	struct iavf_adapter *adapter =
+		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_tx_queue *txq;
 	int i;
 
 	if (adapter->tx_vec_allowed) {
 		PMD_DRV_LOG(DEBUG, "Using Vector Tx callback (port=%d).",
 			    dev->data->port_id);
-		dev->tx_pkt_burst = avf_xmit_pkts_vec;
+		dev->tx_pkt_burst = iavf_xmit_pkts_vec;
 		dev->tx_pkt_prepare = NULL;
 		for (i = 0; i < dev->data->nb_tx_queues; i++) {
 			txq = dev->data->tx_queues[i];
 			if (!txq)
 				continue;
-			avf_txq_vec_setup(txq);
+			iavf_txq_vec_setup(txq);
 		}
 	} else {
 		PMD_DRV_LOG(DEBUG, "Using Basic Tx callback (port=%d).",
 			    dev->data->port_id);
-		dev->tx_pkt_burst = avf_xmit_pkts;
-		dev->tx_pkt_prepare = avf_prep_pkts;
+		dev->tx_pkt_burst = iavf_xmit_pkts;
+		dev->tx_pkt_prepare = iavf_prep_pkts;
 	}
 }
 
 void
-avf_dev_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
+iavf_dev_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
 		     struct rte_eth_rxq_info *qinfo)
 {
-	struct avf_rx_queue *rxq;
+	struct iavf_rx_queue *rxq;
 
 	rxq = dev->data->rx_queues[queue_id];
 
@@ -1816,10 +1816,10 @@ avf_dev_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
 }
 
 void
-avf_dev_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
+iavf_dev_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
 		     struct rte_eth_txq_info *qinfo)
 {
-	struct avf_tx_queue *txq;
+	struct iavf_tx_queue *txq;
 
 	txq = dev->data->tx_queues[queue_id];
 
@@ -1833,25 +1833,25 @@ avf_dev_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
 
 /* Get the number of used descriptors of a rx queue */
 uint32_t
-avf_dev_rxq_count(struct rte_eth_dev *dev, uint16_t queue_id)
+iavf_dev_rxq_count(struct rte_eth_dev *dev, uint16_t queue_id)
 {
-#define AVF_RXQ_SCAN_INTERVAL 4
-	volatile union avf_rx_desc *rxdp;
-	struct avf_rx_queue *rxq;
+#define IAVF_RXQ_SCAN_INTERVAL 4
+	volatile union iavf_rx_desc *rxdp;
+	struct iavf_rx_queue *rxq;
 	uint16_t desc = 0;
 
 	rxq = dev->data->rx_queues[queue_id];
 	rxdp = &rxq->rx_ring[rxq->rx_tail];
 	while ((desc < rxq->nb_rx_desc) &&
 	       ((rte_le_to_cpu_64(rxdp->wb.qword1.status_error_len) &
-		 AVF_RXD_QW1_STATUS_MASK) >> AVF_RXD_QW1_STATUS_SHIFT) &
-	       (1 << AVF_RX_DESC_STATUS_DD_SHIFT)) {
+		 IAVF_RXD_QW1_STATUS_MASK) >> IAVF_RXD_QW1_STATUS_SHIFT) &
+	       (1 << IAVF_RX_DESC_STATUS_DD_SHIFT)) {
 		/* Check the DD bit of a rx descriptor of each 4 in a group,
 		 * to avoid checking too frequently and downgrading performance
 		 * too much.
 		 */
-		desc += AVF_RXQ_SCAN_INTERVAL;
-		rxdp += AVF_RXQ_SCAN_INTERVAL;
+		desc += IAVF_RXQ_SCAN_INTERVAL;
+		rxdp += IAVF_RXQ_SCAN_INTERVAL;
 		if (rxq->rx_tail + desc >= rxq->nb_rx_desc)
 			rxdp = &(rxq->rx_ring[rxq->rx_tail +
 					desc - rxq->nb_rx_desc]);
@@ -1861,9 +1861,9 @@ avf_dev_rxq_count(struct rte_eth_dev *dev, uint16_t queue_id)
 }
 
 int
-avf_dev_rx_desc_status(void *rx_queue, uint16_t offset)
+iavf_dev_rx_desc_status(void *rx_queue, uint16_t offset)
 {
-	struct avf_rx_queue *rxq = rx_queue;
+	struct iavf_rx_queue *rxq = rx_queue;
 	volatile uint64_t *status;
 	uint64_t mask;
 	uint32_t desc;
@@ -1879,8 +1879,8 @@ avf_dev_rx_desc_status(void *rx_queue, uint16_t offset)
 		desc -= rxq->nb_rx_desc;
 
 	status = &rxq->rx_ring[desc].wb.qword1.status_error_len;
-	mask = rte_le_to_cpu_64((1ULL << AVF_RX_DESC_STATUS_DD_SHIFT)
-		<< AVF_RXD_QW1_STATUS_SHIFT);
+	mask = rte_le_to_cpu_64((1ULL << IAVF_RX_DESC_STATUS_DD_SHIFT)
+		<< IAVF_RXD_QW1_STATUS_SHIFT);
 	if (*status & mask)
 		return RTE_ETH_RX_DESC_DONE;
 
@@ -1888,9 +1888,9 @@ avf_dev_rx_desc_status(void *rx_queue, uint16_t offset)
 }
 
 int
-avf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
+iavf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
 {
-	struct avf_tx_queue *txq = tx_queue;
+	struct iavf_tx_queue *txq = tx_queue;
 	volatile uint64_t *status;
 	uint64_t mask, expect;
 	uint32_t desc;
@@ -1909,9 +1909,9 @@ avf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
 	}
 
 	status = &txq->tx_ring[desc].cmd_type_offset_bsz;
-	mask = rte_le_to_cpu_64(AVF_TXD_QW1_DTYPE_MASK);
+	mask = rte_le_to_cpu_64(IAVF_TXD_QW1_DTYPE_MASK);
 	expect = rte_cpu_to_le_64(
-		 AVF_TX_DESC_DTYPE_DESC_DONE << AVF_TXD_QW1_DTYPE_SHIFT);
+		 IAVF_TX_DESC_DTYPE_DESC_DONE << IAVF_TXD_QW1_DTYPE_SHIFT);
 	if ((*status & mask) == expect)
 		return RTE_ETH_TX_DESC_DONE;
 
@@ -1919,7 +1919,7 @@ avf_dev_tx_desc_status(void *tx_queue, uint16_t offset)
 }
 
 __rte_weak uint16_t
-avf_recv_pkts_vec(__rte_unused void *rx_queue,
+iavf_recv_pkts_vec(__rte_unused void *rx_queue,
 		  __rte_unused struct rte_mbuf **rx_pkts,
 		  __rte_unused uint16_t nb_pkts)
 {
@@ -1927,7 +1927,7 @@ avf_recv_pkts_vec(__rte_unused void *rx_queue,
 }
 
 __rte_weak uint16_t
-avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
+iavf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
 			    __rte_unused struct rte_mbuf **rx_pkts,
 			    __rte_unused uint16_t nb_pkts)
 {
@@ -1935,7 +1935,7 @@ avf_recv_scattered_pkts_vec(__rte_unused void *rx_queue,
 }
 
 __rte_weak uint16_t
-avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
+iavf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 			 __rte_unused struct rte_mbuf **tx_pkts,
 			 __rte_unused uint16_t nb_pkts)
 {
@@ -1943,13 +1943,13 @@ avf_xmit_fixed_burst_vec(__rte_unused void *tx_queue,
 }
 
 __rte_weak int
-avf_rxq_vec_setup(__rte_unused struct avf_rx_queue *rxq)
+iavf_rxq_vec_setup(__rte_unused struct iavf_rx_queue *rxq)
 {
 	return -1;
 }
 
 __rte_weak int
-avf_txq_vec_setup(__rte_unused struct avf_tx_queue *txq)
+iavf_txq_vec_setup(__rte_unused struct iavf_tx_queue *txq)
 {
 	return -1;
 }
diff --git a/drivers/net/avf/avf_rxtx.h b/drivers/net/iavf/iavf_rxtx.h
similarity index 58%
rename from drivers/net/avf/avf_rxtx.h
rename to drivers/net/iavf/iavf_rxtx.h
index ffc835d44..e821dcae6 100644
--- a/drivers/net/avf/avf_rxtx.h
+++ b/drivers/net/iavf/iavf_rxtx.h
@@ -2,27 +2,27 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
-#ifndef _AVF_RXTX_H_
-#define _AVF_RXTX_H_
+#ifndef _IAVF_RXTX_H_
+#define _IAVF_RXTX_H_
 
 /* In QLEN must be whole number of 32 descriptors. */
-#define AVF_ALIGN_RING_DESC      32
-#define AVF_MIN_RING_DESC        64
-#define AVF_MAX_RING_DESC        4096
-#define AVF_DMA_MEM_ALIGN        4096
+#define IAVF_ALIGN_RING_DESC      32
+#define IAVF_MIN_RING_DESC        64
+#define IAVF_MAX_RING_DESC        4096
+#define IAVF_DMA_MEM_ALIGN        4096
 /* Base address of the HW descriptor ring should be 128B aligned. */
-#define AVF_RING_BASE_ALIGN      128
+#define IAVF_RING_BASE_ALIGN      128
 
 /* used for Rx Bulk Allocate */
-#define AVF_RX_MAX_BURST         32
+#define IAVF_RX_MAX_BURST         32
 
 /* used for Vector PMD */
-#define AVF_VPMD_RX_MAX_BURST    32
-#define AVF_VPMD_TX_MAX_BURST    32
-#define AVF_VPMD_DESCS_PER_LOOP  4
-#define AVF_VPMD_TX_MAX_FREE_BUF 64
+#define IAVF_VPMD_RX_MAX_BURST    32
+#define IAVF_VPMD_TX_MAX_BURST    32
+#define IAVF_VPMD_DESCS_PER_LOOP  4
+#define IAVF_VPMD_TX_MAX_FREE_BUF 64
 
-#define AVF_NO_VECTOR_FLAGS (				 \
+#define IAVF_NO_VECTOR_FLAGS (				 \
 		DEV_TX_OFFLOAD_MULTI_SEGS |		 \
 		DEV_TX_OFFLOAD_VLAN_INSERT |		 \
 		DEV_TX_OFFLOAD_SCTP_CKSUM |		 \
@@ -32,17 +32,17 @@
 #define DEFAULT_TX_RS_THRESH     32
 #define DEFAULT_TX_FREE_THRESH   32
 
-#define AVF_MIN_TSO_MSS          256
-#define AVF_MAX_TSO_MSS          9668
-#define AVF_TSO_MAX_SEG          UINT8_MAX
-#define AVF_TX_MAX_MTU_SEG       8
+#define IAVF_MIN_TSO_MSS          256
+#define IAVF_MAX_TSO_MSS          9668
+#define IAVF_TSO_MAX_SEG          UINT8_MAX
+#define IAVF_TX_MAX_MTU_SEG       8
 
-#define AVF_TX_CKSUM_OFFLOAD_MASK (		 \
+#define IAVF_TX_CKSUM_OFFLOAD_MASK (		 \
 		PKT_TX_IP_CKSUM |		 \
 		PKT_TX_L4_MASK |		 \
 		PKT_TX_TCP_SEG)
 
-#define AVF_TX_OFFLOAD_MASK (  \
+#define IAVF_TX_OFFLOAD_MASK (  \
 		PKT_TX_OUTER_IPV6 |		 \
 		PKT_TX_OUTER_IPV4 |		 \
 		PKT_TX_IPV6 |			 \
@@ -52,29 +52,29 @@
 		PKT_TX_L4_MASK |		 \
 		PKT_TX_TCP_SEG)
 
-#define AVF_TX_OFFLOAD_NOTSUP_MASK \
-		(PKT_TX_OFFLOAD_MASK ^ AVF_TX_OFFLOAD_MASK)
+#define IAVF_TX_OFFLOAD_NOTSUP_MASK \
+		(PKT_TX_OFFLOAD_MASK ^ IAVF_TX_OFFLOAD_MASK)
 
 /* HW desc structure, both 16-byte and 32-byte types are supported */
-#ifdef RTE_LIBRTE_AVF_16BYTE_RX_DESC
-#define avf_rx_desc avf_16byte_rx_desc
+#ifdef RTE_LIBRTE_IAVF_16BYTE_RX_DESC
+#define iavf_rx_desc iavf_16byte_rx_desc
 #else
-#define avf_rx_desc avf_32byte_rx_desc
+#define iavf_rx_desc iavf_32byte_rx_desc
 #endif
 
-struct avf_rxq_ops {
-	void (*release_mbufs)(struct avf_rx_queue *rxq);
+struct iavf_rxq_ops {
+	void (*release_mbufs)(struct iavf_rx_queue *rxq);
 };
 
-struct avf_txq_ops {
-	void (*release_mbufs)(struct avf_tx_queue *txq);
+struct iavf_txq_ops {
+	void (*release_mbufs)(struct iavf_tx_queue *txq);
 };
 
 /* Structure associated with each Rx queue. */
-struct avf_rx_queue {
+struct iavf_rx_queue {
 	struct rte_mempool *mp;       /* mbuf pool to populate Rx ring */
 	const struct rte_memzone *mz; /* memzone for Rx ring */
-	volatile union avf_rx_desc *rx_ring; /* Rx ring virtual address */
+	volatile union iavf_rx_desc *rx_ring; /* Rx ring virtual address */
 	uint64_t rx_ring_phys_addr;   /* Rx ring DMA address */
 	struct rte_mbuf **sw_ring;     /* address of SW ring */
 	uint16_t nb_rx_desc;          /* ring length */
@@ -95,7 +95,7 @@ struct avf_rx_queue {
 	uint16_t rx_nb_avail;      /* number of staged packets ready */
 	uint16_t rx_next_avail;    /* index of next staged packets */
 	uint16_t rx_free_trigger;  /* triggers rx buffer allocation */
-	struct rte_mbuf *rx_stage[AVF_RX_MAX_BURST * 2]; /* store mbuf */
+	struct rte_mbuf *rx_stage[IAVF_RX_MAX_BURST * 2]; /* store mbuf */
 
 	uint16_t port_id;        /* device port ID */
 	uint8_t crc_len;        /* 0 if CRC stripped, 4 otherwise */
@@ -106,21 +106,21 @@ struct avf_rx_queue {
 
 	bool q_set;             /* if rx queue has been configured */
 	bool rx_deferred_start; /* don't start this queue in dev start */
-	const struct avf_rxq_ops *ops;
+	const struct iavf_rxq_ops *ops;
 };
 
-struct avf_tx_entry {
+struct iavf_tx_entry {
 	struct rte_mbuf *mbuf;
 	uint16_t next_id;
 	uint16_t last_id;
 };
 
 /* Structure associated with each TX queue. */
-struct avf_tx_queue {
+struct iavf_tx_queue {
 	const struct rte_memzone *mz;  /* memzone for Tx ring */
-	volatile struct avf_tx_desc *tx_ring; /* Tx ring virtual address */
+	volatile struct iavf_tx_desc *tx_ring; /* Tx ring virtual address */
 	uint64_t tx_ring_phys_addr;    /* Tx ring DMA address */
-	struct avf_tx_entry *sw_ring;  /* address array of SW ring */
+	struct iavf_tx_entry *sw_ring;  /* address array of SW ring */
 	uint16_t nb_tx_desc;           /* ring length */
 	uint16_t tx_tail;              /* current value of tail */
 	volatile uint8_t *qtx_tail;    /* register address of tail */
@@ -139,11 +139,11 @@ struct avf_tx_queue {
 
 	bool q_set;                    /* if rx queue has been configured */
 	bool tx_deferred_start;        /* don't start this queue in dev start */
-	const struct avf_txq_ops *ops;
+	const struct iavf_txq_ops *ops;
 };
 
 /* Offload features */
-union avf_tx_offload {
+union iavf_tx_offload {
 	uint64_t data;
 	struct {
 		uint64_t l2_len:7; /* L2 (MAC) Header Length. */
@@ -154,68 +154,68 @@ union avf_tx_offload {
 	};
 };
 
-int avf_dev_rx_queue_setup(struct rte_eth_dev *dev,
+int iavf_dev_rx_queue_setup(struct rte_eth_dev *dev,
 			   uint16_t queue_idx,
 			   uint16_t nb_desc,
 			   unsigned int socket_id,
 			   const struct rte_eth_rxconf *rx_conf,
 			   struct rte_mempool *mp);
 
-int avf_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id);
-int avf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id);
-void avf_dev_rx_queue_release(void *rxq);
+int iavf_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id);
+int iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id);
+void iavf_dev_rx_queue_release(void *rxq);
 
-int avf_dev_tx_queue_setup(struct rte_eth_dev *dev,
+int iavf_dev_tx_queue_setup(struct rte_eth_dev *dev,
 			   uint16_t queue_idx,
 			   uint16_t nb_desc,
 			   unsigned int socket_id,
 			   const struct rte_eth_txconf *tx_conf);
-int avf_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id);
-int avf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id);
-void avf_dev_tx_queue_release(void *txq);
-void avf_stop_queues(struct rte_eth_dev *dev);
-uint16_t avf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
+int iavf_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id);
+int iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id);
+void iavf_dev_tx_queue_release(void *txq);
+void iavf_stop_queues(struct rte_eth_dev *dev);
+uint16_t iavf_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts,
 		       uint16_t nb_pkts);
-uint16_t avf_recv_scattered_pkts(void *rx_queue,
+uint16_t iavf_recv_scattered_pkts(void *rx_queue,
 				 struct rte_mbuf **rx_pkts,
 				 uint16_t nb_pkts);
-uint16_t avf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+uint16_t iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 		       uint16_t nb_pkts);
-uint16_t avf_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
+uint16_t iavf_prep_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
 		       uint16_t nb_pkts);
-void avf_set_rx_function(struct rte_eth_dev *dev);
-void avf_set_tx_function(struct rte_eth_dev *dev);
-void avf_dev_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
+void iavf_set_rx_function(struct rte_eth_dev *dev);
+void iavf_set_tx_function(struct rte_eth_dev *dev);
+void iavf_dev_rxq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
 			  struct rte_eth_rxq_info *qinfo);
-void avf_dev_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
+void iavf_dev_txq_info_get(struct rte_eth_dev *dev, uint16_t queue_id,
 			  struct rte_eth_txq_info *qinfo);
-uint32_t avf_dev_rxq_count(struct rte_eth_dev *dev, uint16_t queue_id);
-int avf_dev_rx_desc_status(void *rx_queue, uint16_t offset);
-int avf_dev_tx_desc_status(void *tx_queue, uint16_t offset);
+uint32_t iavf_dev_rxq_count(struct rte_eth_dev *dev, uint16_t queue_id);
+int iavf_dev_rx_desc_status(void *rx_queue, uint16_t offset);
+int iavf_dev_tx_desc_status(void *tx_queue, uint16_t offset);
 
-uint16_t avf_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
+uint16_t iavf_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 			   uint16_t nb_pkts);
-uint16_t avf_recv_scattered_pkts_vec(void *rx_queue,
+uint16_t iavf_recv_scattered_pkts_vec(void *rx_queue,
 				     struct rte_mbuf **rx_pkts,
 				     uint16_t nb_pkts);
-uint16_t avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
+uint16_t iavf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 				  uint16_t nb_pkts);
-int avf_rxq_vec_setup(struct avf_rx_queue *rxq);
-int avf_txq_vec_setup(struct avf_tx_queue *txq);
+int iavf_rxq_vec_setup(struct iavf_rx_queue *rxq);
+int iavf_txq_vec_setup(struct iavf_tx_queue *txq);
 
 static inline
-void avf_dump_rx_descriptor(struct avf_rx_queue *rxq,
+void iavf_dump_rx_descriptor(struct iavf_rx_queue *rxq,
 			    const volatile void *desc,
 			    uint16_t rx_id)
 {
-#ifdef RTE_LIBRTE_AVF_16BYTE_RX_DESC
-	const volatile union avf_16byte_rx_desc *rx_desc = desc;
+#ifdef RTE_LIBRTE_IAVF_16BYTE_RX_DESC
+	const volatile union iavf_16byte_rx_desc *rx_desc = desc;
 
 	printf("Queue %d Rx_desc %d: QW0: 0x%016"PRIx64" QW1: 0x%016"PRIx64"\n",
 	       rxq->queue_id, rx_id, rx_desc->read.pkt_addr,
 	       rx_desc->read.hdr_addr);
 #else
-	const volatile union avf_32byte_rx_desc *rx_desc = desc;
+	const volatile union iavf_32byte_rx_desc *rx_desc = desc;
 
 	printf("Queue %d Rx_desc %d: QW0: 0x%016"PRIx64" QW1: 0x%016"PRIx64
 	       " QW2: 0x%016"PRIx64" QW3: 0x%016"PRIx64"\n", rxq->queue_id,
@@ -228,21 +228,21 @@ void avf_dump_rx_descriptor(struct avf_rx_queue *rxq,
  * to print the qwords
  */
 static inline
-void avf_dump_tx_descriptor(const struct avf_tx_queue *txq,
+void iavf_dump_tx_descriptor(const struct iavf_tx_queue *txq,
 			    const volatile void *desc, uint16_t tx_id)
 {
 	const char *name;
-	const volatile struct avf_tx_desc *tx_desc = desc;
-	enum avf_tx_desc_dtype_value type;
+	const volatile struct iavf_tx_desc *tx_desc = desc;
+	enum iavf_tx_desc_dtype_value type;
 
-	type = (enum avf_tx_desc_dtype_value)rte_le_to_cpu_64(
+	type = (enum iavf_tx_desc_dtype_value)rte_le_to_cpu_64(
 		tx_desc->cmd_type_offset_bsz &
-		rte_cpu_to_le_64(AVF_TXD_QW1_DTYPE_MASK));
+		rte_cpu_to_le_64(IAVF_TXD_QW1_DTYPE_MASK));
 	switch (type) {
-	case AVF_TX_DESC_DTYPE_DATA:
+	case IAVF_TX_DESC_DTYPE_DATA:
 		name = "Tx_data_desc";
 		break;
-	case AVF_TX_DESC_DTYPE_CONTEXT:
+	case IAVF_TX_DESC_DTYPE_CONTEXT:
 		name = "Tx_context_desc";
 		break;
 	default:
@@ -256,13 +256,13 @@ void avf_dump_tx_descriptor(const struct avf_tx_queue *txq,
 }
 
 #ifdef DEBUG_DUMP_DESC
-#define AVF_DUMP_RX_DESC(rxq, desc, rx_id) \
-	avf_dump_rx_descriptor(rxq, desc, rx_id)
-#define AVF_DUMP_TX_DESC(txq, desc, tx_id) \
-	avf_dump_tx_descriptor(txq, desc, tx_id)
+#define IAVF_DUMP_RX_DESC(rxq, desc, rx_id) \
+	iavf_dump_rx_descriptor(rxq, desc, rx_id)
+#define IAVF_DUMP_TX_DESC(txq, desc, tx_id) \
+	iavf_dump_tx_descriptor(txq, desc, tx_id)
 #else
-#define AVF_DUMP_RX_DESC(rxq, desc, rx_id) do { } while (0)
-#define AVF_DUMP_TX_DESC(txq, desc, tx_id) do { } while (0)
+#define IAVF_DUMP_RX_DESC(rxq, desc, rx_id) do { } while (0)
+#define IAVF_DUMP_TX_DESC(txq, desc, tx_id) do { } while (0)
 #endif
 
-#endif /* _AVF_RXTX_H_ */
+#endif /* _IAVF_RXTX_H_ */
diff --git a/drivers/net/avf/avf_rxtx_vec_common.h b/drivers/net/iavf/iavf_rxtx_vec_common.h
similarity index 87%
rename from drivers/net/avf/avf_rxtx_vec_common.h
rename to drivers/net/iavf/iavf_rxtx_vec_common.h
index 8057b9682..db509d71f 100644
--- a/drivers/net/avf/avf_rxtx_vec_common.h
+++ b/drivers/net/iavf/iavf_rxtx_vec_common.h
@@ -2,20 +2,20 @@
  * Copyright(c) 2017 Intel Corporation
  */
 
-#ifndef _AVF_RXTX_VEC_COMMON_H_
-#define _AVF_RXTX_VEC_COMMON_H_
+#ifndef _IAVF_RXTX_VEC_COMMON_H_
+#define _IAVF_RXTX_VEC_COMMON_H_
 #include <stdint.h>
 #include <rte_ethdev_driver.h>
 #include <rte_malloc.h>
 
-#include "avf.h"
-#include "avf_rxtx.h"
+#include "iavf.h"
+#include "iavf_rxtx.h"
 
 static inline uint16_t
-reassemble_packets(struct avf_rx_queue *rxq, struct rte_mbuf **rx_bufs,
+reassemble_packets(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_bufs,
 		   uint16_t nb_bufs, uint8_t *split_flags)
 {
-	struct rte_mbuf *pkts[AVF_VPMD_RX_MAX_BURST];
+	struct rte_mbuf *pkts[IAVF_VPMD_RX_MAX_BURST];
 	struct rte_mbuf *start = rxq->pkt_first_seg;
 	struct rte_mbuf *end =  rxq->pkt_last_seg;
 	unsigned int pkt_idx, buf_idx;
@@ -75,18 +75,18 @@ reassemble_packets(struct avf_rx_queue *rxq, struct rte_mbuf **rx_bufs,
 }
 
 static __rte_always_inline int
-avf_tx_free_bufs(struct avf_tx_queue *txq)
+iavf_tx_free_bufs(struct iavf_tx_queue *txq)
 {
-	struct avf_tx_entry *txep;
+	struct iavf_tx_entry *txep;
 	uint32_t n;
 	uint32_t i;
 	int nb_free = 0;
-	struct rte_mbuf *m, *free[AVF_VPMD_TX_MAX_FREE_BUF];
+	struct rte_mbuf *m, *free[IAVF_VPMD_TX_MAX_FREE_BUF];
 
 	/* check DD bits on threshold descriptor */
 	if ((txq->tx_ring[txq->next_dd].cmd_type_offset_bsz &
-			rte_cpu_to_le_64(AVF_TXD_QW1_DTYPE_MASK)) !=
-			rte_cpu_to_le_64(AVF_TX_DESC_DTYPE_DESC_DONE))
+			rte_cpu_to_le_64(IAVF_TXD_QW1_DTYPE_MASK)) !=
+			rte_cpu_to_le_64(IAVF_TX_DESC_DTYPE_DESC_DONE))
 		return 0;
 
 	n = txq->rs_thresh;
@@ -132,7 +132,7 @@ avf_tx_free_bufs(struct avf_tx_queue *txq)
 }
 
 static __rte_always_inline void
-tx_backlog_entry(struct avf_tx_entry *txep,
+tx_backlog_entry(struct iavf_tx_entry *txep,
 		 struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
 {
 	int i;
@@ -142,7 +142,7 @@ tx_backlog_entry(struct avf_tx_entry *txep,
 }
 
 static inline void
-_avf_rx_queue_release_mbufs_vec(struct avf_rx_queue *rxq)
+_iavf_rx_queue_release_mbufs_vec(struct iavf_rx_queue *rxq)
 {
 	const unsigned int mask = rxq->nb_rx_desc - 1;
 	unsigned int i;
@@ -172,7 +172,7 @@ _avf_rx_queue_release_mbufs_vec(struct avf_rx_queue *rxq)
 }
 
 static inline void
-_avf_tx_queue_release_mbufs_vec(struct avf_tx_queue *txq)
+_iavf_tx_queue_release_mbufs_vec(struct iavf_tx_queue *txq)
 {
 	unsigned i;
 	const uint16_t max_desc = (uint16_t)(txq->nb_tx_desc - 1);
@@ -191,7 +191,7 @@ _avf_tx_queue_release_mbufs_vec(struct avf_tx_queue *txq)
 }
 
 static inline int
-avf_rxq_vec_setup_default(struct avf_rx_queue *rxq)
+iavf_rxq_vec_setup_default(struct iavf_rx_queue *rxq)
 {
 	uintptr_t p;
 	struct rte_mbuf mb_def = { .buf_addr = 0 }; /* zeroed mbuf */
diff --git a/drivers/net/avf/avf_rxtx_vec_sse.c b/drivers/net/iavf/iavf_rxtx_vec_sse.c
similarity index 85%
rename from drivers/net/avf/avf_rxtx_vec_sse.c
rename to drivers/net/iavf/iavf_rxtx_vec_sse.c
index 343a6aac3..3d98514c3 100644
--- a/drivers/net/avf/avf_rxtx_vec_sse.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_sse.c
@@ -6,11 +6,11 @@
 #include <rte_ethdev_driver.h>
 #include <rte_malloc.h>
 
-#include "base/avf_prototype.h"
-#include "base/avf_type.h"
-#include "avf.h"
-#include "avf_rxtx.h"
-#include "avf_rxtx_vec_common.h"
+#include "base/iavf_prototype.h"
+#include "base/iavf_type.h"
+#include "iavf.h"
+#include "iavf_rxtx.h"
+#include "iavf_rxtx_vec_common.h"
 
 #include <tmmintrin.h>
 
@@ -19,12 +19,12 @@
 #endif
 
 static inline void
-avf_rxq_rearm(struct avf_rx_queue *rxq)
+iavf_rxq_rearm(struct iavf_rx_queue *rxq)
 {
 	int i;
 	uint16_t rx_id;
 
-	volatile union avf_rx_desc *rxdp;
+	volatile union iavf_rx_desc *rxdp;
 	struct rte_mbuf **rxp = &rxq->sw_ring[rxq->rxrearm_start];
 	struct rte_mbuf *mb0, *mb1;
 	__m128i hdr_room = _mm_set_epi64x(RTE_PKTMBUF_HEADROOM,
@@ -38,7 +38,7 @@ avf_rxq_rearm(struct avf_rx_queue *rxq)
 				 rxq->rx_free_thresh) < 0) {
 		if (rxq->rxrearm_nb + rxq->rx_free_thresh >= rxq->nb_rx_desc) {
 			dma_addr0 = _mm_setzero_si128();
-			for (i = 0; i < AVF_VPMD_DESCS_PER_LOOP; i++) {
+			for (i = 0; i < IAVF_VPMD_DESCS_PER_LOOP; i++) {
 				rxp[i] = &rxq->fake_mbuf;
 				_mm_store_si128((__m128i *)&rxdp[i].read,
 						dma_addr0);
@@ -90,11 +90,11 @@ avf_rxq_rearm(struct avf_rx_queue *rxq)
 		   rx_id, rxq->rxrearm_start, rxq->rxrearm_nb);
 
 	/* Update the tail pointer on the NIC */
-	AVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
+	IAVF_PCI_REG_WRITE(rxq->qrx_tail, rx_id);
 }
 
 static inline void
-desc_to_olflags_v(struct avf_rx_queue *rxq, __m128i descs[4],
+desc_to_olflags_v(struct iavf_rx_queue *rxq, __m128i descs[4],
 		  struct rte_mbuf **rx_pkts)
 {
 	const __m128i mbuf_init = _mm_set_epi64x(0, rxq->mbuf_initializer);
@@ -228,15 +228,15 @@ desc_to_ptype_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
 }
 
 /* Notice:
- * - nb_pkts < AVF_VPMD_DESCS_PER_LOOP, just return no packet
- * - nb_pkts > AVF_VPMD_RX_MAX_BURST, only scan AVF_VPMD_RX_MAX_BURST
+ * - nb_pkts < IAVF_VPMD_DESCS_PER_LOOP, just return no packet
+ * - nb_pkts > IAVF_VPMD_RX_MAX_BURST, only scan IAVF_VPMD_RX_MAX_BURST
  *   numbers of DD bits
  */
 static inline uint16_t
-_recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
+_recv_raw_pkts_vec(struct iavf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		   uint16_t nb_pkts, uint8_t *split_packet)
 {
-	volatile union avf_rx_desc *rxdp;
+	volatile union iavf_rx_desc *rxdp;
 	struct rte_mbuf **sw_ring;
 	uint16_t nb_pkts_recd;
 	int pos;
@@ -260,11 +260,11 @@ _recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			offsetof(struct rte_mbuf, rx_descriptor_fields1) + 8);
 	__m128i dd_check, eop_check;
 
-	/* nb_pkts shall be less equal than AVF_VPMD_RX_MAX_BURST */
-	nb_pkts = RTE_MIN(nb_pkts, AVF_VPMD_RX_MAX_BURST);
+	/* nb_pkts shall be less equal than IAVF_VPMD_RX_MAX_BURST */
+	nb_pkts = RTE_MIN(nb_pkts, IAVF_VPMD_RX_MAX_BURST);
 
-	/* nb_pkts has to be floor-aligned to AVF_VPMD_DESCS_PER_LOOP */
-	nb_pkts = RTE_ALIGN_FLOOR(nb_pkts, AVF_VPMD_DESCS_PER_LOOP);
+	/* nb_pkts has to be floor-aligned to IAVF_VPMD_DESCS_PER_LOOP */
+	nb_pkts = RTE_ALIGN_FLOOR(nb_pkts, IAVF_VPMD_DESCS_PER_LOOP);
 
 	/* Just the act of getting into the function from the application is
 	 * going to cost about 7 cycles
@@ -277,13 +277,13 @@ _recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 	 * of time to act
 	 */
 	if (rxq->rxrearm_nb > rxq->rx_free_thresh)
-		avf_rxq_rearm(rxq);
+		iavf_rxq_rearm(rxq);
 
 	/* Before we start moving massive data around, check to see if
 	 * there is actually a packet available
 	 */
 	if (!(rxdp->wb.qword1.status_error_len &
-	      rte_cpu_to_le_32(1 << AVF_RX_DESC_STATUS_DD_SHIFT)))
+	      rte_cpu_to_le_32(1 << IAVF_RX_DESC_STATUS_DD_SHIFT)))
 		return 0;
 
 	/* 4 packets DD mask */
@@ -328,9 +328,9 @@ _recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 	 */
 
 	for (pos = 0, nb_pkts_recd = 0; pos < nb_pkts;
-	     pos += AVF_VPMD_DESCS_PER_LOOP,
-	     rxdp += AVF_VPMD_DESCS_PER_LOOP) {
-		__m128i descs[AVF_VPMD_DESCS_PER_LOOP];
+	     pos += IAVF_VPMD_DESCS_PER_LOOP,
+	     rxdp += IAVF_VPMD_DESCS_PER_LOOP) {
+		__m128i descs[IAVF_VPMD_DESCS_PER_LOOP];
 		__m128i pkt_mb1, pkt_mb2, pkt_mb3, pkt_mb4;
 		__m128i zero, staterr, sterr_tmp1, sterr_tmp2;
 		/* 2 64 bit or 4 32 bit mbuf pointers in one XMM reg. */
@@ -445,7 +445,7 @@ _recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 			eop_bits = _mm_shuffle_epi8(eop_bits, eop_shuf_mask);
 			/* store the resulting 32-bit value */
 			*(int *)split_packet = _mm_cvtsi128_si32(eop_bits);
-			split_packet += AVF_VPMD_DESCS_PER_LOOP;
+			split_packet += IAVF_VPMD_DESCS_PER_LOOP;
 		}
 
 		/* C.3 calc available number of desc */
@@ -462,7 +462,7 @@ _recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 		/* C.4 calc avaialbe number of desc */
 		var = __builtin_popcountll(_mm_cvtsi128_si64(staterr));
 		nb_pkts_recd += var;
-		if (likely(var != AVF_VPMD_DESCS_PER_LOOP))
+		if (likely(var != IAVF_VPMD_DESCS_PER_LOOP))
 			break;
 	}
 
@@ -475,12 +475,12 @@ _recv_raw_pkts_vec(struct avf_rx_queue *rxq, struct rte_mbuf **rx_pkts,
 }
 
 /* Notice:
- * - nb_pkts < AVF_DESCS_PER_LOOP, just return no packet
- * - nb_pkts > AVF_VPMD_RX_MAX_BURST, only scan AVF_VPMD_RX_MAX_BURST
+ * - nb_pkts < IAVF_DESCS_PER_LOOP, just return no packet
+ * - nb_pkts > IAVF_VPMD_RX_MAX_BURST, only scan IAVF_VPMD_RX_MAX_BURST
  *   numbers of DD bits
  */
 uint16_t
-avf_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
+iavf_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 		  uint16_t nb_pkts)
 {
 	return _recv_raw_pkts_vec(rx_queue, rx_pkts, nb_pkts, NULL);
@@ -488,16 +488,16 @@ avf_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 
 /* vPMD receive routine that reassembles scattered packets
  * Notice:
- * - nb_pkts < AVF_VPMD_DESCS_PER_LOOP, just return no packet
- * - nb_pkts > VPMD_RX_MAX_BURST, only scan AVF_VPMD_RX_MAX_BURST
+ * - nb_pkts < IAVF_VPMD_DESCS_PER_LOOP, just return no packet
+ * - nb_pkts > VPMD_RX_MAX_BURST, only scan IAVF_VPMD_RX_MAX_BURST
  *   numbers of DD bits
  */
 uint16_t
-avf_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
+iavf_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 			    uint16_t nb_pkts)
 {
-	struct avf_rx_queue *rxq = rx_queue;
-	uint8_t split_flags[AVF_VPMD_RX_MAX_BURST] = {0};
+	struct iavf_rx_queue *rxq = rx_queue;
+	uint8_t split_flags[IAVF_VPMD_RX_MAX_BURST] = {0};
 	unsigned int i = 0;
 
 	/* get some new buffers */
@@ -527,13 +527,13 @@ avf_recv_scattered_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts,
 }
 
 static inline void
-vtx1(volatile struct avf_tx_desc *txdp, struct rte_mbuf *pkt, uint64_t flags)
+vtx1(volatile struct iavf_tx_desc *txdp, struct rte_mbuf *pkt, uint64_t flags)
 {
 	uint64_t high_qw =
-			(AVF_TX_DESC_DTYPE_DATA |
-			 ((uint64_t)flags  << AVF_TXD_QW1_CMD_SHIFT) |
+			(IAVF_TX_DESC_DTYPE_DATA |
+			 ((uint64_t)flags  << IAVF_TXD_QW1_CMD_SHIFT) |
 			 ((uint64_t)pkt->data_len <<
-			  AVF_TXD_QW1_TX_BUF_SZ_SHIFT));
+			  IAVF_TXD_QW1_TX_BUF_SZ_SHIFT));
 
 	__m128i descriptor = _mm_set_epi64x(high_qw,
 					    pkt->buf_iova + pkt->data_off);
@@ -541,7 +541,7 @@ vtx1(volatile struct avf_tx_desc *txdp, struct rte_mbuf *pkt, uint64_t flags)
 }
 
 static inline void
-avf_vtx(volatile struct avf_tx_desc *txdp, struct rte_mbuf **pkt,
+iavf_vtx(volatile struct iavf_tx_desc *txdp, struct rte_mbuf **pkt,
 	uint16_t nb_pkts,  uint64_t flags)
 {
 	int i;
@@ -551,22 +551,22 @@ avf_vtx(volatile struct avf_tx_desc *txdp, struct rte_mbuf **pkt,
 }
 
 uint16_t
-avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
+iavf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 			 uint16_t nb_pkts)
 {
-	struct avf_tx_queue *txq = (struct avf_tx_queue *)tx_queue;
-	volatile struct avf_tx_desc *txdp;
-	struct avf_tx_entry *txep;
+	struct iavf_tx_queue *txq = (struct iavf_tx_queue *)tx_queue;
+	volatile struct iavf_tx_desc *txdp;
+	struct iavf_tx_entry *txep;
 	uint16_t n, nb_commit, tx_id;
-	uint64_t flags = AVF_TX_DESC_CMD_EOP | 0x04;  /* bit 2 must be set */
-	uint64_t rs = AVF_TX_DESC_CMD_RS | flags;
+	uint64_t flags = IAVF_TX_DESC_CMD_EOP | 0x04;  /* bit 2 must be set */
+	uint64_t rs = IAVF_TX_DESC_CMD_RS | flags;
 	int i;
 
 	/* cross rx_thresh boundary is not allowed */
 	nb_pkts = RTE_MIN(nb_pkts, txq->rs_thresh);
 
 	if (txq->nb_free < txq->free_thresh)
-		avf_tx_free_bufs(txq);
+		iavf_tx_free_bufs(txq);
 
 	nb_pkts = (uint16_t)RTE_MIN(txq->nb_free, nb_pkts);
 	if (unlikely(nb_pkts == 0))
@@ -600,13 +600,13 @@ avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 
 	tx_backlog_entry(txep, tx_pkts, nb_commit);
 
-	avf_vtx(txdp, tx_pkts, nb_commit, flags);
+	iavf_vtx(txdp, tx_pkts, nb_commit, flags);
 
 	tx_id = (uint16_t)(tx_id + nb_commit);
 	if (tx_id > txq->next_rs) {
 		txq->tx_ring[txq->next_rs].cmd_type_offset_bsz |=
-			rte_cpu_to_le_64(((uint64_t)AVF_TX_DESC_CMD_RS) <<
-					 AVF_TXD_QW1_CMD_SHIFT);
+			rte_cpu_to_le_64(((uint64_t)IAVF_TX_DESC_CMD_RS) <<
+					 IAVF_TXD_QW1_CMD_SHIFT);
 		txq->next_rs =
 			(uint16_t)(txq->next_rs + txq->rs_thresh);
 	}
@@ -616,41 +616,41 @@ avf_xmit_fixed_burst_vec(void *tx_queue, struct rte_mbuf **tx_pkts,
 	PMD_TX_LOG(DEBUG, "port_id=%u queue_id=%u tx_tail=%u nb_pkts=%u",
 		   txq->port_id, txq->queue_id, tx_id, nb_pkts);
 
-	AVF_PCI_REG_WRITE(txq->qtx_tail, txq->tx_tail);
+	IAVF_PCI_REG_WRITE(txq->qtx_tail, txq->tx_tail);
 
 	return nb_pkts;
 }
 
 static void __attribute__((cold))
-avf_rx_queue_release_mbufs_sse(struct avf_rx_queue *rxq)
+iavf_rx_queue_release_mbufs_sse(struct iavf_rx_queue *rxq)
 {
-	_avf_rx_queue_release_mbufs_vec(rxq);
+	_iavf_rx_queue_release_mbufs_vec(rxq);
 }
 
 static void __attribute__((cold))
-avf_tx_queue_release_mbufs_sse(struct avf_tx_queue *txq)
+iavf_tx_queue_release_mbufs_sse(struct iavf_tx_queue *txq)
 {
-	_avf_tx_queue_release_mbufs_vec(txq);
+	_iavf_tx_queue_release_mbufs_vec(txq);
 }
 
-static const struct avf_rxq_ops sse_vec_rxq_ops = {
-	.release_mbufs = avf_rx_queue_release_mbufs_sse,
+static const struct iavf_rxq_ops sse_vec_rxq_ops = {
+	.release_mbufs = iavf_rx_queue_release_mbufs_sse,
 };
 
-static const struct avf_txq_ops sse_vec_txq_ops = {
-	.release_mbufs = avf_tx_queue_release_mbufs_sse,
+static const struct iavf_txq_ops sse_vec_txq_ops = {
+	.release_mbufs = iavf_tx_queue_release_mbufs_sse,
 };
 
 int __attribute__((cold))
-avf_txq_vec_setup(struct avf_tx_queue *txq)
+iavf_txq_vec_setup(struct iavf_tx_queue *txq)
 {
 	txq->ops = &sse_vec_txq_ops;
 	return 0;
 }
 
 int __attribute__((cold))
-avf_rxq_vec_setup(struct avf_rx_queue *rxq)
+iavf_rxq_vec_setup(struct iavf_rx_queue *rxq)
 {
 	rxq->ops = &sse_vec_rxq_ops;
-	return avf_rxq_vec_setup_default(rxq);
+	return iavf_rxq_vec_setup_default(rxq);
 }
diff --git a/drivers/net/avf/avf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
similarity index 74%
rename from drivers/net/avf/avf_vchnl.c
rename to drivers/net/iavf/iavf_vchnl.c
index fd90cc2c3..6381fb63c 100644
--- a/drivers/net/avf/avf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -19,31 +19,31 @@
 #include <rte_ethdev_driver.h>
 #include <rte_dev.h>
 
-#include "avf_log.h"
-#include "base/avf_prototype.h"
-#include "base/avf_adminq_cmd.h"
-#include "base/avf_type.h"
+#include "iavf_log.h"
+#include "base/iavf_prototype.h"
+#include "base/iavf_adminq_cmd.h"
+#include "base/iavf_type.h"
 
-#include "avf.h"
-#include "avf_rxtx.h"
+#include "iavf.h"
+#include "iavf_rxtx.h"
 
 #define MAX_TRY_TIMES 200
 #define ASQ_DELAY_MS  10
 
 /* Read data in admin queue to get msg from pf driver */
-static enum avf_status_code
-avf_read_msg_from_pf(struct avf_adapter *adapter, uint16_t buf_len,
+static enum iavf_status_code
+iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
 		     uint8_t *buf)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_arq_event_info event;
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_arq_event_info event;
 	enum virtchnl_ops opcode;
 	int ret;
 
 	event.buf_len = buf_len;
 	event.msg_buf = buf;
-	ret = avf_clean_arq_element(hw, &event, NULL);
+	ret = iavf_clean_arq_element(hw, &event, NULL);
 	/* Can't read any msg from adminQ */
 	if (ret) {
 		PMD_DRV_LOG(DEBUG, "Can't read msg from AQ");
@@ -61,22 +61,22 @@ avf_read_msg_from_pf(struct avf_adapter *adapter, uint16_t buf_len,
 		PMD_DRV_LOG(WARNING, "command mismatch, expect %u, get %u",
 			    vf->pend_cmd, opcode);
 
-	return AVF_SUCCESS;
+	return IAVF_SUCCESS;
 }
 
 static int
-avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
+iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	enum avf_status_code ret;
+	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;
 	int err = 0;
 	int i = 0;
 
 	if (_atomic_set_cmd(vf, args->ops))
 		return -1;
 
-	ret = avf_aq_send_msg_to_pf(hw, args->ops, AVF_SUCCESS,
+	ret = iavf_aq_send_msg_to_pf(hw, args->ops, IAVF_SUCCESS,
 				    args->in_args, args->in_args_size, NULL);
 	if (ret) {
 		PMD_DRV_LOG(ERR, "fail to send cmd %d", args->ops);
@@ -93,9 +93,9 @@ avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
 	case VIRTCHNL_OP_GET_VF_RESOURCES:
 		/* for init virtchnl ops, need to poll the response */
 		do {
-			ret = avf_read_msg_from_pf(adapter, args->out_size,
+			ret = iavf_read_msg_from_pf(adapter, args->out_size,
 						   args->out_buffer);
-			if (ret == AVF_SUCCESS)
+			if (ret == IAVF_SUCCESS)
 				break;
 			rte_delay_ms(ASQ_DELAY_MS);
 		} while (i++ < MAX_TRY_TIMES);
@@ -133,12 +133,12 @@ avf_execute_vf_cmd(struct avf_adapter *adapter, struct avf_cmd_info *args)
 }
 
 static void
-avf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
+iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 			uint16_t msglen)
 {
 	struct virtchnl_pf_event *pf_msg =
 			(struct virtchnl_pf_event *)msg;
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 
 	if (msglen < sizeof(struct virtchnl_pf_event)) {
 		PMD_DRV_LOG(DEBUG, "Error event");
@@ -154,7 +154,7 @@ avf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_LINK_CHANGE event");
 		vf->link_up = pf_msg->event_data.link_event.link_status;
 		vf->link_speed = pf_msg->event_data.link_event.link_speed;
-		avf_dev_link_update(dev, 0);
+		iavf_dev_link_update(dev, 0);
 		_rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC,
 					      NULL);
 		break;
@@ -168,17 +168,17 @@ avf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 }
 
 void
-avf_handle_virtchnl_msg(struct rte_eth_dev *dev)
+iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
-	struct avf_arq_event_info info;
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
+	struct iavf_arq_event_info info;
 	uint16_t pending, aq_opc;
 	enum virtchnl_ops msg_opc;
-	enum avf_status_code msg_ret;
+	enum iavf_status_code msg_ret;
 	int ret;
 
-	info.buf_len = AVF_AQ_BUF_SZ;
+	info.buf_len = IAVF_AQ_BUF_SZ;
 	if (!vf->aq_resp) {
 		PMD_DRV_LOG(ERR, "Buffer for adminq resp should not be NULL");
 		return;
@@ -187,26 +187,26 @@ avf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 
 	pending = 1;
 	while (pending) {
-		ret = avf_clean_arq_element(hw, &info, &pending);
+		ret = iavf_clean_arq_element(hw, &info, &pending);
 
-		if (ret != AVF_SUCCESS) {
+		if (ret != IAVF_SUCCESS) {
 			PMD_DRV_LOG(INFO, "Failed to read msg from AdminQ,"
 				    "ret: %d", ret);
 			break;
 		}
 		aq_opc = rte_le_to_cpu_16(info.desc.opcode);
 		/* For the message sent from pf to vf, opcode is stored in
-		 * cookie_high of struct avf_aq_desc, while return error code
+		 * cookie_high of struct iavf_aq_desc, while return error code
 		 * are stored in cookie_low, Which is done by PF driver.
 		 */
 		msg_opc = (enum virtchnl_ops)rte_le_to_cpu_32(
 						  info.desc.cookie_high);
-		msg_ret = (enum avf_status_code)rte_le_to_cpu_32(
+		msg_ret = (enum iavf_status_code)rte_le_to_cpu_32(
 						  info.desc.cookie_low);
 		switch (aq_opc) {
-		case avf_aqc_opc_send_msg_to_vf:
+		case iavf_aqc_opc_send_msg_to_vf:
 			if (msg_opc == VIRTCHNL_OP_EVENT) {
-				avf_handle_pf_event_msg(dev, info.msg_buf,
+				iavf_handle_pf_event_msg(dev, info.msg_buf,
 							info.msg_len);
 			} else {
 				/* read message and it's expected one */
@@ -233,10 +233,10 @@ avf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 }
 
 int
-avf_enable_vlan_strip(struct avf_adapter *adapter)
+iavf_enable_vlan_strip(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_cmd_info args;
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_cmd_info args;
 	int ret;
 
 	memset(&args, 0, sizeof(args));
@@ -244,8 +244,8 @@ avf_enable_vlan_strip(struct avf_adapter *adapter)
 	args.in_args = NULL;
 	args.in_args_size = 0;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	ret = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	ret = iavf_execute_vf_cmd(adapter, &args);
 	if (ret)
 		PMD_DRV_LOG(ERR, "Failed to execute command of"
 			    " OP_ENABLE_VLAN_STRIPPING");
@@ -254,10 +254,10 @@ avf_enable_vlan_strip(struct avf_adapter *adapter)
 }
 
 int
-avf_disable_vlan_strip(struct avf_adapter *adapter)
+iavf_disable_vlan_strip(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_cmd_info args;
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_cmd_info args;
 	int ret;
 
 	memset(&args, 0, sizeof(args));
@@ -265,8 +265,8 @@ avf_disable_vlan_strip(struct avf_adapter *adapter)
 	args.in_args = NULL;
 	args.in_args_size = 0;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	ret = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	ret = iavf_execute_vf_cmd(adapter, &args);
 	if (ret)
 		PMD_DRV_LOG(ERR, "Failed to execute command of"
 			    " OP_DISABLE_VLAN_STRIPPING");
@@ -279,11 +279,11 @@ avf_disable_vlan_strip(struct avf_adapter *adapter)
 
 /* Check API version with sync wait until version read from admin queue */
 int
-avf_check_api_version(struct avf_adapter *adapter)
+iavf_check_api_version(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_version_info version, *pver;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	version.major = VIRTCHNL_VERSION_MAJOR;
@@ -293,9 +293,9 @@ avf_check_api_version(struct avf_adapter *adapter)
 	args.in_args = (uint8_t *)&version;
 	args.in_args_size = sizeof(version);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err) {
 		PMD_INIT_LOG(ERR, "Fail to execute command of OP_VERSION");
 		return err;
@@ -328,28 +328,28 @@ avf_check_api_version(struct avf_adapter *adapter)
 }
 
 int
-avf_get_vf_resource(struct avf_adapter *adapter)
+iavf_get_vf_resource(struct iavf_adapter *adapter)
 {
-	struct avf_hw *hw = AVF_DEV_PRIVATE_TO_HW(adapter);
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
-	struct avf_cmd_info args;
+	struct iavf_hw *hw = IAVF_DEV_PRIVATE_TO_HW(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_cmd_info args;
 	uint32_t caps, len;
 	int err, i;
 
 	args.ops = VIRTCHNL_OP_GET_VF_RESOURCES;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
 	/* TODO: basic offload capabilities, need to
 	 * add advanced/optional offload capabilities
 	 */
 
-	caps = AVF_BASIC_OFFLOAD_CAPS;
+	caps = IAVF_BASIC_OFFLOAD_CAPS;
 
 	args.in_args = (uint8_t *)∩︀
 	args.in_args_size = sizeof(caps);
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 
 	if (err) {
 		PMD_DRV_LOG(ERR,
@@ -358,12 +358,12 @@ avf_get_vf_resource(struct avf_adapter *adapter)
 	}
 
 	len =  sizeof(struct virtchnl_vf_resource) +
-		      AVF_MAX_VF_VSI * sizeof(struct virtchnl_vsi_resource);
+		      IAVF_MAX_VF_VSI * sizeof(struct virtchnl_vsi_resource);
 
 	rte_memcpy(vf->vf_res, args.out_buffer,
 		   RTE_MIN(args.out_size, len));
 	/* parse  VF config message back from PF*/
-	avf_parse_hw_config(hw, vf->vf_res);
+	iavf_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];
@@ -382,11 +382,11 @@ avf_get_vf_resource(struct avf_adapter *adapter)
 }
 
 int
-avf_enable_queues(struct avf_adapter *adapter)
+iavf_enable_queues(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_queue_select queue_select;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	memset(&queue_select, 0, sizeof(queue_select));
@@ -399,8 +399,8 @@ avf_enable_queues(struct avf_adapter *adapter)
 	args.in_args = (u8 *)&queue_select;
 	args.in_args_size = sizeof(queue_select);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	err = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err) {
 		PMD_DRV_LOG(ERR,
 			    "Failed to execute command of OP_ENABLE_QUEUES");
@@ -410,11 +410,11 @@ avf_enable_queues(struct avf_adapter *adapter)
 }
 
 int
-avf_disable_queues(struct avf_adapter *adapter)
+iavf_disable_queues(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_queue_select queue_select;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	memset(&queue_select, 0, sizeof(queue_select));
@@ -427,8 +427,8 @@ avf_disable_queues(struct avf_adapter *adapter)
 	args.in_args = (u8 *)&queue_select;
 	args.in_args_size = sizeof(queue_select);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	err = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err) {
 		PMD_DRV_LOG(ERR,
 			    "Failed to execute command of OP_DISABLE_QUEUES");
@@ -438,12 +438,12 @@ avf_disable_queues(struct avf_adapter *adapter)
 }
 
 int
-avf_switch_queue(struct avf_adapter *adapter, uint16_t qid,
+iavf_switch_queue(struct iavf_adapter *adapter, uint16_t qid,
 		 bool rx, bool on)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_queue_select queue_select;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	memset(&queue_select, 0, sizeof(queue_select));
@@ -460,8 +460,8 @@ avf_switch_queue(struct avf_adapter *adapter, uint16_t qid,
 	args.in_args = (u8 *)&queue_select;
 	args.in_args_size = sizeof(queue_select);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	err = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR, "Failed to execute command of %s",
 			    on ? "OP_ENABLE_QUEUES" : "OP_DISABLE_QUEUES");
@@ -469,11 +469,11 @@ avf_switch_queue(struct avf_adapter *adapter, uint16_t qid,
 }
 
 int
-avf_configure_rss_lut(struct avf_adapter *adapter)
+iavf_configure_rss_lut(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_rss_lut *rss_lut;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int len, err = 0;
 
 	len = sizeof(*rss_lut) + vf->vf_res->rss_lut_size - 1;
@@ -489,9 +489,9 @@ avf_configure_rss_lut(struct avf_adapter *adapter)
 	args.in_args = (u8 *)rss_lut;
 	args.in_args_size = len;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR,
 			    "Failed to execute command of OP_CONFIG_RSS_LUT");
@@ -501,11 +501,11 @@ avf_configure_rss_lut(struct avf_adapter *adapter)
 }
 
 int
-avf_configure_rss_key(struct avf_adapter *adapter)
+iavf_configure_rss_key(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_rss_key *rss_key;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int len, err = 0;
 
 	len = sizeof(*rss_key) + vf->vf_res->rss_key_size - 1;
@@ -521,9 +521,9 @@ avf_configure_rss_key(struct avf_adapter *adapter)
 	args.in_args = (u8 *)rss_key;
 	args.in_args_size = len;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR,
 			    "Failed to execute command of OP_CONFIG_RSS_KEY");
@@ -533,16 +533,16 @@ avf_configure_rss_key(struct avf_adapter *adapter)
 }
 
 int
-avf_configure_queues(struct avf_adapter *adapter)
+iavf_configure_queues(struct iavf_adapter *adapter)
 {
-	struct avf_rx_queue **rxq =
-		(struct avf_rx_queue **)adapter->eth_dev->data->rx_queues;
-	struct avf_tx_queue **txq =
-		(struct avf_tx_queue **)adapter->eth_dev->data->tx_queues;
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_rx_queue **rxq =
+		(struct iavf_rx_queue **)adapter->eth_dev->data->rx_queues;
+	struct iavf_tx_queue **txq =
+		(struct iavf_tx_queue **)adapter->eth_dev->data->tx_queues;
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_vsi_queue_config_info *vc_config;
 	struct virtchnl_queue_pair_info *vc_qp;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	uint16_t i, size;
 	int err;
 
@@ -581,9 +581,9 @@ avf_configure_queues(struct avf_adapter *adapter)
 	args.in_args = (uint8_t *)vc_config;
 	args.in_args_size = size;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR, "Failed to execute command of"
 			    " VIRTCHNL_OP_CONFIG_VSI_QUEUES");
@@ -593,12 +593,12 @@ avf_configure_queues(struct avf_adapter *adapter)
 }
 
 int
-avf_config_irq_map(struct avf_adapter *adapter)
+iavf_config_irq_map(struct iavf_adapter *adapter)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_irq_map_info *map_info;
 	struct virtchnl_vector_map *vecmap;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int len, i, err;
 
 	len = sizeof(struct virtchnl_irq_map_info) +
@@ -612,7 +612,7 @@ avf_config_irq_map(struct avf_adapter *adapter)
 	for (i = 0; i < vf->nb_msix; i++) {
 		vecmap = &map_info->vecmap[i];
 		vecmap->vsi_id = vf->vsi_res->vsi_id;
-		vecmap->rxitr_idx = AVF_ITR_INDEX_DEFAULT;
+		vecmap->rxitr_idx = IAVF_ITR_INDEX_DEFAULT;
 		vecmap->vector_id = vf->msix_base + i;
 		vecmap->txq_map = 0;
 		vecmap->rxq_map = vf->rxq_map[vf->msix_base + i];
@@ -622,8 +622,8 @@ avf_config_irq_map(struct avf_adapter *adapter)
 	args.in_args = (u8 *)map_info;
 	args.in_args_size = len;
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	err = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR, "fail to execute command OP_CONFIG_IRQ_MAP");
 
@@ -632,12 +632,12 @@ avf_config_irq_map(struct avf_adapter *adapter)
 }
 
 void
-avf_add_del_all_mac_addr(struct avf_adapter *adapter, bool add)
+iavf_add_del_all_mac_addr(struct iavf_adapter *adapter, bool add)
 {
 	struct virtchnl_ether_addr_list *list;
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct ether_addr *addr;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int len, err, i, j;
 	int next_begin = 0;
 	int begin = 0;
@@ -645,18 +645,18 @@ avf_add_del_all_mac_addr(struct avf_adapter *adapter, bool add)
 	do {
 		j = 0;
 		len = sizeof(struct virtchnl_ether_addr_list);
-		for (i = begin; i < AVF_NUM_MACADDR_MAX; i++, next_begin++) {
+		for (i = begin; i < IAVF_NUM_MACADDR_MAX; i++, next_begin++) {
 			addr = &adapter->eth_dev->data->mac_addrs[i];
 			if (is_zero_ether_addr(addr))
 				continue;
 			len += sizeof(struct virtchnl_ether_addr);
-			if (len >= AVF_AQ_BUF_SZ) {
+			if (len >= IAVF_AQ_BUF_SZ) {
 				next_begin = i + 1;
 				break;
 			}
 		}
 
-		list = rte_zmalloc("avf_del_mac_buffer", len, 0);
+		list = rte_zmalloc("iavf_del_mac_buffer", len, 0);
 		if (!list) {
 			PMD_DRV_LOG(ERR, "fail to allocate memory");
 			return;
@@ -681,24 +681,24 @@ avf_add_del_all_mac_addr(struct avf_adapter *adapter, bool add)
 		args.in_args = (uint8_t *)list;
 		args.in_args_size = len;
 		args.out_buffer = vf->aq_resp;
-		args.out_size = AVF_AQ_BUF_SZ;
-		err = avf_execute_vf_cmd(adapter, &args);
+		args.out_size = IAVF_AQ_BUF_SZ;
+		err = iavf_execute_vf_cmd(adapter, &args);
 		if (err)
 			PMD_DRV_LOG(ERR, "fail to execute command %s",
 				    add ? "OP_ADD_ETHER_ADDRESS" :
 				    "OP_DEL_ETHER_ADDRESS");
 		rte_free(list);
 		begin = next_begin;
-	} while (begin < AVF_NUM_MACADDR_MAX);
+	} while (begin < IAVF_NUM_MACADDR_MAX);
 }
 
 int
-avf_query_stats(struct avf_adapter *adapter,
+iavf_query_stats(struct iavf_adapter *adapter,
 		struct virtchnl_eth_stats **pstats)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_queue_select q_stats;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	memset(&q_stats, 0, sizeof(q_stats));
@@ -707,9 +707,9 @@ avf_query_stats(struct avf_adapter *adapter,
 	args.in_args = (uint8_t *)&q_stats;
 	args.in_args_size = sizeof(q_stats);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err) {
 		PMD_DRV_LOG(ERR, "fail to execute command OP_GET_STATS");
 		*pstats = NULL;
@@ -720,13 +720,13 @@ avf_query_stats(struct avf_adapter *adapter,
 }
 
 int
-avf_config_promisc(struct avf_adapter *adapter,
+iavf_config_promisc(struct iavf_adapter *adapter,
 		   bool enable_unicast,
 		   bool enable_multicast)
 {
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	struct virtchnl_promisc_info promisc;
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	promisc.flags = 0;
@@ -742,9 +742,9 @@ avf_config_promisc(struct avf_adapter *adapter,
 	args.in_args = (uint8_t *)&promisc;
 	args.in_args_size = sizeof(promisc);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
+	args.out_size = IAVF_AQ_BUF_SZ;
 
-	err = avf_execute_vf_cmd(adapter, &args);
+	err = iavf_execute_vf_cmd(adapter, &args);
 
 	if (err)
 		PMD_DRV_LOG(ERR,
@@ -753,14 +753,14 @@ avf_config_promisc(struct avf_adapter *adapter,
 }
 
 int
-avf_add_del_eth_addr(struct avf_adapter *adapter, struct ether_addr *addr,
+iavf_add_del_eth_addr(struct iavf_adapter *adapter, struct ether_addr *addr,
 		     bool add)
 {
 	struct virtchnl_ether_addr_list *list;
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	uint8_t cmd_buffer[sizeof(struct virtchnl_ether_addr_list) +
 			   sizeof(struct virtchnl_ether_addr)];
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	list = (struct virtchnl_ether_addr_list *)cmd_buffer;
@@ -773,8 +773,8 @@ avf_add_del_eth_addr(struct avf_adapter *adapter, struct ether_addr *addr,
 	args.in_args = cmd_buffer;
 	args.in_args_size = sizeof(cmd_buffer);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	err = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR, "fail to execute command %s",
 			    add ? "OP_ADD_ETH_ADDR" :  "OP_DEL_ETH_ADDR");
@@ -782,13 +782,13 @@ avf_add_del_eth_addr(struct avf_adapter *adapter, struct ether_addr *addr,
 }
 
 int
-avf_add_del_vlan(struct avf_adapter *adapter, uint16_t vlanid, bool add)
+iavf_add_del_vlan(struct iavf_adapter *adapter, uint16_t vlanid, bool add)
 {
 	struct virtchnl_vlan_filter_list *vlan_list;
-	struct avf_info *vf = AVF_DEV_PRIVATE_TO_VF(adapter);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter);
 	uint8_t cmd_buffer[sizeof(struct virtchnl_vlan_filter_list) +
 							sizeof(uint16_t)];
-	struct avf_cmd_info args;
+	struct iavf_cmd_info args;
 	int err;
 
 	vlan_list = (struct virtchnl_vlan_filter_list *)cmd_buffer;
@@ -800,8 +800,8 @@ avf_add_del_vlan(struct avf_adapter *adapter, uint16_t vlanid, bool add)
 	args.in_args = cmd_buffer;
 	args.in_args_size = sizeof(cmd_buffer);
 	args.out_buffer = vf->aq_resp;
-	args.out_size = AVF_AQ_BUF_SZ;
-	err = avf_execute_vf_cmd(adapter, &args);
+	args.out_size = IAVF_AQ_BUF_SZ;
+	err = iavf_execute_vf_cmd(adapter, &args);
 	if (err)
 		PMD_DRV_LOG(ERR, "fail to execute command %s",
 			    add ? "OP_ADD_VLAN" :  "OP_DEL_VLAN");
diff --git a/drivers/net/avf/meson.build b/drivers/net/iavf/meson.build
similarity index 63%
rename from drivers/net/avf/meson.build
rename to drivers/net/iavf/meson.build
index 2dfda9d4e..e5a2f5553 100644
--- a/drivers/net/avf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -9,12 +9,12 @@ subdir('base')
 objs = [base_objs]
 
 sources = files(
-	'avf_ethdev.c',
-	'avf_rxtx.c',
-	'avf_vchnl.c',
+	'iavf_ethdev.c',
+	'iavf_rxtx.c',
+	'iavf_vchnl.c',
 )
 
 if arch_subdir == 'x86'
-	dpdk_conf.set('RTE_LIBRTE_AVF_INC_VECTOR', 1)
-	sources += files('avf_rxtx_vec_sse.c')
+	dpdk_conf.set('RTE_LIBRTE_IAVF_INC_VECTOR', 1)
+	sources += files('iavf_rxtx_vec_sse.c')
 endif
diff --git a/drivers/net/avf/rte_pmd_avf_version.map b/drivers/net/iavf/rte_pmd_iavf_version.map
similarity index 100%
rename from drivers/net/avf/rte_pmd_avf_version.map
rename to drivers/net/iavf/rte_pmd_iavf_version.map
diff --git a/drivers/net/meson.build b/drivers/net/meson.build
index 45da3bb1e..c4a349637 100644
--- a/drivers/net/meson.build
+++ b/drivers/net/meson.build
@@ -4,7 +4,7 @@
 drivers = ['af_packet',
 	'ark',
 	'atlantic',
-	'avf',
+	'iavf',
 	'avp',
 	'axgbe', 'bonding',
 	'bnx2x',
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index 8a4f0f4e5..7f9f0bacb 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -145,7 +145,7 @@ endif
 _LDLIBS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET)  += -lrte_pmd_af_packet
 _LDLIBS-$(CONFIG_RTE_LIBRTE_ARK_PMD)        += -lrte_pmd_ark
 _LDLIBS-$(CONFIG_RTE_LIBRTE_ATLANTIC_PMD)   += -lrte_pmd_atlantic
-_LDLIBS-$(CONFIG_RTE_LIBRTE_AVF_PMD)        += -lrte_pmd_avf
+_LDLIBS-$(CONFIG_RTE_LIBRTE_IAVF_PMD)       += -lrte_pmd_iavf
 _LDLIBS-$(CONFIG_RTE_LIBRTE_AVP_PMD)        += -lrte_pmd_avp
 _LDLIBS-$(CONFIG_RTE_LIBRTE_AXGBE_PMD)      += -lrte_pmd_axgbe
 _LDLIBS-$(CONFIG_RTE_LIBRTE_BNX2X_PMD)      += -lrte_pmd_bnx2x -lz
-- 
2.17.1



More information about the dev mailing list