/*******************************************************************************

  Intel 10 Gigabit PCI Express Linux driver
  Copyright(c) 1999 - 2012 Intel Corporation.

  This program is free software; you can redistribute it and/or modify it
  under the terms and conditions of the GNU General Public License,
  version 2, as published by the Free Software Foundation.

  This program is distributed in the hope it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  more details.

  You should have received a copy of the GNU General Public License along with
  this program; if not, write to the Free Software Foundation, Inc.,
  51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.

  The full GNU General Public License is included in this distribution in
  the file called "COPYING".

  Contact Information:
  e1000-devel Mailing List <e1000-devel@lists.sourceforge.net>
  Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497

*******************************************************************************/

#ifndef _IXGBE_TYPE_H_
#define _IXGBE_TYPE_H_

#include "ixgbe_osdep.h"


/* Device IDs */
#define IXGBE_DEV_ID_82598			0x10B6
#define IXGBE_DEV_ID_82598_BX			0x1508
#define IXGBE_DEV_ID_82598AF_DUAL_PORT		0x10C6
#define IXGBE_DEV_ID_82598AF_SINGLE_PORT	0x10C7
#define IXGBE_DEV_ID_82598AT			0x10C8
#define IXGBE_DEV_ID_82598AT2			0x150B
#define IXGBE_DEV_ID_82598EB_SFP_LOM		0x10DB
#define IXGBE_DEV_ID_82598EB_CX4		0x10DD
#define IXGBE_DEV_ID_82598_CX4_DUAL_PORT	0x10EC
#define IXGBE_DEV_ID_82598_DA_DUAL_PORT		0x10F1
#define IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM	0x10E1
#define IXGBE_DEV_ID_82598EB_XF_LR		0x10F4
#define IXGBE_DEV_ID_82599_KX4			0x10F7
#define IXGBE_DEV_ID_82599_KX4_MEZZ		0x1514
#define IXGBE_DEV_ID_82599_KR			0x1517
#define IXGBE_DEV_ID_82599_COMBO_BACKPLANE	0x10F8
#define IXGBE_SUBDEV_ID_82599_KX4_KR_MEZZ	0x000C
#define IXGBE_DEV_ID_82599_CX4			0x10F9
#define IXGBE_DEV_ID_82599_SFP			0x10FB
#define IXGBE_SUBDEV_ID_82599_SFP		0x11A9
#define IXGBE_SUBDEV_ID_82599_RNDC		0x1F72
#define IXGBE_SUBDEV_ID_82599_560FLR		0x17D0
#define IXGBE_SUBDEV_ID_82599_ECNA_DP		0x0470
#define IXGBE_DEV_ID_82599_BACKPLANE_FCOE	0x152A
#define IXGBE_DEV_ID_82599_SFP_FCOE		0x1529
#define IXGBE_DEV_ID_82599_SFP_EM		0x1507
#define IXGBE_DEV_ID_82599_SFP_SF2		0x154D
#define IXGBE_DEV_ID_82599_SFP_SF_QP		0x154A
#define IXGBE_DEV_ID_82599EN_SFP		0x1557
#define IXGBE_DEV_ID_82599_XAUI_LOM		0x10FC
#define IXGBE_DEV_ID_82599_T3_LOM		0x151C
#define IXGBE_DEV_ID_82599_LS			0x154F
#define IXGBE_DEV_ID_X540T			0x1528

/* General Registers */
#define IXGBE_CTRL		0x00000
#define IXGBE_STATUS		0x00008
#define IXGBE_CTRL_EXT		0x00018
#define IXGBE_ESDP		0x00020
#define IXGBE_EODSDP		0x00028
#define IXGBE_I2CCTL		0x00028
#define IXGBE_PHY_GPIO		0x00028
#define IXGBE_MAC_GPIO		0x00030
#define IXGBE_PHYINT_STATUS0	0x00100
#define IXGBE_PHYINT_STATUS1	0x00104
#define IXGBE_PHYINT_STATUS2	0x00108
#define IXGBE_LEDCTL		0x00200
#define IXGBE_FRTIMER		0x00048
#define IXGBE_TCPTIMER		0x0004C
#define IXGBE_CORESPARE		0x00600
#define IXGBE_EXVET		0x05078

/* NVM Registers */
#define IXGBE_EEC	0x10010
#define IXGBE_EERD	0x10014
#define IXGBE_EEWR	0x10018
#define IXGBE_FLA	0x1001C
#define IXGBE_EEMNGCTL	0x10110
#define IXGBE_EEMNGDATA	0x10114
#define IXGBE_FLMNGCTL	0x10118
#define IXGBE_FLMNGDATA	0x1011C
#define IXGBE_FLMNGCNT	0x10120
#define IXGBE_FLOP	0x1013C
#define IXGBE_GRC	0x10200
#define IXGBE_SRAMREL	0x10210
#define IXGBE_PHYDBG	0x10218

/* General Receive Control */
#define IXGBE_GRC_MNG	0x00000001 /* Manageability Enable */
#define IXGBE_GRC_APME	0x00000002 /* APM enabled in EEPROM */

#define IXGBE_VPDDIAG0	0x10204
#define IXGBE_VPDDIAG1	0x10208

/* I2CCTL Bit Masks */
#define IXGBE_I2C_CLK_IN	0x00000001
#define IXGBE_I2C_CLK_OUT	0x00000002
#define IXGBE_I2C_DATA_IN	0x00000004
#define IXGBE_I2C_DATA_OUT	0x00000008
#define IXGBE_I2C_CLOCK_STRETCHING_TIMEOUT	500

#define IXGBE_I2C_THERMAL_SENSOR_ADDR	0xF8
#define IXGBE_EMC_INTERNAL_DATA		0x00
#define IXGBE_EMC_INTERNAL_THERM_LIMIT	0x20
#define IXGBE_EMC_DIODE1_DATA		0x01
#define IXGBE_EMC_DIODE1_THERM_LIMIT	0x19
#define IXGBE_EMC_DIODE2_DATA		0x23
#define IXGBE_EMC_DIODE2_THERM_LIMIT	0x1A

#define IXGBE_MAX_SENSORS		3

struct ixgbe_thermal_diode_data {
	u8 location;
	u8 temp;
	u8 caution_thresh;
	u8 max_op_thresh;
};

struct ixgbe_thermal_sensor_data {
	struct ixgbe_thermal_diode_data sensor[IXGBE_MAX_SENSORS];
};

/* Interrupt Registers */
#define IXGBE_EICR		0x00800
#define IXGBE_EICS		0x00808
#define IXGBE_EIMS		0x00880
#define IXGBE_EIMC		0x00888
#define IXGBE_EIAC		0x00810
#define IXGBE_EIAM		0x00890
#define IXGBE_EICS_EX(_i)	(0x00A90 + (_i) * 4)
#define IXGBE_EIMS_EX(_i)	(0x00AA0 + (_i) * 4)
#define IXGBE_EIMC_EX(_i)	(0x00AB0 + (_i) * 4)
#define IXGBE_EIAM_EX(_i)	(0x00AD0 + (_i) * 4)
/* 82599 EITR is only 12 bits, with the lower 3 always zero */
/*
 * 82598 EITR is 16 bits but set the limits based on the max
 * supported by all ixgbe hardware
 */
#define IXGBE_MAX_INT_RATE	488281
#define IXGBE_MIN_INT_RATE	956
#define IXGBE_MAX_EITR		0x00000FF8
#define IXGBE_MIN_EITR		8
#define IXGBE_EITR(_i)		(((_i) <= 23) ? (0x00820 + ((_i) * 4)) : \
				 (0x012300 + (((_i) - 24) * 4)))
#define IXGBE_EITR_ITR_INT_MASK	0x00000FF8
#define IXGBE_EITR_LLI_MOD	0x00008000
#define IXGBE_EITR_CNT_WDIS	0x80000000
#define IXGBE_IVAR(_i)		(0x00900 + ((_i) * 4)) /* 24 at 0x900-0x960 */
#define IXGBE_IVAR_MISC		0x00A00 /* misc MSI-X interrupt causes */
#define IXGBE_EITRSEL		0x00894
#define IXGBE_MSIXT		0x00000 /* MSI-X Table. 0x0000 - 0x01C */
#define IXGBE_MSIXPBA		0x02000 /* MSI-X Pending bit array */
#define IXGBE_PBACL(_i)	(((_i) == 0) ? (0x11068) : (0x110C0 + ((_i) * 4)))
#define IXGBE_GPIE		0x00898

/* Flow Control Registers */
#define IXGBE_FCADBUL		0x03210
#define IXGBE_FCADBUH		0x03214
#define IXGBE_FCAMACL		0x04328
#define IXGBE_FCAMACH		0x0432C
#define IXGBE_FCRTH_82599(_i)	(0x03260 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_FCRTL_82599(_i)	(0x03220 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_PFCTOP		0x03008
#define IXGBE_FCTTV(_i)		(0x03200 + ((_i) * 4)) /* 4 of these (0-3) */
#define IXGBE_FCRTL(_i)		(0x03220 + ((_i) * 8)) /* 8 of these (0-7) */
#define IXGBE_FCRTH(_i)		(0x03260 + ((_i) * 8)) /* 8 of these (0-7) */
#define IXGBE_FCRTV		0x032A0
#define IXGBE_FCCFG		0x03D00
#define IXGBE_TFCS		0x0CE00

/* Receive DMA Registers */
#define IXGBE_RDBAL(_i)	(((_i) < 64) ? (0x01000 + ((_i) * 0x40)) : \
			 (0x0D000 + (((_i) - 64) * 0x40)))
#define IXGBE_RDBAH(_i)	(((_i) < 64) ? (0x01004 + ((_i) * 0x40)) : \
			 (0x0D004 + (((_i) - 64) * 0x40)))
#define IXGBE_RDLEN(_i)	(((_i) < 64) ? (0x01008 + ((_i) * 0x40)) : \
			 (0x0D008 + (((_i) - 64) * 0x40)))
#define IXGBE_RDH(_i)	(((_i) < 64) ? (0x01010 + ((_i) * 0x40)) : \
			 (0x0D010 + (((_i) - 64) * 0x40)))
#define IXGBE_RDT(_i)	(((_i) < 64) ? (0x01018 + ((_i) * 0x40)) : \
			 (0x0D018 + (((_i) - 64) * 0x40)))
#define IXGBE_RXDCTL(_i)	(((_i) < 64) ? (0x01028 + ((_i) * 0x40)) : \
				 (0x0D028 + (((_i) - 64) * 0x40)))
#define IXGBE_RSCCTL(_i)	(((_i) < 64) ? (0x0102C + ((_i) * 0x40)) : \
				 (0x0D02C + (((_i) - 64) * 0x40)))
#define IXGBE_RSCDBU	0x03028
#define IXGBE_RDDCC	0x02F20
#define IXGBE_RXMEMWRAP	0x03190
#define IXGBE_STARCTRL	0x03024
/*
 * Split and Replication Receive Control Registers
 * 00-15 : 0x02100 + n*4
 * 16-64 : 0x01014 + n*0x40
 * 64-127: 0x0D014 + (n-64)*0x40
 */
#define IXGBE_SRRCTL(_i)	(((_i) <= 15) ? (0x02100 + ((_i) * 4)) : \
				 (((_i) < 64) ? (0x01014 + ((_i) * 0x40)) : \
				 (0x0D014 + (((_i) - 64) * 0x40))))
/*
 * Rx DCA Control Register:
 * 00-15 : 0x02200 + n*4
 * 16-64 : 0x0100C + n*0x40
 * 64-127: 0x0D00C + (n-64)*0x40
 */
#define IXGBE_DCA_RXCTRL(_i)	(((_i) <= 15) ? (0x02200 + ((_i) * 4)) : \
				 (((_i) < 64) ? (0x0100C + ((_i) * 0x40)) : \
				 (0x0D00C + (((_i) - 64) * 0x40))))
#define IXGBE_RDRXCTL		0x02F00
#define IXGBE_RDRXCTL_RSC_PUSH	0x80
/* 8 of these 0x03C00 - 0x03C1C */
#define IXGBE_RXPBSIZE(_i)	(0x03C00 + ((_i) * 4))
#define IXGBE_RXCTRL		0x03000
#define IXGBE_DROPEN		0x03D04
#define IXGBE_RXPBSIZE_SHIFT	10

/* Receive Registers */
#define IXGBE_RXCSUM		0x05000
#define IXGBE_RFCTL		0x05008
#define IXGBE_DRECCCTL		0x02F08
#define IXGBE_DRECCCTL_DISABLE	0
#define IXGBE_DRECCCTL2		0x02F8C

/* Multicast Table Array - 128 entries */
#define IXGBE_MTA(_i)		(0x05200 + ((_i) * 4))
#define IXGBE_RAL(_i)		(((_i) <= 15) ? (0x05400 + ((_i) * 8)) : \
				 (0x0A200 + ((_i) * 8)))
#define IXGBE_RAH(_i)		(((_i) <= 15) ? (0x05404 + ((_i) * 8)) : \
				 (0x0A204 + ((_i) * 8)))
#define IXGBE_MPSAR_LO(_i)	(0x0A600 + ((_i) * 8))
#define IXGBE_MPSAR_HI(_i)	(0x0A604 + ((_i) * 8))
/* Packet split receive type */
#define IXGBE_PSRTYPE(_i)	(((_i) <= 15) ? (0x05480 + ((_i) * 4)) : \
				 (0x0EA00 + ((_i) * 4)))
/* array of 4096 1-bit vlan filters */
#define IXGBE_VFTA(_i)		(0x0A000 + ((_i) * 4))
/*array of 4096 4-bit vlan vmdq indices */
#define IXGBE_VFTAVIND(_j, _i)	(0x0A200 + ((_j) * 0x200) + ((_i) * 4))
#define IXGBE_FCTRL		0x05080
#define IXGBE_VLNCTRL		0x05088
#define IXGBE_MCSTCTRL		0x05090
#define IXGBE_MRQC		0x05818
#define IXGBE_SAQF(_i)	(0x0E000 + ((_i) * 4)) /* Source Address Queue Filter */
#define IXGBE_DAQF(_i)	(0x0E200 + ((_i) * 4)) /* Dest. Address Queue Filter */
#define IXGBE_SDPQF(_i)	(0x0E400 + ((_i) * 4)) /* Src Dest. Addr Queue Filter */
#define IXGBE_FTQF(_i)	(0x0E600 + ((_i) * 4)) /* Five Tuple Queue Filter */
#define IXGBE_ETQF(_i)	(0x05128 + ((_i) * 4)) /* EType Queue Filter */
#define IXGBE_ETQS(_i)	(0x0EC00 + ((_i) * 4)) /* EType Queue Select */
#define IXGBE_SYNQF	0x0EC30 /* SYN Packet Queue Filter */
#define IXGBE_RQTC	0x0EC70
#define IXGBE_MTQC	0x08120
#define IXGBE_VLVF(_i)	(0x0F100 + ((_i) * 4))  /* 64 of these (0-63) */
#define IXGBE_VLVFB(_i)	(0x0F200 + ((_i) * 4))  /* 128 of these (0-127) */
#define IXGBE_VMVIR(_i)	(0x08000 + ((_i) * 4))  /* 64 of these (0-63) */
#define IXGBE_VT_CTL		0x051B0
#define IXGBE_PFMAILBOX(_i)	(0x04B00 + (4 * (_i))) /* 64 total */
/* 64 Mailboxes, 16 DW each */
#define IXGBE_PFMBMEM(_i)	(0x13000 + (64 * (_i)))
#define IXGBE_PFMBICR(_i)	(0x00710 + (4 * (_i))) /* 4 total */
#define IXGBE_PFMBIMR(_i)	(0x00720 + (4 * (_i))) /* 4 total */
#define IXGBE_VFRE(_i)		(0x051E0 + ((_i) * 4))
#define IXGBE_VFTE(_i)		(0x08110 + ((_i) * 4))
#define IXGBE_VMECM(_i)		(0x08790 + ((_i) * 4))
#define IXGBE_QDE		0x2F04
#define IXGBE_VMTXSW(_i)	(0x05180 + ((_i) * 4)) /* 2 total */
#define IXGBE_VMOLR(_i)		(0x0F000 + ((_i) * 4)) /* 64 total */
#define IXGBE_UTA(_i)		(0x0F400 + ((_i) * 4))
#define IXGBE_MRCTL(_i)		(0x0F600 + ((_i) * 4))
#define IXGBE_VMRVLAN(_i)	(0x0F610 + ((_i) * 4))
#define IXGBE_VMRVM(_i)		(0x0F630 + ((_i) * 4))
#define IXGBE_L34T_IMIR(_i)	(0x0E800 + ((_i) * 4)) /*128 of these (0-127)*/
#define IXGBE_RXFECCERR0	0x051B8
#define IXGBE_LLITHRESH		0x0EC90
#define IXGBE_IMIR(_i)		(0x05A80 + ((_i) * 4))  /* 8 of these (0-7) */
#define IXGBE_IMIREXT(_i)	(0x05AA0 + ((_i) * 4))  /* 8 of these (0-7) */
#define IXGBE_IMIRVP		0x05AC0
#define IXGBE_VMD_CTL		0x0581C
#define IXGBE_RETA(_i)		(0x05C00 + ((_i) * 4))  /* 32 of these (0-31) */
#define IXGBE_RSSRK(_i)		(0x05C80 + ((_i) * 4))  /* 10 of these (0-9) */

/* Flow Director registers */
#define IXGBE_FDIRCTRL	0x0EE00
#define IXGBE_FDIRHKEY	0x0EE68
#define IXGBE_FDIRSKEY	0x0EE6C
#define IXGBE_FDIRDIP4M	0x0EE3C
#define IXGBE_FDIRSIP4M	0x0EE40
#define IXGBE_FDIRTCPM	0x0EE44
#define IXGBE_FDIRUDPM	0x0EE48
#define IXGBE_FDIRIP6M	0x0EE74
#define IXGBE_FDIRM	0x0EE70

/* Flow Director Stats registers */
#define IXGBE_FDIRFREE	0x0EE38
#define IXGBE_FDIRLEN	0x0EE4C
#define IXGBE_FDIRUSTAT	0x0EE50
#define IXGBE_FDIRFSTAT	0x0EE54
#define IXGBE_FDIRMATCH	0x0EE58
#define IXGBE_FDIRMISS	0x0EE5C

/* Flow Director Programming registers */
#define IXGBE_FDIRSIPv6(_i) (0x0EE0C + ((_i) * 4)) /* 3 of these (0-2) */
#define IXGBE_FDIRIPSA	0x0EE18
#define IXGBE_FDIRIPDA	0x0EE1C
#define IXGBE_FDIRPORT	0x0EE20
#define IXGBE_FDIRVLAN	0x0EE24
#define IXGBE_FDIRHASH	0x0EE28
#define IXGBE_FDIRCMD	0x0EE2C

/* Transmit DMA registers */
#define IXGBE_TDBAL(_i)		(0x06000 + ((_i) * 0x40)) /* 32 of them (0-31)*/
#define IXGBE_TDBAH(_i)		(0x06004 + ((_i) * 0x40))
#define IXGBE_TDLEN(_i)		(0x06008 + ((_i) * 0x40))
#define IXGBE_TDH(_i)		(0x06010 + ((_i) * 0x40))
#define IXGBE_TDT(_i)		(0x06018 + ((_i) * 0x40))
#define IXGBE_TXDCTL(_i)	(0x06028 + ((_i) * 0x40))
#define IXGBE_TDWBAL(_i)	(0x06038 + ((_i) * 0x40))
#define IXGBE_TDWBAH(_i)	(0x0603C + ((_i) * 0x40))
#define IXGBE_DTXCTL		0x07E00

#define IXGBE_DMATXCTL		0x04A80
#define IXGBE_PFVFSPOOF(_i)	(0x08200 + ((_i) * 4)) /* 8 of these 0 - 7 */
#define IXGBE_PFDTXGSWC		0x08220
#define IXGBE_DTXMXSZRQ		0x08100
#define IXGBE_DTXTCPFLGL	0x04A88
#define IXGBE_DTXTCPFLGH	0x04A8C
#define IXGBE_LBDRPEN		0x0CA00
#define IXGBE_TXPBTHRESH(_i)	(0x04950 + ((_i) * 4)) /* 8 of these 0 - 7 */

#define IXGBE_DMATXCTL_TE	0x1 /* Transmit Enable */
#define IXGBE_DMATXCTL_NS	0x2 /* No Snoop LSO hdr buffer */
#define IXGBE_DMATXCTL_GDV	0x8 /* Global Double VLAN */
#define IXGBE_DMATXCTL_VT_SHIFT	16  /* VLAN EtherType */

#define IXGBE_PFDTXGSWC_VT_LBEN	0x1 /* Local L2 VT switch enable */

/* Anti-spoofing defines */
#define IXGBE_SPOOF_MACAS_MASK		0xFF
#define IXGBE_SPOOF_VLANAS_MASK		0xFF00
#define IXGBE_SPOOF_VLANAS_SHIFT	8
#define IXGBE_PFVFSPOOF_REG_COUNT	8
/* 16 of these (0-15) */
#define IXGBE_DCA_TXCTRL(_i)		(0x07200 + ((_i) * 4))
/* Tx DCA Control register : 128 of these (0-127) */
#define IXGBE_DCA_TXCTRL_82599(_i)	(0x0600C + ((_i) * 0x40))
#define IXGBE_TIPG			0x0CB00
#define IXGBE_TXPBSIZE(_i)		(0x0CC00 + ((_i) * 4)) /* 8 of these */
#define IXGBE_MNGTXMAP			0x0CD10
#define IXGBE_TIPG_FIBER_DEFAULT	3
#define IXGBE_TXPBSIZE_SHIFT		10

/* Wake up registers */
#define IXGBE_WUC	0x05800
#define IXGBE_WUFC	0x05808
#define IXGBE_WUS	0x05810
#define IXGBE_IPAV	0x05838
#define IXGBE_IP4AT	0x05840 /* IPv4 table 0x5840-0x5858 */
#define IXGBE_IP6AT	0x05880 /* IPv6 table 0x5880-0x588F */

#define IXGBE_WUPL	0x05900
#define IXGBE_WUPM	0x05A00 /* wake up pkt memory 0x5A00-0x5A7C */
#define IXGBE_FHFT(_n)	(0x09000 + (_n * 0x100)) /* Flex host filter table */
/* Ext Flexible Host Filter Table */
#define IXGBE_FHFT_EXT(_n)	(0x09800 + (_n * 0x100))

#define IXGBE_FLEXIBLE_FILTER_COUNT_MAX		4
#define IXGBE_EXT_FLEXIBLE_FILTER_COUNT_MAX	2

/* Each Flexible Filter is at most 128 (0x80) bytes in length */
#define IXGBE_FLEXIBLE_FILTER_SIZE_MAX		128
#define IXGBE_FHFT_LENGTH_OFFSET		0xFC  /* Length byte in FHFT */
#define IXGBE_FHFT_LENGTH_MASK			0x0FF /* Length in lower byte */

/* Definitions for power management and wakeup registers */
/* Wake Up Control */
#define IXGBE_WUC_PME_EN	0x00000002 /* PME Enable */
#define IXGBE_WUC_PME_STATUS	0x00000004 /* PME Status */
#define IXGBE_WUC_WKEN		0x00000010 /* Enable PE_WAKE_N pin assertion  */

/* Wake Up Filter Control */
#define IXGBE_WUFC_LNKC	0x00000001 /* Link Status Change Wakeup Enable */
#define IXGBE_WUFC_MAG	0x00000002 /* Magic Packet Wakeup Enable */
#define IXGBE_WUFC_EX	0x00000004 /* Directed Exact Wakeup Enable */
#define IXGBE_WUFC_MC	0x00000008 /* Directed Multicast Wakeup Enable */
#define IXGBE_WUFC_BC	0x00000010 /* Broadcast Wakeup Enable */
#define IXGBE_WUFC_ARP	0x00000020 /* ARP Request Packet Wakeup Enable */
#define IXGBE_WUFC_IPV4	0x00000040 /* Directed IPv4 Packet Wakeup Enable */
#define IXGBE_WUFC_IPV6	0x00000080 /* Directed IPv6 Packet Wakeup Enable */
#define IXGBE_WUFC_MNG	0x00000100 /* Directed Mgmt Packet Wakeup Enable */

#define IXGBE_WUFC_IGNORE_TCO	0x00008000 /* Ignore WakeOn TCO packets */
#define IXGBE_WUFC_FLX0	0x00010000 /* Flexible Filter 0 Enable */
#define IXGBE_WUFC_FLX1	0x00020000 /* Flexible Filter 1 Enable */
#define IXGBE_WUFC_FLX2	0x00040000 /* Flexible Filter 2 Enable */
#define IXGBE_WUFC_FLX3	0x00080000 /* Flexible Filter 3 Enable */
#define IXGBE_WUFC_FLX4	0x00100000 /* Flexible Filter 4 Enable */
#define IXGBE_WUFC_FLX5	0x00200000 /* Flexible Filter 5 Enable */
#define IXGBE_WUFC_FLX_FILTERS	0x000F0000 /* Mask for 4 flex filters */
/* Mask for Ext. flex filters */
#define IXGBE_WUFC_EXT_FLX_FILTERS	0x00300000
#define IXGBE_WUFC_ALL_FILTERS	0x003F00FF /* Mask for all wakeup filters */
#define IXGBE_WUFC_FLX_OFFSET	16 /* Offset to the Flexible Filters bits */

