Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
bnx2x_link.h File Reference

Go to the source code of this file.

Data Structures

struct  bnx2x_reg_set
 
struct  bnx2x_phy
 
struct  link_params
 
struct  link_vars
 
struct  bnx2x_nig_brb_pfc_port_params
 
struct  bnx2x_ets_bw_params
 
struct  bnx2x_ets_sp_params
 
struct  bnx2x_ets_cos_params
 
struct  bnx2x_ets_params
 

Macros

#define DEFAULT_PHY_DEV_ADDR   3
 
#define E2_DEFAULT_PHY_DEV_ADDR   5
 
#define BNX2X_FLOW_CTRL_AUTO   PORT_FEATURE_FLOW_CONTROL_AUTO
 
#define BNX2X_FLOW_CTRL_TX   PORT_FEATURE_FLOW_CONTROL_TX
 
#define BNX2X_FLOW_CTRL_RX   PORT_FEATURE_FLOW_CONTROL_RX
 
#define BNX2X_FLOW_CTRL_BOTH   PORT_FEATURE_FLOW_CONTROL_BOTH
 
#define BNX2X_FLOW_CTRL_NONE   PORT_FEATURE_FLOW_CONTROL_NONE
 
#define NET_SERDES_IF_XFI   1
 
#define NET_SERDES_IF_SFI   2
 
#define NET_SERDES_IF_KR   3
 
#define NET_SERDES_IF_DXGXS   4
 
#define SPEED_AUTO_NEG   0
 
#define SPEED_20000   20000
 
#define SFP_EEPROM_PAGE_SIZE   16
 
#define SFP_EEPROM_VENDOR_NAME_ADDR   0x14
 
#define SFP_EEPROM_VENDOR_NAME_SIZE   16
 
#define SFP_EEPROM_VENDOR_OUI_ADDR   0x25
 
#define SFP_EEPROM_VENDOR_OUI_SIZE   3
 
#define SFP_EEPROM_PART_NO_ADDR   0x28
 
#define SFP_EEPROM_PART_NO_SIZE   16
 
#define SFP_EEPROM_REVISION_ADDR   0x38
 
#define SFP_EEPROM_REVISION_SIZE   4
 
#define SFP_EEPROM_SERIAL_ADDR   0x44
 
#define SFP_EEPROM_SERIAL_SIZE   16
 
#define SFP_EEPROM_DATE_ADDR   0x54 /* ASCII YYMMDD */
 
#define SFP_EEPROM_DATE_SIZE   6
 
#define PWR_FLT_ERR_MSG_LEN   250
 
#define XGXS_EXT_PHY_TYPE(ext_phy_config)   ((ext_phy_config) & PORT_HW_CFG_XGXS_EXT_PHY_TYPE_MASK)
 
#define XGXS_EXT_PHY_ADDR(ext_phy_config)
 
#define SERDES_EXT_PHY_TYPE(ext_phy_config)   ((ext_phy_config) & PORT_HW_CFG_SERDES_EXT_PHY_TYPE_MASK)
 
#define SINGLE_MEDIA_DIRECT(params)   (params->num_phys == 1)
 
#define SINGLE_MEDIA(params)   (params->num_phys == 2)
 
#define DUAL_MEDIA(params)   (params->num_phys == 3)
 
#define FW_PARAM_PHY_ADDR_MASK   0x000000FF
 
#define FW_PARAM_PHY_TYPE_MASK   0x0000FF00
 
#define FW_PARAM_MDIO_CTRL_MASK   0xFFFF0000
 
#define FW_PARAM_MDIO_CTRL_OFFSET   16
 
#define FW_PARAM_PHY_ADDR(fw_param)
 
#define FW_PARAM_PHY_TYPE(fw_param)
 
#define FW_PARAM_MDIO_CTRL(fw_param)
 
#define FW_PARAM_SET(phy_addr, phy_type, mdio_access)   (phy_addr | phy_type | mdio_access << FW_PARAM_MDIO_CTRL_OFFSET)
 
#define PFC_BRB_FULL_LB_XOFF_THRESHOLD   170
 
#define PFC_BRB_FULL_LB_XON_THRESHOLD   250
 
#define MAXVAL(a, b)   (((a) > (b)) ? (a) : (b))
 
#define BMAC_CONTROL_RX_ENABLE   2
 
#define INT_PHY   0
 
#define EXT_PHY1   1
 
#define EXT_PHY2   2
 
#define MAX_PHYS   3
 
#define LINK_CONFIG_SIZE   (MAX_PHYS - 1)
 
#define LINK_CONFIG_IDX(_phy_idx)
 
