Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
ixgbe_phy.c File Reference
#include <linux/pci.h>
#include <linux/delay.h>
#include <linux/sched.h>
#include "ixgbe_common.h"
#include "ixgbe_phy.h"

Go to the source code of this file.

Functions

s32 ixgbe_identify_phy_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_reset_phy_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_read_phy_reg_generic (struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u16 *phy_data)
 
s32 ixgbe_write_phy_reg_generic (struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u16 phy_data)
 
s32 ixgbe_setup_phy_link_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_setup_phy_link_speed_generic (struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg, bool autoneg_wait_to_complete)
 
s32 ixgbe_get_copper_link_capabilities_generic (struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *autoneg)
 
s32 ixgbe_check_phy_link_tnx (struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *link_up)
 
s32 ixgbe_setup_phy_link_tnx (struct ixgbe_hw *hw)
 
s32 ixgbe_get_phy_firmware_version_tnx (struct ixgbe_hw *hw, u16 *firmware_version)
 
s32 ixgbe_get_phy_firmware_version_generic (struct ixgbe_hw *hw, u16 *firmware_version)
 
s32 ixgbe_reset_phy_nl (struct ixgbe_hw *hw)
 
s32 ixgbe_identify_sfp_module_generic (struct ixgbe_hw *hw)
 
s32 ixgbe_get_sfp_init_sequence_offsets (struct ixgbe_hw *hw, u16 *list_offset, u16 *data_offset)
 
s32 ixgbe_read_i2c_eeprom_generic (struct ixgbe_hw *hw, u8 byte_offset, u8 *eeprom_data)
 
s32 ixgbe_write_i2c_eeprom_generic (struct ixgbe_hw *hw, u8 byte_offset, u8 eeprom_data)
 
s32 ixgbe_read_i2c_byte_generic (struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 *data)
 
s32 ixgbe_write_i2c_byte_generic (struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 data)
 
s32 ixgbe_tn_check_overtemp (struct ixgbe_hw *hw)
 

Function Documentation

s32 ixgbe_check_phy_link_tnx ( struct ixgbe_hw hw,
ixgbe_link_speed speed,
bool link_up 
)

ixgbe_check_phy_link_tnx - Determine link and speed status : pointer to hardware structure

Reads the VS1 register to determine if link is up and the current speed for the PHY.

Definition at line 566 of file ixgbe_phy.c.

s32 ixgbe_get_copper_link_capabilities_generic ( struct ixgbe_hw hw,
ixgbe_link_speed speed,
bool autoneg 
)

ixgbe_get_copper_link_capabilities_generic - Determines link capabilities : pointer to hardware structure : pointer to link speed : boolean auto-negotiation value

Determines the link capabilities by reading the AUTOC register.

Definition at line 534 of file ixgbe_phy.c.

s32 ixgbe_get_phy_firmware_version_generic ( struct ixgbe_hw hw,
u16 firmware_version 
)

ixgbe_get_phy_firmware_version_generic - Gets the PHY Firmware Version : pointer to hardware structure : pointer to the PHY Firmware Version

Definition at line 722 of file ixgbe_phy.c.

s32 ixgbe_get_phy_firmware_version_tnx ( struct ixgbe_hw hw,
u16 firmware_version 
)

ixgbe_get_phy_firmware_version_tnx - Gets the PHY Firmware Version : pointer to hardware structure : pointer to the PHY Firmware Version

Definition at line 705 of file ixgbe_phy.c.

s32 ixgbe_get_sfp_init_sequence_offsets ( struct ixgbe_hw hw,
u16 list_offset,
u16 data_offset 
)

ixgbe_get_sfp_init_sequence_offsets - Provides offset of PHY init sequence : pointer to hardware structure : offset to the SFP ID list : offset to the SFP data block

Checks the MAC's EEPROM to see if it supports a given SFP+ module type, if so it returns the offsets to the phy init sequence block.

Definition at line 1122 of file ixgbe_phy.c.

s32 ixgbe_identify_phy_generic ( struct ixgbe_hw hw)

ixgbe_identify_phy_generic - Get physical layer module : pointer to hardware structure

Determines the physical layer module found on the current adapter.

Definition at line 56 of file ixgbe_phy.c.

s32 ixgbe_identify_sfp_module_generic ( struct ixgbe_hw hw)

ixgbe_identify_sfp_module_generic - Identifies SFP modules : pointer to hardware structure