/* Wake Up Status */
#define IXGBE_WUS_LNKC		IXGBE_WUFC_LNKC
#define IXGBE_WUS_MAG		IXGBE_WUFC_MAG
#define IXGBE_WUS_EX		IXGBE_WUFC_EX
#define IXGBE_WUS_MC		IXGBE_WUFC_MC
#define IXGBE_WUS_BC		IXGBE_WUFC_BC
#define IXGBE_WUS_ARP		IXGBE_WUFC_ARP
#define IXGBE_WUS_IPV4		IXGBE_WUFC_IPV4
#define IXGBE_WUS_IPV6		IXGBE_WUFC_IPV6
#define IXGBE_WUS_MNG		IXGBE_WUFC_MNG
#define IXGBE_WUS_FLX0		IXGBE_WUFC_FLX0
#define IXGBE_WUS_FLX1		IXGBE_WUFC_FLX1
#define IXGBE_WUS_FLX2		IXGBE_WUFC_FLX2
#define IXGBE_WUS_FLX3		IXGBE_WUFC_FLX3
#define IXGBE_WUS_FLX4		IXGBE_WUFC_FLX4
#define IXGBE_WUS_FLX5		IXGBE_WUFC_FLX5
#define IXGBE_WUS_FLX_FILTERS	IXGBE_WUFC_FLX_FILTERS

/* Wake Up Packet Length */
#define IXGBE_WUPL_LENGTH_MASK	0xFFFF

/* DCB registers */
#define IXGBE_DCB_MAX_TRAFFIC_CLASS	8
#define IXGBE_RMCS		0x03D00
#define IXGBE_DPMCS		0x07F40
#define IXGBE_PDPMCS		0x0CD00
#define IXGBE_RUPPBMR		0x050A0
#define IXGBE_RT2CR(_i)		(0x03C20 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_RT2SR(_i)		(0x03C40 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_TDTQ2TCCR(_i)	(0x0602C + ((_i) * 0x40)) /* 8 of these (0-7) */
#define IXGBE_TDTQ2TCSR(_i)	(0x0622C + ((_i) * 0x40)) /* 8 of these (0-7) */
#define IXGBE_TDPT2TCCR(_i)	(0x0CD20 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_TDPT2TCSR(_i)	(0x0CD40 + ((_i) * 4)) /* 8 of these (0-7) */


/* Security Control Registers */
#define IXGBE_SECTXCTRL		0x08800
#define IXGBE_SECTXSTAT		0x08804
#define IXGBE_SECTXBUFFAF	0x08808
#define IXGBE_SECTXMINIFG	0x08810
#define IXGBE_SECRXCTRL		0x08D00
#define IXGBE_SECRXSTAT		0x08D04

/* Security Bit Fields and Masks */
#define IXGBE_SECTXCTRL_SECTX_DIS	0x00000001
#define IXGBE_SECTXCTRL_TX_DIS		0x00000002
#define IXGBE_SECTXCTRL_STORE_FORWARD	0x00000004

#define IXGBE_SECTXSTAT_SECTX_RDY	0x00000001
#define IXGBE_SECTXSTAT_ECC_TXERR	0x00000002

#define IXGBE_SECRXCTRL_SECRX_DIS	0x00000001
#define IXGBE_SECRXCTRL_RX_DIS		0x00000002

#define IXGBE_SECRXSTAT_SECRX_RDY	0x00000001
#define IXGBE_SECRXSTAT_ECC_RXERR	0x00000002

/* LinkSec (MacSec) Registers */
#define IXGBE_LSECTXCAP		0x08A00
#define IXGBE_LSECRXCAP		0x08F00
#define IXGBE_LSECTXCTRL	0x08A04
#define IXGBE_LSECTXSCL		0x08A08 /* SCI Low */
#define IXGBE_LSECTXSCH		0x08A0C /* SCI High */
#define IXGBE_LSECTXSA		0x08A10
#define IXGBE_LSECTXPN0		0x08A14
#define IXGBE_LSECTXPN1		0x08A18
#define IXGBE_LSECTXKEY0(_n)	(0x08A1C + (4 * (_n))) /* 4 of these (0-3) */
#define IXGBE_LSECTXKEY1(_n)	(0x08A2C + (4 * (_n))) /* 4 of these (0-3) */
#define IXGBE_LSECRXCTRL	0x08F04
#define IXGBE_LSECRXSCL		0x08F08
#define IXGBE_LSECRXSCH		0x08F0C
#define IXGBE_LSECRXSA(_i)	(0x08F10 + (4 * (_i))) /* 2 of these (0-1) */
#define IXGBE_LSECRXPN(_i)	(0x08F18 + (4 * (_i))) /* 2 of these (0-1) */
#define IXGBE_LSECRXKEY(_n, _m)	(0x08F20 + ((0x10 * (_n)) + (4 * (_m))))
#define IXGBE_LSECTXUT		0x08A3C /* OutPktsUntagged */
#define IXGBE_LSECTXPKTE	0x08A40 /* OutPktsEncrypted */
#define IXGBE_LSECTXPKTP	0x08A44 /* OutPktsProtected */
#define IXGBE_LSECTXOCTE	0x08A48 /* OutOctetsEncrypted */
#define IXGBE_LSECTXOCTP	0x08A4C /* OutOctetsProtected */
#define IXGBE_LSECRXUT		0x08F40 /* InPktsUntagged/InPktsNoTag */
#define IXGBE_LSECRXOCTD	0x08F44 /* InOctetsDecrypted */
#define IXGBE_LSECRXOCTV	0x08F48 /* InOctetsValidated */
#define IXGBE_LSECRXBAD		0x08F4C /* InPktsBadTag */
#define IXGBE_LSECRXNOSCI	0x08F50 /* InPktsNoSci */
#define IXGBE_LSECRXUNSCI	0x08F54 /* InPktsUnknownSci */
#define IXGBE_LSECRXUNCH	0x08F58 /* InPktsUnchecked */
#define IXGBE_LSECRXDELAY	0x08F5C /* InPktsDelayed */
#define IXGBE_LSECRXLATE	0x08F60 /* InPktsLate */
#define IXGBE_LSECRXOK(_n)	(0x08F64 + (0x04 * (_n))) /* InPktsOk */
#define IXGBE_LSECRXINV(_n)	(0x08F6C + (0x04 * (_n))) /* InPktsInvalid */
#define IXGBE_LSECRXNV(_n)	(0x08F74 + (0x04 * (_n))) /* InPktsNotValid */
#define IXGBE_LSECRXUNSA	0x08F7C /* InPktsUnusedSa */
#define IXGBE_LSECRXNUSA	0x08F80 /* InPktsNotUsingSa */

/* LinkSec (MacSec) Bit Fields and Masks */
#define IXGBE_LSECTXCAP_SUM_MASK	0x00FF0000
#define IXGBE_LSECTXCAP_SUM_SHIFT	16
#define IXGBE_LSECRXCAP_SUM_MASK	0x00FF0000
#define IXGBE_LSECRXCAP_SUM_SHIFT	16

#define IXGBE_LSECTXCTRL_EN_MASK	0x00000003
#define IXGBE_LSECTXCTRL_DISABLE	0x0
#define IXGBE_LSECTXCTRL_AUTH		0x1
#define IXGBE_LSECTXCTRL_AUTH_ENCRYPT	0x2
#define IXGBE_LSECTXCTRL_AISCI		0x00000020
#define IXGBE_LSECTXCTRL_PNTHRSH_MASK	0xFFFFFF00
#define IXGBE_LSECTXCTRL_RSV_MASK	0x000000D8

#define IXGBE_LSECRXCTRL_EN_MASK	0x0000000C
#define IXGBE_LSECRXCTRL_EN_SHIFT	2
#define IXGBE_LSECRXCTRL_DISABLE	0x0
#define IXGBE_LSECRXCTRL_CHECK		0x1
#define IXGBE_LSECRXCTRL_STRICT		0x2
#define IXGBE_LSECRXCTRL_DROP		0x3
#define IXGBE_LSECRXCTRL_PLSH		0x00000040
#define IXGBE_LSECRXCTRL_RP		0x00000080
#define IXGBE_LSECRXCTRL_RSV_MASK	0xFFFFFF33

/* IpSec Registers */
#define IXGBE_IPSTXIDX		0x08900
#define IXGBE_IPSTXSALT		0x08904
#define IXGBE_IPSTXKEY(_i)	(0x08908 + (4 * (_i))) /* 4 of these (0-3) */
#define IXGBE_IPSRXIDX		0x08E00
#define IXGBE_IPSRXIPADDR(_i)	(0x08E04 + (4 * (_i))) /* 4 of these (0-3) */
#define IXGBE_IPSRXSPI		0x08E14
#define IXGBE_IPSRXIPIDX	0x08E18
#define IXGBE_IPSRXKEY(_i)	(0x08E1C + (4 * (_i))) /* 4 of these (0-3) */
#define IXGBE_IPSRXSALT		0x08E2C
#define IXGBE_IPSRXMOD		0x08E30

#define IXGBE_SECTXCTRL_STORE_FORWARD_ENABLE	0x4

/* DCB registers */
#define IXGBE_RTRPCS		0x02430
#define IXGBE_RTTDCS		0x04900
#define IXGBE_RTTDCS_ARBDIS	0x00000040 /* DCB arbiter disable */
#define IXGBE_RTTPCS		0x0CD00
#define IXGBE_RTRUP2TC		0x03020
#define IXGBE_RTTUP2TC		0x0C800
#define IXGBE_RTRPT4C(_i)	(0x02140 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_TXLLQ(_i)		(0x082E0 + ((_i) * 4)) /* 4 of these (0-3) */
#define IXGBE_RTRPT4S(_i)	(0x02160 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_RTTDT2C(_i)	(0x04910 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_RTTDT2S(_i)	(0x04930 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_RTTPT2C(_i)	(0x0CD20 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_RTTPT2S(_i)	(0x0CD40 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_RTTDQSEL		0x04904
#define IXGBE_RTTDT1C		0x04908
#define IXGBE_RTTDT1S		0x0490C
#define IXGBE_RTTDTECC		0x04990
#define IXGBE_RTTDTECC_NO_BCN	0x00000100

#define IXGBE_RTTBCNRC			0x04984
#define IXGBE_RTTBCNRC_RS_ENA		0x80000000
#define IXGBE_RTTBCNRC_RF_DEC_MASK	0x00003FFF
#define IXGBE_RTTBCNRC_RF_INT_SHIFT	14
#define IXGBE_RTTBCNRC_RF_INT_MASK \
	(IXGBE_RTTBCNRC_RF_DEC_MASK << IXGBE_RTTBCNRC_RF_INT_SHIFT)
#define IXGBE_RTTBCNRM	0x04980

/* FCoE DMA Context Registers */
#define IXGBE_FCPTRL		0x02410 /* FC User Desc. PTR Low */
#define IXGBE_FCPTRH		0x02414 /* FC USer Desc. PTR High */
#define IXGBE_FCBUFF		0x02418 /* FC Buffer Control */
#define IXGBE_FCDMARW		0x02420 /* FC Receive DMA RW */
#define IXGBE_FCINVST0		0x03FC0 /* FC Invalid DMA Context Status Reg 0*/
#define IXGBE_FCINVST(_i)	(IXGBE_FCINVST0 + ((_i) * 4))
#define IXGBE_FCBUFF_VALID	(1 << 0)   /* DMA Context Valid */
#define IXGBE_FCBUFF_BUFFSIZE	(3 << 3)   /* User Buffer Size */
#define IXGBE_FCBUFF_WRCONTX	(1 << 7)   /* 0: Initiator, 1: Target */
#define IXGBE_FCBUFF_BUFFCNT	0x0000ff00 /* Number of User Buffers */
#define IXGBE_FCBUFF_OFFSET	0xffff0000 /* User Buffer Offset */
#define IXGBE_FCBUFF_BUFFSIZE_SHIFT	3
#define IXGBE_FCBUFF_BUFFCNT_SHIFT	8
#define IXGBE_FCBUFF_OFFSET_SHIFT	16
#define IXGBE_FCDMARW_WE		(1 << 14)   /* Write enable */
#define IXGBE_FCDMARW_RE		(1 << 15)   /* Read enable */
#define IXGBE_FCDMARW_FCOESEL		0x000001ff  /* FC X_ID: 11 bits */
#define IXGBE_FCDMARW_LASTSIZE		0xffff0000  /* Last User Buffer Size */
#define IXGBE_FCDMARW_LASTSIZE_SHIFT	16
/* FCoE SOF/EOF */
#define IXGBE_TEOFF		0x04A94 /* Tx FC EOF */
#define IXGBE_TSOFF		0x04A98 /* Tx FC SOF */
#define IXGBE_REOFF		0x05158 /* Rx FC EOF */
#define IXGBE_RSOFF		0x051F8 /* Rx FC SOF */
/* FCoE Filter Context Registers */
#define IXGBE_FCFLT		0x05108 /* FC FLT Context */
#define IXGBE_FCFLTRW		0x05110 /* FC Filter RW Control */
#define IXGBE_FCPARAM		0x051d8 /* FC Offset Parameter */
#define IXGBE_FCFLT_VALID	(1 << 0)   /* Filter Context Valid */
#define IXGBE_FCFLT_FIRST	(1 << 1)   /* Filter First */
#define IXGBE_FCFLT_SEQID	0x00ff0000 /* Sequence ID */
#define IXGBE_FCFLT_SEQCNT	0xff000000 /* Sequence Count */
#define IXGBE_FCFLTRW_RVALDT	(1 << 13)  /* Fast Re-Validation */
#define IXGBE_FCFLTRW_WE	(1 << 14)  /* Write Enable */
#define IXGBE_FCFLTRW_RE	(1 << 15)  /* Read Enable */
/* FCoE Receive Control */
#define IXGBE_FCRXCTRL		0x05100 /* FC Receive Control */
#define IXGBE_FCRXCTRL_FCOELLI	(1 << 0)   /* Low latency interrupt */
#define IXGBE_FCRXCTRL_SAVBAD	(1 << 1)   /* Save Bad Frames */
#define IXGBE_FCRXCTRL_FRSTRDH	(1 << 2)   /* EN 1st Read Header */
#define IXGBE_FCRXCTRL_LASTSEQH	(1 << 3)   /* EN Last Header in Seq */
#define IXGBE_FCRXCTRL_ALLH	(1 << 4)   /* EN All Headers */
#define IXGBE_FCRXCTRL_FRSTSEQH	(1 << 5)   /* EN 1st Seq. Header */
#define IXGBE_FCRXCTRL_ICRC	(1 << 6)   /* Ignore Bad FC CRC */
#define IXGBE_FCRXCTRL_FCCRCBO	(1 << 7)   /* FC CRC Byte Ordering */
#define IXGBE_FCRXCTRL_FCOEVER	0x00000f00 /* FCoE Version: 4 bits */
#define IXGBE_FCRXCTRL_FCOEVER_SHIFT	8
/* FCoE Redirection */
#define IXGBE_FCRECTL		0x0ED00 /* FC Redirection Control */
#define IXGBE_FCRETA0		0x0ED10 /* FC Redirection Table 0 */
#define IXGBE_FCRETA(_i)	(IXGBE_FCRETA0 + ((_i) * 4)) /* FCoE Redir */
#define IXGBE_FCRECTL_ENA	0x1 /* FCoE Redir Table Enable */
#define IXGBE_FCRETASEL_ENA	0x2 /* FCoE FCRETASEL bit */
#define IXGBE_FCRETA_SIZE	8 /* Max entries in FCRETA */
#define IXGBE_FCRETA_ENTRY_MASK	0x0000007f /* 7 bits for the queue index */

/* Stats registers */
#define IXGBE_CRCERRS	0x04000
#define IXGBE_ILLERRC	0x04004
#define IXGBE_ERRBC	0x04008
#define IXGBE_MSPDC	0x04010
#define IXGBE_MPC(_i)	(0x03FA0 + ((_i) * 4)) /* 8 of these 3FA0-3FBC*/
#define IXGBE_MLFC	0x04034
#define IXGBE_MRFC	0x04038
#define IXGBE_RLEC	0x04040
#define IXGBE_LXONTXC	0x03F60
#define IXGBE_LXONRXC	0x0CF60
#define IXGBE_LXOFFTXC	0x03F68
#define IXGBE_LXOFFRXC	0x0CF68
#define IXGBE_LXONRXCNT		0x041A4
#define IXGBE_LXOFFRXCNT	0x041A8
#define IXGBE_PXONRXCNT(_i)	(0x04140 + ((_i) * 4)) /* 8 of these */
#define IXGBE_PXOFFRXCNT(_i)	(0x04160 + ((_i) * 4)) /* 8 of these */
#define IXGBE_PXON2OFFCNT(_i)	(0x03240 + ((_i) * 4)) /* 8 of these */
#define IXGBE_PXONTXC(_i)	(0x03F00 + ((_i) * 4)) /* 8 of these 3F00-3F1C*/
#define IXGBE_PXONRXC(_i)	(0x0CF00 + ((_i) * 4)) /* 8 of these CF00-CF1C*/
#define IXGBE_PXOFFTXC(_i)	(0x03F20 + ((_i) * 4)) /* 8 of these 3F20-3F3C*/
#define IXGBE_PXOFFRXC(_i)	(0x0CF20 + ((_i) * 4)) /* 8 of these CF20-CF3C*/
#define IXGBE_PRC64		0x0405C
#define IXGBE_PRC127		0x04060
#define IXGBE_PRC255		0x04064
#define IXGBE_PRC511		0x04068
#define IXGBE_PRC1023		0x0406C
#define IXGBE_PRC1522		0x04070
#define IXGBE_GPRC		0x04074
#define IXGBE_BPRC		0x04078
#define IXGBE_MPRC		0x0407C
#define IXGBE_GPTC		0x04080
#define IXGBE_GORCL		0x04088
#define IXGBE_GORCH		0x0408C
#define IXGBE_GOTCL		0x04090
#define IXGBE_GOTCH		0x04094
#define IXGBE_RNBC(_i)		(0x03FC0 + ((_i) * 4)) /* 8 of these 3FC0-3FDC*/
#define IXGBE_RUC		0x040A4
#define IXGBE_RFC		0x040A8
#define IXGBE_ROC		0x040AC
#define IXGBE_RJC		0x040B0
#define IXGBE_MNGPRC		0x040B4
#define IXGBE_MNGPDC		0x040B8
#define IXGBE_MNGPTC		0x0CF90
#define IXGBE_TORL		0x040C0
#define IXGBE_TORH		0x040C4
#define IXGBE_TPR		0x040D0
#define IXGBE_TPT		0x040D4
#define IXGBE_PTC64		0x040D8
#define IXGBE_PTC127		0x040DC
#define IXGBE_PTC255		0x040E0
#define IXGBE_PTC511		0x040E4
#define IXGBE_PTC1023		0x040E8
#define IXGBE_PTC1522		0x040EC
#define IXGBE_MPTC		0x040F0
#define IXGBE_BPTC		0x040F4
#define IXGBE_XEC		0x04120
#define IXGBE_SSVPC		0x08780

#define IXGBE_RQSMR(_i)	(0x02300 + ((_i) * 4))
#define IXGBE_TQSMR(_i)	(((_i) <= 7) ? (0x07300 + ((_i) * 4)) : \
			 (0x08600 + ((_i) * 4)))
#define IXGBE_TQSM(_i)	(0x08600 + ((_i) * 4))

#define IXGBE_QPRC(_i)	(0x01030 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QPTC(_i)	(0x06030 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QBRC(_i)	(0x01034 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QBTC(_i)	(0x06034 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QBRC_L(_i)	(0x01034 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QBRC_H(_i)	(0x01038 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QPRDC(_i)		(0x01430 + ((_i) * 0x40)) /* 16 of these */
#define IXGBE_QBTC_L(_i)	(0x08700 + ((_i) * 0x8)) /* 16 of these */
#define IXGBE_QBTC_H(_i)	(0x08704 + ((_i) * 0x8)) /* 16 of these */
#define IXGBE_FCCRC		0x05118 /* Num of Good Eth CRC w/ Bad FC CRC */
#define IXGBE_FCOERPDC		0x0241C /* FCoE Rx Packets Dropped Count */
#define IXGBE_FCLAST		0x02424 /* FCoE Last Error Count */
#define IXGBE_FCOEPRC		0x02428 /* Number of FCoE Packets Received */
#define IXGBE_FCOEDWRC		0x0242C /* Number of FCoE DWords Received */
#define IXGBE_FCOEPTC		0x08784 /* Number of FCoE Packets Transmitted */
#define IXGBE_FCOEDWTC		0x08788 /* Number of FCoE DWords Transmitted */
#define IXGBE_FCCRC_CNT_MASK	0x0000FFFF /* CRC_CNT: bit 0 - 15 */
#define IXGBE_FCLAST_CNT_MASK	0x0000FFFF /* Last_CNT: bit 0 - 15 */
#define IXGBE_O2BGPTC		0x041C4
#define IXGBE_O2BSPC		0x087B0
#define IXGBE_B2OSPC		0x041C0
#define IXGBE_B2OGPRC		0x02F90
#define IXGBE_BUPRC		0x04180
#define IXGBE_BMPRC		0x04184
#define IXGBE_BBPRC		0x04188
#define IXGBE_BUPTC		0x0418C
#define IXGBE_BMPTC		0x04190
#define IXGBE_BBPTC		0x04194
#define IXGBE_BCRCERRS		0x04198
#define IXGBE_BXONRXC		0x0419C
#define IXGBE_BXOFFRXC		0x041E0
#define IXGBE_BXONTXC		0x041E4
#define IXGBE_BXOFFTXC		0x041E8
#define IXGBE_PCRC8ECL		0x0E810
#define IXGBE_PCRC8ECH		0x0E811
#define IXGBE_PCRC8ECH_MASK	0x1F
#define IXGBE_LDPCECL		0x0E820
#define IXGBE_LDPCECH		0x0E821

/* Management */
#define IXGBE_MAVTV(_i)		(0x05010 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_MFUTP(_i)		(0x05030 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_MANC		0x05820
#define IXGBE_MFVAL		0x05824
#define IXGBE_MANC2H		0x05860
#define IXGBE_MDEF(_i)		(0x05890 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_MIPAF		0x058B0
#define IXGBE_MMAL(_i)		(0x05910 + ((_i) * 8)) /* 4 of these (0-3) */
#define IXGBE_MMAH(_i)		(0x05914 + ((_i) * 8)) /* 4 of these (0-3) */
#define IXGBE_FTFT		0x09400 /* 0x9400-0x97FC */
#define IXGBE_METF(_i)		(0x05190 + ((_i) * 4)) /* 4 of these (0-3) */
#define IXGBE_MDEF_EXT(_i)	(0x05160 + ((_i) * 4)) /* 8 of these (0-7) */
#define IXGBE_LSWFW		0x15014
#define IXGBE_BMCIP(_i)		(0x05050 + ((_i) * 4)) /* 0x5050-0x505C */
#define IXGBE_BMCIPVAL		0x05060
#define IXGBE_BMCIP_IPADDR_TYPE	0x00000001
#define IXGBE_BMCIP_IPADDR_VALID	0x00000002

/* Management Bit Fields and Masks */
#define IXGBE_MANC_EN_BMC2OS	0x10000000 /* Ena BMC2OS and OS2BMC traffic */
#define IXGBE_MANC_EN_BMC2OS_SHIFT	28

/* Firmware Semaphore Register */
#define IXGBE_FWSM_MODE_MASK	0xE

/* ARC Subsystem registers */
#define IXGBE_HICR		0x15F00
#define IXGBE_FWSTS		0x15F0C
#define IXGBE_HSMC0R		0x15F04
#define IXGBE_HSMC1R		0x15F08
#define IXGBE_SWSR		0x15F10
#define IXGBE_HFDR		0x15FE8
#define IXGBE_FLEX_MNG		0x15800 /* 0x15800 - 0x15EFC */

#define IXGBE_HICR_EN		0x01  /* Enable bit - RO */
/* Driver sets this bit when done to put command in RAM */
#define IXGBE_HICR_C		0x02
#define IXGBE_HICR_SV		0x04  /* Status Validity */
#define IXGBE_HICR_FW_RESET_ENABLE	0x40
#define IXGBE_HICR_FW_RESET	0x80

/* PCI-E registers */
#define IXGBE_GCR		0x11000
#define IXGBE_GTV		0x11004
#define IXGBE_FUNCTAG		0x11008
#define IXGBE_GLT		0x1100C
#define IXGBE_PCIEPIPEADR	0x11004
#define IXGBE_PCIEPIPEDAT	0x11008
#define IXGBE_GSCL_1		0x11010
#define IXGBE_GSCL_2		0x11014
#define IXGBE_GSCL_3		0x11018
#define IXGBE_GSCL_4		0x1101C
#define IXGBE_GSCN_0		0x11020
#define IXGBE_GSCN_1		0x11024
#define IXGBE_GSCN_2		0x11028
#define IXGBE_GSCN_3		0x1102C
#define IXGBE_FACTPS		0x10150
#define IXGBE_PCIEANACTL	0x11040
#define IXGBE_SWSM		0x10140
#define IXGBE_FWSM		0x10148
#define IXGBE_GSSR		0x10160
#define IXGBE_MREVID		0x11064
#define IXGBE_DCA_ID		0x11070
#define IXGBE_DCA_CTRL		0x11074
#define IXGBE_SWFW_SYNC		IXGBE_GSSR

/* PCI-E registers 82599-Specific */
#define IXGBE_GCR_EXT		0x11050
#define IXGBE_GSCL_5_82599	0x11030
#define IXGBE_GSCL_6_82599	0x11034
#define IXGBE_GSCL_7_82599	0x11038
#define IXGBE_GSCL_8_82599	0x1103C
#define IXGBE_PHYADR_82599	0x11040
#define IXGBE_PHYDAT_82599	0x11044
#define IXGBE_PHYCTL_82599	0x11048
#define IXGBE_PBACLR_82599	0x11068
#define IXGBE_CIAA_82599	0x11088
#define IXGBE_CIAD_82599	0x1108C
#define IXGBE_PICAUSE		0x110B0
#define IXGBE_PIENA		0x110B8
#define IXGBE_CDQ_MBR_82599	0x110B4
#define IXGBE_PCIESPARE		0x110BC
#define IXGBE_MISC_REG_82599	0x110F0
#define IXGBE_ECC_CTRL_0_82599	0x11100
#define IXGBE_ECC_CTRL_1_82599	0x11104
#define IXGBE_ECC_STATUS_82599	0x110E0
#define IXGBE_BAR_CTRL_82599	0x110F4