#define FLAGS_HW_LOCK_REQUIRED   (1<<0)
 
#define FLAGS_NOC   (1<<1)
 
#define FLAGS_FAN_FAILURE_DET_REQ   (1<<2)
 
#define FLAGS_INIT_XGXS_FIRST   (1<<3)
 
#define FLAGS_WC_DUAL_MODE   (1<<4)
 
#define FLAGS_4_PORT_MODE   (1<<5)
 
#define FLAGS_REARM_LATCH_SIGNAL   (1<<6)
 
#define FLAGS_SFP_NOT_APPROVED   (1<<7)
 
#define FLAGS_MDC_MDIO_WA   (1<<8)
 
#define FLAGS_DUMMY_READ   (1<<9)
 
#define FLAGS_MDC_MDIO_WA_B0   (1<<10)
 
#define FLAGS_TX_ERROR_CHECK   (1<<12)
 
#define FLAGS_EEE   (1<<13)
 
#define ETH_PHY_UNSPECIFIED   0x0
 
#define ETH_PHY_SFPP_10G_FIBER   0x1
 
#define ETH_PHY_XFP_FIBER   0x2
 
#define ETH_PHY_DA_TWINAX   0x3
 
#define ETH_PHY_BASE_T   0x4
 
#define ETH_PHY_SFP_1G_FIBER   0x5
 
#define ETH_PHY_KR   0xf0
 
#define ETH_PHY_CX4   0xf1
 
#define ETH_PHY_NOT_PRESENT   0xff
 
#define DISABLE_TX   1
 
#define ENABLE_TX   2
 
#define PHY_INIT   3
 
#define LOOPBACK_NONE   0
 
#define LOOPBACK_EMAC   1
 
#define LOOPBACK_BMAC   2
 
#define LOOPBACK_XGXS   3
 
#define LOOPBACK_EXT_PHY   4
 
#define LOOPBACK_EXT   5
 
#define LOOPBACK_UMAC   6
 
#define LOOPBACK_XMAC   7
 
#define SWITCH_CFG_1G   PORT_FEATURE_CON_SWITCH_1G_SWITCH
 
#define SWITCH_CFG_10G   PORT_FEATURE_CON_SWITCH_10G_SWITCH
 
#define SWITCH_CFG_AUTO_DETECT   PORT_FEATURE_CON_SWITCH_AUTO_DETECT
 
#define FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED   (1<<0)
 
#define FEATURE_CONFIG_PFC_ENABLED   (1<<1)
 
#define FEATURE_CONFIG_BC_SUPPORTS_OPT_MDL_VRFY   (1<<2)
 
#define FEATURE_CONFIG_BC_SUPPORTS_DUAL_PHY_OPT_MDL_VRFY   (1<<3)
 
#define FEATURE_CONFIG_BC_SUPPORTS_AFEX   (1<<8)
 
#define FEATURE_CONFIG_AUTOGREEEN_ENABLED   (1<<9)
 
#define FEATURE_CONFIG_BC_SUPPORTS_SFP_TX_DISABLED   (1<<10)
 
#define FEATURE_CONFIG_DISABLE_REMOTE_FAULT_DET   (1<<11)
 
#define EEE_MODE_NVRAM_BALANCED_TIME   (0xa00)
 
#define EEE_MODE_NVRAM_AGGRESSIVE_TIME   (0x100)
 
#define EEE_MODE_NVRAM_LATENCY_TIME   (0x6000)
 
#define EEE_MODE_NVRAM_MASK   (0x3)
 
#define EEE_MODE_TIMER_MASK   (0xfffff)
 
#define EEE_MODE_OUTPUT_TIME   (1<<28)
 
#define EEE_MODE_OVERRIDE_NVRAM   (1<<29)
 
#define EEE_MODE_ENABLE_LPI   (1<<30)
 
#define EEE_MODE_ADV_LPI   (1<<31)
 
#define PHY_XGXS_FLAG   (1<<0)
 
#define PHY_SGMII_FLAG   (1<<1)
 
#define PHY_PHYSICAL_LINK_FLAG   (1<<2)
 
#define PHY_HALF_OPEN_CONN_FLAG   (1<<3)
 
#define PHY_OVER_CURRENT_FLAG   (1<<4)
 
#define PHY_SFP_TX_FAULT_FLAG   (1<<5)
 
#define MAC_TYPE_NONE   0
 
#define MAC_TYPE_EMAC   1
 
#define MAC_TYPE_BMAC   2
 
#define MAC_TYPE_UMAC   3
 
#define MAC_TYPE_XMAC   4
 
