diff options
Diffstat (limited to 'sys/dev/em/if_em.h')
-rw-r--r-- | sys/dev/em/if_em.h | 161 |
1 files changed, 16 insertions, 145 deletions
diff --git a/sys/dev/em/if_em.h b/sys/dev/em/if_em.h index 9a2c266..f840183 100644 --- a/sys/dev/em/if_em.h +++ b/sys/dev/em/if_em.h @@ -1,5 +1,4 @@ /************************************************************************** -************************************************************************** Copyright (c) 2001 Intel Corporation All rights reserved. @@ -32,10 +31,10 @@ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -$FreeBSD$ -*************************************************************************** ***************************************************************************/ +/*$FreeBSD$*/ + #ifndef _EM_H_DEFINED_ #define _EM_H_DEFINED_ @@ -93,7 +92,6 @@ $FreeBSD$ #define EM_CHECKSUM_FEATURES (CSUM_TCP | CSUM_UDP) #define EM_MAX_INTR 3 #define EM_TX_TIMEOUT 5 /* set to 5 seconds */ -#define EM_JUMBO_ENABLE_DEFAULT 0 #define EM_VENDOR_ID 0x8086 @@ -103,12 +101,9 @@ $FreeBSD$ #define EM_DEFAULT_PBA 0x00000030 #define IOCTL_CMD_TYPE u_long -#define ETH_LENGTH_OF_ADDRESS ETHER_ADDR_LEN -#define PCI_COMMAND_REGISTER PCIR_COMMAND #define MAX_NUM_MULTICAST_ADDRESSES 128 #define PCI_ANY_ID (~0U) #define ETHER_ALIGN 2 -#define CMD_MEM_WRT_INVALIDATE 0x0010 /* Defines for printing debug information */ #define DEBUG_INIT 0 @@ -153,29 +148,6 @@ $FreeBSD$ #define EM_RXBUFFER_16384 16384 -/* Jumbo Frame */ -#define EM_JSLOTS 384 -#define EM_JUMBO_FRAMELEN 9018 -#define EM_JUMBO_MTU (EM_JUMBO_FRAMELEN - ETHER_HDR_LEN - ETHER_CRC_LEN) -#define EM_JRAWLEN (EM_JUMBO_FRAMELEN + ETHER_ALIGN + sizeof(u_int64_t)) -#define EM_JLEN (EM_JRAWLEN + (sizeof(u_int64_t) - \ - (EM_JRAWLEN % sizeof(u_int64_t)))) -#define EM_JPAGESZ PAGE_SIZE -#define EM_RESID (EM_JPAGESZ - (EM_JLEN * EM_JSLOTS) % EM_JPAGESZ) -#define EM_JMEM ((EM_JLEN * EM_JSLOTS) + EM_RESID) - -struct em_jslot { - caddr_t em_buf; - int em_inuse; -}; - -struct em_jpool_entry { - int slot; - SLIST_ENTRY(em_jpool_entry) em_jpool_entries; -}; - - - /* ****************************************************************************** * vendor_info_array * @@ -222,10 +194,10 @@ struct adapter { struct arpcom interface_data; struct adapter *next; struct adapter *prev; + struct em_shared_adapter shared; /* FreeBSD operating-system-specific structures */ - bus_space_tag_t bus_space_tag; - bus_space_handle_t bus_space_handle; + struct em_osdep osdep; struct device *dev; struct resource *res_memory; struct resource *res_interrupt; @@ -240,65 +212,29 @@ struct adapter { u_int8_t RevId; u_int16_t SubVendorId; u_int16_t SubSystemId; - u_int16_t PciCommandWord; - /* PCI Bus Info */ - E1000_BUS_TYPE_ENUM BusType; - E1000_BUS_SPEED_ENUM BusSpeed; - E1000_BUS_WIDTH_ENUM BusWidth; /* Info about the board itself */ - u_int8_t MacType; - u_int8_t MediaType; - u_int32_t PhyId; - u_int32_t PhyAddress; - uint8_t CurrentNetAddress[ETH_LENGTH_OF_ADDRESS]; uint8_t PermNetAddress[ETH_LENGTH_OF_ADDRESS]; u_int32_t PartNumber; - u_int8_t AdapterStopped; - u_int8_t DmaFairness; - u_int8_t ReportTxEarly; - u_int32_t MulticastFilterType; - u_int32_t NumberOfMcAddresses; u_int8_t MulticastAddressList[MAX_NUM_MULTICAST_ADDRESSES][ETH_LENGTH_OF_ADDRESS]; - - u_int8_t GetLinkStatus; u_int8_t LinkStatusChanged; u_int8_t LinkIsActive; - u_int32_t AutoNegFailed; - u_int8_t AutoNeg; - u_int16_t AutoNegAdvertised; - u_int8_t WaitAutoNegComplete; - u_int8_t ForcedSpeedDuplex; u_int16_t LineSpeed; u_int16_t FullDuplex; - u_int8_t TbiCompatibilityEnable; - u_int8_t TbiCompatibilityOn; - u_int32_t TxcwRegValue; - u_int32_t OriginalFlowControl; - u_int32_t FlowControl; - u_int16_t FlowControlHighWatermark; - u_int16_t FlowControlLowWatermark; - u_int16_t FlowControlPauseTime; - u_int8_t FlowControlSendXon; - - u_int32_t MaxFrameSize; u_int32_t TxIntDelay; u_int32_t RxIntDelay; u_int8_t RxChecksum; XSUM_CONTEXT_T ActiveChecksumContext; - u_int8_t MdiX; - u_int8_t DisablePolarityCorrection; - /* Transmit definitions */ - struct _E1000_TRANSMIT_DESCRIPTOR *FirstTxDescriptor; - struct _E1000_TRANSMIT_DESCRIPTOR *LastTxDescriptor; - struct _E1000_TRANSMIT_DESCRIPTOR *NextAvailTxDescriptor; - struct _E1000_TRANSMIT_DESCRIPTOR *OldestUsedTxDescriptor; - struct _E1000_TRANSMIT_DESCRIPTOR *TxDescBase; + struct em_tx_desc *FirstTxDescriptor; + struct em_tx_desc *LastTxDescriptor; + struct em_tx_desc *NextAvailTxDescriptor; + struct em_tx_desc *OldestUsedTxDescriptor; + struct em_tx_desc *TxDescBase; volatile u_int16_t NumTxDescriptorsAvail; u_int16_t NumTxDescriptors; u_int32_t TxdCmd; @@ -307,10 +243,10 @@ struct adapter { STAILQ_HEAD(__em_tx_buffer_used, em_tx_buffer) UsedSwTxPacketList; /* Receive definitions */ - struct _E1000_RECEIVE_DESCRIPTOR *FirstRxDescriptor; - struct _E1000_RECEIVE_DESCRIPTOR *LastRxDescriptor; - struct _E1000_RECEIVE_DESCRIPTOR *NextRxDescriptorToCheck; - struct _E1000_RECEIVE_DESCRIPTOR *RxDescBase; + struct em_rx_desc *FirstRxDescriptor; + struct em_rx_desc *LastRxDescriptor; + struct em_rx_desc *NextRxDescriptorToCheck; + struct em_rx_desc *RxDescBase; u_int16_t NumRxDescriptors; u_int16_t NumRxDescriptorsEmpty; u_int16_t NextRxDescriptorToFill; @@ -319,11 +255,8 @@ struct adapter { STAILQ_HEAD(__em_rx_buffer, em_rx_buffer) RxSwPacketList; /* Jumbo frame */ - u_int8_t JumboEnable; - struct em_jslot em_jslots[EM_JSLOTS]; - void *em_jumbo_buf; - SLIST_HEAD(__em_jfreehead, em_jpool_entry) em_jfree_listhead; - SLIST_HEAD(__em_jinusehead, em_jpool_entry) em_jinuse_listhead; + struct mbuf *fmp; + struct mbuf *lmp; /* Misc stats maintained by the driver */ @@ -341,69 +274,7 @@ struct adapter { unsigned long NoTxBufferAvail2; #endif - /* Statistics registers present in the 82542 */ - unsigned long Crcerrs; - unsigned long Symerrs; - unsigned long Mpc; - unsigned long Scc; - unsigned long Ecol; - unsigned long Mcc; - unsigned long Latecol; - unsigned long Colc; - unsigned long Dc; - unsigned long Sec; - unsigned long Rlec; - unsigned long Xonrxc; - unsigned long Xontxc; - unsigned long Xoffrxc; - unsigned long Xofftxc; - unsigned long Fcruc; - unsigned long Prc64; - unsigned long Prc127; - unsigned long Prc255; - unsigned long Prc511; - unsigned long Prc1023; - unsigned long Prc1522; - unsigned long Gprc; - unsigned long Bprc; - unsigned long Mprc; - unsigned long Gptc; - unsigned long Gorcl; - unsigned long Gorch; - unsigned long Gotcl; - unsigned long Gotch; - unsigned long Rnbc; - unsigned long Ruc; - unsigned long Rfc; - unsigned long Roc; - unsigned long Rjc; - unsigned long Torcl; - unsigned long Torch; - unsigned long Totcl; - unsigned long Totch; - unsigned long Tpr; - unsigned long Tpt; - unsigned long Ptc64; - unsigned long Ptc127; - unsigned long Ptc255; - unsigned long Ptc511; - unsigned long Ptc1023; - unsigned long Ptc1522; - unsigned long Mptc; - unsigned long Bptc; - /* Statistics registers added in the 82543 */ - unsigned long Algnerrc; - unsigned long Rxerrc; - unsigned long Tuc; - unsigned long Tncrs; - unsigned long Cexterr; - unsigned long Rutec; - unsigned long Tsctc; - unsigned long Tsctfc; - + struct em_shared_stats stats; }; -extern void em_adjust_tbi_accepted_stats(struct adapter * Adapter, - u32 FrameLength, u8 * MacAddress); - #endif /* _EM_H_DEFINED_ */ |