/* PCI Express Control */
#define IXGBE_GCR_CMPL_TMOUT_MASK	0x0000F000
#define IXGBE_GCR_CMPL_TMOUT_10ms	0x00001000
#define IXGBE_GCR_CMPL_TMOUT_RESEND	0x00010000
#define IXGBE_GCR_CAP_VER2		0x00040000

#define IXGBE_GCR_EXT_MSIX_EN		0x80000000
#define IXGBE_GCR_EXT_BUFFERS_CLEAR	0x40000000
#define IXGBE_GCR_EXT_VT_MODE_16	0x00000001
#define IXGBE_GCR_EXT_VT_MODE_32	0x00000002
#define IXGBE_GCR_EXT_VT_MODE_64	0x00000003
#define IXGBE_GCR_EXT_SRIOV		(IXGBE_GCR_EXT_MSIX_EN | \
					 IXGBE_GCR_EXT_VT_MODE_64)
#define IXGBE_GCR_EXT_VT_MODE_MASK	0x00000003
/* Time Sync Registers */
#define IXGBE_TSYNCRXCTL	0x05188 /* Rx Time Sync Control register - RW */
#define IXGBE_TSYNCTXCTL	0x08C00 /* Tx Time Sync Control register - RW */
#define IXGBE_RXSTMPL	0x051E8 /* Rx timestamp Low - RO */
#define IXGBE_RXSTMPH	0x051A4 /* Rx timestamp High - RO */
#define IXGBE_RXSATRL	0x051A0 /* Rx timestamp attribute low - RO */
#define IXGBE_RXSATRH	0x051A8 /* Rx timestamp attribute high - RO */
#define IXGBE_RXMTRL	0x05120 /* RX message type register low - RW */
#define IXGBE_TXSTMPL	0x08C04 /* Tx timestamp value Low - RO */
#define IXGBE_TXSTMPH	0x08C08 /* Tx timestamp value High - RO */
#define IXGBE_SYSTIML	0x08C0C /* System time register Low - RO */
#define IXGBE_SYSTIMH	0x08C10 /* System time register High - RO */
#define IXGBE_TIMINCA	0x08C14 /* Increment attributes register - RW */
#define IXGBE_TIMADJL	0x08C18 /* Time Adjustment Offset register Low - RW */
#define IXGBE_TIMADJH	0x08C1C /* Time Adjustment Offset register High - RW */
#define IXGBE_TSAUXC	0x08C20 /* TimeSync Auxiliary Control register - RW */
#define IXGBE_TRGTTIML0	0x08C24 /* Target Time Register 0 Low - RW */
#define IXGBE_TRGTTIMH0	0x08C28 /* Target Time Register 0 High - RW */
#define IXGBE_TRGTTIML1	0x08C2C /* Target Time Register 1 Low - RW */
#define IXGBE_TRGTTIMH1	0x08C30 /* Target Time Register 1 High - RW */
#define IXGBE_CLKTIML	0x08C34 /* Clock Out Time Register Low - RW */
#define IXGBE_CLKTIMH	0x08C38 /* Clock Out Time Register High - RW */
#define IXGBE_FREQOUT0	0x08C34 /* Frequency Out 0 Control register - RW */
#define IXGBE_FREQOUT1	0x08C38 /* Frequency Out 1 Control register - RW */
#define IXGBE_AUXSTMPL0	0x08C3C /* Auxiliary Time Stamp 0 register Low - RO */
#define IXGBE_AUXSTMPH0	0x08C40 /* Auxiliary Time Stamp 0 register High - RO */
#define IXGBE_AUXSTMPL1	0x08C44 /* Auxiliary Time Stamp 1 register Low - RO */
#define IXGBE_AUXSTMPH1	0x08C48 /* Auxiliary Time Stamp 1 register High - RO */

/* Diagnostic Registers */
#define IXGBE_RDSTATCTL		0x02C20
#define IXGBE_RDSTAT(_i)	(0x02C00 + ((_i) * 4)) /* 0x02C00-0x02C1C */
#define IXGBE_RDHMPN		0x02F08
#define IXGBE_RIC_DW(_i)	(0x02F10 + ((_i) * 4))
#define IXGBE_RDPROBE		0x02F20
#define IXGBE_RDMAM		0x02F30
#define IXGBE_RDMAD		0x02F34
#define IXGBE_TDSTATCTL		0x07C20
#define IXGBE_TDSTAT(_i)	(0x07C00 + ((_i) * 4)) /* 0x07C00 - 0x07C1C */
#define IXGBE_TDHMPN		0x07F08
#define IXGBE_TDHMPN2		0x082FC
#define IXGBE_TXDESCIC		0x082CC
#define IXGBE_TIC_DW(_i)	(0x07F10 + ((_i) * 4))
#define IXGBE_TIC_DW2(_i)	(0x082B0 + ((_i) * 4))
#define IXGBE_TDPROBE		0x07F20
#define IXGBE_TXBUFCTRL		0x0C600
#define IXGBE_TXBUFDATA0	0x0C610
#define IXGBE_TXBUFDATA1	0x0C614
#define IXGBE_TXBUFDATA2	0x0C618
#define IXGBE_TXBUFDATA3	0x0C61C
#define IXGBE_RXBUFCTRL		0x03600
#define IXGBE_RXBUFDATA0	0x03610
#define IXGBE_RXBUFDATA1	0x03614
#define IXGBE_RXBUFDATA2	0x03618
#define IXGBE_RXBUFDATA3	0x0361C
#define IXGBE_PCIE_DIAG(_i)	(0x11090 + ((_i) * 4)) /* 8 of these */
#define IXGBE_RFVAL		0x050A4
#define IXGBE_MDFTC1		0x042B8
#define IXGBE_MDFTC2		0x042C0
#define IXGBE_MDFTFIFO1		0x042C4
#define IXGBE_MDFTFIFO2		0x042C8
#define IXGBE_MDFTS		0x042CC
#define IXGBE_RXDATAWRPTR(_i)	(0x03700 + ((_i) * 4)) /* 8 of these 3700-370C*/
#define IXGBE_RXDESCWRPTR(_i)	(0x03710 + ((_i) * 4)) /* 8 of these 3710-371C*/
#define IXGBE_RXDATARDPTR(_i)	(0x03720 + ((_i) * 4)) /* 8 of these 3720-372C*/
#define IXGBE_RXDESCRDPTR(_i)	(0x03730 + ((_i) * 4)) /* 8 of these 3730-373C*/
#define IXGBE_TXDATAWRPTR(_i)	(0x0C700 + ((_i) * 4)) /* 8 of these C700-C70C*/
#define IXGBE_TXDESCWRPTR(_i)	(0x0C710 + ((_i) * 4)) /* 8 of these C710-C71C*/
#define IXGBE_TXDATARDPTR(_i)	(0x0C720 + ((_i) * 4)) /* 8 of these C720-C72C*/
#define IXGBE_TXDESCRDPTR(_i)	(0x0C730 + ((_i) * 4)) /* 8 of these C730-C73C*/
#define IXGBE_PCIEECCCTL	0x1106C
#define IXGBE_RXWRPTR(_i)	(0x03100 + ((_i) * 4)) /* 8 of these 3100-310C*/
#define IXGBE_RXUSED(_i)	(0x03120 + ((_i) * 4)) /* 8 of these 3120-312C*/
#define IXGBE_RXRDPTR(_i)	(0x03140 + ((_i) * 4)) /* 8 of these 3140-314C*/
#define IXGBE_RXRDWRPTR(_i)	(0x03160 + ((_i) * 4)) /* 8 of these 3160-310C*/
#define IXGBE_TXWRPTR(_i)	(0x0C100 + ((_i) * 4)) /* 8 of these C100-C10C*/
#define IXGBE_TXUSED(_i)	(0x0C120 + ((_i) * 4)) /* 8 of these C120-C12C*/
#define IXGBE_TXRDPTR(_i)	(0x0C140 + ((_i) * 4)) /* 8 of these C140-C14C*/
#define IXGBE_TXRDWRPTR(_i)	(0x0C160 + ((_i) * 4)) /* 8 of these C160-C10C*/
#define IXGBE_PCIEECCCTL0	0x11100
#define IXGBE_PCIEECCCTL1	0x11104
#define IXGBE_RXDBUECC		0x03F70
#define IXGBE_TXDBUECC		0x0CF70
#define IXGBE_RXDBUEST		0x03F74
#define IXGBE_TXDBUEST		0x0CF74
#define IXGBE_PBTXECC		0x0C300
#define IXGBE_PBRXECC		0x03300
#define IXGBE_GHECCR		0x110B0

/* MAC Registers */
#define IXGBE_PCS1GCFIG		0x04200
#define IXGBE_PCS1GLCTL		0x04208
#define IXGBE_PCS1GLSTA		0x0420C
#define IXGBE_PCS1GDBG0		0x04210
#define IXGBE_PCS1GDBG1		0x04214
#define IXGBE_PCS1GANA		0x04218
#define IXGBE_PCS1GANLP		0x0421C
#define IXGBE_PCS1GANNP		0x04220
#define IXGBE_PCS1GANLPNP	0x04224
#define IXGBE_HLREG0		0x04240
#define IXGBE_HLREG1		0x04244
#define IXGBE_PAP		0x04248
#define IXGBE_MACA		0x0424C
#define IXGBE_APAE		0x04250
#define IXGBE_ARD		0x04254
#define IXGBE_AIS		0x04258
#define IXGBE_MSCA		0x0425C
#define IXGBE_MSRWD		0x04260
#define IXGBE_MLADD		0x04264
#define IXGBE_MHADD		0x04268
#define IXGBE_MAXFRS		0x04268
#define IXGBE_TREG		0x0426C
#define IXGBE_PCSS1		0x04288
#define IXGBE_PCSS2		0x0428C
#define IXGBE_XPCSS		0x04290
#define IXGBE_MFLCN		0x04294
#define IXGBE_SERDESC		0x04298
#define IXGBE_MACS		0x0429C
#define IXGBE_AUTOC		0x042A0
#define IXGBE_LINKS		0x042A4
#define IXGBE_LINKS2		0x04324
#define IXGBE_AUTOC2		0x042A8
#define IXGBE_AUTOC3		0x042AC
#define IXGBE_ANLP1		0x042B0
#define IXGBE_ANLP2		0x042B4
#define IXGBE_MACC		0x04330
#define IXGBE_ATLASCTL		0x04800
#define IXGBE_MMNGC		0x042D0
#define IXGBE_ANLPNP1		0x042D4
#define IXGBE_ANLPNP2		0x042D8
#define IXGBE_KRPCSFC		0x042E0
#define IXGBE_KRPCSS		0x042E4
#define IXGBE_FECS1		0x042E8
#define IXGBE_FECS2		0x042EC
#define IXGBE_SMADARCTL		0x14F10
#define IXGBE_MPVC		0x04318
#define IXGBE_SGMIIC		0x04314

/* Statistics Registers */
#define IXGBE_RXNFGPC		0x041B0
#define IXGBE_RXNFGBCL		0x041B4
#define IXGBE_RXNFGBCH		0x041B8
#define IXGBE_RXDGPC		0x02F50
#define IXGBE_RXDGBCL		0x02F54
#define IXGBE_RXDGBCH		0x02F58
#define IXGBE_RXDDGPC		0x02F5C
#define IXGBE_RXDDGBCL		0x02F60
#define IXGBE_RXDDGBCH		0x02F64
#define IXGBE_RXLPBKGPC		0x02F68
#define IXGBE_RXLPBKGBCL	0x02F6C
#define IXGBE_RXLPBKGBCH	0x02F70
#define IXGBE_RXDLPBKGPC	0x02F74
#define IXGBE_RXDLPBKGBCL	0x02F78
#define IXGBE_RXDLPBKGBCH	0x02F7C
#define IXGBE_TXDGPC		0x087A0
#define IXGBE_TXDGBCL		0x087A4
#define IXGBE_TXDGBCH		0x087A8

#define IXGBE_RXDSTATCTRL	0x02F40

/* Copper Pond 2 link timeout */
#define IXGBE_VALIDATE_LINK_READY_TIMEOUT 50

/* Omer CORECTL */
#define IXGBE_CORECTL			0x014F00
/* BARCTRL */
#define IXGBE_BARCTRL			0x110F4
#define IXGBE_BARCTRL_FLSIZE		0x0700
#define IXGBE_BARCTRL_FLSIZE_SHIFT	8
#define IXGBE_BARCTRL_CSRSIZE		0x2000

/* RSCCTL Bit Masks */
#define IXGBE_RSCCTL_RSCEN	0x01
#define IXGBE_RSCCTL_MAXDESC_1	0x00
#define IXGBE_RSCCTL_MAXDESC_4	0x04
#define IXGBE_RSCCTL_MAXDESC_8	0x08
#define IXGBE_RSCCTL_MAXDESC_16	0x0C
#define IXGBE_RSCCTL_TS_DIS	0x02

/* RSCDBU Bit Masks */
#define IXGBE_RSCDBU_RSCSMALDIS_MASK	0x0000007F
#define IXGBE_RSCDBU_RSCACKDIS		0x00000080

/* RDRXCTL Bit Masks */
#define IXGBE_RDRXCTL_RDMTS_1_2		0x00000000 /* Rx Desc Min THLD Size */
#define IXGBE_RDRXCTL_CRCSTRIP		0x00000002 /* CRC Strip */
#define IXGBE_RDRXCTL_MVMEN		0x00000020
#define IXGBE_RDRXCTL_DMAIDONE		0x00000008 /* DMA init cycle done */
#define IXGBE_RDRXCTL_AGGDIS		0x00010000 /* Aggregation disable */
#define IXGBE_RDRXCTL_RSCFRSTSIZE	0x003E0000 /* RSC First packet size */
#define IXGBE_RDRXCTL_RSCLLIDIS		0x00800000 /* Disable RSC compl on LLI*/
#define IXGBE_RDRXCTL_RSCACKC		0x02000000 /* must set 1 when RSC ena */
#define IXGBE_RDRXCTL_FCOE_WRFIX	0x04000000 /* must set 1 when RSC ena */

/* RQTC Bit Masks and Shifts */
#define IXGBE_RQTC_SHIFT_TC(_i)	((_i) * 4)
#define IXGBE_RQTC_TC0_MASK	(0x7 << 0)
#define IXGBE_RQTC_TC1_MASK	(0x7 << 4)
#define IXGBE_RQTC_TC2_MASK	(0x7 << 8)
#define IXGBE_RQTC_TC3_MASK	(0x7 << 12)
#define IXGBE_RQTC_TC4_MASK	(0x7 << 16)
#define IXGBE_RQTC_TC5_MASK	(0x7 << 20)
#define IXGBE_RQTC_TC6_MASK	(0x7 << 24)
#define IXGBE_RQTC_TC7_MASK	(0x7 << 28)

/* PSRTYPE.RQPL Bit masks and shift */
#define IXGBE_PSRTYPE_RQPL_MASK		0x7
#define IXGBE_PSRTYPE_RQPL_SHIFT	29

/* CTRL Bit Masks */
#define IXGBE_CTRL_GIO_DIS	0x00000004 /* Global IO Master Disable bit */
#define IXGBE_CTRL_LNK_RST	0x00000008 /* Link Reset. Resets everything. */
#define IXGBE_CTRL_RST		0x04000000 /* Reset (SW) */
#define IXGBE_CTRL_RST_MASK	(IXGBE_CTRL_LNK_RST | IXGBE_CTRL_RST)

/* FACTPS */
#define IXGBE_FACTPS_LFS	0x40000000 /* LAN Function Select */

/* MHADD Bit Masks */
#define IXGBE_MHADD_MFS_MASK	0xFFFF0000
#define IXGBE_MHADD_MFS_SHIFT	16

/* Extended Device Control */
#define IXGBE_CTRL_EXT_PFRSTD	0x00004000 /* Physical Function Reset Done */
#define IXGBE_CTRL_EXT_NS_DIS	0x00010000 /* No Snoop disable */
#define IXGBE_CTRL_EXT_RO_DIS	0x00020000 /* Relaxed Ordering disable */
#define IXGBE_CTRL_EXT_DRV_LOAD	0x10000000 /* Driver loaded bit for FW */

/* Direct Cache Access (DCA) definitions */
#define IXGBE_DCA_CTRL_DCA_ENABLE	0x00000000 /* DCA Enable */
#define IXGBE_DCA_CTRL_DCA_DISABLE	0x00000001 /* DCA Disable */

#define IXGBE_DCA_CTRL_DCA_MODE_CB1	0x00 /* DCA Mode CB1 */
#define IXGBE_DCA_CTRL_DCA_MODE_CB2	0x02 /* DCA Mode CB2 */

#define IXGBE_DCA_RXCTRL_CPUID_MASK	0x0000001F /* Rx CPUID Mask */
#define IXGBE_DCA_RXCTRL_CPUID_MASK_82599	0xFF000000 /* Rx CPUID Mask */
#define IXGBE_DCA_RXCTRL_CPUID_SHIFT_82599	24 /* Rx CPUID Shift */
#define IXGBE_DCA_RXCTRL_DESC_DCA_EN	(1 << 5) /* Rx Desc enable */
#define IXGBE_DCA_RXCTRL_HEAD_DCA_EN	(1 << 6) /* Rx Desc header ena */
#define IXGBE_DCA_RXCTRL_DATA_DCA_EN	(1 << 7) /* Rx Desc payload ena */
#define IXGBE_DCA_RXCTRL_DESC_RRO_EN	(1 << 9) /* Rx rd Desc Relax Order */
#define IXGBE_DCA_RXCTRL_DATA_WRO_EN	(1 << 13) /* Rx wr data Relax Order */
#define IXGBE_DCA_RXCTRL_HEAD_WRO_EN	(1 << 15) /* Rx wr header RO */

#define IXGBE_DCA_TXCTRL_CPUID_MASK	0x0000001F /* Tx CPUID Mask */
#define IXGBE_DCA_TXCTRL_CPUID_MASK_82599	0xFF000000 /* Tx CPUID Mask */
#define IXGBE_DCA_TXCTRL_CPUID_SHIFT_82599	24 /* Tx CPUID Shift */
#define IXGBE_DCA_TXCTRL_DESC_DCA_EN	(1 << 5) /* DCA Tx Desc enable */
#define IXGBE_DCA_TXCTRL_DESC_RRO_EN	(1 << 9) /* Tx rd Desc Relax Order */
#define IXGBE_DCA_TXCTRL_DESC_WRO_EN	(1 << 11) /* Tx Desc writeback RO bit */
#define IXGBE_DCA_TXCTRL_DATA_RRO_EN	(1 << 13) /* Tx rd data Relax Order */
#define IXGBE_DCA_MAX_QUEUES_82598	16 /* DCA regs only on 16 queues */

/* MSCA Bit Masks */
#define IXGBE_MSCA_NP_ADDR_MASK		0x0000FFFF /* MDI Addr (new prot) */
#define IXGBE_MSCA_NP_ADDR_SHIFT	0
#define IXGBE_MSCA_DEV_TYPE_MASK	0x001F0000 /* Dev Type (new prot) */
#define IXGBE_MSCA_DEV_TYPE_SHIFT	16 /* Register Address (old prot */
#define IXGBE_MSCA_PHY_ADDR_MASK	0x03E00000 /* PHY Address mask */
#define IXGBE_MSCA_PHY_ADDR_SHIFT	21 /* PHY Address shift*/
#define IXGBE_MSCA_OP_CODE_MASK		0x0C000000 /* OP CODE mask */
#define IXGBE_MSCA_OP_CODE_SHIFT	26 /* OP CODE shift */
#define IXGBE_MSCA_ADDR_CYCLE		0x00000000 /* OP CODE 00 (addr cycle) */
#define IXGBE_MSCA_WRITE		0x04000000 /* OP CODE 01 (wr) */
#define IXGBE_MSCA_READ			0x0C000000 /* OP CODE 11 (rd) */
#define IXGBE_MSCA_READ_AUTOINC		0x08000000 /* OP CODE 10 (rd auto inc)*/
#define IXGBE_MSCA_ST_CODE_MASK		0x30000000 /* ST Code mask */
#define IXGBE_MSCA_ST_CODE_SHIFT	28 /* ST Code shift */
#define IXGBE_MSCA_NEW_PROTOCOL		0x00000000 /* ST CODE 00 (new prot) */
#define IXGBE_MSCA_OLD_PROTOCOL		0x10000000 /* ST CODE 01 (old prot) */
#define IXGBE_MSCA_MDI_COMMAND		0x40000000 /* Initiate MDI command */
#define IXGBE_MSCA_MDI_IN_PROG_EN	0x80000000 /* MDI in progress ena */

/* MSRWD bit masks */
#define IXGBE_MSRWD_WRITE_DATA_MASK	0x0000FFFF
#define IXGBE_MSRWD_WRITE_DATA_SHIFT	0
#define IXGBE_MSRWD_READ_DATA_MASK	0xFFFF0000
#define IXGBE_MSRWD_READ_DATA_SHIFT	16

/* Atlas registers */
#define IXGBE_ATLAS_PDN_LPBK		0x24
#define IXGBE_ATLAS_PDN_10G		0xB
#define IXGBE_ATLAS_PDN_1G		0xC
#define IXGBE_ATLAS_PDN_AN		0xD

/* Atlas bit masks */
#define IXGBE_ATLASCTL_WRITE_CMD	0x00010000
#define IXGBE_ATLAS_PDN_TX_REG_EN	0x10
#define IXGBE_ATLAS_PDN_TX_10G_QL_ALL	0xF0
#define IXGBE_ATLAS_PDN_TX_1G_QL_ALL	0xF0
#define IXGBE_ATLAS_PDN_TX_AN_QL_ALL	0xF0

/* Omer bit masks */
#define IXGBE_CORECTL_WRITE_CMD		0x00010000

/* Device Type definitions for new protocol MDIO commands */
#define IXGBE_MDIO_PMA_PMD_DEV_TYPE		0x1
#define IXGBE_MDIO_PCS_DEV_TYPE			0x3
#define IXGBE_MDIO_PHY_XS_DEV_TYPE		0x4
#define IXGBE_MDIO_AUTO_NEG_DEV_TYPE		0x7
#define IXGBE_MDIO_VENDOR_SPECIFIC_1_DEV_TYPE	0x1E   /* Device 30 */
#define IXGBE_TWINAX_DEV			1

#define IXGBE_MDIO_COMMAND_TIMEOUT	100 /* PHY Timeout for 1 GB mode */

#define IXGBE_MDIO_VENDOR_SPECIFIC_1_CONTROL		0x0 /* VS1 Ctrl Reg */
#define IXGBE_MDIO_VENDOR_SPECIFIC_1_STATUS		0x1 /* VS1 Status Reg */
#define IXGBE_MDIO_VENDOR_SPECIFIC_1_LINK_STATUS	0x0008 /* 1 = Link Up */
#define IXGBE_MDIO_VENDOR_SPECIFIC_1_SPEED_STATUS	0x0010 /* 0-10G, 1-1G */
#define IXGBE_MDIO_VENDOR_SPECIFIC_1_10G_SPEED		0x0018
#define IXGBE_MDIO_VENDOR_SPECIFIC_1_1G_SPEED		0x0010

#define IXGBE_MDIO_AUTO_NEG_CONTROL	0x0 /* AUTO_NEG Control Reg */
#define IXGBE_MDIO_AUTO_NEG_STATUS	0x1 /* AUTO_NEG Status Reg */
#define IXGBE_MDIO_AUTO_NEG_ADVT	0x10 /* AUTO_NEG Advt Reg */
#define IXGBE_MDIO_AUTO_NEG_LP		0x13 /* AUTO_NEG LP Status Reg */
#define IXGBE_MDIO_PHY_XS_CONTROL	0x0 /* PHY_XS Control Reg */
#define IXGBE_MDIO_PHY_XS_RESET		0x8000 /* PHY_XS Reset */
#define IXGBE_MDIO_PHY_ID_HIGH		0x2 /* PHY ID High Reg*/
#define IXGBE_MDIO_PHY_ID_LOW		0x3 /* PHY ID Low Reg*/
#define IXGBE_MDIO_PHY_SPEED_ABILITY	0x4 /* Speed Ability Reg */
#define IXGBE_MDIO_PHY_SPEED_10G	0x0001 /* 10G capable */
#define IXGBE_MDIO_PHY_SPEED_1G		0x0010 /* 1G capable */
#define IXGBE_MDIO_PHY_SPEED_100M	0x0020 /* 100M capable */
#define IXGBE_MDIO_PHY_EXT_ABILITY	0xB /* Ext Ability Reg */
#define IXGBE_MDIO_PHY_10GBASET_ABILITY		0x0004 /* 10GBaseT capable */
#define IXGBE_MDIO_PHY_1000BASET_ABILITY	0x0020 /* 1000BaseT capable */
#define IXGBE_MDIO_PHY_100BASETX_ABILITY	0x0080 /* 100BaseTX capable */
#define IXGBE_MDIO_PHY_SET_LOW_POWER_MODE	0x0800 /* Set low power mode */

#define IXGBE_MDIO_PMA_PMD_CONTROL_ADDR	0x0000 /* PMA/PMD Control Reg */
#define IXGBE_MDIO_PMA_PMD_SDA_SCL_ADDR	0xC30A /* PHY_XS SDA/SCL Addr Reg */
#define IXGBE_MDIO_PMA_PMD_SDA_SCL_DATA	0xC30B /* PHY_XS SDA/SCL Data Reg */
#define IXGBE_MDIO_PMA_PMD_SDA_SCL_STAT	0xC30C /* PHY_XS SDA/SCL Status Reg */

/* MII clause 22/28 definitions */
#define IXGBE_MDIO_PHY_LOW_POWER_MODE	0x0800