#define PERIODIC_FLAGS_LINK_EVENT   0x0001
 
#define LED_MODE_OFF   0
 
#define LED_MODE_ON   1
 
#define LED_MODE_OPER   2
 
#define LED_MODE_FRONT_PANEL_OFF   3
 
#define DCBX_E2E3_MAX_NUM_COS   (2)
 
#define DCBX_E3B0_MAX_NUM_COS_PORT0   (6)
 
#define DCBX_E3B0_MAX_NUM_COS_PORT1   (3)
 
#define DCBX_E3B0_MAX_NUM_COS
 
#define DCBX_MAX_NUM_COS
 

Typedefs

typedef u8(* config_init_t )(struct bnx2x_phy *phy, struct link_params *params, struct link_vars *vars)
 
typedef u8(* read_status_t )(struct bnx2x_phy *phy, struct link_params *params, struct link_vars *vars)
 
typedef void(* link_reset_t )(struct bnx2x_phy *phy, struct link_params *params)
 
typedef void(* config_loopback_t )(struct bnx2x_phy *phy, struct link_params *params)
 
typedef u8(* format_fw_ver_t )(u32 raw, u8 *str, u16 *len)
 
typedef void(* hw_reset_t )(struct bnx2x_phy *phy, struct link_params *params)
 
typedef void(* set_link_led_t )(struct bnx2x_phy *phy, struct link_params *params, u8 mode)
 
typedef void(* phy_specific_func_t )(struct bnx2x_phy *phy, struct link_params *params, u32 action)
 

Enumerations

enum  bnx2x_cos_state { bnx2x_cos_state_strict = 0, bnx2x_cos_state_bw = 1 }
 

Functions

int bnx2x_phy_init (struct link_params *params, struct link_vars *vars)
 
int bnx2x_link_reset (struct link_params *params, struct link_vars *vars, u8 reset_ext_phy)
 
int bnx2x_lfa_reset (struct link_params *params, struct link_vars *vars)
 
int bnx2x_link_update (struct link_params *params, struct link_vars *vars)
 
int bnx2x_phy_read (struct link_params *params, u8 phy_addr, u8 devad, u16 reg, u16 *ret_val)
 
int bnx2x_phy_write (struct link_params *params, u8 phy_addr, u8 devad, u16 reg, u16 val)
 
void bnx2x_link_status_update (struct link_params *input, struct link_vars *output)
 
int bnx2x_get_ext_phy_fw_version (struct link_params *params, u8 *version, u16 len)
 
int bnx2x_set_led (struct link_params *params, struct link_vars *vars, u8 mode, u32 speed)
 
void bnx2x_handle_module_detect_int (struct link_params *params)
 
int bnx2x_test_link (struct link_params *params, struct link_vars *vars, u8 is_serdes)
 
int bnx2x_common_init_phy (struct bnx2x *bp, u32 shmem_base_path[], u32 shmem2_base_path[], u32 chip_id)
 
void bnx2x_ext_phy_hw_reset (struct bnx2x *bp, u8 port)
 
void bnx2x_sfx7101_sp_sw_reset (struct bnx2x *bp, struct bnx2x_phy *phy)
 
int bnx2x_read_sfp_module_eeprom (struct bnx2x_phy *phy, struct link_params *params, u16 addr, u8 byte_cnt, u8 *o_buf)
 
void bnx2x_hw_reset_phy (struct link_params *params)
 
u8 bnx2x_hw_lock_required (struct bnx2x *bp, u32 shmem_base, u32 shmem2_base)
 
u32 bnx2x_phy_selection (struct link_params *params)
 
int bnx2x_phy_probe (struct link_params *params)
 
u8 bnx2x_fan_failure_det_req (struct bnx2x *bp, u32 shmem_base, u32 shmem2_base, u8 port)
 
int bnx2x_update_pfc (struct link_params *params, struct link_vars *vars, struct bnx2x_nig_brb_pfc_port_params *pfc_params)
 
int bnx2x_ets_disabled (struct link_params *params, struct link_vars *vars)
 
void bnx2x_ets_bw_limit (const struct link_params *params, const u32 cos0_bw, const u32 cos1_bw)
 
int bnx2x_ets_strict (const struct link_params *params, const u8 strict_cos)
 
int bnx2x_ets_e3b0_config (const struct link_params *params, const struct link_vars *vars, struct bnx2x_ets_params *ets_params)
 
void bnx2x_pfc_statistic (struct link_params *params, struct link_vars *vars, u32 pfc_frames_sent[2], u32 pfc_frames_received[2])
 
