#ifndef ATL1_H
#define ATL1_H
#include <linux/compiler.h>
#include <linux/ethtool.h>
#include <linux/if_vlan.h>
#include <linux/mii.h>
#include <linux/module.h>
#include <linux/skbuff.h>
#include <linux/spinlock.h>
#include <linux/timer.h>
#include <linux/types.h>
#include <linux/workqueue.h>
#include "atlx.h"
#define ATLX_DRIVER_NAME …
MODULE_DESCRIPTION(…) …;
#define atlx_adapter …
#define atlx_check_for_link …
#define atlx_check_link …
#define atlx_hash_mc_addr …
#define atlx_hash_set …
#define atlx_hw …
#define atlx_mii_ioctl …
#define atlx_read_phy_reg …
#define atlx_set_mac …
#define atlx_set_mac_addr …
struct atl1_adapter;
struct atl1_hw;
static u32 atl1_hash_mc_addr(struct atl1_hw *hw, u8 *mc_addr);
static void atl1_hash_set(struct atl1_hw *hw, u32 hash_value);
static void atl1_set_mac_addr(struct atl1_hw *hw);
static int atl1_mii_ioctl(struct net_device *netdev, struct ifreq *ifr,
int cmd);
static u32 atl1_check_link(struct atl1_adapter *adapter);
#define IDLE_STATUS_RXMAC …
#define IDLE_STATUS_TXMAC …
#define IDLE_STATUS_RXQ …
#define IDLE_STATUS_TXQ …
#define IDLE_STATUS_DMAR …
#define IDLE_STATUS_DMAW …
#define IDLE_STATUS_SMB …
#define IDLE_STATUS_CMB …
#define MDIO_WAIT_TIMES …
#define MAC_CTRL_TX_PAUSE …
#define MAC_CTRL_SCNT …
#define MAC_CTRL_SRST_TX …
#define MAC_CTRL_TX_SIMURST …
#define MAC_CTRL_SPEED_SHIFT …
#define MAC_CTRL_SPEED_MASK …
#define MAC_CTRL_SPEED_1000 …
#define MAC_CTRL_SPEED_10_100 …
#define MAC_CTRL_DBG_TX_BKPRESURE …
#define MAC_CTRL_TX_HUGE …
#define MAC_CTRL_RX_CHKSUM_EN …
#define MAC_CTRL_DBG …
#define WOL_CLK_SWITCH_EN …
#define WOL_PT5_EN …
#define WOL_PT6_EN …
#define WOL_PT5_MATCH …
#define WOL_PT6_MATCH …
#define REG_WOL_PATTERN_LEN …
#define WOL_PT_LEN_MASK …
#define WOL_PT0_LEN_SHIFT …
#define WOL_PT1_LEN_SHIFT …
#define WOL_PT2_LEN_SHIFT …
#define WOL_PT3_LEN_SHIFT …
#define WOL_PT4_LEN_SHIFT …
#define WOL_PT5_LEN_SHIFT …
#define WOL_PT6_LEN_SHIFT …
#define REG_SRAM_RFD_LEN …
#define REG_SRAM_RRD_ADDR …
#define REG_SRAM_RRD_LEN …
#define REG_SRAM_TPD_ADDR …
#define REG_SRAM_TPD_LEN …
#define REG_SRAM_TRD_ADDR …
#define REG_SRAM_TRD_LEN …
#define REG_SRAM_RXF_ADDR …
#define REG_SRAM_RXF_LEN …
#define REG_SRAM_TXF_ADDR …
#define REG_SRAM_TXF_LEN …
#define REG_SRAM_TCPH_PATH_ADDR …
#define SRAM_TCPH_ADDR_MASK …
#define SRAM_TCPH_ADDR_SHIFT …
#define SRAM_PATH_ADDR_MASK …
#define SRAM_PATH_ADDR_SHIFT …
#define REG_LOAD_PTR …
#define REG_DESC_RFD_ADDR_LO …
#define REG_DESC_RRD_ADDR_LO …
#define REG_DESC_TPD_ADDR_LO …
#define REG_DESC_CMB_ADDR_LO …
#define REG_DESC_SMB_ADDR_LO …
#define REG_DESC_RFD_RRD_RING_SIZE …
#define DESC_RFD_RING_SIZE_MASK …
#define DESC_RFD_RING_SIZE_SHIFT …
#define DESC_RRD_RING_SIZE_MASK …
#define DESC_RRD_RING_SIZE_SHIFT …
#define REG_DESC_TPD_RING_SIZE …
#define DESC_TPD_RING_SIZE_MASK …
#define DESC_TPD_RING_SIZE_SHIFT …
#define REG_TXQ_CTRL …
#define TXQ_CTRL_TPD_BURST_NUM_SHIFT …
#define TXQ_CTRL_TPD_BURST_NUM_MASK …
#define TXQ_CTRL_EN …
#define TXQ_CTRL_ENH_MODE …
#define TXQ_CTRL_TPD_FETCH_TH_SHIFT …
#define TXQ_CTRL_TPD_FETCH_TH_MASK …
#define TXQ_CTRL_TXF_BURST_NUM_SHIFT …
#define TXQ_CTRL_TXF_BURST_NUM_MASK …
#define REG_TX_JUMBO_TASK_TH_TPD_IPG …
#define TX_JUMBO_TASK_TH_MASK …
#define TX_JUMBO_TASK_TH_SHIFT …
#define TX_TPD_MIN_IPG_MASK …
#define TX_TPD_MIN_IPG_SHIFT …
#define REG_RXQ_CTRL …
#define RXQ_CTRL_RFD_BURST_NUM_SHIFT …
#define RXQ_CTRL_RFD_BURST_NUM_MASK …
#define RXQ_CTRL_RRD_BURST_THRESH_SHIFT …
#define RXQ_CTRL_RRD_BURST_THRESH_MASK …
#define RXQ_CTRL_RFD_PREF_MIN_IPG_SHIFT …
#define RXQ_CTRL_RFD_PREF_MIN_IPG_MASK …
#define RXQ_CTRL_CUT_THRU_EN …
#define RXQ_CTRL_EN …
#define REG_RXQ_JMBOSZ_RRDTIM …
#define RXQ_JMBOSZ_TH_MASK …
#define RXQ_JMBOSZ_TH_SHIFT …
#define RXQ_JMBO_LKAH_MASK …
#define RXQ_JMBO_LKAH_SHIFT …
#define RXQ_RRD_TIMER_MASK …
#define RXQ_RRD_TIMER_SHIFT …
#define REG_RXQ_RXF_PAUSE_THRESH …
#define RXQ_RXF_PAUSE_TH_HI_SHIFT …
#define RXQ_RXF_PAUSE_TH_HI_MASK …
#define RXQ_RXF_PAUSE_TH_LO_SHIFT …
#define RXQ_RXF_PAUSE_TH_LO_MASK …
#define REG_RXQ_RRD_PAUSE_THRESH …
#define RXQ_RRD_PAUSE_TH_HI_SHIFT …
#define RXQ_RRD_PAUSE_TH_HI_MASK …
#define RXQ_RRD_PAUSE_TH_LO_SHIFT …
#define RXQ_RRD_PAUSE_TH_LO_MASK …
#define REG_DMA_CTRL …
#define DMA_CTRL_DMAR_IN_ORDER …
#define DMA_CTRL_DMAR_ENH_ORDER …
#define DMA_CTRL_DMAR_OUT_ORDER …
#define DMA_CTRL_RCB_VALUE …
#define DMA_CTRL_DMAR_BURST_LEN_SHIFT …
#define DMA_CTRL_DMAR_BURST_LEN_MASK …
#define DMA_CTRL_DMAW_BURST_LEN_SHIFT …
#define DMA_CTRL_DMAW_BURST_LEN_MASK …
#define DMA_CTRL_DMAR_EN …
#define DMA_CTRL_DMAW_EN …
#define REG_CSMB_CTRL …
#define CSMB_CTRL_CMB_NOW …
#define CSMB_CTRL_SMB_NOW …
#define CSMB_CTRL_CMB_EN …
#define CSMB_CTRL_SMB_EN …
#define REG_CMB_WRITE_TH …
#define CMB_RRD_TH_SHIFT …
#define CMB_RRD_TH_MASK …
#define CMB_TPD_TH_SHIFT …
#define CMB_TPD_TH_MASK …
#define REG_CMB_WRITE_TIMER …
#define CMB_RX_TM_SHIFT …
#define CMB_RX_TM_MASK …
#define CMB_TX_TM_SHIFT …
#define CMB_TX_TM_MASK …
#define REG_CMB_RX_PKT_CNT …
#define REG_CMB_TX_PKT_CNT …
#define REG_SMB_TIMER …
#define REG_MAILBOX …
#define MB_RFD_PROD_INDX_SHIFT …
#define MB_RFD_PROD_INDX_MASK …
#define MB_RRD_CONS_INDX_SHIFT …
#define MB_RRD_CONS_INDX_MASK …
#define MB_TPD_PROD_INDX_SHIFT …
#define MB_TPD_PROD_INDX_MASK …
#define ISR_SMB …
#define ISR_TIMER …
#define ISR_MANUAL …
#define ISR_RXF_OV …
#define ISR_RFD_UNRUN …
#define ISR_RRD_OV …
#define ISR_TXF_UNRUN …
#define ISR_LINK …
#define ISR_HOST_RFD_UNRUN …
#define ISR_HOST_RRD_OV …
#define ISR_DMAR_TO_RST …
#define ISR_DMAW_TO_RST …
#define ISR_GPHY …
#define ISR_RX_PKT …
#define ISR_TX_PKT …
#define ISR_TX_DMA …
#define ISR_RX_DMA …
#define ISR_CMB_RX …
#define ISR_CMB_TX …
#define ISR_MAC_RX …
#define ISR_MAC_TX …
#define ISR_DIS_SMB …
#define ISR_DIS_DMA …
#define IMR_NORXTX_MASK …
#define IMR_NORMAL_MASK …
#define IMR_DEBUG_MASK …
#define MEDIA_TYPE_1000M_FULL …
#define MEDIA_TYPE_100M_FULL …
#define MEDIA_TYPE_100M_HALF …
#define MEDIA_TYPE_10M_FULL …
#define MEDIA_TYPE_10M_HALF …
#define AUTONEG_ADVERTISE_SPEED_DEFAULT …
#define MAX_JUMBO_FRAME_SIZE …
#define ATL1_EEDUMP_LEN …
struct stats_msg_block { … };
struct coals_msg_block { … };
struct rx_return_desc { … };
#define PACKET_FLAG_ETH_TYPE …
#define PACKET_FLAG_VLAN_INS …
#define PACKET_FLAG_ERR …
#define PACKET_FLAG_IPV4 …
#define PACKET_FLAG_UDP …
#define PACKET_FLAG_TCP …
#define PACKET_FLAG_BCAST …
#define PACKET_FLAG_MCAST …
#define PACKET_FLAG_PAUSE …
#define ERR_FLAG_CRC …
#define ERR_FLAG_CODE …
#define ERR_FLAG_DRIBBLE …
#define ERR_FLAG_RUNT …
#define ERR_FLAG_OV …
#define ERR_FLAG_TRUNC …
#define ERR_FLAG_IP_CHKSUM …
#define ERR_FLAG_L4_CHKSUM …
#define ERR_FLAG_LEN …
#define ERR_FLAG_DES_ADDR …
struct rx_free_desc { … } __packed;
#define TPD_BUFLEN_MASK …
#define TPD_BUFLEN_SHIFT …
#define TPD_DMAINT_MASK …
#define TPD_DMAINT_SHIFT …
#define TPD_PKTNT_MASK …
#define TPD_PKTINT_SHIFT …
#define TPD_VLANTAG_MASK …
#define TPD_VLANTAG_SHIFT …
#define TPD_EOP_MASK …
#define TPD_EOP_SHIFT …
#define TPD_COALESCE_MASK …
#define TPD_COALESCE_SHIFT …
#define TPD_INS_VL_TAG_MASK …
#define TPD_INS_VL_TAG_SHIFT …
#define TPD_CUST_CSUM_EN_MASK …
#define TPD_CUST_CSUM_EN_SHIFT …
#define TPD_SEGMENT_EN_MASK …
#define TPD_SEGMENT_EN_SHIFT …
#define TPD_IP_CSUM_MASK …
#define TPD_IP_CSUM_SHIFT …
#define TPD_TCP_CSUM_MASK …
#define TPD_TCP_CSUM_SHIFT …
#define TPD_UDP_CSUM_MASK …
#define TPD_UDP_CSUM_SHIFT …
#define TPD_VL_TAGGED_MASK …
#define TPD_VL_TAGGED_SHIFT …
#define TPD_ETHTYPE_MASK …
#define TPD_ETHTYPE_SHIFT …
#define TPD_IPHL_MASK …
#define TPD_IPHL_SHIFT …
#define TPD_TCPHDRLEN_MASK …
#define TPD_TCPHDRLEN_SHIFT …
#define TPD_HDRFLAG_MASK …
#define TPD_HDRFLAG_SHIFT …
#define TPD_MSS_MASK …
#define TPD_MSS_SHIFT …
#define TPD_PLOADOFFSET_MASK …
#define TPD_PLOADOFFSET_SHIFT …
#define TPD_CCSUMOFFSET_MASK …
#define TPD_CCSUMOFFSET_SHIFT …
struct tx_packet_desc { … };
enum atl1_dma_order { … };
enum atl1_dma_rcb { … };
enum atl1_dma_req_block { … };
#define ATL1_MAX_INTR …
#define ATL1_MAX_TX_BUF_LEN …
#define ATL1_DEFAULT_TPD …
#define ATL1_MAX_TPD …
#define ATL1_MIN_TPD …
#define ATL1_DEFAULT_RFD …
#define ATL1_MIN_RFD …
#define ATL1_MAX_RFD …
#define ATL1_REG_COUNT …
#define ATL1_GET_DESC(R, i, type) …
#define ATL1_RFD_DESC(R, i) …
#define ATL1_TPD_DESC(R, i) …
#define ATL1_RRD_DESC(R, i) …
struct atl1_ring_header { … };
struct atl1_buffer { … };
struct atl1_tpd_ring { … };
struct atl1_rfd_ring { … };
struct atl1_rrd_ring { … };
struct atl1_cmb { … };
struct atl1_smb { … };
struct atl1_sft_stats { … };
struct atl1_hw { … };
struct atl1_adapter { … };
#endif