#define IXGBE_MII_10GBASE_T_AUTONEG_CTRL_REG	0x20   /* 10G Control Reg */
#define IXGBE_MII_AUTONEG_VENDOR_PROVISION_1_REG 0xC400 /* 1G Provisioning 1 */
#define IXGBE_MII_AUTONEG_XNP_TX_REG		0x17   /* 1G XNP Transmit */
#define IXGBE_MII_AUTONEG_ADVERTISE_REG		0x10   /* 100M Advertisement */
#define IXGBE_MII_10GBASE_T_ADVERTISE		0x1000 /* full duplex, bit:12*/
#define IXGBE_MII_1GBASE_T_ADVERTISE_XNP_TX	0x4000 /* full duplex, bit:14*/
#define IXGBE_MII_1GBASE_T_ADVERTISE		0x8000 /* full duplex, bit:15*/
#define IXGBE_MII_100BASE_T_ADVERTISE		0x0100 /* full duplex, bit:8 */
#define IXGBE_MII_100BASE_T_ADVERTISE_HALF	0x0080 /* half duplex, bit:7 */
#define IXGBE_MII_RESTART			0x200
#define IXGBE_MII_AUTONEG_COMPLETE		0x20
#define IXGBE_MII_AUTONEG_LINK_UP		0x04
#define IXGBE_MII_AUTONEG_REG			0x0

#define IXGBE_PHY_REVISION_MASK		0xFFFFFFF0
#define IXGBE_MAX_PHY_ADDR		32

/* PHY IDs*/
#define TN1010_PHY_ID	0x00A19410
#define TNX_FW_REV	0xB
#define X540_PHY_ID	0x01540200
#define AQ_FW_REV	0x20
#define QT2022_PHY_ID	0x0043A400
#define ATH_PHY_ID	0x03429050

/* PHY Types */
#define IXGBE_M88E1145_E_PHY_ID	0x01410CD0

/* Special PHY Init Routine */
#define IXGBE_PHY_INIT_OFFSET_NL	0x002B
#define IXGBE_PHY_INIT_END_NL		0xFFFF
#define IXGBE_CONTROL_MASK_NL		0xF000
#define IXGBE_DATA_MASK_NL		0x0FFF
#define IXGBE_CONTROL_SHIFT_NL		12
#define IXGBE_DELAY_NL			0
#define IXGBE_DATA_NL			1
#define IXGBE_CONTROL_NL		0x000F
#define IXGBE_CONTROL_EOL_NL		0x0FFF
#define IXGBE_CONTROL_SOL_NL		0x0000

/* General purpose Interrupt Enable */
#define IXGBE_SDP0_GPIEN	0x00000001 /* SDP0 */
#define IXGBE_SDP1_GPIEN	0x00000002 /* SDP1 */
#define IXGBE_SDP2_GPIEN	0x00000004 /* SDP2 */
#define IXGBE_GPIE_MSIX_MODE	0x00000010 /* MSI-X mode */
#define IXGBE_GPIE_OCD		0x00000020 /* Other Clear Disable */
#define IXGBE_GPIE_EIMEN	0x00000040 /* Immediate Interrupt Enable */
#define IXGBE_GPIE_EIAME	0x40000000
#define IXGBE_GPIE_PBA_SUPPORT	0x80000000
#define IXGBE_GPIE_RSC_DELAY_SHIFT	11
#define IXGBE_GPIE_VTMODE_MASK	0x0000C000 /* VT Mode Mask */
#define IXGBE_GPIE_VTMODE_16	0x00004000 /* 16 VFs 8 queues per VF */
#define IXGBE_GPIE_VTMODE_32	0x00008000 /* 32 VFs 4 queues per VF */
#define IXGBE_GPIE_VTMODE_64	0x0000C000 /* 64 VFs 2 queues per VF */

/* Packet Buffer Initialization */
#define IXGBE_MAX_PACKET_BUFFERS	8

#define IXGBE_TXPBSIZE_20KB	0x00005000 /* 20KB Packet Buffer */
#define IXGBE_TXPBSIZE_40KB	0x0000A000 /* 40KB Packet Buffer */
#define IXGBE_RXPBSIZE_48KB	0x0000C000 /* 48KB Packet Buffer */
#define IXGBE_RXPBSIZE_64KB	0x00010000 /* 64KB Packet Buffer */
#define IXGBE_RXPBSIZE_80KB	0x00014000 /* 80KB Packet Buffer */
#define IXGBE_RXPBSIZE_128KB	0x00020000 /* 128KB Packet Buffer */
#define IXGBE_RXPBSIZE_MAX	0x00080000 /* 512KB Packet Buffer */
#define IXGBE_TXPBSIZE_MAX	0x00028000 /* 160KB Packet Buffer */

#define IXGBE_TXPKT_SIZE_MAX	0xA /* Max Tx Packet size */
#define IXGBE_MAX_PB		8

/* Packet buffer allocation strategies */
enum {
	PBA_STRATEGY_EQUAL	= 0, /* Distribute PB space equally */
#define PBA_STRATEGY_EQUAL	PBA_STRATEGY_EQUAL
	PBA_STRATEGY_WEIGHTED	= 1, /* Weight front half of TCs */
#define PBA_STRATEGY_WEIGHTED	PBA_STRATEGY_WEIGHTED
};

/* Transmit Flow Control status */
#define IXGBE_TFCS_TXOFF	0x00000001
#define IXGBE_TFCS_TXOFF0	0x00000100
#define IXGBE_TFCS_TXOFF1	0x00000200
#define IXGBE_TFCS_TXOFF2	0x00000400
#define IXGBE_TFCS_TXOFF3	0x00000800
#define IXGBE_TFCS_TXOFF4	0x00001000
#define IXGBE_TFCS_TXOFF5	0x00002000
#define IXGBE_TFCS_TXOFF6	0x00004000
#define IXGBE_TFCS_TXOFF7	0x00008000

/* TCP Timer */
#define IXGBE_TCPTIMER_KS		0x00000100
#define IXGBE_TCPTIMER_COUNT_ENABLE	0x00000200
#define IXGBE_TCPTIMER_COUNT_FINISH	0x00000400
#define IXGBE_TCPTIMER_LOOP		0x00000800
#define IXGBE_TCPTIMER_DURATION_MASK	0x000000FF

/* HLREG0 Bit Masks */
#define IXGBE_HLREG0_TXCRCEN		0x00000001 /* bit  0 */
#define IXGBE_HLREG0_RXCRCSTRP		0x00000002 /* bit  1 */
#define IXGBE_HLREG0_JUMBOEN		0x00000004 /* bit  2 */
#define IXGBE_HLREG0_TXPADEN		0x00000400 /* bit 10 */
#define IXGBE_HLREG0_TXPAUSEEN		0x00001000 /* bit 12 */
#define IXGBE_HLREG0_RXPAUSEEN		0x00004000 /* bit 14 */
#define IXGBE_HLREG0_LPBK		0x00008000 /* bit 15 */
#define IXGBE_HLREG0_MDCSPD		0x00010000 /* bit 16 */
#define IXGBE_HLREG0_CONTMDC		0x00020000 /* bit 17 */
#define IXGBE_HLREG0_CTRLFLTR		0x00040000 /* bit 18 */
#define IXGBE_HLREG0_PREPEND		0x00F00000 /* bits 20-23 */
#define IXGBE_HLREG0_PRIPAUSEEN		0x01000000 /* bit 24 */
#define IXGBE_HLREG0_RXPAUSERECDA	0x06000000 /* bits 25-26 */
#define IXGBE_HLREG0_RXLNGTHERREN	0x08000000 /* bit 27 */
#define IXGBE_HLREG0_RXPADSTRIPEN	0x10000000 /* bit 28 */

/* VMD_CTL bitmasks */
#define IXGBE_VMD_CTL_VMDQ_EN		0x00000001
#define IXGBE_VMD_CTL_VMDQ_FILTER	0x00000002

/* VT_CTL bitmasks */
#define IXGBE_VT_CTL_DIS_DEFPL		0x20000000 /* disable default pool */
#define IXGBE_VT_CTL_REPLEN		0x40000000 /* replication enabled */
#define IXGBE_VT_CTL_VT_ENABLE		0x00000001  /* Enable VT Mode */
#define IXGBE_VT_CTL_POOL_SHIFT		7
#define IXGBE_VT_CTL_POOL_MASK		(0x3F << IXGBE_VT_CTL_POOL_SHIFT)

/* VMOLR bitmasks */
#define IXGBE_VMOLR_AUPE	0x01000000 /* accept untagged packets */
#define IXGBE_VMOLR_ROMPE	0x02000000 /* accept packets in MTA tbl */
#define IXGBE_VMOLR_ROPE	0x04000000 /* accept packets in UC tbl */
#define IXGBE_VMOLR_BAM		0x08000000 /* accept broadcast packets */
#define IXGBE_VMOLR_MPE		0x10000000 /* multicast promiscuous */

/* VFRE bitmask */
#define IXGBE_VFRE_ENABLE_ALL	0xFFFFFFFF

#define IXGBE_VF_INIT_TIMEOUT	200 /* Number of retries to clear RSTI */

/* RDHMPN and TDHMPN bitmasks */
#define IXGBE_RDHMPN_RDICADDR		0x007FF800
#define IXGBE_RDHMPN_RDICRDREQ		0x00800000
#define IXGBE_RDHMPN_RDICADDR_SHIFT	11
#define IXGBE_TDHMPN_TDICADDR		0x003FF800
#define IXGBE_TDHMPN_TDICRDREQ		0x00800000
#define IXGBE_TDHMPN_TDICADDR_SHIFT	11

#define IXGBE_RDMAM_MEM_SEL_SHIFT		13
#define IXGBE_RDMAM_DWORD_SHIFT			9
#define IXGBE_RDMAM_DESC_COMP_FIFO		1
#define IXGBE_RDMAM_DFC_CMD_FIFO		2
#define IXGBE_RDMAM_RSC_HEADER_ADDR		3
#define IXGBE_RDMAM_TCN_STATUS_RAM		4
#define IXGBE_RDMAM_WB_COLL_FIFO		5
#define IXGBE_RDMAM_QSC_CNT_RAM			6
#define IXGBE_RDMAM_QSC_FCOE_RAM		7
#define IXGBE_RDMAM_QSC_QUEUE_CNT		8
#define IXGBE_RDMAM_QSC_QUEUE_RAM		0xA
#define IXGBE_RDMAM_QSC_RSC_RAM			0xB
#define IXGBE_RDMAM_DESC_COM_FIFO_RANGE		135
#define IXGBE_RDMAM_DESC_COM_FIFO_COUNT		4
#define IXGBE_RDMAM_DFC_CMD_FIFO_RANGE		48
#define IXGBE_RDMAM_DFC_CMD_FIFO_COUNT		7
#define IXGBE_RDMAM_RSC_HEADER_ADDR_RANGE	32
#define IXGBE_RDMAM_RSC_HEADER_ADDR_COUNT	4
#define IXGBE_RDMAM_TCN_STATUS_RAM_RANGE	256
#define IXGBE_RDMAM_TCN_STATUS_RAM_COUNT	9
#define IXGBE_RDMAM_WB_COLL_FIFO_RANGE		8
#define IXGBE_RDMAM_WB_COLL_FIFO_COUNT		4
#define IXGBE_RDMAM_QSC_CNT_RAM_RANGE		64
#define IXGBE_RDMAM_QSC_CNT_RAM_COUNT		4
#define IXGBE_RDMAM_QSC_FCOE_RAM_RANGE		512
#define IXGBE_RDMAM_QSC_FCOE_RAM_COUNT		5
#define IXGBE_RDMAM_QSC_QUEUE_CNT_RANGE		32
#define IXGBE_RDMAM_QSC_QUEUE_CNT_COUNT		4
#define IXGBE_RDMAM_QSC_QUEUE_RAM_RANGE		128
#define IXGBE_RDMAM_QSC_QUEUE_RAM_COUNT		8
#define IXGBE_RDMAM_QSC_RSC_RAM_RANGE		32
#define IXGBE_RDMAM_QSC_RSC_RAM_COUNT		8

#define IXGBE_TXDESCIC_READY	0x80000000

/* Receive Checksum Control */
#define IXGBE_RXCSUM_IPPCSE	0x00001000 /* IP payload checksum enable */
#define IXGBE_RXCSUM_PCSD	0x00002000 /* packet checksum disabled */

/* FCRTL Bit Masks */
#define IXGBE_FCRTL_XONE	0x80000000 /* XON enable */
#define IXGBE_FCRTH_FCEN	0x80000000 /* Packet buffer fc enable */

/* PAP bit masks*/
#define IXGBE_PAP_TXPAUSECNT_MASK	0x0000FFFF /* Pause counter mask */

/* RMCS Bit Masks */
#define IXGBE_RMCS_RRM			0x00000002 /* Rx Recycle Mode enable */
/* Receive Arbitration Control: 0 Round Robin, 1 DFP */
#define IXGBE_RMCS_RAC			0x00000004
/* Deficit Fixed Prio ena */
#define IXGBE_RMCS_DFP			IXGBE_RMCS_RAC
#define IXGBE_RMCS_TFCE_802_3X		0x00000008 /* Tx Priority FC ena */
#define IXGBE_RMCS_TFCE_PRIORITY	0x00000010 /* Tx Priority FC ena */
#define IXGBE_RMCS_ARBDIS		0x00000040 /* Arbitration disable bit */

/* FCCFG Bit Masks */
#define IXGBE_FCCFG_TFCE_802_3X		0x00000008 /* Tx link FC enable */
#define IXGBE_FCCFG_TFCE_PRIORITY	0x00000010 /* Tx priority FC enable */

/* Interrupt register bitmasks */

/* Extended Interrupt Cause Read */
#define IXGBE_EICR_RTX_QUEUE	0x0000FFFF /* RTx Queue Interrupt */
#define IXGBE_EICR_FLOW_DIR	0x00010000 /* FDir Exception */
#define IXGBE_EICR_RX_MISS	0x00020000 /* Packet Buffer Overrun */
#define IXGBE_EICR_PCI		0x00040000 /* PCI Exception */
#define IXGBE_EICR_MAILBOX	0x00080000 /* VF to PF Mailbox Interrupt */
#define IXGBE_EICR_LSC		0x00100000 /* Link Status Change */
#define IXGBE_EICR_LINKSEC	0x00200000 /* PN Threshold */
#define IXGBE_EICR_MNG		0x00400000 /* Manageability Event Interrupt */
#define IXGBE_EICR_TS		0x00800000 /* Thermal Sensor Event */
#define IXGBE_EICR_TIMESYNC	0x01000000 /* Timesync Event */
#define IXGBE_EICR_GPI_SDP0	0x01000000 /* Gen Purpose Interrupt on SDP0 */
#define IXGBE_EICR_GPI_SDP1	0x02000000 /* Gen Purpose Interrupt on SDP1 */
#define IXGBE_EICR_GPI_SDP2	0x04000000 /* Gen Purpose Interrupt on SDP2 */
#define IXGBE_EICR_ECC		0x10000000 /* ECC Error */
#define IXGBE_EICR_PBUR		0x10000000 /* Packet Buffer Handler Error */
#define IXGBE_EICR_DHER		0x20000000 /* Descriptor Handler Error */
#define IXGBE_EICR_TCP_TIMER	0x40000000 /* TCP Timer */
#define IXGBE_EICR_OTHER	0x80000000 /* Interrupt Cause Active */

/* Extended Interrupt Cause Set */
#define IXGBE_EICS_RTX_QUEUE	IXGBE_EICR_RTX_QUEUE /* RTx Queue Interrupt */
#define IXGBE_EICS_FLOW_DIR	IXGBE_EICR_FLOW_DIR  /* FDir Exception */
#define IXGBE_EICS_RX_MISS	IXGBE_EICR_RX_MISS   /* Pkt Buffer Overrun */
#define IXGBE_EICS_PCI		IXGBE_EICR_PCI /* PCI Exception */
#define IXGBE_EICS_MAILBOX	IXGBE_EICR_MAILBOX   /* VF to PF Mailbox Int */
#define IXGBE_EICS_LSC		IXGBE_EICR_LSC /* Link Status Change */
#define IXGBE_EICS_MNG		IXGBE_EICR_MNG /* MNG Event Interrupt */
#define IXGBE_EICS_TIMESYNC	IXGBE_EICR_TIMESYNC /* Timesync Event */
#define IXGBE_EICS_GPI_SDP0	IXGBE_EICR_GPI_SDP0 /* SDP0 Gen Purpose Int */
#define IXGBE_EICS_GPI_SDP1	IXGBE_EICR_GPI_SDP1 /* SDP1 Gen Purpose Int */
#define IXGBE_EICS_GPI_SDP2	IXGBE_EICR_GPI_SDP2 /* SDP2 Gen Purpose Int */
#define IXGBE_EICS_ECC		IXGBE_EICR_ECC /* ECC Error */
#define IXGBE_EICS_PBUR		IXGBE_EICR_PBUR /* Pkt Buf Handler Err */
#define IXGBE_EICS_DHER		IXGBE_EICR_DHER /* Desc Handler Error */
#define IXGBE_EICS_TCP_TIMER	IXGBE_EICR_TCP_TIMER /* TCP Timer */
#define IXGBE_EICS_OTHER	IXGBE_EICR_OTHER /* INT Cause Active */

/* Extended Interrupt Mask Set */
#define IXGBE_EIMS_RTX_QUEUE	IXGBE_EICR_RTX_QUEUE /* RTx Queue Interrupt */
#define IXGBE_EIMS_FLOW_DIR	IXGBE_EICR_FLOW_DIR /* FDir Exception */
#define IXGBE_EIMS_RX_MISS	IXGBE_EICR_RX_MISS /* Packet Buffer Overrun */
#define IXGBE_EIMS_PCI		IXGBE_EICR_PCI /* PCI Exception */
#define IXGBE_EIMS_MAILBOX	IXGBE_EICR_MAILBOX   /* VF to PF Mailbox Int */
#define IXGBE_EIMS_LSC		IXGBE_EICR_LSC /* Link Status Change */
#define IXGBE_EIMS_MNG		IXGBE_EICR_MNG /* MNG Event Interrupt */
#define IXGBE_EIMS_TS		IXGBE_EICR_TS /* Thermal Sensor Event */
#define IXGBE_EIMS_TIMESYNC	IXGBE_EICR_TIMESYNC /* Timesync Event */
#define IXGBE_EIMS_GPI_SDP0	IXGBE_EICR_GPI_SDP0 /* SDP0 Gen Purpose Int */
#define IXGBE_EIMS_GPI_SDP1	IXGBE_EICR_GPI_SDP1 /* SDP1 Gen Purpose Int */
#define IXGBE_EIMS_GPI_SDP2	IXGBE_EICR_GPI_SDP2 /* SDP2 Gen Purpose Int */
#define IXGBE_EIMS_ECC		IXGBE_EICR_ECC /* ECC Error */
#define IXGBE_EIMS_PBUR		IXGBE_EICR_PBUR /* Pkt Buf Handler Err */
#define IXGBE_EIMS_DHER		IXGBE_EICR_DHER /* Descr Handler Error */
#define IXGBE_EIMS_TCP_TIMER	IXGBE_EICR_TCP_TIMER /* TCP Timer */
#define IXGBE_EIMS_OTHER	IXGBE_EICR_OTHER /* INT Cause Active */

/* Extended Interrupt Mask Clear */
#define IXGBE_EIMC_RTX_QUEUE	IXGBE_EICR_RTX_QUEUE /* RTx Queue Interrupt */
#define IXGBE_EIMC_FLOW_DIR	IXGBE_EICR_FLOW_DIR /* FDir Exception */
#define IXGBE_EIMC_RX_MISS	IXGBE_EICR_RX_MISS /* Packet Buffer Overrun */
#define IXGBE_EIMC_PCI		IXGBE_EICR_PCI /* PCI Exception */
#define IXGBE_EIMC_MAILBOX	IXGBE_EICR_MAILBOX /* VF to PF Mailbox Int */
#define IXGBE_EIMC_LSC		IXGBE_EICR_LSC /* Link Status Change */
#define IXGBE_EIMC_MNG		IXGBE_EICR_MNG /* MNG Event Interrupt */
#define IXGBE_EIMC_TIMESYNC	IXGBE_EICR_TIMESYNC /* Timesync Event */
#define IXGBE_EIMC_GPI_SDP0	IXGBE_EICR_GPI_SDP0 /* SDP0 Gen Purpose Int */
#define IXGBE_EIMC_GPI_SDP1	IXGBE_EICR_GPI_SDP1 /* SDP1 Gen Purpose Int */
#define IXGBE_EIMC_GPI_SDP2	IXGBE_EICR_GPI_SDP2  /* SDP2 Gen Purpose Int */
#define IXGBE_EIMC_ECC		IXGBE_EICR_ECC /* ECC Error */
#define IXGBE_EIMC_PBUR		IXGBE_EICR_PBUR /* Pkt Buf Handler Err */
#define IXGBE_EIMC_DHER		IXGBE_EICR_DHER /* Desc Handler Err */
#define IXGBE_EIMC_TCP_TIMER	IXGBE_EICR_TCP_TIMER /* TCP Timer */
#define IXGBE_EIMC_OTHER	IXGBE_EICR_OTHER /* INT Cause Active */

#define IXGBE_EIMS_ENABLE_MASK ( \
				IXGBE_EIMS_RTX_QUEUE	| \
				IXGBE_EIMS_LSC		| \
				IXGBE_EIMS_TCP_TIMER	| \
				IXGBE_EIMS_OTHER)

/* Immediate Interrupt Rx (A.K.A. Low Latency Interrupt) */
#define IXGBE_IMIR_PORT_IM_EN	0x00010000  /* TCP port enable */
#define IXGBE_IMIR_PORT_BP	0x00020000  /* TCP port check bypass */
#define IXGBE_IMIREXT_SIZE_BP	0x00001000  /* Packet size bypass */
#define IXGBE_IMIREXT_CTRL_URG	0x00002000  /* Check URG bit in header */
#define IXGBE_IMIREXT_CTRL_ACK	0x00004000  /* Check ACK bit in header */
#define IXGBE_IMIREXT_CTRL_PSH	0x00008000  /* Check PSH bit in header */
#define IXGBE_IMIREXT_CTRL_RST	0x00010000  /* Check RST bit in header */
#define IXGBE_IMIREXT_CTRL_SYN	0x00020000  /* Check SYN bit in header */
#define IXGBE_IMIREXT_CTRL_FIN	0x00040000  /* Check FIN bit in header */
#define IXGBE_IMIREXT_CTRL_BP	0x00080000  /* Bypass check of control bits */
#define IXGBE_IMIR_SIZE_BP_82599	0x00001000 /* Packet size bypass */
#define IXGBE_IMIR_CTRL_URG_82599	0x00002000 /* Check URG bit in header */
#define IXGBE_IMIR_CTRL_ACK_82599	0x00004000 /* Check ACK bit in header */
#define IXGBE_IMIR_CTRL_PSH_82599	0x00008000 /* Check PSH bit in header */
#define IXGBE_IMIR_CTRL_RST_82599	0x00010000 /* Check RST bit in header */
#define IXGBE_IMIR_CTRL_SYN_82599	0x00020000 /* Check SYN bit in header */
#define IXGBE_IMIR_CTRL_FIN_82599	0x00040000 /* Check FIN bit in header */
#define IXGBE_IMIR_CTRL_BP_82599	0x00080000 /* Bypass chk of ctrl bits */
#define IXGBE_IMIR_LLI_EN_82599		0x00100000 /* Enables low latency Int */
#define IXGBE_IMIR_RX_QUEUE_MASK_82599	0x0000007F /* Rx Queue Mask */
#define IXGBE_IMIR_RX_QUEUE_SHIFT_82599	21 /* Rx Queue Shift */
#define IXGBE_IMIRVP_PRIORITY_MASK	0x00000007 /* VLAN priority mask */
#define IXGBE_IMIRVP_PRIORITY_EN	0x00000008 /* VLAN priority enable */

#define IXGBE_MAX_FTQF_FILTERS		128
#define IXGBE_FTQF_PROTOCOL_MASK	0x00000003
#define IXGBE_FTQF_PROTOCOL_TCP		0x00000000
#define IXGBE_FTQF_PROTOCOL_UDP		0x00000001
#define IXGBE_FTQF_PROTOCOL_SCTP	2
#define IXGBE_FTQF_PRIORITY_MASK	0x00000007
#define IXGBE_FTQF_PRIORITY_SHIFT	2
#define IXGBE_FTQF_POOL_MASK		0x0000003F
#define IXGBE_FTQF_POOL_SHIFT		8
#define IXGBE_FTQF_5TUPLE_MASK_MASK	0x0000001F
#define IXGBE_FTQF_5TUPLE_MASK_SHIFT	25
#define IXGBE_FTQF_SOURCE_ADDR_MASK	0x1E
#define IXGBE_FTQF_DEST_ADDR_MASK	0x1D
#define IXGBE_FTQF_SOURCE_PORT_MASK	0x1B
#define IXGBE_FTQF_DEST_PORT_MASK	0x17
#define IXGBE_FTQF_PROTOCOL_COMP_MASK	0x0F
#define IXGBE_FTQF_POOL_MASK_EN		0x40000000
#define IXGBE_FTQF_QUEUE_ENABLE		0x80000000

/* Interrupt clear mask */
#define IXGBE_IRQ_CLEAR_MASK	0xFFFFFFFF

/* Interrupt Vector Allocation Registers */
#define IXGBE_IVAR_REG_NUM		25
#define IXGBE_IVAR_REG_NUM_82599	64
#define IXGBE_IVAR_TXRX_ENTRY		96
#define IXGBE_IVAR_RX_ENTRY		64
#define IXGBE_IVAR_RX_QUEUE(_i)		(0 + (_i))
#define IXGBE_IVAR_TX_QUEUE(_i)		(64 + (_i))
#define IXGBE_IVAR_TX_ENTRY		32