void bnx2x_init_mod_abs_int (struct bnx2x *bp, struct link_vars *vars, u32 chip_id, u32 shmem_base, u32 shmem2_base, u8 port)
 
int bnx2x_sfp_module_detection (struct bnx2x_phy *phy, struct link_params *params)
 
void bnx2x_period_func (struct link_params *params, struct link_vars *vars)
 
int bnx2x_check_half_open_conn (struct link_params *params, struct link_vars *vars, u8 notify)
 

Macro Definition Documentation

#define BMAC_CONTROL_RX_ENABLE   2

Definition at line 94 of file bnx2x_link.h.

#define BNX2X_FLOW_CTRL_AUTO   PORT_FEATURE_FLOW_CONTROL_AUTO

Definition at line 30 of file bnx2x_link.h.

#define BNX2X_FLOW_CTRL_BOTH   PORT_FEATURE_FLOW_CONTROL_BOTH

Definition at line 33 of file bnx2x_link.h.

#define BNX2X_FLOW_CTRL_NONE   PORT_FEATURE_FLOW_CONTROL_NONE

Definition at line 34 of file bnx2x_link.h.

#define BNX2X_FLOW_CTRL_RX   PORT_FEATURE_FLOW_CONTROL_RX

Definition at line 32 of file bnx2x_link.h.

#define BNX2X_FLOW_CTRL_TX   PORT_FEATURE_FLOW_CONTROL_TX

Definition at line 31 of file bnx2x_link.h.

#define DCBX_E2E3_MAX_NUM_COS   (2)

Definition at line 440 of file bnx2x_link.h.

#define DCBX_E3B0_MAX_NUM_COS
Value:

Definition at line 443 of file bnx2x_link.h.

#define DCBX_E3B0_MAX_NUM_COS_PORT0   (6)

Definition at line 441 of file bnx2x_link.h.

#define DCBX_E3B0_MAX_NUM_COS_PORT1   (3)

Definition at line 442 of file bnx2x_link.h.

#define DCBX_MAX_NUM_COS
Value:

Definition at line 447 of file bnx2x_link.h.

#define DEFAULT_PHY_DEV_ADDR   3

Definition at line 25 of file bnx2x_link.h.

#define DISABLE_TX   1

Definition at line 217 of file bnx2x_link.h.

#define DUAL_MEDIA (   params)    (params->num_phys == 3)

Definition at line 72 of file bnx2x_link.h.

#define E2_DEFAULT_PHY_DEV_ADDR   5

Definition at line 26 of file bnx2x_link.h.

#define EEE_MODE_ADV_LPI   (1<<31)

Definition at line 299 of file bnx2x_link.h.

#define EEE_MODE_ENABLE_LPI   (1<<30)

Definition at line 298 of file bnx2x_link.h.

#define EEE_MODE_NVRAM_AGGRESSIVE_TIME   (0x100)

Definition at line 292 of file bnx2x_link.h.

#define EEE_MODE_NVRAM_BALANCED_TIME   (0xa00)

Definition at line 291 of file bnx2x_link.h.

#define EEE_MODE_NVRAM_LATENCY_TIME   (0x6000)

Definition at line 293 of file bnx2x_link.h.

#define EEE_MODE_NVRAM_MASK   (0x3)

Definition at line 294 of file bnx2x_link.h.

#define EEE_MODE_OUTPUT_TIME   (1<<28)

Definition at line 296 of file bnx2x_link.h.

#define EEE_MODE_OVERRIDE_NVRAM   (1<<29)

Definition at line 297 of file bnx2x_link.h.

#define EEE_MODE_TIMER_MASK   (0xfffff)

Definition at line 295 of file bnx2x_link.h.

#define ENABLE_TX   2

Definition at line 218 of file bnx2x_link.h.

#define ETH_PHY_BASE_T   0x4

Definition at line 176 of file bnx2x_link.h.

#define ETH_PHY_CX4   0xf1

Definition at line 179 of file bnx2x_link.h.

#define ETH_PHY_DA_TWINAX   0x3

Definition at line 175 of file bnx2x_link.h.

#define ETH_PHY_KR   0xf0

Definition at line 178 of file bnx2x_link.h.

#define ETH_PHY_NOT_PRESENT   0xff

Definition at line 180 of file bnx2x_link.h.

#define ETH_PHY_SFP_1G_FIBER   0x5

Definition at line 177 of file bnx2x_link.h.

#define ETH_PHY_SFPP_10G_FIBER   0x1

Definition at line 173 of file bnx2x_link.h.

#define ETH_PHY_UNSPECIFIED   0x0

Definition at line 172 of file bnx2x_link.h.

