summaryrefslogtreecommitdiff
path: root/lib/igb/igb_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/igb/igb_internal.h')
-rw-r--r--lib/igb/igb_internal.h257
1 files changed, 0 insertions, 257 deletions
diff --git a/lib/igb/igb_internal.h b/lib/igb/igb_internal.h
deleted file mode 100644
index 24dd7496..00000000
--- a/lib/igb/igb_internal.h
+++ /dev/null
@@ -1,257 +0,0 @@
-/******************************************************************************
-
- Copyright (c) 2001-2016, Intel Corporation
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- 1. Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
-
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- 3. Neither the name of the Intel Corporation nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
-
-******************************************************************************/
-/*$FreeBSD$*/
-
-#ifndef _IGB_INTERNAL_H_DEFINED_
-#define _IGB_INTERNAL_H_DEFINED_
-
-#include "igb.h"
-
-/*
- * Micellaneous constants
- */
-#define IGB_VENDOR_ID 0x8086
-
-#define IGB_DEFAULT_PBA 0x00000030
-
-#define PCI_ANY_ID (~0U)
-#define ETHER_ALIGN 2
-#define IGB_TX_BUFFER_SIZE ((uint32_t) 1514)
-
-
-#define IGB_RX_PTHRESH 8
-#define IGB_RX_HTHRESH 8
-#define IGB_RX_WTHRESH 4
-
-#define IGB_TX_PTHRESH 8
-#define IGB_TX_HTHRESH 1
-#define IGB_TX_WTHRESH 16
-
-/*
- * TDBA/RDBA should be aligned on 16 byte boundary. But TDLEN/RDLEN should be
- * multiple of 128 bytes. So we align TDBA/RDBA on 128 byte boundary. This will
- * also optimize cache line size effect. H/W supports up to cache line size 128.
- */
-#define IGB_DBA_ALIGN 128
-
-#define SPEED_MODE_BIT (1<<21) /* On PCI-E MACs only */
-
-#define IGB_MAX_SCATTER 64
-#define IGB_VFTA_SIZE 128
-#define IGB_BR_SIZE 4096 /* ring buf size */
-#define IGB_TSO_SIZE (65535 + sizeof(struct ether_vlan_header))
-#define IGB_TSO_SEG_SIZE 4096 /* Max dma segment size */
-#define IGB_HDR_BUF 128
-#define IGB_PKTTYPE_MASK 0x0000FFF0
-#define ETH_ZLEN 60
-#define ETH_ADDR_LEN 6
-
-
-/* Queue bit defines */
-#define IGB_QUEUE_IDLE 1
-#define IGB_QUEUE_WORKING 2
-#define IGB_QUEUE_HUNG 4
-#define IGB_QUEUE_DEPLETED 8
-
-/*
- * This parameter controls when the driver calls the routine to reclaim
- * transmit descriptors. Cleaning earlier seems a win.
- **/
-#define IGB_TX_CLEANUP_THRESHOLD (adapter->num_tx_desc / 2)
-#define IGB_QUEUE_THRESHOLD (2)
-
-/* Precision Time Sync (IEEE 1588) defines */
-#define ETHERTYPE_IEEE1588 0x88F7
-#define PICOSECS_PER_TICK 20833
-#define TSYNC_PORT 319 /* UDP port for the protocol */
-
-struct igb_tx_buffer {
- int next_eop; /* Index of the desc to watch */
- struct igb_packet *packet; /* app-relevant handle */
-};
-
-/*
- * Transmit ring: one per queue
- */
-struct tx_ring {
- struct adapter *adapter;
- u32 me;
- struct resource txdma;
- struct e1000_tx_desc *tx_base;
- struct igb_tx_buffer *tx_buffers;
- u32 next_avail_desc;
- u32 next_to_clean;
-
- u16 tx_avail;
-
- u32 bytes;
- u32 packets;
-
- int tdt;
- int tdh;
- u64 no_desc_avail;
- u64 tx_packets;
- int queue_status;
-};
-
-struct igb_rx_buffer {
- int next_eop; /* Index of the desc to watch */
- struct igb_packet *packet; /* app-relevant handle */
-};
-
-/*
- * Receive ring: one per queue
- */
-struct rx_ring {
- struct adapter *adapter;
- u32 me;
- struct resource rxdma;
- union e1000_adv_rx_desc *rx_base;
- bool hdr_split;
- u32 next_to_refresh;
- u32 next_to_check;
- struct igb_rx_buffer *rx_buffers;
- u32 bytes;
- u32 packets;
- int rdt;
- int rdh;
-
- /* Soft stats */
- u64 rx_split_packets;
- u64 rx_discarded;
- u64 rx_packets;
- u64 rx_bytes;
-
- sem_t lock;
-};
-
-struct adapter {
- struct e1000_hw hw;
-
- pthread_mutex_t *memlock;
-
- int ldev; /* file descriptor to igb */
-
- struct resource csr;
- int max_frame_size;
- int min_frame_size;
- int igb_insert_vlan_header;
- u16 num_queues;
-
- /* Interface queues */
- struct igb_queue *queues;
-
- /*
- * rings
- */
- struct tx_ring *tx_rings;
- u16 num_tx_desc;
- struct rx_ring *rx_rings;
- u16 num_rx_desc;
-#ifdef IGB_IEEE1588
- /* IEEE 1588 precision time support */
- struct cyclecounter cycles;
- struct nettimer clock;
- struct nettime_compare compare;
- struct hwtstamp_ctrl hwtstamp;
-#endif
- int active;
-};
-
-/*
- * vendor_info_array
- *
- * This array contains the list of Subvendor/Subdevice IDs on which the driver
- * should load.
- *
- */
-typedef struct _igb_vendor_info_t {
- unsigned int vendor_id;
- unsigned int device_id;
- unsigned int subvendor_id;
- unsigned int subdevice_id;
- unsigned int index;
-} igb_vendor_info_t;
-
-/* external API requirements */
-#define IGB_BIND _IOW('E', 200, int)
-#define IGB_UNBIND _IOW('E', 201, int)
-#define IGB_MAPRING _IOW('E', 202, int)
-#define IGB_MAP_TX_RING IGB_MAPRING
-#define IGB_UNMAPRING _IOW('E', 203, int)
-#define IGB_UNMAP_TX_RING IGB_UNMAPRING
-#define IGB_MAPBUF _IOW('E', 204, int)
-#define IGB_UNMAPBUF _IOW('E', 205, int)
-#define IGB_LINKSPEED _IOW('E', 206, int)
-#define IGB_MAP_RX_RING _IOW('E', 207, int)
-#define IGB_UNMAP_RX_RING _IOW('E', 208, int)
-
-/*set of newly defined ioctl calls - new libigb compatibility
- each of them is an equivalent of the old ioctl
- changed numberiong convention: new_ioctl = old_ioctl + 100*/
-
-#define IGB_IOCTL_MAPRING _IOW('E', 302, int)
-#define IGB_IOCTL_MAP_TX_RING IGB_IOCTL_MAPRING
-#define IGB_IOCTL_UNMAPRING _IOW('E', 303, int)
-#define IGB_IOCTL_UNMAP_TX_RING IGB_IOCTL_UNMAPRING
-#define IGB_IOCTL_MAPBUF _IOW('E', 304, int)
-#define IGB_IOCTL_UNMAPBUF _IOW('E', 305, int)
-#define IGB_IOCTL_MAP_RX_RING _IOW('E', 307, int)
-#define IGB_IOCTL_UNMAP_RX_RING _IOW('E', 308, int)
-
-/*END*/
-
-#define IGB_BIND_NAMESZ 24
-
-struct igb_bind_cmd {
- char iface[IGB_BIND_NAMESZ];
- unsigned mmap_size;
-};
-
-struct igb_buf_cmd {
- u_int64_t physaddr; /* dma_addr_t is 64-bit */
- unsigned int queue;
- unsigned int mmap_size;
- u_int64_t pa;
-};
-
-struct igb_link_cmd {
- u_int32_t up; /* dma_addr_t is 64-bit */
- u_int32_t speed;
- u_int32_t duplex;
-};
-
-
-#endif /* _IGB_H_DEFINED_ */
-
-