#define IXGBE_IVAR_TCP_TIMER_INDEX	96 /* 0 based index */
#define IXGBE_IVAR_OTHER_CAUSES_INDEX	97 /* 0 based index */

#define IXGBE_MSIX_VECTOR(_i)		(0 + (_i))

#define IXGBE_IVAR_ALLOC_VAL		0x80 /* Interrupt Allocation valid */

/* ETYPE Queue Filter/Select Bit Masks */
#define IXGBE_MAX_ETQF_FILTERS		8
#define IXGBE_ETQF_FCOE			0x08000000 /* bit 27 */
#define IXGBE_ETQF_BCN			0x10000000 /* bit 28 */
#define IXGBE_ETQF_1588			0x40000000 /* bit 30 */
#define IXGBE_ETQF_FILTER_EN		0x80000000 /* bit 31 */
#define IXGBE_ETQF_POOL_ENABLE		(1 << 26) /* bit 26 */
#define IXGBE_ETQF_POOL_SHIFT		20

#define IXGBE_ETQS_RX_QUEUE		0x007F0000 /* bits 22:16 */
#define IXGBE_ETQS_RX_QUEUE_SHIFT	16
#define IXGBE_ETQS_LLI			0x20000000 /* bit 29 */
#define IXGBE_ETQS_QUEUE_EN		0x80000000 /* bit 31 */

/*
 * ETQF filter list: one static filter per filter consumer. This is
 *		   to avoid filter collisions later. Add new filters
 *		   here!!
 *
 * Current filters:
 *	EAPOL 802.1x (0x888e): Filter 0
 *	FCoE (0x8906):	 Filter 2
 *	1588 (0x88f7):	 Filter 3
 *	FIP  (0x8914):	 Filter 4
 */
#define IXGBE_ETQF_FILTER_EAPOL		0
#define IXGBE_ETQF_FILTER_FCOE		2
#define IXGBE_ETQF_FILTER_1588		3
#define IXGBE_ETQF_FILTER_FIP		4
/* VLAN Control Bit Masks */
#define IXGBE_VLNCTRL_VET		0x0000FFFF  /* bits 0-15 */
#define IXGBE_VLNCTRL_CFI		0x10000000  /* bit 28 */
#define IXGBE_VLNCTRL_CFIEN		0x20000000  /* bit 29 */
#define IXGBE_VLNCTRL_VFE		0x40000000  /* bit 30 */
#define IXGBE_VLNCTRL_VME		0x80000000  /* bit 31 */

/* VLAN pool filtering masks */
#define IXGBE_VLVF_VIEN			0x80000000  /* filter is valid */
#define IXGBE_VLVF_ENTRIES		64
#define IXGBE_VLVF_VLANID_MASK		0x00000FFF
/* Per VF Port VLAN insertion rules */
#define IXGBE_VMVIR_VLANA_DEFAULT	0x40000000 /* Always use default VLAN */
#define IXGBE_VMVIR_VLANA_NEVER		0x80000000 /* Never insert VLAN tag */

#define IXGBE_ETHERNET_IEEE_VLAN_TYPE	0x8100  /* 802.1q protocol */

/* STATUS Bit Masks */
#define IXGBE_STATUS_LAN_ID		0x0000000C /* LAN ID */
#define IXGBE_STATUS_LAN_ID_SHIFT	2 /* LAN ID Shift*/
#define IXGBE_STATUS_GIO		0x00080000 /* GIO Master Ena Status */

#define IXGBE_STATUS_LAN_ID_0	0x00000000 /* LAN ID 0 */
#define IXGBE_STATUS_LAN_ID_1	0x00000004 /* LAN ID 1 */

/* ESDP Bit Masks */
#define IXGBE_ESDP_SDP0		0x00000001 /* SDP0 Data Value */
#define IXGBE_ESDP_SDP1		0x00000002 /* SDP1 Data Value */
#define IXGBE_ESDP_SDP2		0x00000004 /* SDP2 Data Value */
#define IXGBE_ESDP_SDP3		0x00000008 /* SDP3 Data Value */
#define IXGBE_ESDP_SDP4		0x00000010 /* SDP4 Data Value */
#define IXGBE_ESDP_SDP5		0x00000020 /* SDP5 Data Value */
#define IXGBE_ESDP_SDP6		0x00000040 /* SDP6 Data Value */
#define IXGBE_ESDP_SDP7		0x00000080 /* SDP7 Data Value */
#define IXGBE_ESDP_SDP0_DIR	0x00000100 /* SDP0 IO direction */
#define IXGBE_ESDP_SDP1_DIR	0x00000200 /* SDP1 IO direction */
#define IXGBE_ESDP_SDP2_DIR	0x00000400 /* SDP1 IO direction */
#define IXGBE_ESDP_SDP3_DIR	0x00000800 /* SDP3 IO direction */
#define IXGBE_ESDP_SDP4_DIR	0x00001000 /* SDP4 IO direction */
#define IXGBE_ESDP_SDP5_DIR	0x00002000 /* SDP5 IO direction */
#define IXGBE_ESDP_SDP6_DIR	0x00004000 /* SDP6 IO direction */
#define IXGBE_ESDP_SDP7_DIR	0x00008000 /* SDP7 IO direction */
#define IXGBE_ESDP_SDP0_NATIVE	0x00010000 /* SDP0 IO mode */
#define IXGBE_ESDP_SDP1_NATIVE	0x00020000 /* SDP1 IO mode */


/* LEDCTL Bit Masks */
#define IXGBE_LED_IVRT_BASE		0x00000040
#define IXGBE_LED_BLINK_BASE		0x00000080
#define IXGBE_LED_MODE_MASK_BASE	0x0000000F
#define IXGBE_LED_OFFSET(_base, _i)	(_base << (8 * (_i)))
#define IXGBE_LED_MODE_SHIFT(_i)	(8*(_i))
#define IXGBE_LED_IVRT(_i)	IXGBE_LED_OFFSET(IXGBE_LED_IVRT_BASE, _i)
#define IXGBE_LED_BLINK(_i)	IXGBE_LED_OFFSET(IXGBE_LED_BLINK_BASE, _i)
#define IXGBE_LED_MODE_MASK(_i)	IXGBE_LED_OFFSET(IXGBE_LED_MODE_MASK_BASE, _i)

/* LED modes */
#define IXGBE_LED_LINK_UP	0x0
#define IXGBE_LED_LINK_10G	0x1
#define IXGBE_LED_MAC		0x2
#define IXGBE_LED_FILTER	0x3
#define IXGBE_LED_LINK_ACTIVE	0x4
#define IXGBE_LED_LINK_1G	0x5
#define IXGBE_LED_ON		0xE
#define IXGBE_LED_OFF		0xF

/* AUTOC Bit Masks */
#define IXGBE_AUTOC_KX4_KX_SUPP_MASK 0xC0000000
#define IXGBE_AUTOC_KX4_SUPP	0x80000000
#define IXGBE_AUTOC_KX_SUPP	0x40000000
#define IXGBE_AUTOC_PAUSE	0x30000000
#define IXGBE_AUTOC_ASM_PAUSE	0x20000000
#define IXGBE_AUTOC_SYM_PAUSE	0x10000000
#define IXGBE_AUTOC_RF		0x08000000
#define IXGBE_AUTOC_PD_TMR	0x06000000
#define IXGBE_AUTOC_AN_RX_LOOSE	0x01000000
#define IXGBE_AUTOC_AN_RX_DRIFT	0x00800000
#define IXGBE_AUTOC_AN_RX_ALIGN	0x007C0000
#define IXGBE_AUTOC_FECA	0x00040000
#define IXGBE_AUTOC_FECR	0x00020000
#define IXGBE_AUTOC_KR_SUPP	0x00010000
#define IXGBE_AUTOC_AN_RESTART	0x00001000
#define IXGBE_AUTOC_FLU		0x00000001
#define IXGBE_AUTOC_LMS_SHIFT	13
#define IXGBE_AUTOC_LMS_10G_SERIAL	(0x3 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_KX4_KX_KR	(0x4 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_SGMII_1G_100M	(0x5 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_KX4_KX_KR_1G_AN	(0x6 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_KX4_KX_KR_SGMII	(0x7 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_MASK		(0x7 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_1G_LINK_NO_AN	(0x0 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_10G_LINK_NO_AN	(0x1 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_1G_AN		(0x2 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_KX4_AN		(0x4 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_KX4_AN_1G_AN	(0x6 << IXGBE_AUTOC_LMS_SHIFT)
#define IXGBE_AUTOC_LMS_ATTACH_TYPE	(0x7 << IXGBE_AUTOC_10G_PMA_PMD_SHIFT)

#define IXGBE_AUTOC_1G_PMA_PMD_MASK	0x00000200
#define IXGBE_AUTOC_1G_PMA_PMD_SHIFT	9
#define IXGBE_AUTOC_10G_PMA_PMD_MASK	0x00000180
#define IXGBE_AUTOC_10G_PMA_PMD_SHIFT	7
#define IXGBE_AUTOC_10G_XAUI	(0x0 << IXGBE_AUTOC_10G_PMA_PMD_SHIFT)
#define IXGBE_AUTOC_10G_KX4	(0x1 << IXGBE_AUTOC_10G_PMA_PMD_SHIFT)
#define IXGBE_AUTOC_10G_CX4	(0x2 << IXGBE_AUTOC_10G_PMA_PMD_SHIFT)
#define IXGBE_AUTOC_1G_BX	(0x0 << IXGBE_AUTOC_1G_PMA_PMD_SHIFT)
#define IXGBE_AUTOC_1G_KX	(0x1 << IXGBE_AUTOC_1G_PMA_PMD_SHIFT)
#define IXGBE_AUTOC_1G_SFI	(0x0 << IXGBE_AUTOC_1G_PMA_PMD_SHIFT)
#define IXGBE_AUTOC_1G_KX_BX	(0x1 << IXGBE_AUTOC_1G_PMA_PMD_SHIFT)

#define IXGBE_AUTOC2_UPPER_MASK	0xFFFF0000
#define IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_MASK	0x00030000
#define IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT	16
#define IXGBE_AUTOC2_10G_KR	(0x0 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT)
#define IXGBE_AUTOC2_10G_XFI	(0x1 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT)
#define IXGBE_AUTOC2_10G_SFI	(0x2 << IXGBE_AUTOC2_10G_SERIAL_PMA_PMD_SHIFT)

#define IXGBE_MACC_FLU		0x00000001
#define IXGBE_MACC_FSV_10G	0x00030000
#define IXGBE_MACC_FS		0x00040000
#define IXGBE_MAC_RX2TX_LPBK	0x00000002

/* LINKS Bit Masks */
#define IXGBE_LINKS_KX_AN_COMP	0x80000000
#define IXGBE_LINKS_UP		0x40000000
#define IXGBE_LINKS_SPEED	0x20000000
#define IXGBE_LINKS_MODE	0x18000000
#define IXGBE_LINKS_RX_MODE	0x06000000
#define IXGBE_LINKS_TX_MODE	0x01800000
#define IXGBE_LINKS_XGXS_EN	0x00400000
#define IXGBE_LINKS_SGMII_EN	0x02000000
#define IXGBE_LINKS_PCS_1G_EN	0x00200000
#define IXGBE_LINKS_1G_AN_EN	0x00100000
#define IXGBE_LINKS_KX_AN_IDLE	0x00080000
#define IXGBE_LINKS_1G_SYNC	0x00040000
#define IXGBE_LINKS_10G_ALIGN	0x00020000
#define IXGBE_LINKS_10G_LANE_SYNC	0x00017000
#define IXGBE_LINKS_TL_FAULT		0x00001000
#define IXGBE_LINKS_SIGNAL		0x00000F00

#define IXGBE_LINKS_SPEED_82599		0x30000000
#define IXGBE_LINKS_SPEED_10G_82599	0x30000000
#define IXGBE_LINKS_SPEED_1G_82599	0x20000000
#define IXGBE_LINKS_SPEED_100_82599	0x10000000
#define IXGBE_LINK_UP_TIME		90 /* 9.0 Seconds */
#define IXGBE_AUTO_NEG_TIME		45 /* 4.5 Seconds */

#define IXGBE_LINKS2_AN_SUPPORTED	0x00000040

/* PCS1GLSTA Bit Masks */
#define IXGBE_PCS1GLSTA_LINK_OK		1
#define IXGBE_PCS1GLSTA_SYNK_OK		0x10
#define IXGBE_PCS1GLSTA_AN_COMPLETE	0x10000
#define IXGBE_PCS1GLSTA_AN_PAGE_RX	0x20000
#define IXGBE_PCS1GLSTA_AN_TIMED_OUT	0x40000
#define IXGBE_PCS1GLSTA_AN_REMOTE_FAULT	0x80000
#define IXGBE_PCS1GLSTA_AN_ERROR_RWS	0x100000

#define IXGBE_PCS1GANA_SYM_PAUSE	0x80
#define IXGBE_PCS1GANA_ASM_PAUSE	0x100

/* PCS1GLCTL Bit Masks */
#define IXGBE_PCS1GLCTL_AN_1G_TIMEOUT_EN 0x00040000 /* PCS 1G autoneg to en */
#define IXGBE_PCS1GLCTL_FLV_LINK_UP	1
#define IXGBE_PCS1GLCTL_FORCE_LINK	0x20
#define IXGBE_PCS1GLCTL_LOW_LINK_LATCH	0x40
#define IXGBE_PCS1GLCTL_AN_ENABLE	0x10000
#define IXGBE_PCS1GLCTL_AN_RESTART	0x20000

/* ANLP1 Bit Masks */
#define IXGBE_ANLP1_PAUSE		0x0C00
#define IXGBE_ANLP1_SYM_PAUSE		0x0400
#define IXGBE_ANLP1_ASM_PAUSE		0x0800
#define IXGBE_ANLP1_AN_STATE_MASK	0x000f0000

/* SW Semaphore Register bitmasks */
#define IXGBE_SWSM_SMBI		0x00000001 /* Driver Semaphore bit */
#define IXGBE_SWSM_SWESMBI	0x00000002 /* FW Semaphore bit */
#define IXGBE_SWSM_WMNG		0x00000004 /* Wake MNG Clock */
#define IXGBE_SWFW_REGSMP	0x80000000 /* Register Semaphore bit 31 */

/* SW_FW_SYNC/GSSR definitions */
#define IXGBE_GSSR_EEP_SM	0x0001
#define IXGBE_GSSR_PHY0_SM	0x0002
#define IXGBE_GSSR_PHY1_SM	0x0004
#define IXGBE_GSSR_MAC_CSR_SM	0x0008
#define IXGBE_GSSR_FLASH_SM	0x0010
#define IXGBE_GSSR_SW_MNG_SM	0x0400

/* FW Status register bitmask */
#define IXGBE_FWSTS_FWRI	0x00000200 /* Firmware Reset Indication */

/* EEC Register */
#define IXGBE_EEC_SK		0x00000001 /* EEPROM Clock */
#define IXGBE_EEC_CS		0x00000002 /* EEPROM Chip Select */
#define IXGBE_EEC_DI		0x00000004 /* EEPROM Data In */
#define IXGBE_EEC_DO		0x00000008 /* EEPROM Data Out */
#define IXGBE_EEC_FWE_MASK	0x00000030 /* FLASH Write Enable */
#define IXGBE_EEC_FWE_DIS	0x00000010 /* Disable FLASH writes */
#define IXGBE_EEC_FWE_EN	0x00000020 /* Enable FLASH writes */
#define IXGBE_EEC_FWE_SHIFT	4
#define IXGBE_EEC_REQ		0x00000040 /* EEPROM Access Request */
#define IXGBE_EEC_GNT		0x00000080 /* EEPROM Access Grant */
#define IXGBE_EEC_PRES		0x00000100 /* EEPROM Present */
#define IXGBE_EEC_ARD		0x00000200 /* EEPROM Auto Read Done */
#define IXGBE_EEC_FLUP		0x00800000 /* Flash update command */
#define IXGBE_EEC_SEC1VAL	0x02000000 /* Sector 1 Valid */
#define IXGBE_EEC_FLUDONE	0x04000000 /* Flash update done */
/* EEPROM Addressing bits based on type (0-small, 1-large) */
#define IXGBE_EEC_ADDR_SIZE	0x00000400
#define IXGBE_EEC_SIZE		0x00007800 /* EEPROM Size */
#define IXGBE_EERD_MAX_ADDR	0x00003FFF /* EERD alows 14 bits for addr. */

#define IXGBE_EEC_SIZE_SHIFT		11
#define IXGBE_EEPROM_WORD_SIZE_SHIFT	6
#define IXGBE_EEPROM_OPCODE_BITS	8

/* Part Number String Length */
#define IXGBE_PBANUM_LENGTH	11

/* Checksum and EEPROM pointers */
#define IXGBE_PBANUM_PTR_GUARD	0xFAFA
#define IXGBE_EEPROM_CHECKSUM	0x3F
#define IXGBE_EEPROM_SUM	0xBABA
#define IXGBE_PCIE_ANALOG_PTR	0x03
#define IXGBE_ATLAS0_CONFIG_PTR	0x04
#define IXGBE_PHY_PTR		0x04
#define IXGBE_ATLAS1_CONFIG_PTR	0x05
#define IXGBE_OPTION_ROM_PTR	0x05
#define IXGBE_PCIE_GENERAL_PTR	0x06
#define IXGBE_PCIE_CONFIG0_PTR	0x07
#define IXGBE_PCIE_CONFIG1_PTR	0x08
#define IXGBE_CORE0_PTR		0x09
#define IXGBE_CORE1_PTR		0x0A
#define IXGBE_MAC0_PTR		0x0B
#define IXGBE_MAC1_PTR		0x0C
#define IXGBE_CSR0_CONFIG_PTR	0x0D
#define IXGBE_CSR1_CONFIG_PTR	0x0E
#define IXGBE_FW_PTR		0x0F
#define IXGBE_PBANUM0_PTR	0x15
#define IXGBE_PBANUM1_PTR	0x16
#define IXGBE_ALT_MAC_ADDR_PTR	0x37
#define IXGBE_FREE_SPACE_PTR	0X3E

/* External Thermal Sensor Config */
#define IXGBE_ETS_CFG			0x26
#define IXGBE_ETS_LTHRES_DELTA_MASK	0x07C0
#define IXGBE_ETS_LTHRES_DELTA_SHIFT	6
#define IXGBE_ETS_TYPE_MASK		0x0038
#define IXGBE_ETS_TYPE_SHIFT		3
#define IXGBE_ETS_TYPE_EMC		0x000
#define IXGBE_ETS_NUM_SENSORS_MASK	0x0007
#define IXGBE_ETS_DATA_LOC_MASK		0x3C00
#define IXGBE_ETS_DATA_LOC_SHIFT	10
#define IXGBE_ETS_DATA_INDEX_MASK	0x0300
#define IXGBE_ETS_DATA_INDEX_SHIFT	8
#define IXGBE_ETS_DATA_HTHRESH_MASK	0x00FF

#define IXGBE_SAN_MAC_ADDR_PTR		0x28
#define IXGBE_DEVICE_CAPS		0x2C
#define IXGBE_SERIAL_NUMBER_MAC_ADDR	0x11
#define IXGBE_PCIE_MSIX_82599_CAPS	0x72
#define IXGBE_MAX_MSIX_VECTORS_82599	0x40
#define IXGBE_PCIE_MSIX_82598_CAPS	0x62
#define IXGBE_MAX_MSIX_VECTORS_82598	0x13

/* MSI-X capability fields masks */
#define IXGBE_PCIE_MSIX_TBL_SZ_MASK	0x7FF

/* Legacy EEPROM word offsets */
#define IXGBE_ISCSI_BOOT_CAPS		0x0033
#define IXGBE_ISCSI_SETUP_PORT_0	0x0030
#define IXGBE_ISCSI_SETUP_PORT_1	0x0034

/* EEPROM Commands - SPI */
#define IXGBE_EEPROM_MAX_RETRY_SPI	5000 /* Max wait 5ms for RDY signal */
#define IXGBE_EEPROM_STATUS_RDY_SPI	0x01
#define IXGBE_EEPROM_READ_OPCODE_SPI	0x03  /* EEPROM read opcode */
#define IXGBE_EEPROM_WRITE_OPCODE_SPI	0x02  /* EEPROM write opcode */
#define IXGBE_EEPROM_A8_OPCODE_SPI	0x08  /* opcode bit-3 = addr bit-8 */
#define IXGBE_EEPROM_WREN_OPCODE_SPI	0x06  /* EEPROM set Write Ena latch */
/* EEPROM reset Write Enable latch */
#define IXGBE_EEPROM_WRDI_OPCODE_SPI	0x04
#define IXGBE_EEPROM_RDSR_OPCODE_SPI	0x05  /* EEPROM read Status reg */
#define IXGBE_EEPROM_WRSR_OPCODE_SPI	0x01  /* EEPROM write Status reg */
#define IXGBE_EEPROM_ERASE4K_OPCODE_SPI	0x20  /* EEPROM ERASE 4KB */
#define IXGBE_EEPROM_ERASE64K_OPCODE_SPI	0xD8  /* EEPROM ERASE 64KB */
#define IXGBE_EEPROM_ERASE256_OPCODE_SPI	0xDB  /* EEPROM ERASE 256B */

/* EEPROM Read Register */
#define IXGBE_EEPROM_RW_REG_DATA	16 /* data offset in EEPROM read reg */
#define IXGBE_EEPROM_RW_REG_DONE	2 /* Offset to READ done bit */
#define IXGBE_EEPROM_RW_REG_START	1 /* First bit to start operation */
#define IXGBE_EEPROM_RW_ADDR_SHIFT	2 /* Shift to the address bits */
#define IXGBE_NVM_POLL_WRITE		1 /* Flag for polling for wr complete */
#define IXGBE_NVM_POLL_READ		0 /* Flag for polling for rd complete */

#define IXGBE_ETH_LENGTH_OF_ADDRESS	6

#define IXGBE_EEPROM_PAGE_SIZE_MAX	128
#define IXGBE_EEPROM_RD_BUFFER_MAX_COUNT	512 /* words rd in burst */
#define IXGBE_EEPROM_WR_BUFFER_MAX_COUNT	256 /* words wr in burst */

#ifndef IXGBE_EEPROM_GRANT_ATTEMPTS
#define IXGBE_EEPROM_GRANT_ATTEMPTS	1000 /* EEPROM attempts to gain grant */
#endif

#ifndef IXGBE_EERD_EEWR_ATTEMPTS
/* Number of 5 microseconds we wait for EERD read and
 * EERW write to complete */
#define IXGBE_EERD_EEWR_ATTEMPTS	100000
#endif

#ifndef IXGBE_FLUDONE_ATTEMPTS
/* # attempts we wait for flush update to complete */
#define IXGBE_FLUDONE_ATTEMPTS		20000
#endif

#define IXGBE_PCIE_CTRL2		0x5   /* PCIe Control 2 Offset */
#define IXGBE_PCIE_CTRL2_DUMMY_ENABLE	0x8   /* Dummy Function Enable */
#define IXGBE_PCIE_CTRL2_LAN_DISABLE	0x2   /* LAN PCI Disable */
#define IXGBE_PCIE_CTRL2_DISABLE_SELECT	0x1   /* LAN Disable Select */

#define IXGBE_SAN_MAC_ADDR_PORT0_OFFSET		0x0
#define IXGBE_SAN_MAC_ADDR_PORT1_OFFSET		0x3
#define IXGBE_DEVICE_CAPS_ALLOW_ANY_SFP		0x1
#define IXGBE_DEVICE_CAPS_FCOE_OFFLOADS		0x2
#define IXGBE_FW_LESM_PARAMETERS_PTR		0x2
#define IXGBE_FW_LESM_STATE_1			0x1
#define IXGBE_FW_LESM_STATE_ENABLED		0x8000 /* LESM Enable bit */
#define IXGBE_FW_PASSTHROUGH_PATCH_CONFIG_PTR	0x4
#define IXGBE_FW_PATCH_VERSION_4		0x7
#define IXGBE_FCOE_IBA_CAPS_BLK_PTR		0x33 /* iSCSI/FCOE block */
#define IXGBE_FCOE_IBA_CAPS_FCOE		0x20 /* FCOE flags */
#define IXGBE_ISCSI_FCOE_BLK_PTR		0x17 /* iSCSI/FCOE block */
#define IXGBE_ISCSI_FCOE_FLAGS_OFFSET		0x0 /* FCOE flags */
#define IXGBE_ISCSI_FCOE_FLAGS_ENABLE		0x1 /* FCOE flags enable bit */
#define IXGBE_ALT_SAN_MAC_ADDR_BLK_PTR		0x27 /* Alt. SAN MAC block */
#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_OFFSET	0x0 /* Alt SAN MAC capability */
#define IXGBE_ALT_SAN_MAC_ADDR_PORT0_OFFSET	0x1 /* Alt SAN MAC 0 offset */
#define IXGBE_ALT_SAN_MAC_ADDR_PORT1_OFFSET	0x4 /* Alt SAN MAC 1 offset */
#define IXGBE_ALT_SAN_MAC_ADDR_WWNN_OFFSET	0x7 /* Alt WWNN prefix offset */
#define IXGBE_ALT_SAN_MAC_ADDR_WWPN_OFFSET	0x8 /* Alt WWPN prefix offset */
#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_SANMAC	0x0 /* Alt SAN MAC exists */
#define IXGBE_ALT_SAN_MAC_ADDR_CAPS_ALTWWN	0x1 /* Alt WWN base exists */

#define IXGBE_DEVICE_CAPS_WOL_PORT0_1	0x4 /* WoL supported on ports 0 & 1 */
#define IXGBE_DEVICE_CAPS_WOL_PORT0	0x8 /* WoL supported on port 0 */
#define IXGBE_DEVICE_CAPS_WOL_MASK	0xC /* Mask for WoL capabilities */