#define ETH_PHY_XFP_FIBER   0x2

Definition at line 174 of file bnx2x_link.h.

#define EXT_PHY1   1

Definition at line 99 of file bnx2x_link.h.

#define EXT_PHY2   2

Definition at line 100 of file bnx2x_link.h.

#define FEATURE_CONFIG_AUTOGREEEN_ENABLED   (1<<9)

Definition at line 267 of file bnx2x_link.h.

#define FEATURE_CONFIG_BC_SUPPORTS_AFEX   (1<<8)

Definition at line 266 of file bnx2x_link.h.

#define FEATURE_CONFIG_BC_SUPPORTS_DUAL_PHY_OPT_MDL_VRFY   (1<<3)

Definition at line 265 of file bnx2x_link.h.

#define FEATURE_CONFIG_BC_SUPPORTS_OPT_MDL_VRFY   (1<<2)

Definition at line 264 of file bnx2x_link.h.

#define FEATURE_CONFIG_BC_SUPPORTS_SFP_TX_DISABLED   (1<<10)

Definition at line 268 of file bnx2x_link.h.

#define FEATURE_CONFIG_DISABLE_REMOTE_FAULT_DET   (1<<11)

Definition at line 269 of file bnx2x_link.h.

#define FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLED   (1<<0)

Definition at line 262 of file bnx2x_link.h.

#define FEATURE_CONFIG_PFC_ENABLED   (1<<1)

Definition at line 263 of file bnx2x_link.h.

#define FLAGS_4_PORT_MODE   (1<<5)

Definition at line 151 of file bnx2x_link.h.

#define FLAGS_DUMMY_READ   (1<<9)

Definition at line 155 of file bnx2x_link.h.

#define FLAGS_EEE   (1<<13)

Definition at line 158 of file bnx2x_link.h.

#define FLAGS_FAN_FAILURE_DET_REQ   (1<<2)

Definition at line 147 of file bnx2x_link.h.

#define FLAGS_HW_LOCK_REQUIRED   (1<<0)

Definition at line 143 of file bnx2x_link.h.

#define FLAGS_INIT_XGXS_FIRST   (1<<3)

Definition at line 149 of file bnx2x_link.h.

#define FLAGS_MDC_MDIO_WA   (1<<8)

Definition at line 154 of file bnx2x_link.h.

#define FLAGS_MDC_MDIO_WA_B0   (1<<10)

Definition at line 156 of file bnx2x_link.h.

#define FLAGS_NOC   (1<<1)

Definition at line 145 of file bnx2x_link.h.

#define FLAGS_REARM_LATCH_SIGNAL   (1<<6)

Definition at line 152 of file bnx2x_link.h.

#define FLAGS_SFP_NOT_APPROVED   (1<<7)

Definition at line 153 of file bnx2x_link.h.

#define FLAGS_TX_ERROR_CHECK   (1<<12)

Definition at line 157 of file bnx2x_link.h.

#define FLAGS_WC_DUAL_MODE   (1<<4)

Definition at line 150 of file bnx2x_link.h.

#define FW_PARAM_MDIO_CTRL (   fw_param)
Value:
((fw_param & \
FW_PARAM_MDIO_CTRL_MASK) >> \

Definition at line 82 of file bnx2x_link.h.

#define FW_PARAM_MDIO_CTRL_MASK   0xFFFF0000

Definition at line 76 of file bnx2x_link.h.

#define FW_PARAM_MDIO_CTRL_OFFSET   16

Definition at line 77 of file bnx2x_link.h.

#define FW_PARAM_PHY_ADDR (   fw_param)
Value:
(fw_param & \
FW_PARAM_PHY_ADDR_MASK)

Definition at line 78 of file bnx2x_link.h.

#define FW_PARAM_PHY_ADDR_MASK   0x000000FF

Definition at line 74 of file bnx2x_link.h.

#define FW_PARAM_PHY_TYPE (   fw_param)
Value:
(fw_param & \
FW_PARAM_PHY_TYPE_MASK)

Definition at line 80 of file bnx2x_link.h.

#define FW_PARAM_PHY_TYPE_MASK   0x0000FF00

Definition at line 75 of file bnx2x_link.h.

#define FW_PARAM_SET (   phy_addr,
  phy_type,
  mdio_access 
)    (phy_addr | phy_type | mdio_access << FW_PARAM_MDIO_CTRL_OFFSET)

Definition at line 85 of file bnx2x_link.h.

#define INT_PHY   0

Definition at line 98 of file bnx2x_link.h.

#define LED_MODE_FRONT_PANEL_OFF   3

