Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions
ixgbe_common.h File Reference
#include "ixgbe_type.h"
#include "ixgbe.h"

Go to the source code of this file.

Macros

#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_EMC_DIODE3_DATA   0x2A
 
#define IXGBE_EMC_DIODE3_THERM_LIMIT   0x30
 
#define IXGBE_WRITE_REG(a, reg, value)   writel((value), ((a)->hw_addr + (reg)))
 
#define IXGBE_WRITE_REG64(a, reg, value)   writeq((value), ((a)->hw_addr + (reg)))
 
#define IXGBE_READ_REG(a, reg)   readl((a)->hw_addr + (reg))
 
#define IXGBE_WRITE_REG_ARRAY(a, reg, offset, value)
 
#define IXGBE_READ_REG_ARRAY(a, reg, offset)
 
#define IXGBE_WRITE_FLUSH(a)   IXGBE_READ_REG(a, IXGBE_STATUS)
 
#define hw_dbg(hw, format, arg...)   netdev_dbg(((struct ixgbe_adapter *)(hw->back))->netdev, format, ##arg)
 
#define e_dev_info(format, arg...)   dev_info(&adapter->pdev->dev, format, ## arg)
 
#define e_dev_warn(format, arg...)   dev_warn(&adapter->pdev->dev, format, ## arg)
 
#define e_dev_err(format, arg...)   dev_err(&adapter->pdev->dev, format, ## arg)
 
#define e_dev_notice(format, arg...)   dev_notice(&adapter->pdev->dev, format, ## arg)
 
#define e_info(msglvl, format, arg...)   netif_info(adapter, msglvl, adapter->netdev, format, ## arg)
 
#define e_err(msglvl, format, arg...)   netif_err(adapter, msglvl, adapter->netdev, format, ## arg)
 
#define e_warn(msglvl, format, arg...)   netif_warn(adapter, msglvl, adapter->netdev, format, ## arg)
 
#define e_crit(msglvl, format, arg...)   netif_crit(adapter, msglvl, adapter->netdev, format, ## arg)
 

Functions

u16 ixgbe_get_pcie_msix_count_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_init_hw_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_start_hw_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_start_hw_gen2 (struct ixgbe_hw *hw)
 
s32 ixgbe_clear_hw_cntrs_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_read_pba_string_generic (struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size)
 
s32 ixgbe_get_mac_addr_generic (struct ixgbe_hw *hw, u8 *mac_addr)
 
s32 ixgbe_get_bus_info_generic (struct ixgbe_hw *hw)
 
void ixgbe_set_lan_id_multi_port_pcie (struct ixgbe_hw *hw)
 