/* PCI Bus Info */
#define IXGBE_PCI_DEVICE_STATUS		0xAA
#define IXGBE_PCI_DEVICE_STATUS_TRANSACTION_PENDING	0x0020
#define IXGBE_PCI_LINK_STATUS		0xB2
#define IXGBE_PCI_DEVICE_CONTROL2	0xC8
#define IXGBE_PCI_LINK_WIDTH		0x3F0
#define IXGBE_PCI_LINK_WIDTH_1		0x10
#define IXGBE_PCI_LINK_WIDTH_2		0x20
#define IXGBE_PCI_LINK_WIDTH_4		0x40
#define IXGBE_PCI_LINK_WIDTH_8		0x80
#define IXGBE_PCI_LINK_SPEED		0xF
#define IXGBE_PCI_LINK_SPEED_2500	0x1
#define IXGBE_PCI_LINK_SPEED_5000	0x2
#define IXGBE_PCI_LINK_SPEED_8000	0x3
#define IXGBE_PCI_HEADER_TYPE_REGISTER	0x0E
#define IXGBE_PCI_HEADER_TYPE_MULTIFUNC	0x80
#define IXGBE_PCI_DEVICE_CONTROL2_16ms	0x0005

/* Number of 100 microseconds we wait for PCI Express master disable */
#define IXGBE_PCI_MASTER_DISABLE_TIMEOUT	800

/* Check whether address is multicast. This is little-endian specific check.*/
#define IXGBE_IS_MULTICAST(Address) \
		(bool)(((u8 *)(Address))[0] & ((u8)0x01))

/* Check whether an address is broadcast. */
#define IXGBE_IS_BROADCAST(Address) \
		((((u8 *)(Address))[0] == ((u8)0xff)) && \
		(((u8 *)(Address))[1] == ((u8)0xff)))

/* RAH */
#define IXGBE_RAH_VIND_MASK	0x003C0000
#define IXGBE_RAH_VIND_SHIFT	18
#define IXGBE_RAH_AV		0x80000000
#define IXGBE_CLEAR_VMDQ_ALL	0xFFFFFFFF

/* Header split receive */
#define IXGBE_RFCTL_ISCSI_DIS		0x00000001
#define IXGBE_RFCTL_ISCSI_DWC_MASK	0x0000003E
#define IXGBE_RFCTL_ISCSI_DWC_SHIFT	1
#define IXGBE_RFCTL_RSC_DIS		0x00000010
#define IXGBE_RFCTL_NFSW_DIS		0x00000040
#define IXGBE_RFCTL_NFSR_DIS		0x00000080
#define IXGBE_RFCTL_NFS_VER_MASK	0x00000300
#define IXGBE_RFCTL_NFS_VER_SHIFT	8
#define IXGBE_RFCTL_NFS_VER_2		0
#define IXGBE_RFCTL_NFS_VER_3		1
#define IXGBE_RFCTL_NFS_VER_4		2
#define IXGBE_RFCTL_IPV6_DIS		0x00000400
#define IXGBE_RFCTL_IPV6_XSUM_DIS	0x00000800
#define IXGBE_RFCTL_IPFRSP_DIS		0x00004000
#define IXGBE_RFCTL_IPV6_EX_DIS		0x00010000
#define IXGBE_RFCTL_NEW_IPV6_EXT_DIS	0x00020000

/* Transmit Config masks */
#define IXGBE_TXDCTL_ENABLE		0x02000000 /* Ena specific Tx Queue */
#define IXGBE_TXDCTL_SWFLSH		0x04000000 /* Tx Desc. wr-bk flushing */
#define IXGBE_TXDCTL_WTHRESH_SHIFT	16 /* shift to WTHRESH bits */
/* Enable short packet padding to 64 bytes */
#define IXGBE_TX_PAD_ENABLE		0x00000400
#define IXGBE_JUMBO_FRAME_ENABLE	0x00000004  /* Allow jumbo frames */
/* This allows for 16K packets + 4k for vlan */
#define IXGBE_MAX_FRAME_SZ		0x40040000

#define IXGBE_TDWBAL_HEAD_WB_ENABLE	0x1 /* Tx head write-back enable */
#define IXGBE_TDWBAL_SEQNUM_WB_ENABLE	0x2 /* Tx seq# write-back enable */

/* Receive Config masks */
#define IXGBE_RXCTRL_RXEN		0x00000001 /* Enable Receiver */
#define IXGBE_RXCTRL_DMBYPS		0x00000002 /* Desc Monitor Bypass */
#define IXGBE_RXDCTL_ENABLE		0x02000000 /* Ena specific Rx Queue */
#define IXGBE_RXDCTL_SWFLSH		0x04000000 /* Rx Desc wr-bk flushing */
#define IXGBE_RXDCTL_RLPMLMASK		0x00003FFF /* X540 supported only */
#define IXGBE_RXDCTL_RLPML_EN		0x00008000
#define IXGBE_RXDCTL_VME		0x40000000 /* VLAN mode enable */

#define IXGBE_TSAUXC_EN_CLK		0x00000004
#define IXGBE_TSAUXC_SYNCLK		0x00000008
#define IXGBE_TSAUXC_SDP0_INT		0x00000040

#define IXGBE_TSYNCTXCTL_VALID		0x00000001 /* Tx timestamp valid */
#define IXGBE_TSYNCTXCTL_ENABLED	0x00000010 /* Tx timestamping enabled */

#define IXGBE_TSYNCRXCTL_VALID		0x00000001 /* Rx timestamp valid */
#define IXGBE_TSYNCRXCTL_TYPE_MASK	0x0000000E /* Rx type mask */
#define IXGBE_TSYNCRXCTL_TYPE_L2_V2	0x00
#define IXGBE_TSYNCRXCTL_TYPE_L4_V1	0x02
#define IXGBE_TSYNCRXCTL_TYPE_L2_L4_V2	0x04
#define IXGBE_TSYNCRXCTL_TYPE_EVENT_V2	0x0A
#define IXGBE_TSYNCRXCTL_ENABLED	0x00000010 /* Rx Timestamping enabled */

#define IXGBE_RXMTRL_V1_CTRLT_MASK	0x000000FF
#define IXGBE_RXMTRL_V1_SYNC_MSG	0x00
#define IXGBE_RXMTRL_V1_DELAY_REQ_MSG	0x01
#define IXGBE_RXMTRL_V1_FOLLOWUP_MSG	0x02
#define IXGBE_RXMTRL_V1_DELAY_RESP_MSG	0x03
#define IXGBE_RXMTRL_V1_MGMT_MSG	0x04

#define IXGBE_RXMTRL_V2_MSGID_MASK	0x0000FF00
#define IXGBE_RXMTRL_V2_SYNC_MSG	0x0000
#define IXGBE_RXMTRL_V2_DELAY_REQ_MSG	0x0100
#define IXGBE_RXMTRL_V2_PDELAY_REQ_MSG	0x0200
#define IXGBE_RXMTRL_V2_PDELAY_RESP_MSG	0x0300
#define IXGBE_RXMTRL_V2_FOLLOWUP_MSG	0x0800
#define IXGBE_RXMTRL_V2_DELAY_RESP_MSG	0x0900
#define IXGBE_RXMTRL_V2_PDELAY_FOLLOWUP_MSG 0x0A00
#define IXGBE_RXMTRL_V2_ANNOUNCE_MSG	0x0B00
#define IXGBE_RXMTRL_V2_SIGNALLING_MSG	0x0C00
#define IXGBE_RXMTRL_V2_MGMT_MSG	0x0D00

#define IXGBE_FCTRL_SBP		0x00000002 /* Store Bad Packet */
#define IXGBE_FCTRL_MPE		0x00000100 /* Multicast Promiscuous Ena*/
#define IXGBE_FCTRL_UPE		0x00000200 /* Unicast Promiscuous Ena */
#define IXGBE_FCTRL_BAM		0x00000400 /* Broadcast Accept Mode */
#define IXGBE_FCTRL_PMCF	0x00001000 /* Pass MAC Control Frames */
#define IXGBE_FCTRL_DPF		0x00002000 /* Discard Pause Frame */
/* Receive Priority Flow Control Enable */
#define IXGBE_FCTRL_RPFCE	0x00004000
#define IXGBE_FCTRL_RFCE	0x00008000 /* Receive Flow Control Ena */
#define IXGBE_MFLCN_PMCF	0x00000001 /* Pass MAC Control Frames */
#define IXGBE_MFLCN_DPF		0x00000002 /* Discard Pause Frame */
#define IXGBE_MFLCN_RPFCE	0x00000004 /* Receive Priority FC Enable */
#define IXGBE_MFLCN_RFCE	0x00000008 /* Receive FC Enable */
#define IXGBE_MFLCN_RPFCE_MASK	0x00000FF4 /* Rx Priority FC bitmap mask */
#define IXGBE_MFLCN_RPFCE_SHIFT	4 /* Rx Priority FC bitmap shift */

/* Multiple Receive Queue Control */
#define IXGBE_MRQC_RSSEN	0x00000001  /* RSS Enable */
#define IXGBE_MRQC_MRQE_MASK	0xF /* Bits 3:0 */
#define IXGBE_MRQC_RT8TCEN	0x00000002 /* 8 TC no RSS */
#define IXGBE_MRQC_RT4TCEN	0x00000003 /* 4 TC no RSS */
#define IXGBE_MRQC_RTRSS8TCEN	0x00000004 /* 8 TC w/ RSS */
#define IXGBE_MRQC_RTRSS4TCEN	0x00000005 /* 4 TC w/ RSS */
#define IXGBE_MRQC_VMDQEN	0x00000008 /* VMDq2 64 pools no RSS */
#define IXGBE_MRQC_VMDQRSS32EN	0x0000000A /* VMDq2 32 pools w/ RSS */
#define IXGBE_MRQC_VMDQRSS64EN	0x0000000B /* VMDq2 64 pools w/ RSS */
#define IXGBE_MRQC_VMDQRT8TCEN	0x0000000C /* VMDq2/RT 16 pool 8 TC */
#define IXGBE_MRQC_VMDQRT4TCEN	0x0000000D /* VMDq2/RT 32 pool 4 TC */
#define IXGBE_MRQC_RSS_FIELD_MASK	0xFFFF0000
#define IXGBE_MRQC_RSS_FIELD_IPV4_TCP	0x00010000
#define IXGBE_MRQC_RSS_FIELD_IPV4	0x00020000
#define IXGBE_MRQC_RSS_FIELD_IPV6_EX_TCP 0x00040000
#define IXGBE_MRQC_RSS_FIELD_IPV6_EX	0x00080000
#define IXGBE_MRQC_RSS_FIELD_IPV6	0x00100000
#define IXGBE_MRQC_RSS_FIELD_IPV6_TCP	0x00200000
#define IXGBE_MRQC_RSS_FIELD_IPV4_UDP	0x00400000
#define IXGBE_MRQC_RSS_FIELD_IPV6_UDP	0x00800000
#define IXGBE_MRQC_RSS_FIELD_IPV6_EX_UDP 0x01000000
#define IXGBE_MRQC_L3L4TXSWEN		0x00008000

/* Queue Drop Enable */
#define IXGBE_QDE_ENABLE	0x00000001
#define IXGBE_QDE_IDX_MASK	0x00007F00
#define IXGBE_QDE_IDX_SHIFT	8
#define IXGBE_QDE_WRITE		0x00010000
#define IXGBE_QDE_READ		0x00020000

#define IXGBE_TXD_POPTS_IXSM	0x01 /* Insert IP checksum */
#define IXGBE_TXD_POPTS_TXSM	0x02 /* Insert TCP/UDP checksum */
#define IXGBE_TXD_CMD_EOP	0x01000000 /* End of Packet */
#define IXGBE_TXD_CMD_IFCS	0x02000000 /* Insert FCS (Ethernet CRC) */
#define IXGBE_TXD_CMD_IC	0x04000000 /* Insert Checksum */
#define IXGBE_TXD_CMD_RS	0x08000000 /* Report Status */
#define IXGBE_TXD_CMD_DEXT	0x20000000 /* Desc extension (0 = legacy) */
#define IXGBE_TXD_CMD_VLE	0x40000000 /* Add VLAN tag */
#define IXGBE_TXD_STAT_DD	0x00000001 /* Descriptor Done */

#define IXGBE_RXDADV_IPSEC_STATUS_SECP		0x00020000
#define IXGBE_RXDADV_IPSEC_ERROR_INVALID_PROTOCOL 0x08000000
#define IXGBE_RXDADV_IPSEC_ERROR_INVALID_LENGTH	0x10000000
#define IXGBE_RXDADV_IPSEC_ERROR_AUTH_FAILED	0x18000000
#define IXGBE_RXDADV_IPSEC_ERROR_BIT_MASK	0x18000000
/* Multiple Transmit Queue Command Register */
#define IXGBE_MTQC_RT_ENA	0x1 /* DCB Enable */
#define IXGBE_MTQC_VT_ENA	0x2 /* VMDQ2 Enable */
#define IXGBE_MTQC_64Q_1PB	0x0 /* 64 queues 1 pack buffer */
#define IXGBE_MTQC_32VF		0x8 /* 4 TX Queues per pool w/32VF's */
#define IXGBE_MTQC_64VF		0x4 /* 2 TX Queues per pool w/64VF's */
#define IXGBE_MTQC_4TC_4TQ	0x8 /* 4 TC if RT_ENA and VT_ENA */
#define IXGBE_MTQC_8TC_8TQ	0xC /* 8 TC if RT_ENA or 8 TQ if VT_ENA */

/* Receive Descriptor bit definitions */
#define IXGBE_RXD_STAT_DD	0x01 /* Descriptor Done */
#define IXGBE_RXD_STAT_EOP	0x02 /* End of Packet */
#define IXGBE_RXD_STAT_FLM	0x04 /* FDir Match */
#define IXGBE_RXD_STAT_VP	0x08 /* IEEE VLAN Packet */
#define IXGBE_RXDADV_NEXTP_MASK	0x000FFFF0 /* Next Descriptor Index */
#define IXGBE_RXDADV_NEXTP_SHIFT	0x00000004
#define IXGBE_RXD_STAT_UDPCS	0x10 /* UDP xsum calculated */
#define IXGBE_RXD_STAT_L4CS	0x20 /* L4 xsum calculated */
#define IXGBE_RXD_STAT_IPCS	0x40 /* IP xsum calculated */
#define IXGBE_RXD_STAT_PIF	0x80 /* passed in-exact filter */
#define IXGBE_RXD_STAT_CRCV	0x100 /* Speculative CRC Valid */
#define IXGBE_RXD_STAT_VEXT	0x200 /* 1st VLAN found */
#define IXGBE_RXD_STAT_UDPV	0x400 /* Valid UDP checksum */
#define IXGBE_RXD_STAT_DYNINT	0x800 /* Pkt caused INT via DYNINT */
#define IXGBE_RXD_STAT_LLINT	0x800 /* Pkt caused Low Latency Interrupt */
#define IXGBE_RXD_STAT_TS	0x10000 /* Time Stamp */
#define IXGBE_RXD_STAT_SECP	0x20000 /* Security Processing */
#define IXGBE_RXD_STAT_LB	0x40000 /* Loopback Status */
#define IXGBE_RXD_STAT_ACK	0x8000 /* ACK Packet indication */
#define IXGBE_RXD_ERR_CE	0x01 /* CRC Error */
#define IXGBE_RXD_ERR_LE	0x02 /* Length Error */
#define IXGBE_RXD_ERR_PE	0x08 /* Packet Error */
#define IXGBE_RXD_ERR_OSE	0x10 /* Oversize Error */
#define IXGBE_RXD_ERR_USE	0x20 /* Undersize Error */
#define IXGBE_RXD_ERR_TCPE	0x40 /* TCP/UDP Checksum Error */
#define IXGBE_RXD_ERR_IPE	0x80 /* IP Checksum Error */
#define IXGBE_RXDADV_ERR_MASK		0xfff00000 /* RDESC.ERRORS mask */
#define IXGBE_RXDADV_ERR_SHIFT		20 /* RDESC.ERRORS shift */
#define IXGBE_RXDADV_ERR_RXE		0x20000000 /* Any MAC Error */
#define IXGBE_RXDADV_ERR_FCEOFE		0x80000000 /* FCoEFe/IPE */
#define IXGBE_RXDADV_ERR_FCERR		0x00700000 /* FCERR/FDIRERR */
#define IXGBE_RXDADV_ERR_FDIR_LEN	0x00100000 /* FDIR Length error */
#define IXGBE_RXDADV_ERR_FDIR_DROP	0x00200000 /* FDIR Drop error */
#define IXGBE_RXDADV_ERR_FDIR_COLL	0x00400000 /* FDIR Collision error */
#define IXGBE_RXDADV_ERR_HBO	0x00800000 /*Header Buffer Overflow */
#define IXGBE_RXDADV_ERR_CE	0x01000000 /* CRC Error */
#define IXGBE_RXDADV_ERR_LE	0x02000000 /* Length Error */
#define IXGBE_RXDADV_ERR_PE	0x08000000 /* Packet Error */
#define IXGBE_RXDADV_ERR_OSE	0x10000000 /* Oversize Error */
#define IXGBE_RXDADV_ERR_USE	0x20000000 /* Undersize Error */
#define IXGBE_RXDADV_ERR_TCPE	0x40000000 /* TCP/UDP Checksum Error */
#define IXGBE_RXDADV_ERR_IPE	0x80000000 /* IP Checksum Error */
#define IXGBE_RXD_VLAN_ID_MASK	0x0FFF  /* VLAN ID is in lower 12 bits */
#define IXGBE_RXD_PRI_MASK	0xE000  /* Priority is in upper 3 bits */
#define IXGBE_RXD_PRI_SHIFT	13
#define IXGBE_RXD_CFI_MASK	0x1000  /* CFI is bit 12 */
#define IXGBE_RXD_CFI_SHIFT	12

#define IXGBE_RXDADV_STAT_DD		IXGBE_RXD_STAT_DD  /* Done */
#define IXGBE_RXDADV_STAT_EOP		IXGBE_RXD_STAT_EOP /* End of Packet */
#define IXGBE_RXDADV_STAT_FLM		IXGBE_RXD_STAT_FLM /* FDir Match */
#define IXGBE_RXDADV_STAT_VP		IXGBE_RXD_STAT_VP  /* IEEE VLAN Pkt */
#define IXGBE_RXDADV_STAT_MASK		0x000fffff /* Stat/NEXTP: bit 0-19 */
#define IXGBE_RXDADV_STAT_FCEOFS	0x00000040 /* FCoE EOF/SOF Stat */
#define IXGBE_RXDADV_STAT_FCSTAT	0x00000030 /* FCoE Pkt Stat */
#define IXGBE_RXDADV_STAT_FCSTAT_NOMTCH	0x00000000 /* 00: No Ctxt Match */
#define IXGBE_RXDADV_STAT_FCSTAT_NODDP	0x00000010 /* 01: Ctxt w/o DDP */
#define IXGBE_RXDADV_STAT_FCSTAT_FCPRSP	0x00000020 /* 10: Recv. FCP_RSP */
#define IXGBE_RXDADV_STAT_FCSTAT_DDP	0x00000030 /* 11: Ctxt w/ DDP */
#define IXGBE_RXDADV_STAT_TS		0x00010000 /* IEEE1588 Time Stamp */

/* PSRTYPE bit definitions */
#define IXGBE_PSRTYPE_TCPHDR	0x00000010
#define IXGBE_PSRTYPE_UDPHDR	0x00000020
#define IXGBE_PSRTYPE_IPV4HDR	0x00000100
#define IXGBE_PSRTYPE_IPV6HDR	0x00000200
#define IXGBE_PSRTYPE_L2HDR	0x00001000

/* SRRCTL bit definitions */
#define IXGBE_SRRCTL_BSIZEPKT_SHIFT	10 /* so many KBs */
#define IXGBE_SRRCTL_RDMTS_SHIFT	22
#define IXGBE_SRRCTL_RDMTS_MASK		0x01C00000
#define IXGBE_SRRCTL_DROP_EN		0x10000000
#define IXGBE_SRRCTL_BSIZEPKT_MASK	0x0000007F
#define IXGBE_SRRCTL_BSIZEHDR_MASK	0x00003F00
#define IXGBE_SRRCTL_DESCTYPE_LEGACY	0x00000000
#define IXGBE_SRRCTL_DESCTYPE_ADV_ONEBUF 0x02000000
#define IXGBE_SRRCTL_DESCTYPE_HDR_SPLIT	0x04000000
#define IXGBE_SRRCTL_DESCTYPE_HDR_REPLICATION_LARGE_PKT 0x08000000
#define IXGBE_SRRCTL_DESCTYPE_HDR_SPLIT_ALWAYS 0x0A000000
#define IXGBE_SRRCTL_DESCTYPE_MASK	0x0E000000

#define IXGBE_RXDPS_HDRSTAT_HDRSP	0x00008000
#define IXGBE_RXDPS_HDRSTAT_HDRLEN_MASK	0x000003FF

#define IXGBE_RXDADV_RSSTYPE_MASK	0x0000000F
#define IXGBE_RXDADV_PKTTYPE_MASK	0x0000FFF0
#define IXGBE_RXDADV_PKTTYPE_MASK_EX	0x0001FFF0
#define IXGBE_RXDADV_HDRBUFLEN_MASK	0x00007FE0
#define IXGBE_RXDADV_RSCCNT_MASK	0x001E0000
#define IXGBE_RXDADV_RSCCNT_SHIFT	17
#define IXGBE_RXDADV_HDRBUFLEN_SHIFT	5
#define IXGBE_RXDADV_SPLITHEADER_EN	0x00001000
#define IXGBE_RXDADV_SPH		0x8000

/* RSS Hash results */
#define IXGBE_RXDADV_RSSTYPE_NONE	0x00000000
#define IXGBE_RXDADV_RSSTYPE_IPV4_TCP	0x00000001
#define IXGBE_RXDADV_RSSTYPE_IPV4	0x00000002
#define IXGBE_RXDADV_RSSTYPE_IPV6_TCP	0x00000003
#define IXGBE_RXDADV_RSSTYPE_IPV6_EX	0x00000004
#define IXGBE_RXDADV_RSSTYPE_IPV6	0x00000005
#define IXGBE_RXDADV_RSSTYPE_IPV6_TCP_EX 0x00000006
#define IXGBE_RXDADV_RSSTYPE_IPV4_UDP	0x00000007
#define IXGBE_RXDADV_RSSTYPE_IPV6_UDP	0x00000008
#define IXGBE_RXDADV_RSSTYPE_IPV6_UDP_EX 0x00000009

/* RSS Packet Types as indicated in the receive descriptor. */
#define IXGBE_RXDADV_PKTTYPE_NONE	0x00000000
#define IXGBE_RXDADV_PKTTYPE_IPV4	0x00000010 /* IPv4 hdr present */
#define IXGBE_RXDADV_PKTTYPE_IPV4_EX	0x00000020 /* IPv4 hdr + extensions */
#define IXGBE_RXDADV_PKTTYPE_IPV6	0x00000040 /* IPv6 hdr present */
#define IXGBE_RXDADV_PKTTYPE_IPV6_EX	0x00000080 /* IPv6 hdr + extensions */
#define IXGBE_RXDADV_PKTTYPE_TCP	0x00000100 /* TCP hdr present */
#define IXGBE_RXDADV_PKTTYPE_UDP	0x00000200 /* UDP hdr present */
#define IXGBE_RXDADV_PKTTYPE_SCTP	0x00000400 /* SCTP hdr present */
#define IXGBE_RXDADV_PKTTYPE_NFS	0x00000800 /* NFS hdr present */
#define IXGBE_RXDADV_PKTTYPE_IPSEC_ESP	0x00001000 /* IPSec ESP */
#define IXGBE_RXDADV_PKTTYPE_IPSEC_AH	0x00002000 /* IPSec AH */
#define IXGBE_RXDADV_PKTTYPE_LINKSEC	0x00004000 /* LinkSec Encap */
#define IXGBE_RXDADV_PKTTYPE_ETQF	0x00008000 /* PKTTYPE is ETQF index */
#define IXGBE_RXDADV_PKTTYPE_ETQF_MASK	0x00000070 /* ETQF has 8 indices */
#define IXGBE_RXDADV_PKTTYPE_ETQF_SHIFT	4 /* Right-shift 4 bits */

/* Security Processing bit Indication */
#define IXGBE_RXDADV_LNKSEC_STATUS_SECP		0x00020000
#define IXGBE_RXDADV_LNKSEC_ERROR_NO_SA_MATCH	0x08000000
#define IXGBE_RXDADV_LNKSEC_ERROR_REPLAY_ERROR	0x10000000
#define IXGBE_RXDADV_LNKSEC_ERROR_BIT_MASK	0x18000000
#define IXGBE_RXDADV_LNKSEC_ERROR_BAD_SIG	0x18000000

/* Masks to determine if packets should be dropped due to frame errors */
#define IXGBE_RXD_ERR_FRAME_ERR_MASK ( \
				IXGBE_RXD_ERR_CE | \
				IXGBE_RXD_ERR_LE | \
				IXGBE_RXD_ERR_PE | \
				IXGBE_RXD_ERR_OSE | \
				IXGBE_RXD_ERR_USE)

#define IXGBE_RXDADV_ERR_FRAME_ERR_MASK ( \
				IXGBE_RXDADV_ERR_CE | \
				IXGBE_RXDADV_ERR_LE | \
				IXGBE_RXDADV_ERR_PE | \
				IXGBE_RXDADV_ERR_OSE | \
				IXGBE_RXDADV_ERR_USE)

#define IXGBE_RXDADV_ERR_FRAME_ERR_MASK_82599	IXGBE_RXDADV_ERR_RXE

/* Multicast bit mask */
#define IXGBE_MCSTCTRL_MFE	0x4