Definition at line 393 of file bnx2x_link.h.

#define LED_MODE_OFF   0

Definition at line 390 of file bnx2x_link.h.

#define LED_MODE_ON   1

Definition at line 391 of file bnx2x_link.h.

#define LED_MODE_OPER   2

Definition at line 392 of file bnx2x_link.h.

#define LINK_CONFIG_IDX (   _phy_idx)
Value:
((_phy_idx == INT_PHY) ? \
0 : (_phy_idx - 1))

Definition at line 105 of file bnx2x_link.h.

#define LINK_CONFIG_SIZE   (MAX_PHYS - 1)

Definition at line 104 of file bnx2x_link.h.

#define LOOPBACK_BMAC   2

Definition at line 231 of file bnx2x_link.h.

#define LOOPBACK_EMAC   1

Definition at line 230 of file bnx2x_link.h.

#define LOOPBACK_EXT   5

Definition at line 234 of file bnx2x_link.h.

#define LOOPBACK_EXT_PHY   4

Definition at line 233 of file bnx2x_link.h.

#define LOOPBACK_NONE   0

Definition at line 229 of file bnx2x_link.h.

#define LOOPBACK_UMAC   6

Definition at line 235 of file bnx2x_link.h.

#define LOOPBACK_XGXS   3

Definition at line 232 of file bnx2x_link.h.

#define LOOPBACK_XMAC   7

Definition at line 236 of file bnx2x_link.h.

#define MAC_TYPE_BMAC   2

Definition at line 325 of file bnx2x_link.h.

#define MAC_TYPE_EMAC   1

Definition at line 324 of file bnx2x_link.h.

#define MAC_TYPE_NONE   0

Definition at line 323 of file bnx2x_link.h.

#define MAC_TYPE_UMAC   3

Definition at line 326 of file bnx2x_link.h.

#define MAC_TYPE_XMAC   4

Definition at line 327 of file bnx2x_link.h.

#define MAX_PHYS   3

Definition at line 101 of file bnx2x_link.h.

#define MAXVAL (   a,
  b 
)    (((a) > (b)) ? (a) : (b))

Definition at line 92 of file bnx2x_link.h.

#define NET_SERDES_IF_DXGXS   4

Definition at line 39 of file bnx2x_link.h.

#define NET_SERDES_IF_KR   3

Definition at line 38 of file bnx2x_link.h.

#define NET_SERDES_IF_SFI   2

Definition at line 37 of file bnx2x_link.h.

#define NET_SERDES_IF_XFI   1

Definition at line 36 of file bnx2x_link.h.

#define PERIODIC_FLAGS_LINK_EVENT   0x0001

Definition at line 344 of file bnx2x_link.h.

#define PFC_BRB_FULL_LB_XOFF_THRESHOLD   170

Definition at line 89 of file bnx2x_link.h.

#define PFC_BRB_FULL_LB_XON_THRESHOLD   250

Definition at line 90 of file bnx2x_link.h.

#define PHY_HALF_OPEN_CONN_FLAG   (1<<3)

Definition at line 318 of file bnx2x_link.h.

#define PHY_INIT   3

Definition at line 219 of file bnx2x_link.h.

#define PHY_OVER_CURRENT_FLAG   (1<<4)

Definition at line 319 of file bnx2x_link.h.

#define PHY_PHYSICAL_LINK_FLAG   (1<<2)

Definition at line 317 of file bnx2x_link.h.

#define PHY_SFP_TX_FAULT_FLAG   (1<<5)

Definition at line 320 of file bnx2x_link.h.

#define PHY_SGMII_FLAG   (1<<1)

Definition at line 316 of file bnx2x_link.h.

#define PHY_XGXS_FLAG   (1<<0)

Definition at line 315 of file bnx2x_link.h.

#define PWR_FLT_ERR_MSG_LEN   250

Definition at line 57 of file bnx2x_link.h.

#define SERDES_EXT_PHY_TYPE (   ext_phy_config)    ((ext_phy_config) & PORT_HW_CFG_SERDES_EXT_PHY_TYPE_MASK)

Definition at line 64 of file bnx2x_link.h.

#define SFP_EEPROM_DATE_ADDR   0x54 /* ASCII YYMMDD */

Definition at line 55 of file bnx2x_link.h.

#define SFP_EEPROM_DATE_SIZE   6

Definition at line 56 of file bnx2x_link.h.

#define SFP_EEPROM_PAGE_SIZE   16

Definition at line 44 of file bnx2x_link.h.

#define SFP_EEPROM_PART_NO_ADDR   0x28

Definition at line 49 of file bnx2x_link.h.

