Linux Kernel
3.7.1
|
#include <linux/bitops.h>
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/netdevice.h>
#include <linux/cpumask.h>
#include <linux/aer.h>
#include <linux/if_vlan.h>
#include "ixgbe_type.h"
#include "ixgbe_common.h"
#include "ixgbe_dcb.h"
Go to the source code of this file.
Data Structures | |
struct | vf_data_storage |
struct | vf_macvlans |
struct | ixgbe_tx_buffer |
struct | ixgbe_rx_buffer |
struct | ixgbe_queue_stats |
struct | ixgbe_tx_queue_stats |
struct | ixgbe_rx_queue_stats |
struct | ixgbe_ring |
struct | ixgbe_ring_feature |
struct | ixgbe_ring_container |
struct | ixgbe_q_vector |
struct | ixgbe_adapter |
struct | ixgbe_fdir_filter |
struct | ixgbe_cb |
#define check_for_tx_hang | ( | ring | ) | test_bit(__IXGBE_TX_DETECT_HANG, &(ring)->state) |
#define clear_check_for_tx_hang | ( | ring | ) | clear_bit(__IXGBE_TX_DETECT_HANG, &(ring)->state) |
#define clear_ring_rsc_enabled | ( | ring | ) | clear_bit(__IXGBE_RX_RSC_ENABLED, &(ring)->state) |
#define DESC_NEEDED ((MAX_SKB_FRAGS * TXD_USE_COUNT(PAGE_SIZE)) + 4) |
#define IXGBE_MAX_DATA_PER_TXD (1 << IXGBE_MAX_TXD_PWR) |
#define IXGBE_MAX_JUMBO_FRAME_SIZE 9728 /* Maximum Supported Size 9.5KB */ |
#define IXGBE_MAX_RXBUFFER 16384 /* largest size for a single descriptor */ |
#define IXGBE_RX_HDR_SIZE IXGBE_RXBUFFER_256 |
#define ixgbe_rx_pg_size | ( | _ring | ) | (PAGE_SIZE << ixgbe_rx_pg_order(_ring)) |
#define MAX_MSIX_COUNT MAX_MSIX_VECTORS_82599 |
#define MAX_Q_VECTORS MAX_Q_VECTORS_82599 |
#define MAX_RX_PACKET_BUFFERS |
#define MAX_RX_QUEUES IXGBE_MAX_FDIR_INDICES |
#define MAX_TX_PACKET_BUFFERS MAX_RX_PACKET_BUFFERS |
#define MAX_TX_QUEUES IXGBE_MAX_FDIR_INDICES |
#define MAXIMUM_ETHERNET_VLAN_SIZE (ETH_FRAME_LEN + ETH_FCS_LEN + VLAN_HLEN) |
#define MIN_MSIX_COUNT (MIN_MSIX_Q_VECTORS + NON_Q_VECTORS) |
#define NON_Q_VECTORS (OTHER_VECTOR) |
#define ring_is_rsc_enabled | ( | ring | ) | test_bit(__IXGBE_RX_RSC_ENABLED, &(ring)->state) |
#define set_check_for_tx_hang | ( | ring | ) | set_bit(__IXGBE_TX_DETECT_HANG, &(ring)->state) |
#define set_ring_rsc_enabled | ( | ring | ) | set_bit(__IXGBE_RX_RSC_ENABLED, &(ring)->state) |
#define TXD_USE_COUNT | ( | S | ) | DIV_ROUND_UP((S), IXGBE_MAX_DATA_PER_TXD) |
#define VMDQ_P | ( | p | ) | ((p) + adapter->ring_feature[RING_F_VMDQ].offset) |
enum ixgbe_boards |
enum ixgbe_ring_f_enum |
enum ixgbe_ring_state_t |
enum ixgbe_state_t |
void ixgbe_alloc_rx_buffers | ( | struct ixgbe_ring * | rx_ring, |
u16 | cleaned_count | ||
) |
ixgbe_alloc_rx_buffers - Replace used receive buffers : ring to place buffers on : number of buffers to replace
Definition at line 1181 of file ixgbe_main.c.
void ixgbe_atr_compute_perfect_hash_82599 | ( | union ixgbe_atr_input * | input, |
union ixgbe_atr_input * | input_mask | ||
) |
ixgbe_atr_compute_perfect_hash_82599 - Compute the perfect filter hash : input bitstream to compute the hash on : mask for the input bitstream
This function serves two main purposes. First it applys the input_mask to the atr_input resulting in a cleaned up atr_input data stream. Secondly it computes the hash and stores it in the bkt_hash field at the end of the input byte stream. This way it will be available for future use without needing to recompute the hash.
Definition at line 1373 of file ixgbe_82599.c.
void ixgbe_clear_interrupt_scheme | ( | struct ixgbe_adapter * | adapter | ) |
ixgbe_clear_interrupt_scheme - Clear the current interrupt scheme settings : board private structure to clear interrupt scheme on
We go through and clear interrupt specific resources and reset the structure to pre-load conditions
Definition at line 1150 of file ixgbe_lib.c.
void ixgbe_configure_rx_ring | ( | struct ixgbe_adapter * | , |
struct ixgbe_ring * | |||
) |
Definition at line 3112 of file ixgbe_main.c.
void ixgbe_configure_tx_ring | ( | struct ixgbe_adapter * | adapter, |
struct ixgbe_ring * | ring | ||
) |
ixgbe_configure_tx_ring - Configure 8259x Tx ring after Reset : board private structure : structure containing ring specific data
Configure the Tx descriptor ring after a reset.
Definition at line 2723 of file ixgbe_main.c.
void ixgbe_disable_rx_queue | ( | struct ixgbe_adapter * | adapter, |
struct ixgbe_ring * | |||
) |
Definition at line 3082 of file ixgbe_main.c.
void ixgbe_do_reset | ( | struct net_device * | netdev | ) |
Definition at line 6797 of file ixgbe_main.c.
void ixgbe_down | ( | struct ixgbe_adapter * | adapter | ) |
Definition at line 4323 of file ixgbe_main.c.
s32 ixgbe_fdir_add_signature_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_hash_dword | input, | ||
union ixgbe_atr_hash_dword | common, | ||
u8 | queue | ||
) |
ixgbe_atr_add_signature_filter_82599 - Adds a signature hash filter : pointer to hardware structure : unique input dword : compressed common input dword : queue index to direct traffic to
Definition at line 1309 of file ixgbe_82599.c.
s32 ixgbe_fdir_erase_perfect_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input, | ||
u16 | soft_id | ||
) |
Definition at line 1638 of file ixgbe_82599.c.
s32 ixgbe_fdir_set_input_mask_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input_mask | ||
) |
Definition at line 1485 of file ixgbe_82599.c.
s32 ixgbe_fdir_write_perfect_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input, | ||
u16 | soft_id, | ||
u8 | queue | ||
) |
Definition at line 1581 of file ixgbe_82599.c.
void ixgbe_free_rx_resources | ( | struct ixgbe_ring * | rx_ring | ) |
ixgbe_free_rx_resources - Free Rx Resources : ring to clean the resources from
Free all receive software resources
Definition at line 4778 of file ixgbe_main.c.
void ixgbe_free_tx_resources | ( | struct ixgbe_ring * | tx_ring | ) |
ixgbe_free_tx_resources - Free Tx Resources per Queue : Tx descriptor ring for a specific queue
Free all transmit software resources
Definition at line 4740 of file ixgbe_main.c.
ixgbe_init_fdir_perfect_82599 - Initialize Flow Director perfect filters : pointer to hardware structure : value to write to flow director control register, initially contains just the value of the Rx packet buffer allocation
Definition at line 1188 of file ixgbe_82599.c.
ixgbe_init_fdir_signature_82599 - Initialize Flow Director signature filters : pointer to hardware structure : value to write to flow director control register, initially contains just the value of the Rx packet buffer allocation
Definition at line 1164 of file ixgbe_82599.c.
int ixgbe_init_interrupt_scheme | ( | struct ixgbe_adapter * | adapter | ) |
ixgbe_init_interrupt_scheme - Determine proper interrupt scheme : board private structure to initialize
We determine which interrupt scheme to use based on...
Definition at line 1112 of file ixgbe_lib.c.
int ixgbe_poll | ( | struct napi_struct * | napi, |
int | budget | ||
) |
ixgbe_poll - NAPI Rx polling callback : structure for representing this polling device : how many packets driver is allowed to clean
This function is used for legacy and MSI, NAPI mode
Definition at line 2427 of file ixgbe_main.c.
ixgbe_reinit_fdir_tables_82599 - Reinitialize Flow Director tables. : pointer to hardware structure
Definition at line 1048 of file ixgbe_82599.c.
void ixgbe_reinit_locked | ( | struct ixgbe_adapter * | adapter | ) |
Definition at line 4122 of file ixgbe_main.c.
void ixgbe_reset | ( | struct ixgbe_adapter * | adapter | ) |
Definition at line 4151 of file ixgbe_main.c.
void ixgbe_set_ethtool_ops | ( | struct net_device * | netdev | ) |
Definition at line 2737 of file ixgbe_ethtool.c.
void ixgbe_set_rx_mode | ( | struct net_device * | netdev | ) |
ixgbe_set_rx_mode - Unicast, Multicast and Promiscuous mode set : network interface device structure
The set_rx_method entry point is called whenever the unicast/multicast address list or the network interface flags are updated. This routine is responsible for configuring the hardware for proper unicast, multicast and promiscuous mode.
Definition at line 3550 of file ixgbe_main.c.
int ixgbe_setup_rx_resources | ( | struct ixgbe_ring * | rx_ring | ) |
ixgbe_setup_rx_resources - allocate Rx resources (Descriptors) : rx descriptor ring (for a specific queue) to setup
Returns 0 on success, negative on failure
Definition at line 4654 of file ixgbe_main.c.
int ixgbe_setup_tx_resources | ( | struct ixgbe_ring * | tx_ring | ) |
ixgbe_setup_tx_resources - allocate Tx resources (Descriptors) : tx descriptor ring (for a specific queue) to setup
Return 0 on success, negative on failure
Definition at line 4572 of file ixgbe_main.c.
Definition at line 1159 of file ixgbe_lib.c.
void ixgbe_unmap_and_free_tx_resource | ( | struct ixgbe_ring * | , |
struct ixgbe_tx_buffer * | |||
) |
Definition at line 593 of file ixgbe_main.c.
void ixgbe_up | ( | struct ixgbe_adapter * | adapter | ) |
Definition at line 4143 of file ixgbe_main.c.
void ixgbe_update_stats | ( | struct ixgbe_adapter * | adapter | ) |
ixgbe_update_stats - Update the board statistics counters. : board private structure
Definition at line 5110 of file ixgbe_main.c.
int ixgbe_wol_supported | ( | struct ixgbe_adapter * | adapter, |
u16 | device_id, | ||
u16 | subdevice_id | ||
) |
ixgbe_wol_supported - Check whether device supports WoL : hw specific details : the device ID : the subsystem device ID
This function is used by probe and ethtool to determine which devices have WoL support
Definition at line 7028 of file ixgbe_main.c.
void ixgbe_write_eitr | ( | struct ixgbe_q_vector * | q_vector | ) |
ixgbe_write_eitr - write EITR register in hardware specific way : structure containing interrupt and ring information
This function is made to be called by ethtool and by the driver when it needs to update EITR registers at runtime. Hardware specific quirks/differences are taken care of here.
Definition at line 2033 of file ixgbe_main.c.
netdev_tx_t ixgbe_xmit_frame_ring | ( | struct sk_buff * | , |
struct ixgbe_adapter * | , | ||
struct ixgbe_ring * | |||
) |
Definition at line 6339 of file ixgbe_main.c.
struct ixgbe_ring_feature ____cacheline_internodealigned_in_smp |
struct ixgbe_info ixgbe_82598_info |
Definition at line 1307 of file ixgbe_82598.c.
struct ixgbe_info ixgbe_82599_info |
Definition at line 2161 of file ixgbe_82599.c.
char ixgbe_driver_name[] |
Definition at line 55 of file ixgbe_main.c.
Definition at line 70 of file ixgbe_main.c.
struct ixgbe_info ixgbe_X540_info |
Definition at line 888 of file ixgbe_x540.c.