s32 ixgbe_stop_adapter_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_led_on_generic (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_led_off_generic (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_init_eeprom_params_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_write_eeprom_generic (struct ixgbe_hw *hw, u16 offset, u16 data)
 
s32 ixgbe_write_eeprom_buffer_bit_bang_generic (struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
 
s32 ixgbe_read_eerd_generic (struct ixgbe_hw *hw, u16 offset, u16 *data)
 
s32 ixgbe_read_eerd_buffer_generic (struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
 
s32 ixgbe_write_eewr_generic (struct ixgbe_hw *hw, u16 offset, u16 data)
 
s32 ixgbe_write_eewr_buffer_generic (struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
 
s32 ixgbe_read_eeprom_bit_bang_generic (struct ixgbe_hw *hw, u16 offset, u16 *data)
 
s32 ixgbe_read_eeprom_buffer_bit_bang_generic (struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
 
u16 ixgbe_calc_eeprom_checksum_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_validate_eeprom_checksum_generic (struct ixgbe_hw *hw, u16 *checksum_val)
 
s32 ixgbe_update_eeprom_checksum_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_set_rar_generic (struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq, u32 enable_addr)
 
s32 ixgbe_clear_rar_generic (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_init_rx_addrs_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_update_mc_addr_list_generic (struct ixgbe_hw *hw, struct net_device *netdev)
 
s32 ixgbe_enable_mc_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_disable_mc_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_disable_rx_buff_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_enable_rx_buff_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_enable_rx_dma_generic (struct ixgbe_hw *hw, u32 regval)
 
s32 ixgbe_fc_enable_generic (struct ixgbe_hw *hw)
 
void ixgbe_fc_autoneg (struct ixgbe_hw *hw)
 
s32 ixgbe_validate_mac_addr (u8 *mac_addr)
 
s32 ixgbe_acquire_swfw_sync (struct ixgbe_hw *hw, u16 mask)
 
void ixgbe_release_swfw_sync (struct ixgbe_hw *hw, u16 mask)
 
s32 ixgbe_get_san_mac_addr_generic (struct ixgbe_hw *hw, u8 *san_mac_addr)
 
s32 ixgbe_set_vmdq_generic (struct ixgbe_hw *hw, u32 rar, u32 vmdq)
 
s32 ixgbe_set_vmdq_san_mac_generic (struct ixgbe_hw *hw, u32 vmdq)
 
s32 ixgbe_clear_vmdq_generic (struct ixgbe_hw *hw, u32 rar, u32 vmdq)
 
s32 ixgbe_init_uta_tables_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_set_vfta_generic (struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on)
 
s32 ixgbe_clear_vfta_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_check_mac_link_generic (struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *link_up, bool link_up_wait_to_complete)
 
s32 ixgbe_get_wwn_prefix_generic (struct ixgbe_hw *hw, u16 *wwnn_prefix, u16 *wwpn_prefix)
 
s32 ixgbe_blink_led_start_generic (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_blink_led_stop_generic (struct ixgbe_hw *hw, u32 index)
 
void ixgbe_set_mac_anti_spoofing (struct ixgbe_hw *hw, bool enable, int pf)
 
void ixgbe_set_vlan_anti_spoofing (struct ixgbe_hw *hw, bool enable, int vf)
 
s32 ixgbe_get_device_caps_generic (struct ixgbe_hw *hw, u16 *device_caps)
 
s32 ixgbe_set_fw_drv_ver_generic (struct ixgbe_hw *hw, u8 maj, u8 min, u8 build, u8 ver)
 
void ixgbe_clear_tx_pending (struct ixgbe_hw *hw)
 
void ixgbe_set_rxpba_generic (struct ixgbe_hw *hw, int num_pb, u32 headroom, int strategy)
 
s32 ixgbe_get_thermal_sensor_data_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_init_thermal_sensor_thresh_generic (struct ixgbe_hw *hw)
 

Macro Definition Documentation

#define e_crit (   msglvl,
  format,
  arg... 
)    netif_crit(adapter, msglvl, adapter->netdev, format, ## arg)

Definition at line 159 of file ixgbe_common.h.

#define e_dev_err (   format,
  arg... 
)    dev_err(&adapter->pdev->dev, format, ## arg)

Definition at line 149 of file ixgbe_common.h.

#define e_dev_info (   format,
  arg... 
)    dev_info(&adapter->pdev->dev, format, ## arg)

Definition at line 145 of file ixgbe_common.h.

#define e_dev_notice (   format,
  arg... 
)    dev_notice(&adapter->pdev->dev, format, ## arg)

Definition at line 151 of file ixgbe_common.h.

#define e_dev_warn (   format,
  arg... 
)    dev_warn(&adapter->pdev->dev, format, ## arg)

Definition at line 147 of file ixgbe_common.h.

#define e_err (   msglvl,
  format,
  arg... 
)    netif_err(adapter, msglvl, adapter->netdev, format, ## arg)

Definition at line 155 of file ixgbe_common.h.

#define e_info (   msglvl,
  format,
  arg... 
)    netif_info(adapter, msglvl, adapter->netdev, format, ## arg)

Definition at line 153 of file ixgbe_common.h.

#define e_warn (   msglvl,
  format,
  arg... 
)    netif_warn(adapter, msglvl, adapter->netdev, format, ## arg)

Definition at line 157 of file ixgbe_common.h.

#define hw_dbg (   hw,
  format,
  arg... 
)    netdev_dbg(((struct ixgbe_adapter *)(hw->back))->netdev, format, ##arg)

Definition at line 143 of file ixgbe_common.h.

#define IXGBE_EMC_DIODE1_DATA   0x01

Definition at line 114 of file ixgbe_common.h.

#define IXGBE_EMC_DIODE1_THERM_LIMIT   0x19

Definition at line 115 of file ixgbe_common.h.

#define IXGBE_EMC_DIODE2_DATA   0x23

Definition at line 116 of file ixgbe_common.h.

#define IXGBE_EMC_DIODE2_THERM_LIMIT   0x1A

Definition at line 117 of file ixgbe_common.h.

#define IXGBE_EMC_DIODE3_DATA   0x2A

Definition at line 118 of file ixgbe_common.h.

#define IXGBE_EMC_DIODE3_THERM_LIMIT   0x30

Definition at line 119 of file ixgbe_common.h.

#define IXGBE_EMC_INTERNAL_DATA   0x00

Definition at line 112 of file ixgbe_common.h.

#define IXGBE_EMC_INTERNAL_THERM_LIMIT   0x20

Definition at line 113 of file ixgbe_common.h.

#define IXGBE_I2C_THERMAL_SENSOR_ADDR   0xF8

Definition at line 111 of file ixgbe_common.h.

#define IXGBE_READ_REG (   a,
  reg 
)    readl((a)->hw_addr + (reg))

Definition at line 133 of file ixgbe_common.h.

#define IXGBE_READ_REG_ARRAY (   a,
  reg,
  offset 
)
Value:
(\
readl((a)->hw_addr + (reg) + ((offset) << 2)))

Definition at line 138 of file ixgbe_common.h.

#define IXGBE_WRITE_FLUSH (   a)    IXGBE_READ_REG(a, IXGBE_STATUS)

Definition at line 141 of file ixgbe_common.h.

#define IXGBE_WRITE_REG (   a,
  reg,
  value 
)    writel((value), ((a)->hw_addr + (reg)))

Definition at line 124 of file ixgbe_common.h.

#define IXGBE_WRITE_REG64 (   a,
  reg,
  value 
)    writeq((value), ((a)->hw_addr + (reg)))

Definition at line 131 of file ixgbe_common.h.

#define IXGBE_WRITE_REG_ARRAY (   a,
  reg,
  offset,
  value 
)
Value:
(\
writel((value), ((a)->hw_addr + (reg) + ((offset) << 2))))

Definition at line 135 of file ixgbe_common.h.

Function Documentation

s32 ixgbe_acquire_swfw_sync ( struct ixgbe_hw hw,
u16  mask 
)

ixgbe_acquire_swfw_sync - Acquire SWFW semaphore : pointer to hardware structure : Mask to specify which semaphore to acquire

Acquires the SWFW semaphore through the GSSR register for the specified function (CSR, PHY0, PHY1, EEPROM, Flash)

Definition at line 2481 of file ixgbe_common.c.

s32 ixgbe_blink_led_start_generic ( struct ixgbe_hw hw,
u32  index 
)

ixgbe_blink_led_start_generic - Blink LED based on index. : pointer to hardware structure : led number to blink

Definition at line 2614 of file ixgbe_common.c.

s32 ixgbe_blink_led_stop_generic ( struct ixgbe_hw hw,
u32  index 
)

ixgbe_blink_led_stop_generic - Stop blinking LED based on index. : pointer to hardware structure : led number to stop blinking

Definition at line 2648 of file ixgbe_common.c.

u16 ixgbe_calc_eeprom_checksum_generic ( struct ixgbe_hw hw)

ixgbe_calc_eeprom_checksum_generic - Calculates and returns the checksum : pointer to hardware structure

Definition at line 1653 of file ixgbe_common.c.

s32 ixgbe_check_mac_link_generic ( struct ixgbe_hw hw,
ixgbe_link_speed speed,
bool link_up,
bool  link_up_wait_to_complete 
)

ixgbe_check_mac_link_generic - Determine link and speed status : pointer to hardware structure : pointer to link speed : true when link is up : bool used to wait for link up or not

Reads the links register to determine if link is up and the current speed

Definition at line 3111 of file ixgbe_common.c.

s32 ixgbe_clear_hw_cntrs_generic ( struct ixgbe_hw hw)

ixgbe_clear_hw_cntrs_generic - Generic clear hardware counters : pointer to hardware structure

Clears all hardware statistics counters by reading them from the hardware Statistics counters are clear on read.

Definition at line 337 of file ixgbe_common.c.

s32 ixgbe_clear_rar_generic ( struct ixgbe_hw hw,
u32  index 
)

ixgbe_clear_rar_generic - Remove Rx address register : pointer to hardware structure : Receive address register to write

Clears an ethernet address from a receive address register.

Definition at line 1846 of file ixgbe_common.c.

void ixgbe_clear_tx_pending ( struct ixgbe_hw hw)

ixgbe_clear_tx_pending - Clear pending TX work from the PCIe fifo : pointer to the hardware structure

The 82599 and x540 MACs can experience issues if TX work is still pending when a reset occurs. This function prevents this by flushing the PCIe buffers on the system.

Definition at line 3537 of file ixgbe_common.c.

s32 ixgbe_clear_vfta_generic ( struct ixgbe_hw hw)

ixgbe_clear_vfta_generic - Clear VLAN filter table : pointer to hardware structure

Clears the VLAN filer table, and the VMDq index associated with the filter

Definition at line 3086 of file ixgbe_common.c.

s32 ixgbe_clear_vmdq_generic ( struct ixgbe_hw hw,
u32  rar,
u32  vmdq 
)

ixgbe_clear_vmdq_generic - Disassociate a VMDq pool index from a rx address : pointer to hardware struct : receive address register index to disassociate : VMDq pool index to remove from the rar

Definition at line 2781 of file ixgbe_common.c.

s32 ixgbe_disable_mc_generic ( struct ixgbe_hw hw)

ixgbe_disable_mc_generic - Disable multicast address in RAR : pointer to hardware structure

Disables multicast address in RAR and the use of the multicast hash table.

Definition at line 2073 of file ixgbe_common.c.

s32 ixgbe_disable_rx_buff_generic ( struct ixgbe_hw hw)

ixgbe_disable_rx_buff_generic - Stops the receive data path : pointer to hardware structure

Stops the receive data path and waits for the HW to internally empty the Rx security block.

Definition at line 2550 of file ixgbe_common.c.

s32 ixgbe_enable_mc_generic ( struct ixgbe_hw hw)

ixgbe_enable_mc_generic - Enable multicast address in RAR : pointer to hardware structure

Enables multicast address in RAR and the use of the multicast hash table.

Definition at line 2056 of file ixgbe_common.c.

s32 ixgbe_enable_rx_buff_generic ( struct ixgbe_hw hw)

ixgbe_enable_rx_buff - Enables the receive data path : pointer to hardware structure

Enables the receive data path

Definition at line 2583 of file ixgbe_common.c.

s32 ixgbe_enable_rx_dma_generic ( struct ixgbe_hw hw,
u32  regval 
)

ixgbe_enable_rx_dma_generic - Enable the Rx DMA unit : pointer to hardware structure : register value to write to RXCTRL

Enables the Rx DMA unit

Definition at line 2602 of file ixgbe_common.c.

void ixgbe_fc_autoneg ( struct ixgbe_hw hw)

ixgbe_fc_autoneg - Configure flow control : pointer to hardware structure

Compares our advertised flow control capabilities to those advertised by our link partner, and determines the proper flow control mode to use.

Definition at line 2360 of file ixgbe_common.c.

s32 ixgbe_fc_enable_generic ( struct ixgbe_hw hw)

ixgbe_fc_enable_generic - Enable flow control : pointer to hardware structure

Enable flow control according to the current settings.

Definition at line 2089 of file ixgbe_common.c.

s32 ixgbe_get_bus_info_generic ( struct ixgbe_hw hw)

ixgbe_get_bus_info_generic - Generic set PCI bus info : pointer to hardware structure

Sets the PCI bus info (speed, width, type) within the ixgbe_hw structure

Definition at line 580 of file ixgbe_common.c.

s32 ixgbe_get_device_caps_generic ( struct ixgbe_hw hw,
u16 device_caps 
)

ixgbe_get_device_caps_generic - Get additional device capabilities : pointer to hardware structure : the EEPROM word with the extra device capabilities

This function will read the EEPROM location for the device capabilities, and return the word through device_caps.

Definition at line 3279 of file ixgbe_common.c.

s32 ixgbe_get_mac_addr_generic ( struct ixgbe_hw hw,
u8 mac_addr 
)

ixgbe_get_mac_addr_generic - Generic get MAC address : pointer to hardware structure : Adapter MAC address

Reads the adapter's MAC address from first Receive Address Register (RAR0) A reset of the adapter must be performed prior to calling this function in order for the MAC address to have been loaded from the EEPROM into RAR0

Definition at line 556 of file ixgbe_common.c.

u16 ixgbe_get_pcie_msix_count_generic ( struct ixgbe_hw hw)

ixgbe_get_pcie_msix_count_generic - Gets MSI-X vector count : pointer to hardware structure

Read PCIe configuration space, and get the MSI-X vector count from the capabilities table.

Definition at line 2742 of file ixgbe_common.c.

s32 ixgbe_get_san_mac_addr_generic ( struct ixgbe_hw hw,
u8 san_mac_addr 
)

ixgbe_get_san_mac_addr_generic - SAN MAC address retrieval from the EEPROM : pointer to hardware structure : SAN MAC address

Reads the SAN MAC address from the EEPROM, if it's available. This is per-port, so set_lan_id() must be called before reading the addresses. set_lan_id() is called by identify_sfp(), but this cannot be relied upon for non-SFP connections, so we must call it here.

Definition at line 2697 of file ixgbe_common.c.

s32 ixgbe_get_thermal_sensor_data_generic ( struct ixgbe_hw hw)

ixgbe_get_thermal_sensor_data - Gathers thermal sensor data : pointer to hardware structure

Returns the thermal sensor data structure

Definition at line 3624 of file ixgbe_common.c.

s32 ixgbe_get_wwn_prefix_generic ( struct ixgbe_hw hw,
u16 wwnn_prefix,
u16 wwpn_prefix 
)

ixgbe_get_wwn_prefix_generic - Get alternative WWNN/WWPN prefix from the EEPROM : pointer to hardware structure : the alternative WWNN prefix : the alternative WWPN prefix

This function will read the EEPROM from the alternative SAN MAC address block to check the support for the alternative WWNN/WWPN prefix support.

Definition at line 3170 of file ixgbe_common.c.

s32 ixgbe_init_eeprom_params_generic ( struct ixgbe_hw hw)

ixgbe_init_eeprom_params_generic - Initialize EEPROM params : pointer to hardware structure

Initializes the EEPROM parameters ixgbe_eeprom_info within the ixgbe_hw struct in order to set up EEPROM access.

Definition at line 744 of file ixgbe_common.c.

s32 ixgbe_init_hw_generic ( struct ixgbe_hw hw)

ixgbe_init_hw_generic - Generic hardware initialization : pointer to hardware structure

Initialize the hardware by resetting the hardware, filling the bus info structure and media type, clears all on chip counters, initializes receive address registers, multicast table, VLAN filter table, calls routine to set up link and flow control settings, and leaves transmit and receive units disabled and uninitialized

Definition at line 315 of file ixgbe_common.c.

s32 ixgbe_init_ops_generic ( struct ixgbe_hw hw)
s32 ixgbe_init_rx_addrs_generic ( struct ixgbe_hw hw)

ixgbe_init_rx_addrs_generic - Initializes receive address filters. : pointer to hardware structure

Places the MAC address in receive address register 0 and clears the rest of the receive address registers. Clears the multicast table. Assumes the receiver is in reset when the routine is called.

Definition at line 1882 of file ixgbe_common.c.

s32 ixgbe_init_thermal_sensor_thresh_generic ( struct ixgbe_hw hw)

ixgbe_init_thermal_sensor_thresh_generic - Inits thermal sensor thresholds : pointer to hardware structure

Inits the thermal sensor thresholds according to the NVM map and save off the threshold and location values into mac.thermal_sensor_data

Definition at line 3682 of file ixgbe_common.c.

s32 ixgbe_init_uta_tables_generic ( struct ixgbe_hw hw)

ixgbe_init_uta_tables_generic - Initialize the Unicast Table Array : pointer to hardware structure

Definition at line 2880 of file ixgbe_common.c.

s32 ixgbe_led_off_generic ( struct ixgbe_hw hw,
u32  index 
)

ixgbe_led_off_generic - Turns off the software controllable LEDs. : pointer to hardware structure : led number to turn off

Definition at line 724 of file ixgbe_common.c.

s32 ixgbe_led_on_generic ( struct ixgbe_hw hw,
u32  index 
)

ixgbe_led_on_generic - Turns on the software controllable LEDs. : pointer to hardware structure : led number to turn on

Definition at line 706 of file ixgbe_common.c.

s32 ixgbe_read_eeprom_bit_bang_generic ( struct ixgbe_hw hw,
u16  offset,
u16 data 
)

ixgbe_read_eeprom_bit_bang_generic - Read EEPROM word using bit-bang : pointer to hardware structure : offset within the EEPROM to be read : read 16 bit value from EEPROM

Reads 16 bit value from EEPROM through bit-bang method

Definition at line 1060 of file ixgbe_common.c.

s32 ixgbe_read_eeprom_buffer_bit_bang_generic ( struct ixgbe_hw hw,
u16  offset,
u16  words,
u16 data 
)

ixgbe_read_eeprom_buffer_bit_bang_generic - Read EEPROM using bit-bang : pointer to hardware structure : offset within the EEPROM to be read : number of word(s) : read 16 bit words(s) from EEPROM

Reads 16 bit word(s) from EEPROM through bit-bang method

Definition at line 958 of file ixgbe_common.c.

s32 ixgbe_read_eerd_buffer_generic ( struct ixgbe_hw hw,
u16  offset,
u16  words,
u16 data 
)

ixgbe_read_eerd_buffer_generic - Read EEPROM word(s) using EERD : pointer to hardware structure : offset of word in the EEPROM to read : number of word(s) : 16 bit word(s) from the EEPROM

Reads a 16 bit word(s) from the EEPROM using the EERD register.

Definition at line 1087 of file ixgbe_common.c.

s32 ixgbe_read_eerd_generic ( struct ixgbe_hw hw,
u16  offset,
u16 data 
)

ixgbe_read_eerd_generic - Read EEPROM word using EERD : pointer to hardware structure : offset of word in the EEPROM to read : word read from the EEPROM

Reads a 16 bit word from the EEPROM using the EERD register.

Definition at line 1175 of file ixgbe_common.c.

s32 ixgbe_read_pba_string_generic ( struct ixgbe_hw hw,
u8 pba_num,
u32  pba_num_size 
)

ixgbe_read_pba_string_generic - Reads part number string from EEPROM : pointer to hardware structure : stores the part number string from the EEPROM : part number string buffer length

Reads the part number string from the EEPROM.

Definition at line 446 of file ixgbe_common.c.

void ixgbe_release_swfw_sync ( struct ixgbe_hw hw,
u16  mask 
)

ixgbe_release_swfw_sync - Release SWFW semaphore : pointer to hardware structure : Mask to specify which semaphore to release

Releases the SWFW semaphore through the GSSR register for the specified function (CSR, PHY0, PHY1, EEPROM, Flash)

Definition at line 2529 of file ixgbe_common.c.

s32 ixgbe_set_fw_drv_ver_generic ( struct ixgbe_hw hw,
u8  maj,
u8  min,
u8  build,
u8  sub 
)

ixgbe_set_fw_drv_ver_generic - Sends driver version to firmware : pointer to the HW structure : driver version major number : driver version minor number : driver version build number : driver version sub build number

Sends driver version number to firmware through the manageability block. On success return 0 else returns IXGBE_ERR_SWFW_SYNC when encountering an error acquiring semaphore or IXGBE_ERR_HOST_INTERFACE_COMMAND when command fails.

Definition at line 3483 of file ixgbe_common.c.

void ixgbe_set_lan_id_multi_port_pcie ( struct ixgbe_hw hw)

ixgbe_set_lan_id_multi_port_pcie - Set LAN id for PCIe multiple port devices : pointer to the HW structure

Determines the LAN function id by reading memory-mapped registers and swaps the port value if requested.

Definition at line 634 of file ixgbe_common.c.

void ixgbe_set_mac_anti_spoofing ( struct ixgbe_hw hw,
bool  enable,
int  pf 
)

ixgbe_set_mac_anti_spoofing - Enable/Disable MAC anti-spoofing : pointer to hardware structure : enable or disable switch for anti-spoofing : Physical Function pool - do not enable anti-spoofing for the PF

Definition at line 3212 of file ixgbe_common.c.

s32 ixgbe_set_rar_generic ( struct ixgbe_hw hw,
u32  index,
u8 addr,
u32  vmdq,
u32  enable_addr 
)

ixgbe_set_rar_generic - Set Rx address register : pointer to hardware structure : Receive address register to write : Address to put into receive address register : VMDq "set" or "pool" index : set flag that address is active

Puts an ethernet address into a receive address register.

Definition at line 1798 of file ixgbe_common.c.

void ixgbe_set_rxpba_generic ( struct ixgbe_hw hw,
int  num_pb,
u32  headroom,
int  strategy 
)

ixgbe_set_rxpba_generic - Initialize RX packet buffer : pointer to hardware structure : number of packet buffers to allocate : reserve n KB of headroom : packet buffer allocation strategy

Definition at line 3293 of file ixgbe_common.c.

s32 ixgbe_set_vfta_generic ( struct ixgbe_hw hw,
u32  vlan,
u32  vind,
bool  vlan_on 
)

ixgbe_set_vfta_generic - Set VLAN filter table : pointer to hardware structure : VLAN id to write to VLAN filter : VMDq output index that maps queue to VLAN id in VFVFB : boolean flag to turn on/off VLAN in VFVF

Turn on/off specified VLAN in the VLAN filter table.

Definition at line 2946 of file ixgbe_common.c.

void ixgbe_set_vlan_anti_spoofing ( struct ixgbe_hw hw,
bool  enable,
int  vf 
)

ixgbe_set_vlan_anti_spoofing - Enable/Disable VLAN anti-spoofing : pointer to hardware structure : enable or disable switch for VLAN anti-spoofing : Virtual Function pool - VF Pool to set for VLAN anti-spoofing

Definition at line 3254 of file ixgbe_common.c.

s32 ixgbe_set_vmdq_generic ( struct ixgbe_hw hw,
u32  rar,
u32  vmdq 
)

ixgbe_set_vmdq_generic - Associate a VMDq pool index with a rx address : pointer to hardware struct : receive address register index to associate with a VMDq index : VMDq pool index

Definition at line 2828 of file ixgbe_common.c.

s32 ixgbe_set_vmdq_san_mac_generic ( struct ixgbe_hw hw,
u32  vmdq 
)

This function should only be involved in the IOV mode. In IOV mode, Default pool is next pool after the number of VFs advertized and not 0. MPSAR table needs to be updated for SAN_MAC RAR [hw->mac.san_mac_rar_index]

ixgbe_set_vmdq_san_mac - Associate default VMDq pool index with a rx address : pointer to hardware struct : VMDq pool index

Definition at line 2861 of file ixgbe_common.c.

s32 ixgbe_start_hw_gen2 ( struct ixgbe_hw hw)

ixgbe_start_hw_gen2 - Init sequence for common device family : pointer to hw structure

Performs the init sequence common to the second generation of 10 GbE devices. Devices in the second generation: 82599 X540

Definition at line 276 of file ixgbe_common.c.

s32 ixgbe_start_hw_generic ( struct ixgbe_hw hw)

ixgbe_start_hw_generic - Prepare hardware for Tx/Rx : pointer to hardware structure

Starts the hardware by filling the bus info structure and media type, clears all on chip counters, initializes receive address registers, multicast table, VLAN filter table, calls routine to set up link and flow control settings, and leaves transmit and receive units disabled and uninitialized

Definition at line 235 of file ixgbe_common.c.

s32 ixgbe_stop_adapter_generic ( struct ixgbe_hw hw)

ixgbe_stop_adapter_generic - Generic stop Tx/Rx units : pointer to hardware structure

Sets the adapter_stopped flag within ixgbe_hw struct. Clears interrupts, disables transmit and receive units. The adapter_stopped flag is used by the shared code and drivers to determine if the adapter is in a stopped state and should not touch the hardware.

Definition at line 658 of file ixgbe_common.c.

s32 ixgbe_update_eeprom_checksum_generic ( struct ixgbe_hw hw)

ixgbe_update_eeprom_checksum_generic - Updates the EEPROM checksum : pointer to hardware structure

Definition at line 1741 of file ixgbe_common.c.

s32 ixgbe_update_mc_addr_list_generic ( struct ixgbe_hw hw,
struct net_device netdev 
)

ixgbe_update_mc_addr_list_generic - Updates MAC list of multicast addresses : pointer to hardware structure : pointer to net device structure

The given list replaces any existing list. Clears the MC addrs from receive address registers and the multicast table. Uses unused receive address registers for the first multicast addresses, and hashes the rest into the multicast table.

Definition at line 2014 of file ixgbe_common.c.

s32 ixgbe_validate_eeprom_checksum_generic ( struct ixgbe_hw hw,
u16 checksum_val 
)

ixgbe_validate_eeprom_checksum_generic - Validate EEPROM checksum : pointer to hardware structure : calculated checksum

Performs checksum calculation and validates the EEPROM checksum. If the caller does not need checksum_val, the value can be NULL.

Definition at line 1701 of file ixgbe_common.c.

s32 ixgbe_validate_mac_addr ( u8 mac_addr)

ixgbe_validate_mac_addr - Validate MAC address : pointer to MAC address.

Tests a MAC address to ensure it is a valid Individual Address

Definition at line 1770 of file ixgbe_common.c.

s32 ixgbe_write_eeprom_buffer_bit_bang_generic ( struct ixgbe_hw hw,
u16  offset,
u16  words,
u16 data 
)

ixgbe_write_eeprom_buffer_bit_bang_generic - Write EEPROM using bit-bang : pointer to hardware structure : offset within the EEPROM to write : number of words : 16 bit word(s) to write to EEPROM

Reads 16 bit word(s) from EEPROM through bit-bang method

Definition at line 797 of file ixgbe_common.c.

s32 ixgbe_write_eeprom_generic ( struct ixgbe_hw hw,
u16  offset,
u16  data 
)

ixgbe_write_eeprom_generic - Writes 16 bit value to EEPROM : pointer to hardware structure : offset within the EEPROM to be written to : 16 bit word to be written to the EEPROM

If ixgbe_eeprom_update_checksum is not called after this function, the EEPROM will most likely contain an invalid checksum.

Definition at line 932 of file ixgbe_common.c.

s32 ixgbe_write_eewr_buffer_generic ( struct ixgbe_hw hw,
u16  offset,
u16  words,
u16 data 
)

ixgbe_write_eewr_buffer_generic - Write EEPROM word(s) using EEWR : pointer to hardware structure : offset of word in the EEPROM to write : number of words : word(s) write to the EEPROM

Write a 16 bit word(s) to the EEPROM using the EEWR register.

Definition at line 1189 of file ixgbe_common.c.

s32 ixgbe_write_eewr_generic ( struct ixgbe_hw hw,
u16  offset,
u16  data 
)

ixgbe_write_eewr_generic - Write EEPROM word using EEWR : pointer to hardware structure : offset of word in the EEPROM to write : word write to the EEPROM

Write a 16 bit word to the EEPROM using the EEWR register.

Definition at line 1240 of file ixgbe_common.c.