/* Number of Transmit and Receive Descriptors must be a multiple of 8 */
#define IXGBE_REQ_TX_DESCRIPTOR_MULTIPLE	8
#define IXGBE_REQ_RX_DESCRIPTOR_MULTIPLE	8
#define IXGBE_REQ_TX_BUFFER_GRANULARITY		1024

/* Vlan-specific macros */
#define IXGBE_RX_DESC_SPECIAL_VLAN_MASK	0x0FFF /* VLAN ID in lower 12 bits */
#define IXGBE_RX_DESC_SPECIAL_PRI_MASK	0xE000 /* Priority in upper 3 bits */
#define IXGBE_RX_DESC_SPECIAL_PRI_SHIFT	0x000D /* Priority in upper 3 of 16 */
#define IXGBE_TX_DESC_SPECIAL_PRI_SHIFT	IXGBE_RX_DESC_SPECIAL_PRI_SHIFT

/* SR-IOV specific macros */
#define IXGBE_MBVFICR_INDEX(vf_number)	(vf_number >> 4)
#define IXGBE_MBVFICR(_i)		(0x00710 + ((_i) * 4))
#define IXGBE_VFLRE(_i)			(((_i & 1) ? 0x001C0 : 0x00600))
#define IXGBE_VFLREC(_i)		 (0x00700 + ((_i) * 4))
/* Translated register #defines */
#define IXGBE_PVFCTRL(P)	(0x00300 + (4 * (P)))
#define IXGBE_PVFSTATUS(P)	(0x00008 + (0 * (P)))
#define IXGBE_PVFLINKS(P)	(0x042A4 + (0 * (P)))
#define IXGBE_PVFRTIMER(P)	(0x00048 + (0 * (P)))
#define IXGBE_PVFMAILBOX(P)	(0x04C00 + (4 * (P)))
#define IXGBE_PVFRXMEMWRAP(P)	(0x03190 + (0 * (P)))
#define IXGBE_PVTEICR(P)	(0x00B00 + (4 * (P)))
#define IXGBE_PVTEICS(P)	(0x00C00 + (4 * (P)))
#define IXGBE_PVTEIMS(P)	(0x00D00 + (4 * (P)))
#define IXGBE_PVTEIMC(P)	(0x00E00 + (4 * (P)))
#define IXGBE_PVTEIAC(P)	(0x00F00 + (4 * (P)))
#define IXGBE_PVTEIAM(P)	(0x04D00 + (4 * (P)))
#define IXGBE_PVTEITR(P)	(((P) < 24) ? (0x00820 + ((P) * 4)) : \
				 (0x012300 + (((P) - 24) * 4)))
#define IXGBE_PVTIVAR(P)	(0x12500 + (4 * (P)))
#define IXGBE_PVTIVAR_MISC(P)	(0x04E00 + (4 * (P)))
#define IXGBE_PVTRSCINT(P)	(0x12000 + (4 * (P)))
#define IXGBE_VFPBACL(P)	(0x110C8 + (4 * (P)))
#define IXGBE_PVFRDBAL(P)	((P < 64) ? (0x01000 + (0x40 * (P))) \
				 : (0x0D000 + (0x40 * ((P) - 64))))
#define IXGBE_PVFRDBAH(P)	((P < 64) ? (0x01004 + (0x40 * (P))) \
				 : (0x0D004 + (0x40 * ((P) - 64))))
#define IXGBE_PVFRDLEN(P)	((P < 64) ? (0x01008 + (0x40 * (P))) \
				 : (0x0D008 + (0x40 * ((P) - 64))))
#define IXGBE_PVFRDH(P)		((P < 64) ? (0x01010 + (0x40 * (P))) \
				 : (0x0D010 + (0x40 * ((P) - 64))))
#define IXGBE_PVFRDT(P)		((P < 64) ? (0x01018 + (0x40 * (P))) \
				 : (0x0D018 + (0x40 * ((P) - 64))))
#define IXGBE_PVFRXDCTL(P)	((P < 64) ? (0x01028 + (0x40 * (P))) \
				 : (0x0D028 + (0x40 * ((P) - 64))))
#define IXGBE_PVFSRRCTL(P)	((P < 64) ? (0x01014 + (0x40 * (P))) \
				 : (0x0D014 + (0x40 * ((P) - 64))))
#define IXGBE_PVFPSRTYPE(P)	(0x0EA00 + (4 * (P)))
#define IXGBE_PVFTDBAL(P)	(0x06000 + (0x40 * (P)))
#define IXGBE_PVFTDBAH(P)	(0x06004 + (0x40 * (P)))
#define IXGBE_PVFTTDLEN(P)	(0x06008 + (0x40 * (P)))
#define IXGBE_PVFTDH(P)		(0x06010 + (0x40 * (P)))
#define IXGBE_PVFTDT(P)		(0x06018 + (0x40 * (P)))
#define IXGBE_PVFTXDCTL(P)	(0x06028 + (0x40 * (P)))
#define IXGBE_PVFTDWBAL(P)	(0x06038 + (0x40 * (P)))
#define IXGBE_PVFTDWBAH(P)	(0x0603C + (0x40 * (P)))
#define IXGBE_PVFDCA_RXCTRL(P)	(((P) < 64) ? (0x0100C + (0x40 * (P))) \
				 : (0x0D00C + (0x40 * ((P) - 64))))
#define IXGBE_PVFDCA_TXCTRL(P)	(0x0600C + (0x40 * (P)))
#define IXGBE_PVFGPRC(x)	(0x0101C + (0x40 * (x)))
#define IXGBE_PVFGPTC(x)	(0x08300 + (0x04 * (x)))
#define IXGBE_PVFGORC_LSB(x)	(0x01020 + (0x40 * (x)))
#define IXGBE_PVFGORC_MSB(x)	(0x0D020 + (0x40 * (x)))
#define IXGBE_PVFGOTC_LSB(x)	(0x08400 + (0x08 * (x)))
#define IXGBE_PVFGOTC_MSB(x)	(0x08404 + (0x08 * (x)))
#define IXGBE_PVFMPRC(x)	(0x0D01C + (0x40 * (x)))

#define IXGBE_PVFTDWBALn(q_per_pool, vf_number, vf_q_index) \
		(IXGBE_PVFTDWBAL((q_per_pool)*(vf_number) + (vf_q_index)))
#define IXGBE_PVFTDWBAHn(q_per_pool, vf_number, vf_q_index) \
		(IXGBE_PVFTDWBAH((q_per_pool)*(vf_number) + (vf_q_index)))

/* Little Endian defines */
#ifndef __le16
#define __le16  u16
#endif
#ifndef __le32
#define __le32  u32
#endif
#ifndef __le64
#define __le64  u64

#endif
#ifndef __be16
/* Big Endian defines */
#define __be16  u16
#define __be32  u32
#define __be64  u64

#endif
enum ixgbe_fdir_pballoc_type {
	IXGBE_FDIR_PBALLOC_NONE = 0,
	IXGBE_FDIR_PBALLOC_64K  = 1,
	IXGBE_FDIR_PBALLOC_128K = 2,
	IXGBE_FDIR_PBALLOC_256K = 3,
};

/* Flow Director register values */
#define IXGBE_FDIRCTRL_PBALLOC_64K		0x00000001
#define IXGBE_FDIRCTRL_PBALLOC_128K		0x00000002
#define IXGBE_FDIRCTRL_PBALLOC_256K		0x00000003
#define IXGBE_FDIRCTRL_INIT_DONE		0x00000008
#define IXGBE_FDIRCTRL_PERFECT_MATCH		0x00000010
#define IXGBE_FDIRCTRL_REPORT_STATUS		0x00000020
#define IXGBE_FDIRCTRL_REPORT_STATUS_ALWAYS	0x00000080
#define IXGBE_FDIRCTRL_DROP_Q_SHIFT		8
#define IXGBE_FDIRCTRL_FLEX_SHIFT		16
#define IXGBE_FDIRCTRL_SEARCHLIM		0x00800000
#define IXGBE_FDIRCTRL_MAX_LENGTH_SHIFT		24
#define IXGBE_FDIRCTRL_FULL_THRESH_MASK		0xF0000000
#define IXGBE_FDIRCTRL_FULL_THRESH_SHIFT	28

#define IXGBE_FDIRTCPM_DPORTM_SHIFT		16
#define IXGBE_FDIRUDPM_DPORTM_SHIFT		16
#define IXGBE_FDIRIP6M_DIPM_SHIFT		16
#define IXGBE_FDIRM_VLANID			0x00000001
#define IXGBE_FDIRM_VLANP			0x00000002
#define IXGBE_FDIRM_POOL			0x00000004
#define IXGBE_FDIRM_L4P				0x00000008
#define IXGBE_FDIRM_FLEX			0x00000010
#define IXGBE_FDIRM_DIPv6			0x00000020

#define IXGBE_FDIRFREE_FREE_MASK		0xFFFF
#define IXGBE_FDIRFREE_FREE_SHIFT		0
#define IXGBE_FDIRFREE_COLL_MASK		0x7FFF0000
#define IXGBE_FDIRFREE_COLL_SHIFT		16
#define IXGBE_FDIRLEN_MAXLEN_MASK		0x3F
#define IXGBE_FDIRLEN_MAXLEN_SHIFT		0
#define IXGBE_FDIRLEN_MAXHASH_MASK		0x7FFF0000
#define IXGBE_FDIRLEN_MAXHASH_SHIFT		16
#define IXGBE_FDIRUSTAT_ADD_MASK		0xFFFF
#define IXGBE_FDIRUSTAT_ADD_SHIFT		0
#define IXGBE_FDIRUSTAT_REMOVE_MASK		0xFFFF0000
#define IXGBE_FDIRUSTAT_REMOVE_SHIFT		16
#define IXGBE_FDIRFSTAT_FADD_MASK		0x00FF
#define IXGBE_FDIRFSTAT_FADD_SHIFT		0
#define IXGBE_FDIRFSTAT_FREMOVE_MASK		0xFF00
#define IXGBE_FDIRFSTAT_FREMOVE_SHIFT		8
#define IXGBE_FDIRPORT_DESTINATION_SHIFT	16
#define IXGBE_FDIRVLAN_FLEX_SHIFT		16
#define IXGBE_FDIRHASH_BUCKET_VALID_SHIFT	15
#define IXGBE_FDIRHASH_SIG_SW_INDEX_SHIFT	16

#define IXGBE_FDIRCMD_CMD_MASK			0x00000003
#define IXGBE_FDIRCMD_CMD_ADD_FLOW		0x00000001
#define IXGBE_FDIRCMD_CMD_REMOVE_FLOW		0x00000002
#define IXGBE_FDIRCMD_CMD_QUERY_REM_FILT	0x00000003
#define IXGBE_FDIRCMD_FILTER_VALID		0x00000004
#define IXGBE_FDIRCMD_FILTER_UPDATE		0x00000008
#define IXGBE_FDIRCMD_IPv6DMATCH		0x00000010
#define IXGBE_FDIRCMD_L4TYPE_UDP		0x00000020
#define IXGBE_FDIRCMD_L4TYPE_TCP		0x00000040
#define IXGBE_FDIRCMD_L4TYPE_SCTP		0x00000060
#define IXGBE_FDIRCMD_IPV6			0x00000080
#define IXGBE_FDIRCMD_CLEARHT			0x00000100
#define IXGBE_FDIRCMD_DROP			0x00000200
#define IXGBE_FDIRCMD_INT			0x00000400
#define IXGBE_FDIRCMD_LAST			0x00000800
#define IXGBE_FDIRCMD_COLLISION			0x00001000
#define IXGBE_FDIRCMD_QUEUE_EN			0x00008000
#define IXGBE_FDIRCMD_FLOW_TYPE_SHIFT		5
#define IXGBE_FDIRCMD_RX_QUEUE_SHIFT		16
#define IXGBE_FDIRCMD_VT_POOL_SHIFT		24
#define IXGBE_FDIR_INIT_DONE_POLL		10
#define IXGBE_FDIRCMD_CMD_POLL			10

#define IXGBE_FDIR_DROP_QUEUE			127

#define IXGBE_STATUS_OVERHEATING_BIT		20 /* STATUS overtemp bit num */

/* Manageablility Host Interface defines */
#define IXGBE_HI_MAX_BLOCK_BYTE_LENGTH	1792 /* Num of bytes in range */
#define IXGBE_HI_MAX_BLOCK_DWORD_LENGTH	448 /* Num of dwords in range */
#define IXGBE_HI_COMMAND_TIMEOUT	500 /* Process HI command limit */

/* CEM Support */
#define FW_CEM_HDR_LEN			0x4
#define FW_CEM_CMD_DRIVER_INFO		0xDD
#define FW_CEM_CMD_DRIVER_INFO_LEN	0x5
#define FW_CEM_CMD_RESERVED		0X0
#define FW_CEM_UNUSED_VER		0x0
#define FW_CEM_MAX_RETRIES		3
#define FW_CEM_RESP_STATUS_SUCCESS	0x1

/* Host Interface Command Structures */

struct ixgbe_hic_hdr {
	u8 cmd;
	u8 buf_len;
	union {
		u8 cmd_resv;
		u8 ret_status;
	} cmd_or_resp;
	u8 checksum;
};

struct ixgbe_hic_drv_info {
	struct ixgbe_hic_hdr hdr;
	u8 port_num;
	u8 ver_sub;
	u8 ver_build;
	u8 ver_min;
	u8 ver_maj;
	u8 pad; /* end spacing to ensure length is mult. of dword */
	u16 pad2; /* end spacing to ensure length is mult. of dword2 */
};

/* Transmit Descriptor - Legacy */
struct ixgbe_legacy_tx_desc {
	u64 buffer_addr; /* Address of the descriptor's data buffer */
	union {
		__le32 data;
		struct {
			__le16 length; /* Data buffer length */
			u8 cso; /* Checksum offset */
			u8 cmd; /* Descriptor control */
		} flags;
	} lower;
	union {
		__le32 data;
		struct {
			u8 status; /* Descriptor status */
			u8 css; /* Checksum start */
			__le16 vlan;
		} fields;
	} upper;
};

/* Transmit Descriptor - Advanced */
union ixgbe_adv_tx_desc {
	struct {
		__le64 buffer_addr; /* Address of descriptor's data buf */
		__le32 cmd_type_len;
		__le32 olinfo_status;
	} read;
	struct {
		__le64 rsvd; /* Reserved */
		__le32 nxtseq_seed;
		__le32 status;
	} wb;
};

/* Receive Descriptor - Legacy */
struct ixgbe_legacy_rx_desc {
	__le64 buffer_addr; /* Address of the descriptor's data buffer */
	__le16 length; /* Length of data DMAed into data buffer */
	__le16 csum; /* Packet checksum */
	u8 status;   /* Descriptor status */
	u8 errors;   /* Descriptor Errors */
	__le16 vlan;
};

/* Receive Descriptor - Advanced */
union ixgbe_adv_rx_desc {
	struct {
		__le64 pkt_addr; /* Packet buffer address */
		__le64 hdr_addr; /* Header buffer address */
	} read;
	struct {
		struct {
			union {
				__le32 data;
				struct {
					__le16 pkt_info; /* RSS, Pkt type */
					__le16 hdr_info; /* Splithdr, hdrlen */
				} hs_rss;
			} lo_dword;
			union {
				__le32 rss; /* RSS Hash */
				struct {
					__le16 ip_id; /* IP id */
					__le16 csum; /* Packet Checksum */
				} csum_ip;
			} hi_dword;
		} lower;
		struct {
			__le32 status_error; /* ext status/error */
			__le16 length; /* Packet length */
			__le16 vlan; /* VLAN tag */
		} upper;
	} wb;  /* writeback */
};

/* Context descriptors */
struct ixgbe_adv_tx_context_desc {
	__le32 vlan_macip_lens;
	__le32 seqnum_seed;
	__le32 type_tucmd_mlhl;
	__le32 mss_l4len_idx;
};

/* Adv Transmit Descriptor Config Masks */
#define IXGBE_ADVTXD_DTALEN_MASK	0x0000FFFF /* Data buf length(bytes) */
#define IXGBE_ADVTXD_MAC_LINKSEC	0x00040000 /* Insert LinkSec */
#define IXGBE_ADVTXD_MAC_TSTAMP		0x00080000 /* IEEE1588 time stamp */
#define IXGBE_ADVTXD_IPSEC_SA_INDEX_MASK 0x000003FF /* IPSec SA index */
#define IXGBE_ADVTXD_IPSEC_ESP_LEN_MASK	0x000001FF /* IPSec ESP length */
#define IXGBE_ADVTXD_DTYP_MASK		0x00F00000 /* DTYP mask */
#define IXGBE_ADVTXD_DTYP_CTXT		0x00200000 /* Adv Context Desc */
#define IXGBE_ADVTXD_DTYP_DATA		0x00300000 /* Adv Data Descriptor */
#define IXGBE_ADVTXD_DCMD_EOP		IXGBE_TXD_CMD_EOP  /* End of Packet */
#define IXGBE_ADVTXD_DCMD_IFCS		IXGBE_TXD_CMD_IFCS /* Insert FCS */
#define IXGBE_ADVTXD_DCMD_RS		IXGBE_TXD_CMD_RS /* Report Status */
#define IXGBE_ADVTXD_DCMD_DDTYP_ISCSI	0x10000000 /* DDP hdr type or iSCSI */
#define IXGBE_ADVTXD_DCMD_DEXT		IXGBE_TXD_CMD_DEXT /* Desc ext 1=Adv */
#define IXGBE_ADVTXD_DCMD_VLE		IXGBE_TXD_CMD_VLE  /* VLAN pkt enable */
#define IXGBE_ADVTXD_DCMD_TSE		0x80000000 /* TCP Seg enable */
#define IXGBE_ADVTXD_STAT_DD		IXGBE_TXD_STAT_DD  /* Descriptor Done */
#define IXGBE_ADVTXD_STAT_SN_CRC	0x00000002 /* NXTSEQ/SEED pres in WB */
#define IXGBE_ADVTXD_STAT_RSV		0x0000000C /* STA Reserved */
#define IXGBE_ADVTXD_IDX_SHIFT		4 /* Adv desc Index shift */
#define IXGBE_ADVTXD_CC			0x00000080 /* Check Context */
#define IXGBE_ADVTXD_POPTS_SHIFT	8  /* Adv desc POPTS shift */
#define IXGBE_ADVTXD_POPTS_IXSM		(IXGBE_TXD_POPTS_IXSM << \
					 IXGBE_ADVTXD_POPTS_SHIFT)
#define IXGBE_ADVTXD_POPTS_TXSM		(IXGBE_TXD_POPTS_TXSM << \
					 IXGBE_ADVTXD_POPTS_SHIFT)
#define IXGBE_ADVTXD_POPTS_ISCO_1ST	0x00000000 /* 1st TSO of iSCSI PDU */
#define IXGBE_ADVTXD_POPTS_ISCO_MDL	0x00000800 /* Middle TSO of iSCSI PDU */
#define IXGBE_ADVTXD_POPTS_ISCO_LAST	0x00001000 /* Last TSO of iSCSI PDU */
/* 1st&Last TSO-full iSCSI PDU */
#define IXGBE_ADVTXD_POPTS_ISCO_FULL	0x00001800
#define IXGBE_ADVTXD_POPTS_RSV		0x00002000 /* POPTS Reserved */
#define IXGBE_ADVTXD_PAYLEN_SHIFT	14 /* Adv desc PAYLEN shift */
#define IXGBE_ADVTXD_MACLEN_SHIFT	9  /* Adv ctxt desc mac len shift */
#define IXGBE_ADVTXD_VLAN_SHIFT		16  /* Adv ctxt vlan tag shift */
#define IXGBE_ADVTXD_TUCMD_IPV4		0x00000400 /* IP Packet Type: 1=IPv4 */
#define IXGBE_ADVTXD_TUCMD_IPV6		0x00000000 /* IP Packet Type: 0=IPv6 */
#define IXGBE_ADVTXD_TUCMD_L4T_UDP	0x00000000 /* L4 Packet TYPE of UDP */
#define IXGBE_ADVTXD_TUCMD_L4T_TCP	0x00000800 /* L4 Packet TYPE of TCP */
#define IXGBE_ADVTXD_TUCMD_L4T_SCTP	0x00001000 /* L4 Packet TYPE of SCTP */
#define IXGBE_ADVTXD_TUCMD_MKRREQ	0x00002000 /* req Markers and CRC */
#define IXGBE_ADVTXD_POPTS_IPSEC	0x00000400 /* IPSec offload request */
#define IXGBE_ADVTXD_TUCMD_IPSEC_TYPE_ESP 0x00002000 /* IPSec Type ESP */
#define IXGBE_ADVTXD_TUCMD_IPSEC_ENCRYPT_EN 0x00004000/* ESP Encrypt Enable */
#define IXGBE_ADVTXT_TUCMD_FCOE		0x00008000 /* FCoE Frame Type */
#define IXGBE_ADVTXD_FCOEF_EOF_MASK	(0x3 << 10) /* FC EOF index */
#define IXGBE_ADVTXD_FCOEF_SOF		((1 << 2) << 10) /* FC SOF index */
#define IXGBE_ADVTXD_FCOEF_PARINC	((1 << 3) << 10) /* Rel_Off in F_CTL */
#define IXGBE_ADVTXD_FCOEF_ORIE		((1 << 4) << 10) /* Orientation End */
#define IXGBE_ADVTXD_FCOEF_ORIS		((1 << 5) << 10) /* Orientation Start */
#define IXGBE_ADVTXD_FCOEF_EOF_N	(0x0 << 10) /* 00: EOFn */
#define IXGBE_ADVTXD_FCOEF_EOF_T	(0x1 << 10) /* 01: EOFt */
#define IXGBE_ADVTXD_FCOEF_EOF_NI	(0x2 << 10) /* 10: EOFni */
#define IXGBE_ADVTXD_FCOEF_EOF_A	(0x3 << 10) /* 11: EOFa */
#define IXGBE_ADVTXD_L4LEN_SHIFT	8  /* Adv ctxt L4LEN shift */
#define IXGBE_ADVTXD_MSS_SHIFT		16  /* Adv ctxt MSS shift */

/* Autonegotiation advertised speeds */
typedef u32 ixgbe_autoneg_advertised;
/* Link speed */
typedef u32 ixgbe_link_speed;
#define IXGBE_LINK_SPEED_UNKNOWN	0
#define IXGBE_LINK_SPEED_100_FULL	0x0008
#define IXGBE_LINK_SPEED_1GB_FULL	0x0020
#define IXGBE_LINK_SPEED_10GB_FULL	0x0080
#define IXGBE_LINK_SPEED_82598_AUTONEG	(IXGBE_LINK_SPEED_1GB_FULL | \
					 IXGBE_LINK_SPEED_10GB_FULL)
#define IXGBE_LINK_SPEED_82599_AUTONEG	(IXGBE_LINK_SPEED_100_FULL | \
					 IXGBE_LINK_SPEED_1GB_FULL | \
					 IXGBE_LINK_SPEED_10GB_FULL)


/* Physical layer type */
typedef u32 ixgbe_physical_layer;
#define IXGBE_PHYSICAL_LAYER_UNKNOWN		0
#define IXGBE_PHYSICAL_LAYER_10GBASE_T		0x0001
#define IXGBE_PHYSICAL_LAYER_1000BASE_T		0x0002
#define IXGBE_PHYSICAL_LAYER_100BASE_TX		0x0004
#define IXGBE_PHYSICAL_LAYER_SFP_PLUS_CU	0x0008
#define IXGBE_PHYSICAL_LAYER_10GBASE_LR		0x0010
#define IXGBE_PHYSICAL_LAYER_10GBASE_LRM	0x0020
#define IXGBE_PHYSICAL_LAYER_10GBASE_SR		0x0040
#define IXGBE_PHYSICAL_LAYER_10GBASE_KX4	0x0080
#define IXGBE_PHYSICAL_LAYER_10GBASE_CX4	0x0100
#define IXGBE_PHYSICAL_LAYER_1000BASE_KX	0x0200
#define IXGBE_PHYSICAL_LAYER_1000BASE_BX	0x0400
#define IXGBE_PHYSICAL_LAYER_10GBASE_KR		0x0800
#define IXGBE_PHYSICAL_LAYER_10GBASE_XAUI	0x1000
#define IXGBE_PHYSICAL_LAYER_SFP_ACTIVE_DA	0x2000
#define IXGBE_PHYSICAL_LAYER_1000BASE_SX	0x4000

/* Flow Control Data Sheet defined values
 * Calculation and defines taken from 802.1bb Annex O
 */

/* BitTimes (BT) conversion */
#define IXGBE_BT2KB(BT)		((BT + (8 * 1024 - 1)) / (8 * 1024))
#define IXGBE_B2BT(BT)		(BT * 8)

/* Calculate Delay to respond to PFC */
#define IXGBE_PFC_D	672

/* Calculate Cable Delay */
#define IXGBE_CABLE_DC	5556 /* Delay Copper */
#define IXGBE_CABLE_DO	5000 /* Delay Optical */

/* Calculate Interface Delay X540 */
#define IXGBE_PHY_DC	25600 /* Delay 10G BASET */
#define IXGBE_MAC_DC	8192  /* Delay Copper XAUI interface */
#define IXGBE_XAUI_DC	(2 * 2048) /* Delay Copper Phy */

#define IXGBE_ID_X540	(IXGBE_MAC_DC + IXGBE_XAUI_DC + IXGBE_PHY_DC)

/* Calculate Interface Delay 82598, 82599 */
#define IXGBE_PHY_D	12800
#define IXGBE_MAC_D	4096
#define IXGBE_XAUI_D	(2 * 1024)

#define IXGBE_ID	(IXGBE_MAC_D + IXGBE_XAUI_D + IXGBE_PHY_D)

/* Calculate Delay incurred from higher layer */
#define IXGBE_HD	6144

/* Calculate PCI Bus delay for low thresholds */
#define IXGBE_PCI_DELAY	10000