Searches for and identifies the SFP module and assigns appropriate PHY type.

Definition at line 835 of file ixgbe_phy.c.

s32 ixgbe_read_i2c_byte_generic ( struct ixgbe_hw hw,
u8  byte_offset,
u8  dev_addr,
u8 data 
)

ixgbe_read_i2c_byte_generic - Reads 8 bit word over I2C : pointer to hardware structure : byte offset to read : value read

Performs byte read operation to SFP module's EEPROM over I2C interface at a specified device address.

Definition at line 1233 of file ixgbe_phy.c.

s32 ixgbe_read_i2c_eeprom_generic ( struct ixgbe_hw hw,
u8  byte_offset,
u8 eeprom_data 
)

ixgbe_read_i2c_eeprom_generic - Reads 8 bit EEPROM word over I2C interface : pointer to hardware structure : EEPROM byte offset to read : value read

Performs byte read operation to SFP module's EEPROM over I2C interface.

Definition at line 1200 of file ixgbe_phy.c.

s32 ixgbe_read_phy_reg_generic ( struct ixgbe_hw hw,
u32  reg_addr,
u32  device_type,
u16 phy_data 
)

ixgbe_read_phy_reg_generic - Reads a value from a specified PHY register : pointer to hardware structure : 32 bit address of PHY register to read : Pointer to read data from PHY register

Definition at line 212 of file ixgbe_phy.c.

s32 ixgbe_reset_phy_generic ( struct ixgbe_hw hw)

ixgbe_reset_phy_generic - Performs a PHY reset : pointer to hardware structure

Definition at line 157 of file ixgbe_phy.c.

s32 ixgbe_reset_phy_nl ( struct ixgbe_hw hw)

ixgbe_reset_phy_nl - Performs a PHY reset : pointer to hardware structure

Definition at line 738 of file ixgbe_phy.c.

s32 ixgbe_setup_phy_link_generic ( struct ixgbe_hw hw)

ixgbe_setup_phy_link_generic - Set and restart autoneg : pointer to hardware structure

Restart autonegotiation and PHY and waits for completion.

Definition at line 403 of file ixgbe_phy.c.

s32 ixgbe_setup_phy_link_speed_generic ( struct ixgbe_hw hw,
ixgbe_link_speed  speed,
bool  autoneg,
bool  autoneg_wait_to_complete 
)

ixgbe_setup_phy_link_speed_generic - Sets the auto advertised capabilities : pointer to hardware structure : new link speed : true if autonegotiation enabled

Definition at line 499 of file ixgbe_phy.c.

s32 ixgbe_setup_phy_link_tnx ( struct ixgbe_hw hw)

ixgbe_setup_phy_link_tnx - Set and restart autoneg : pointer to hardware structure

Restart autonegotiation and PHY and waits for completion.

Definition at line 613 of file ixgbe_phy.c.

s32 ixgbe_tn_check_overtemp ( struct ixgbe_hw hw)

ixgbe_tn_check_overtemp - Checks if an overtemp occurred. : pointer to hardware structure

Checks if the LASI temp alarm status was triggered due to overtemp

Definition at line 1728 of file ixgbe_phy.c.

s32 ixgbe_write_i2c_byte_generic ( struct ixgbe_hw hw,
u8  byte_offset,
u8  dev_addr,
u8  data 
)

ixgbe_write_i2c_byte_generic - Writes 8 bit word over I2C : pointer to hardware structure : byte offset to write : value to write

Performs byte write operation to SFP module's EEPROM over I2C interface at a specified device address.

Definition at line 1322 of file ixgbe_phy.c.

s32 ixgbe_write_i2c_eeprom_generic ( struct ixgbe_hw hw,
u8  byte_offset,
u8  eeprom_data 
)

ixgbe_write_i2c_eeprom_generic - Writes 8 bit EEPROM word over I2C interface : pointer to hardware structure : EEPROM byte offset to write : value to write

Performs byte write operation to SFP module's EEPROM over I2C interface.

Definition at line 1216 of file ixgbe_phy.c.

s32 ixgbe_write_phy_reg_generic ( struct ixgbe_hw hw,
u32  reg_addr,
u32  device_type,
u16  phy_data 
)

ixgbe_write_phy_reg_generic - Writes a value to specified PHY register : pointer to hardware structure : 32 bit PHY register to write : 5 bit device type : Data to write to the PHY register

Definition at line 311 of file ixgbe_phy.c.