#define SFP_EEPROM_PART_NO_SIZE   16

Definition at line 50 of file bnx2x_link.h.

#define SFP_EEPROM_REVISION_ADDR   0x38

Definition at line 51 of file bnx2x_link.h.

#define SFP_EEPROM_REVISION_SIZE   4

Definition at line 52 of file bnx2x_link.h.

#define SFP_EEPROM_SERIAL_ADDR   0x44

Definition at line 53 of file bnx2x_link.h.

#define SFP_EEPROM_SERIAL_SIZE   16

Definition at line 54 of file bnx2x_link.h.

#define SFP_EEPROM_VENDOR_NAME_ADDR   0x14

Definition at line 45 of file bnx2x_link.h.

#define SFP_EEPROM_VENDOR_NAME_SIZE   16

Definition at line 46 of file bnx2x_link.h.

#define SFP_EEPROM_VENDOR_OUI_ADDR   0x25

Definition at line 47 of file bnx2x_link.h.

#define SFP_EEPROM_VENDOR_OUI_SIZE   3

Definition at line 48 of file bnx2x_link.h.

#define SINGLE_MEDIA (   params)    (params->num_phys == 2)

Definition at line 70 of file bnx2x_link.h.

#define SINGLE_MEDIA_DIRECT (   params)    (params->num_phys == 1)

Definition at line 68 of file bnx2x_link.h.

#define SPEED_20000   20000

Definition at line 42 of file bnx2x_link.h.

#define SPEED_AUTO_NEG   0

Definition at line 41 of file bnx2x_link.h.

#define SWITCH_CFG_10G   PORT_FEATURE_CON_SWITCH_10G_SWITCH

Definition at line 252 of file bnx2x_link.h.

#define SWITCH_CFG_1G   PORT_FEATURE_CON_SWITCH_1G_SWITCH

Definition at line 251 of file bnx2x_link.h.

#define SWITCH_CFG_AUTO_DETECT   PORT_FEATURE_CON_SWITCH_AUTO_DETECT

Definition at line 253 of file bnx2x_link.h.

#define XGXS_EXT_PHY_ADDR (   ext_phy_config)
Value:
(((ext_phy_config) & PORT_HW_CFG_XGXS_EXT_PHY_ADDR_MASK) >> \
PORT_HW_CFG_XGXS_EXT_PHY_ADDR_SHIFT)

Definition at line 61 of file bnx2x_link.h.

#define XGXS_EXT_PHY_TYPE (   ext_phy_config)    ((ext_phy_config) & PORT_HW_CFG_XGXS_EXT_PHY_TYPE_MASK)

Definition at line 59 of file bnx2x_link.h.

Typedef Documentation

typedef u8(* config_init_t)(struct bnx2x_phy *phy, struct link_params *params, struct link_vars *vars)

Definition at line 115 of file bnx2x_link.h.

typedef void(* config_loopback_t)(struct bnx2x_phy *phy, struct link_params *params)

Definition at line 121 of file bnx2x_link.h.

typedef u8(* format_fw_ver_t)(u32 raw, u8 *str, u16 *len)

Definition at line 123 of file bnx2x_link.h.

typedef void(* hw_reset_t)(struct bnx2x_phy *phy, struct link_params *params)

Definition at line 124 of file bnx2x_link.h.

typedef void(* link_reset_t)(struct bnx2x_phy *phy, struct link_params *params)

Definition at line 119 of file bnx2x_link.h.

typedef void(* phy_specific_func_t)(struct bnx2x_phy *phy, struct link_params *params, u32 action)

Definition at line 127 of file bnx2x_link.h.

typedef u8(* read_status_t)(struct bnx2x_phy *phy, struct link_params *params, struct link_vars *vars)

Definition at line 117 of file bnx2x_link.h.

typedef void(* set_link_led_t)(struct bnx2x_phy *phy, struct link_params *params, u8 mode)

Definition at line 125 of file bnx2x_link.h.

Enumeration Type Documentation

Enumerator:
bnx2x_cos_state_strict 
bnx2x_cos_state_bw 

Definition at line 481 of file bnx2x_link.h.

Function Documentation

int bnx2x_check_half_open_conn ( struct link_params params,
struct link_vars vars,
u8  notify 
)

Definition at line 13044 of file bnx2x_link.c.

int bnx2x_common_init_phy ( struct bnx2x bp,
u32  shmem_base_path[],
u32  shmem2_base_path[],
u32  chip_id 
)

Definition at line 12894 of file bnx2x_link.c.

void bnx2x_ets_bw_limit ( const struct link_params params,
const u32  cos0_bw,
const u32  cos1_bw 
)