/* Calculate X540 delay value in bit times */
#define IXGBE_DV_X540(_max_frame_link, _max_frame_tc) \
			((36 * \
			  (IXGBE_B2BT(_max_frame_link) + \
			   IXGBE_PFC_D + \
			   (2 * IXGBE_CABLE_DC) + \
			   (2 * IXGBE_ID_X540) + \
			   IXGBE_HD) / 25 + 1) + \
			 2 * IXGBE_B2BT(_max_frame_tc))

/* Calculate 82599, 82598 delay value in bit times */
#define IXGBE_DV(_max_frame_link, _max_frame_tc) \
			((36 * \
			  (IXGBE_B2BT(_max_frame_link) + \
			   IXGBE_PFC_D + \
			   (2 * IXGBE_CABLE_DC) + \
			   (2 * IXGBE_ID) + \
			   IXGBE_HD) / 25 + 1) + \
			 2 * IXGBE_B2BT(_max_frame_tc))

/* Calculate low threshold delay values */
#define IXGBE_LOW_DV_X540(_max_frame_tc) \
			(2 * IXGBE_B2BT(_max_frame_tc) + \
			(36 * IXGBE_PCI_DELAY / 25) + 1)
#define IXGBE_LOW_DV(_max_frame_tc) \
			(2 * IXGBE_LOW_DV_X540(_max_frame_tc))

/* Software ATR hash keys */
#define IXGBE_ATR_BUCKET_HASH_KEY	0x3DAD14E2
#define IXGBE_ATR_SIGNATURE_HASH_KEY	0x174D3614

/* Software ATR input stream values and masks */
#define IXGBE_ATR_HASH_MASK		0x7fff
#define IXGBE_ATR_L4TYPE_MASK		0x3
#define IXGBE_ATR_L4TYPE_UDP		0x1
#define IXGBE_ATR_L4TYPE_TCP		0x2
#define IXGBE_ATR_L4TYPE_SCTP		0x3
#define IXGBE_ATR_L4TYPE_IPV6_MASK	0x4
enum ixgbe_atr_flow_type {
	IXGBE_ATR_FLOW_TYPE_IPV4	= 0x0,
	IXGBE_ATR_FLOW_TYPE_UDPV4	= 0x1,
	IXGBE_ATR_FLOW_TYPE_TCPV4	= 0x2,
	IXGBE_ATR_FLOW_TYPE_SCTPV4	= 0x3,
	IXGBE_ATR_FLOW_TYPE_IPV6	= 0x4,
	IXGBE_ATR_FLOW_TYPE_UDPV6	= 0x5,
	IXGBE_ATR_FLOW_TYPE_TCPV6	= 0x6,
	IXGBE_ATR_FLOW_TYPE_SCTPV6	= 0x7,
};

/* Flow Director ATR input struct. */
union ixgbe_atr_input {
	/*
	 * Byte layout in order, all values with MSB first:
	 *
	 * vm_pool	- 1 byte
	 * flow_type	- 1 byte
	 * vlan_id	- 2 bytes
	 * src_ip	- 16 bytes
	 * dst_ip	- 16 bytes
	 * src_port	- 2 bytes
	 * dst_port	- 2 bytes
	 * flex_bytes	- 2 bytes
	 * bkt_hash	- 2 bytes
	 */
	struct {
		u8 vm_pool;
		u8 flow_type;
		__be16 vlan_id;
		__be32 dst_ip[4];
		__be32 src_ip[4];
		__be16 src_port;
		__be16 dst_port;
		__be16 flex_bytes;
		__be16 bkt_hash;
	} formatted;
	__be32 dword_stream[11];
};

/* Flow Director compressed ATR hash input struct */
union ixgbe_atr_hash_dword {
	struct {
		u8 vm_pool;
		u8 flow_type;
		__be16 vlan_id;
	} formatted;
	__be32 ip;
	struct {
		__be16 src;
		__be16 dst;
	} port;
	__be16 flex_bytes;
	__be32 dword;
};


/*
 * Unavailable: The FCoE Boot Option ROM is not present in the flash.
 * Disabled: Present; boot order is not set for any targets on the port.
 * Enabled: Present; boot order is set for at least one target on the port.
 */
enum ixgbe_fcoe_boot_status {
	ixgbe_fcoe_bootstatus_disabled = 0,
	ixgbe_fcoe_bootstatus_enabled = 1,
	ixgbe_fcoe_bootstatus_unavailable = 0xFFFF
};

enum ixgbe_eeprom_type {
	ixgbe_eeprom_uninitialized = 0,
	ixgbe_eeprom_spi,
	ixgbe_flash,
	ixgbe_eeprom_none /* No NVM support */
};

enum ixgbe_mac_type {
	ixgbe_mac_unknown = 0,
	ixgbe_mac_82598EB,
	ixgbe_mac_82599EB,
	ixgbe_mac_X540,
	ixgbe_num_macs
};

enum ixgbe_phy_type {
	ixgbe_phy_unknown = 0,
	ixgbe_phy_none,
	ixgbe_phy_tn,
	ixgbe_phy_aq,
	ixgbe_phy_cu_unknown,
	ixgbe_phy_qt,
	ixgbe_phy_xaui,
	ixgbe_phy_nl,
	ixgbe_phy_sfp_passive_tyco,
	ixgbe_phy_sfp_passive_unknown,
	ixgbe_phy_sfp_active_unknown,
	ixgbe_phy_sfp_avago,
	ixgbe_phy_sfp_ftl,
	ixgbe_phy_sfp_ftl_active,
	ixgbe_phy_sfp_unknown,
	ixgbe_phy_sfp_intel,
	ixgbe_phy_sfp_unsupported, /*Enforce bit set with unsupported module*/
	ixgbe_phy_generic
};

/*
 * SFP+ module type IDs:
 *
 * ID	Module Type
 * =============
 * 0	SFP_DA_CU
 * 1	SFP_SR
 * 2	SFP_LR
 * 3	SFP_DA_CU_CORE0 - 82599-specific
 * 4	SFP_DA_CU_CORE1 - 82599-specific
 * 5	SFP_SR/LR_CORE0 - 82599-specific
 * 6	SFP_SR/LR_CORE1 - 82599-specific
 */
enum ixgbe_sfp_type {
	ixgbe_sfp_type_da_cu = 0,
	ixgbe_sfp_type_sr = 1,
	ixgbe_sfp_type_lr = 2,
	ixgbe_sfp_type_da_cu_core0 = 3,
	ixgbe_sfp_type_da_cu_core1 = 4,
	ixgbe_sfp_type_srlr_core0 = 5,
	ixgbe_sfp_type_srlr_core1 = 6,
	ixgbe_sfp_type_da_act_lmt_core0 = 7,
	ixgbe_sfp_type_da_act_lmt_core1 = 8,
	ixgbe_sfp_type_1g_cu_core0 = 9,
	ixgbe_sfp_type_1g_cu_core1 = 10,
	ixgbe_sfp_type_1g_sx_core0 = 11,
	ixgbe_sfp_type_1g_sx_core1 = 12,
	ixgbe_sfp_type_not_present = 0xFFFE,
	ixgbe_sfp_type_unknown = 0xFFFF
};

enum ixgbe_media_type {
	ixgbe_media_type_unknown = 0,
	ixgbe_media_type_fiber,
	ixgbe_media_type_fiber_lco,
	ixgbe_media_type_copper,
	ixgbe_media_type_backplane,
	ixgbe_media_type_cx4,
	ixgbe_media_type_virtual
};

/* Flow Control Settings */
enum ixgbe_fc_mode {
	ixgbe_fc_none = 0,
	ixgbe_fc_rx_pause,
	ixgbe_fc_tx_pause,
	ixgbe_fc_full,
	ixgbe_fc_default
};

/* Smart Speed Settings */
#define IXGBE_SMARTSPEED_MAX_RETRIES	3
enum ixgbe_smart_speed {
	ixgbe_smart_speed_auto = 0,
	ixgbe_smart_speed_on,
	ixgbe_smart_speed_off
};

/* PCI bus types */
enum ixgbe_bus_type {
	ixgbe_bus_type_unknown = 0,
	ixgbe_bus_type_pci,
	ixgbe_bus_type_pcix,
	ixgbe_bus_type_pci_express,
	ixgbe_bus_type_reserved
};

/* PCI bus speeds */
enum ixgbe_bus_speed {
	ixgbe_bus_speed_unknown	= 0,
	ixgbe_bus_speed_33	= 33,
	ixgbe_bus_speed_66	= 66,
	ixgbe_bus_speed_100	= 100,
	ixgbe_bus_speed_120	= 120,
	ixgbe_bus_speed_133	= 133,
	ixgbe_bus_speed_2500	= 2500,
	ixgbe_bus_speed_5000	= 5000,
	ixgbe_bus_speed_8000	= 8000,
	ixgbe_bus_speed_reserved
};

/* PCI bus widths */
enum ixgbe_bus_width {
	ixgbe_bus_width_unknown	= 0,
	ixgbe_bus_width_pcie_x1	= 1,
	ixgbe_bus_width_pcie_x2	= 2,
	ixgbe_bus_width_pcie_x4	= 4,
	ixgbe_bus_width_pcie_x8	= 8,
	ixgbe_bus_width_32	= 32,
	ixgbe_bus_width_64	= 64,
	ixgbe_bus_width_reserved
};

struct ixgbe_addr_filter_info {
	u32 num_mc_addrs;
	u32 rar_used_count;
	u32 mta_in_use;
	u32 overflow_promisc;
	bool user_set_promisc;
};

/* Bus parameters */
struct ixgbe_bus_info {
	enum ixgbe_bus_speed speed;
	enum ixgbe_bus_width width;
	enum ixgbe_bus_type type;

	u16 func;
	u16 lan_id;
};

/* Flow control parameters */
struct ixgbe_fc_info {
	u32 high_water[IXGBE_DCB_MAX_TRAFFIC_CLASS]; /* Flow Ctrl High-water */
	u32 low_water[IXGBE_DCB_MAX_TRAFFIC_CLASS]; /* Flow Ctrl Low-water */
	u16 pause_time; /* Flow Control Pause timer */
	bool send_xon; /* Flow control send XON */
	bool strict_ieee; /* Strict IEEE mode */
	bool disable_fc_autoneg; /* Do not autonegotiate FC */
	bool fc_was_autonegged; /* Is current_mode the result of autonegging? */
	enum ixgbe_fc_mode current_mode; /* FC mode in effect */
	enum ixgbe_fc_mode requested_mode; /* FC mode requested by caller */
};

/* Statistics counters collected by the MAC */
struct ixgbe_hw_stats {
	u64 crcerrs;
	u64 illerrc;
	u64 errbc;
	u64 mspdc;
	u64 mpctotal;
	u64 mpc[8];
	u64 mlfc;
	u64 mrfc;
	u64 rlec;
	u64 lxontxc;
	u64 lxonrxc;
	u64 lxofftxc;
	u64 lxoffrxc;
	u64 pxontxc[8];
	u64 pxonrxc[8];
	u64 pxofftxc[8];
	u64 pxoffrxc[8];
	u64 prc64;
	u64 prc127;
	u64 prc255;
	u64 prc511;
	u64 prc1023;
	u64 prc1522;
	u64 gprc;
	u64 bprc;
	u64 mprc;
	u64 gptc;
	u64 gorc;
	u64 gotc;
	u64 rnbc[8];
	u64 ruc;
	u64 rfc;
	u64 roc;
	u64 rjc;
	u64 mngprc;
	u64 mngpdc;
	u64 mngptc;
	u64 tor;
	u64 tpr;
	u64 tpt;
	u64 ptc64;
	u64 ptc127;
	u64 ptc255;
	u64 ptc511;
	u64 ptc1023;
	u64 ptc1522;
	u64 mptc;
	u64 bptc;
	u64 xec;
	u64 qprc[16];
	u64 qptc[16];
	u64 qbrc[16];
	u64 qbtc[16];
	u64 qprdc[16];
	u64 pxon2offc[8];
	u64 fdirustat_add;
	u64 fdirustat_remove;
	u64 fdirfstat_fadd;
	u64 fdirfstat_fremove;
	u64 fdirmatch;
	u64 fdirmiss;
	u64 fccrc;
	u64 fclast;
	u64 fcoerpdc;
	u64 fcoeprc;
	u64 fcoeptc;
	u64 fcoedwrc;
	u64 fcoedwtc;
	u64 fcoe_noddp;
	u64 fcoe_noddp_ext_buff;
	u64 ldpcec;
	u64 pcrc8ec;
	u64 b2ospc;
	u64 b2ogprc;
	u64 o2bgptc;
	u64 o2bspc;
};

/* forward declaration */
struct ixgbe_hw;

/* iterator type for walking multicast address lists */
typedef u8* (*ixgbe_mc_addr_itr) (struct ixgbe_hw *hw, u8 **mc_addr_ptr,
				  u32 *vmdq);

/* Function pointer table */
struct ixgbe_eeprom_operations {
	s32 (*init_params)(struct ixgbe_hw *);
	s32 (*read)(struct ixgbe_hw *, u16, u16 *);
	s32 (*read_buffer)(struct ixgbe_hw *, u16, u16, u16 *);
	s32 (*write)(struct ixgbe_hw *, u16, u16);
	s32 (*write_buffer)(struct ixgbe_hw *, u16, u16, u16 *);
	s32 (*validate_checksum)(struct ixgbe_hw *, u16 *);
	s32 (*update_checksum)(struct ixgbe_hw *);
	u16 (*calc_checksum)(struct ixgbe_hw *);
};

struct ixgbe_mac_operations {
	s32 (*init_hw)(struct ixgbe_hw *);
	s32 (*reset_hw)(struct ixgbe_hw *);
	s32 (*start_hw)(struct ixgbe_hw *);
	s32 (*clear_hw_cntrs)(struct ixgbe_hw *);
	enum ixgbe_media_type (*get_media_type)(struct ixgbe_hw *);
	u32 (*get_supported_physical_layer)(struct ixgbe_hw *);
	s32 (*get_mac_addr)(struct ixgbe_hw *, u8 *);
	s32 (*get_san_mac_addr)(struct ixgbe_hw *, u8 *);
	s32 (*set_san_mac_addr)(struct ixgbe_hw *, u8 *);
	s32 (*get_device_caps)(struct ixgbe_hw *, u16 *);
	s32 (*get_wwn_prefix)(struct ixgbe_hw *, u16 *, u16 *);
	s32 (*get_fcoe_boot_status)(struct ixgbe_hw *, u16 *);
	s32 (*stop_adapter)(struct ixgbe_hw *);
	s32 (*get_bus_info)(struct ixgbe_hw *);
	void (*set_lan_id)(struct ixgbe_hw *);
	s32 (*read_analog_reg8)(struct ixgbe_hw*, u32, u8*);
	s32 (*write_analog_reg8)(struct ixgbe_hw*, u32, u8);
	s32 (*setup_sfp)(struct ixgbe_hw *);
	s32 (*enable_rx_dma)(struct ixgbe_hw *, u32);
	s32 (*disable_sec_rx_path)(struct ixgbe_hw *);
	s32 (*enable_sec_rx_path)(struct ixgbe_hw *);
	s32 (*acquire_swfw_sync)(struct ixgbe_hw *, u16);
	void (*release_swfw_sync)(struct ixgbe_hw *, u16);

	/* Link */
	void (*disable_tx_laser)(struct ixgbe_hw *);
	void (*enable_tx_laser)(struct ixgbe_hw *);
	void (*flap_tx_laser)(struct ixgbe_hw *);
	s32 (*setup_link)(struct ixgbe_hw *, ixgbe_link_speed, bool, bool);
	s32 (*check_link)(struct ixgbe_hw *, ixgbe_link_speed *, bool *, bool);
	s32 (*get_link_capabilities)(struct ixgbe_hw *, ixgbe_link_speed *,
				     bool *);

	/* Packet Buffer manipulation */
	void (*setup_rxpba)(struct ixgbe_hw *, int, u32, int);

	/* LED */
	s32 (*led_on)(struct ixgbe_hw *, u32);
	s32 (*led_off)(struct ixgbe_hw *, u32);
	s32 (*blink_led_start)(struct ixgbe_hw *, u32);
	s32 (*blink_led_stop)(struct ixgbe_hw *, u32);

	/* RAR, Multicast, VLAN */
	s32 (*set_rar)(struct ixgbe_hw *, u32, u8 *, u32, u32);
	s32 (*set_uc_addr)(struct ixgbe_hw *, u32, u8 *);
	s32 (*clear_rar)(struct ixgbe_hw *, u32);
	s32 (*insert_mac_addr)(struct ixgbe_hw *, u8 *, u32);
	s32 (*set_vmdq)(struct ixgbe_hw *, u32, u32);
	s32 (*set_vmdq_san_mac)(struct ixgbe_hw *, u32);
	s32 (*clear_vmdq)(struct ixgbe_hw *, u32, u32);
	s32 (*init_rx_addrs)(struct ixgbe_hw *);
	s32 (*update_uc_addr_list)(struct ixgbe_hw *, u8 *, u32,
				   ixgbe_mc_addr_itr);
	s32 (*update_mc_addr_list)(struct ixgbe_hw *, u8 *, u32,
				   ixgbe_mc_addr_itr, bool clear);
	s32 (*enable_mc)(struct ixgbe_hw *);
	s32 (*disable_mc)(struct ixgbe_hw *);
	s32 (*clear_vfta)(struct ixgbe_hw *);
	s32 (*set_vfta)(struct ixgbe_hw *, u32, u32, bool);
	s32 (*set_vlvf)(struct ixgbe_hw *, u32, u32, bool, bool *);
	s32 (*init_uta_tables)(struct ixgbe_hw *);
	void (*set_mac_anti_spoofing)(struct ixgbe_hw *, bool, int);
	void (*set_vlan_anti_spoofing)(struct ixgbe_hw *, bool, int);

	/* Flow Control */
	s32 (*fc_enable)(struct ixgbe_hw *);

	/* Manageability interface */
	s32 (*set_fw_drv_ver)(struct ixgbe_hw *, u8, u8, u8, u8);
	s32 (*get_thermal_sensor_data)(struct ixgbe_hw *);
	s32 (*init_thermal_sensor_thresh)(struct ixgbe_hw *hw);
};

struct ixgbe_phy_operations {
	s32 (*identify)(struct ixgbe_hw *);
	s32 (*identify_sfp)(struct ixgbe_hw *);
	s32 (*init)(struct ixgbe_hw *);
	s32 (*reset)(struct ixgbe_hw *);
	s32 (*read_reg)(struct ixgbe_hw *, u32, u32, u16 *);
	s32 (*write_reg)(struct ixgbe_hw *, u32, u32, u16);
	s32 (*setup_link)(struct ixgbe_hw *);
	s32 (*setup_link_speed)(struct ixgbe_hw *, ixgbe_link_speed, bool,
				bool);
	s32 (*check_link)(struct ixgbe_hw *, ixgbe_link_speed *, bool *);
	s32 (*get_firmware_version)(struct ixgbe_hw *, u16 *);
	s32 (*read_i2c_byte)(struct ixgbe_hw *, u8, u8, u8 *);
	s32 (*write_i2c_byte)(struct ixgbe_hw *, u8, u8, u8);
	s32 (*read_i2c_eeprom)(struct ixgbe_hw *, u8 , u8 *);
	s32 (*write_i2c_eeprom)(struct ixgbe_hw *, u8, u8);
	void (*i2c_bus_clear)(struct ixgbe_hw *);
	s32 (*check_overtemp)(struct ixgbe_hw *);
};

struct ixgbe_eeprom_info {
	struct ixgbe_eeprom_operations ops;
	enum ixgbe_eeprom_type type;
	u32 semaphore_delay;
	u16 word_size;
	u16 address_bits;
	u16 word_page_size;
};

#define IXGBE_FLAGS_DOUBLE_RESET_REQUIRED	0x01
struct ixgbe_mac_info {
	struct ixgbe_mac_operations ops;
	enum ixgbe_mac_type type;
	u8 addr[IXGBE_ETH_LENGTH_OF_ADDRESS];
	u8 perm_addr[IXGBE_ETH_LENGTH_OF_ADDRESS];
	u8 san_addr[IXGBE_ETH_LENGTH_OF_ADDRESS];
	/* prefix for World Wide Node Name (WWNN) */
	u16 wwnn_prefix;
	/* prefix for World Wide Port Name (WWPN) */
	u16 wwpn_prefix;
#define IXGBE_MAX_MTA			128
	u32 mta_shadow[IXGBE_MAX_MTA];
	s32 mc_filter_type;
	u32 mcft_size;
	u32 vft_size;
	u32 num_rar_entries;
	u32 rar_highwater;
	u32 rx_pb_size;
	u32 max_tx_queues;
	u32 max_rx_queues;
	u32 orig_autoc;
	u8  san_mac_rar_index;
	u32 orig_autoc2;
	u16 max_msix_vectors;
	bool arc_subsystem_valid;
	bool orig_link_settings_stored;
	bool autotry_restart;
	u8 flags;
	struct ixgbe_thermal_sensor_data  thermal_sensor_data;
};

struct ixgbe_phy_info {
	struct ixgbe_phy_operations ops;
	enum ixgbe_phy_type type;
	u32 addr;
	u32 id;
	enum ixgbe_sfp_type sfp_type;
	bool sfp_setup_needed;
	u32 revision;
	enum ixgbe_media_type media_type;
	bool reset_disable;
	ixgbe_autoneg_advertised autoneg_advertised;
	enum ixgbe_smart_speed smart_speed;
	bool smart_speed_active;
	bool multispeed_fiber;
	bool reset_if_overtemp;
};

#include "ixgbe_mbx.h"

struct ixgbe_mbx_operations {
	void (*init_params)(struct ixgbe_hw *hw);
	s32  (*read)(struct ixgbe_hw *, u32 *, u16,  u16);
	s32  (*write)(struct ixgbe_hw *, u32 *, u16, u16);
	s32  (*read_posted)(struct ixgbe_hw *, u32 *, u16,  u16);
	s32  (*write_posted)(struct ixgbe_hw *, u32 *, u16, u16);
	s32  (*check_for_msg)(struct ixgbe_hw *, u16);
	s32  (*check_for_ack)(struct ixgbe_hw *, u16);
	s32  (*check_for_rst)(struct ixgbe_hw *, u16);
};

struct ixgbe_mbx_stats {
	u32 msgs_tx;
	u32 msgs_rx;

	u32 acks;
	u32 reqs;
	u32 rsts;
};

struct ixgbe_mbx_info {
	struct ixgbe_mbx_operations ops;
	struct ixgbe_mbx_stats stats;
	u32 timeout;
	u32 udelay;
	u32 v2p_mailbox;
	u16 size;
};

struct ixgbe_hw {
	u8 __iomem *hw_addr;
	void *back;
	struct ixgbe_mac_info mac;
	struct ixgbe_addr_filter_info addr_ctrl;
	struct ixgbe_fc_info fc;
	struct ixgbe_phy_info phy;
	struct ixgbe_eeprom_info eeprom;
	struct ixgbe_bus_info bus;
	struct ixgbe_mbx_info mbx;
	u16 device_id;
	u16 vendor_id;
	u16 subsystem_device_id;
	u16 subsystem_vendor_id;
	u8 revision_id;
	bool adapter_stopped;
	int api_version;
	bool force_full_reset;
	bool allow_unsupported_sfp;

#ifdef HAVE_PF_RING
  struct {
    bool has_hw_ts_card;
    u32 last_9_bytes_ts_sec;
  } silicom;
#endif
};

#define ixgbe_call_func(hw, func, params, error) \
		(func != NULL) ? func params : error


/* Error Codes */
#define IXGBE_ERR_EEPROM			-1
#define IXGBE_ERR_EEPROM_CHECKSUM		-2
#define IXGBE_ERR_PHY				-3
#define IXGBE_ERR_CONFIG			-4
#define IXGBE_ERR_PARAM				-5
#define IXGBE_ERR_MAC_TYPE			-6
#define IXGBE_ERR_UNKNOWN_PHY			-7
#define IXGBE_ERR_LINK_SETUP			-8
#define IXGBE_ERR_ADAPTER_STOPPED		-9
#define IXGBE_ERR_INVALID_MAC_ADDR		-10
#define IXGBE_ERR_DEVICE_NOT_SUPPORTED		-11
#define IXGBE_ERR_MASTER_REQUESTS_PENDING	-12
#define IXGBE_ERR_INVALID_LINK_SETTINGS		-13
#define IXGBE_ERR_AUTONEG_NOT_COMPLETE		-14
#define IXGBE_ERR_RESET_FAILED			-15
#define IXGBE_ERR_SWFW_SYNC			-16
#define IXGBE_ERR_PHY_ADDR_INVALID		-17
#define IXGBE_ERR_I2C				-18
#define IXGBE_ERR_SFP_NOT_SUPPORTED		-19
#define IXGBE_ERR_SFP_NOT_PRESENT		-20
#define IXGBE_ERR_SFP_NO_INIT_SEQ_PRESENT	-21
#define IXGBE_ERR_NO_SAN_ADDR_PTR		-22
#define IXGBE_ERR_FDIR_REINIT_FAILED		-23
#define IXGBE_ERR_EEPROM_VERSION		-24
#define IXGBE_ERR_NO_SPACE			-25
#define IXGBE_ERR_OVERTEMP			-26
#define IXGBE_ERR_FC_NOT_NEGOTIATED		-27
#define IXGBE_ERR_FC_NOT_SUPPORTED		-28
#define IXGBE_ERR_SFP_SETUP_NOT_COMPLETE	-30
#define IXGBE_ERR_PBA_SECTION			-31
#define IXGBE_ERR_INVALID_ARGUMENT		-32
#define IXGBE_ERR_HOST_INTERFACE_COMMAND	-33
#define IXGBE_ERR_OUT_OF_MEM			-34

#define IXGBE_NOT_IMPLEMENTED			0x7FFFFFFF

#define UNREFERENCED_XPARAMETER

#endif /* _IXGBE_TYPE_H_ */