Definition at line 1253 of file bnx2x_link.c.

int bnx2x_ets_disabled ( struct link_params params,
struct link_vars vars 
)

Definition at line 742 of file bnx2x_link.c.

int bnx2x_ets_e3b0_config ( const struct link_params params,
const struct link_vars vars,
struct bnx2x_ets_params ets_params 
)

Definition at line 1107 of file bnx2x_link.c.

int bnx2x_ets_strict ( const struct link_params params,
const u8  strict_cos 
)

Definition at line 1285 of file bnx2x_link.c.

void bnx2x_ext_phy_hw_reset ( struct bnx2x bp,
u8  port 
)

Definition at line 6752 of file bnx2x_link.c.

u8 bnx2x_fan_failure_det_req ( struct bnx2x bp,
u32  shmem_base,
u32  shmem2_base,
u8  port 
)

Definition at line 13202 of file bnx2x_link.c.

int bnx2x_get_ext_phy_fw_version ( struct link_params params,
u8 version,
u16  len 
)

Definition at line 5927 of file bnx2x_link.c.

void bnx2x_handle_module_detect_int ( struct link_params params)

Definition at line 8386 of file bnx2x_link.c.

u8 bnx2x_hw_lock_required ( struct bnx2x bp,
u32  shmem_base,
u32  shmem2_base 
)

Definition at line 13184 of file bnx2x_link.c.

void bnx2x_hw_reset_phy ( struct link_params params)

Definition at line 13223 of file bnx2x_link.c.

void bnx2x_init_mod_abs_int ( struct bnx2x bp,
struct link_vars vars,
u32  chip_id,
u32  shmem_base,
u32  shmem2_base,
u8  port 
)

Definition at line 13245 of file bnx2x_link.c.

int bnx2x_lfa_reset ( struct link_params params,
struct link_vars vars 
)

Definition at line 12396 of file bnx2x_link.c.

int bnx2x_link_reset ( struct link_params params,
struct link_vars vars,
u8  reset_ext_phy 
)

Definition at line 12306 of file bnx2x_link.c.

void bnx2x_link_status_update ( struct link_params input,
struct link_vars output 
)

Definition at line 4555 of file bnx2x_link.c.

int bnx2x_link_update ( struct link_params params,
struct link_vars vars 
)

Definition at line 6497 of file bnx2x_link.c.

void bnx2x_period_func ( struct link_params params,
struct link_vars vars 
)

Definition at line 13142 of file bnx2x_link.c.

void bnx2x_pfc_statistic ( struct link_params params,
struct link_vars vars,
u32  pfc_frames_sent[2],
u32  pfc_frames_received[2] 
)

Definition at line 1422 of file bnx2x_link.c.

int bnx2x_phy_init ( struct link_params params,
struct link_vars vars 
)

Definition at line 12221 of file bnx2x_link.c.

int bnx2x_phy_probe ( struct link_params params)

Definition at line 11867 of file bnx2x_link.c.

int bnx2x_phy_read ( struct link_params params,
u8  phy_addr,
u8  devad,
u16  reg,
u16 ret_val 
)

Definition at line 3150 of file bnx2x_link.c.

u32 bnx2x_phy_selection ( struct link_params params)

Definition at line 11834 of file bnx2x_link.c.

int bnx2x_phy_write ( struct link_params params,
u8  phy_addr,
u8  devad,
u16  reg,
u16  val 
)

Definition at line 3167 of file bnx2x_link.c.

int bnx2x_read_sfp_module_eeprom ( struct bnx2x_phy phy,
struct link_params params,
u16  addr,
u8  byte_cnt,
u8 o_buf 
)

Definition at line 7760 of file bnx2x_link.c.

int bnx2x_set_led ( struct link_params params,
struct link_vars vars,
u8  mode,
u32  speed 
)

Definition at line 6022 of file bnx2x_link.c.

int bnx2x_sfp_module_detection ( struct bnx2x_phy phy,
struct link_params params 
)

Definition at line 8330 of file bnx2x_link.c.

void bnx2x_sfx7101_sp_sw_reset ( struct bnx2x bp,
struct bnx2x_phy phy 
)

Definition at line 10903 of file bnx2x_link.c.

int bnx2x_test_link ( struct link_params params,
struct link_vars vars,
u8  is_serdes 
)

Definition at line 6164 of file bnx2x_link.c.

int bnx2x_update_pfc ( struct link_params params,
struct link_vars vars,
struct bnx2x_nig_brb_pfc_port_params pfc_params 
)

Definition at line 2195 of file bnx2x_link.c.