iPXE
|
#include "igbvf_vf.h"
Go to the source code of this file.
Functions | |
FILE_LICENCE (GPL2_ONLY) | |
static s32 | igbvf_init_mac_params_vf (struct e1000_hw *hw) |
igbvf_init_mac_params_vf - Inits MAC params @hw: pointer to the HW structure More... | |
static s32 | igbvf_check_for_link_vf (struct e1000_hw *hw) |
igbvf_check_for_link_vf - Check for link for a virtual interface @hw: pointer to the HW structure More... | |
static s32 | igbvf_get_link_up_info_vf (struct e1000_hw *hw, u16 *speed, u16 *duplex) |
igbvf_get_link_up_info_vf - Gets link info. More... | |
static s32 | igbvf_init_hw_vf (struct e1000_hw *hw) |
igbvf_init_hw_vf - Inits the HW @hw: pointer to the HW structure More... | |
static s32 | igbvf_reset_hw_vf (struct e1000_hw *hw) |
igbvf_reset_hw_vf - Resets the HW @hw: pointer to the HW structure More... | |
static void | igbvf_update_mc_addr_list_vf (struct e1000_hw *hw, u8 *mc_addr_list, u32 mc_addr_count) |
igbvf_update_mc_addr_list_vf - Update Multicast addresses @hw: pointer to the HW structure @mc_addr_list: array of multicast addresses to program @mc_addr_count: number of multicast addresses to program More... | |
static void | igbvf_rar_set_vf (struct e1000_hw *, u8 *, u32) |
static s32 | igbvf_read_mac_addr_vf (struct e1000_hw *hw) |
igbvf_read_mac_addr_vf - Read device MAC address @hw: pointer to the HW structure More... | |
void | igbvf_init_function_pointers_vf (struct e1000_hw *hw) |
igbvf_init_function_pointers_vf - Inits function pointers @hw: pointer to the HW structure More... | |
static void | igbvf_rar_set_vf (struct e1000_hw *hw, u8 *addr, u32 index __unused) |
igbvf_rar_set_vf - set device MAC address @hw: pointer to the HW structure @addr: pointer to the receive address @index receive address array register More... | |
static u32 | igbvf_hash_mc_addr_vf (struct e1000_hw *hw, u8 *mc_addr) |
igbvf_hash_mc_addr_vf - Generate a multicast hash value @hw: pointer to the HW structure @mc_addr: pointer to a multicast address More... | |
void | igbvf_vfta_set_vf (struct e1000_hw *hw, u16 vid, bool set) |
igbvf_vfta_set_vf - Set/Unset vlan filter table address @hw: pointer to the HW structure @vid: determines the vfta register and bit to set/unset @set: if true then set bit, else clear bit More... | |
void | igbvf_rlpml_set_vf (struct e1000_hw *hw, u16 max_size) |
igbvf_rlpml_set_vf - Set the maximum receive packet length @hw: pointer to the HW structure @max_size: value to assign to max frame size More... | |
s32 | igbvf_promisc_set_vf (struct e1000_hw *hw, enum e1000_promisc_type type) |
igbvf_promisc_set_vf - Set flags for Unicast or Multicast promisc @hw: pointer to the HW structure @uni: boolean indicating unicast promisc status @multi: boolean indicating multicast promisc status More... | |
FILE_LICENCE | ( | GPL2_ONLY | ) |
igbvf_init_mac_params_vf - Inits MAC params @hw: pointer to the HW structure
Definition at line 48 of file igbvf_vf.c.
References DEBUGFUNC, E1000_SUCCESS, igbvf_check_for_link_vf(), igbvf_get_link_up_info_vf(), igbvf_init_hw_vf(), igbvf_rar_set_vf(), igbvf_read_mac_addr_vf(), igbvf_reset_hw_vf(), igbvf_update_mc_addr_list_vf(), and mac.
Referenced by igbvf_init_function_pointers_vf().
igbvf_check_for_link_vf - Check for link for a virtual interface @hw: pointer to the HW structure
Checks to see if the underlying PF is still talking to the VF and if it is then it reports the link state to the hardware, otherwise it reports link down and returns an error.
Definition at line 402 of file igbvf_vf.c.
References e1000_mbx_operations::check_for_rst, DEBUGFUNC, E1000_ERR_MAC_INIT, E1000_READ_REG, E1000_STATUS, E1000_STATUS_LU, E1000_SUCCESS, E1000_VT_MSGTYPE_CTS, E1000_VT_MSGTYPE_NACK, if(), mac, e1000_mbx_info::ops, out, e1000_mbx_operations::read, and e1000_mbx_info::timeout.
Referenced by igbvf_init_mac_params_vf().
igbvf_get_link_up_info_vf - Gets link info.
@hw: pointer to the HW structure @speed: pointer to 16 bit value to store link speed. @duplex: pointer to 16 bit value to store duplex.
Since we cannot read the PHY and get accurate link info, we must rely upon the status register's data which is often stale and inaccurate.
Definition at line 100 of file igbvf_vf.c.
References DEBUGFUNC, DEBUGOUT, E1000_READ_REG, E1000_STATUS, E1000_STATUS_FD, E1000_STATUS_SPEED_100, E1000_STATUS_SPEED_1000, E1000_SUCCESS, FULL_DUPLEX, HALF_DUPLEX, SPEED_10, SPEED_100, SPEED_1000, and status.
Referenced by igbvf_init_mac_params_vf().
igbvf_init_hw_vf - Inits the HW @hw: pointer to the HW structure
Not much to do here except clear the PF Reset indication if there is one.
Definition at line 186 of file igbvf_vf.c.
References DEBUGFUNC, E1000_SUCCESS, and igbvf_rar_set_vf().
Referenced by igbvf_init_mac_params_vf().
igbvf_reset_hw_vf - Resets the HW @hw: pointer to the HW structure
VF's provide a function level reset. This is done using bit 26 of ctrl_reg. This is all the reset we can perform on a VF.
Definition at line 137 of file igbvf_vf.c.
References addr, e1000_mbx_operations::check_for_rst, ctrl, DEBUGFUNC, DEBUGOUT, E1000_CTRL, E1000_CTRL_RST, E1000_ERR_MAC_INIT, E1000_READ_REG, E1000_VF_INIT_TIMEOUT, E1000_VF_MBX_INIT_TIMEOUT, E1000_VF_RESET, E1000_VT_MSGTYPE_ACK, E1000_WRITE_REG, memcpy(), msec_delay, e1000_mbx_info::ops, e1000_mbx_operations::read_posted, e1000_mbx_info::timeout, timeout(), usec_delay, and e1000_mbx_operations::write_posted.
Referenced by igbvf_init_mac_params_vf().
|
static |
igbvf_update_mc_addr_list_vf - Update Multicast addresses @hw: pointer to the HW structure @mc_addr_list: array of multicast addresses to program @mc_addr_count: number of multicast addresses to program
Updates the Multicast Table Array. The caller must have a packed mc_addr_list of multicast addresses.
Definition at line 266 of file igbvf_vf.c.
References DEBUGFUNC, DEBUGOUT1, E1000_VF_SET_MULTICAST, E1000_VF_SET_MULTICAST_OVERFLOW, E1000_VFMAILBOX_SIZE, E1000_VT_MSGINFO_SHIFT, ETH_ADDR_LEN, igbvf_hash_mc_addr_vf(), e1000_mbx_info::ops, and e1000_mbx_operations::write_posted.
Referenced by igbvf_init_mac_params_vf().
Referenced by igbvf_init_hw_vf(), and igbvf_init_mac_params_vf().
igbvf_read_mac_addr_vf - Read device MAC address @hw: pointer to the HW structure
Definition at line 384 of file igbvf_vf.c.
References E1000_SUCCESS, and ETH_ADDR_LEN.
Referenced by igbvf_init_mac_params_vf(), and igbvf_rar_set_vf().
void igbvf_init_function_pointers_vf | ( | struct e1000_hw * | hw | ) |
igbvf_init_function_pointers_vf - Inits function pointers @hw: pointer to the HW structure
Definition at line 83 of file igbvf_vf.c.
References DEBUGFUNC, igbvf_init_mac_params_vf(), and igbvf_init_mbx_params_vf().
Referenced by igbvf_sw_init().
igbvf_rar_set_vf - set device MAC address @hw: pointer to the HW structure @addr: pointer to the receive address @index receive address array register
Definition at line 202 of file igbvf_vf.c.
References addr, E1000_VF_SET_MAC_ADDR, E1000_VT_MSGTYPE_CTS, E1000_VT_MSGTYPE_NACK, igbvf_read_mac_addr_vf(), memcpy(), memset(), e1000_mbx_info::ops, e1000_mbx_operations::read_posted, and e1000_mbx_operations::write_posted.
igbvf_hash_mc_addr_vf - Generate a multicast hash value @hw: pointer to the HW structure @mc_addr: pointer to a multicast address
Generates a multicast address hash value which is used to determine the multicast filter table array address and new table value. See igbvf_mta_set_generic()
Definition at line 234 of file igbvf_vf.c.
References DEBUGFUNC, and u16.
Referenced by igbvf_update_mc_addr_list_vf().
igbvf_vfta_set_vf - Set/Unset vlan filter table address @hw: pointer to the HW structure @vid: determines the vfta register and bit to set/unset @set: if true then set bit, else clear bit
Definition at line 313 of file igbvf_vf.c.
References E1000_VF_SET_VLAN, E1000_VF_SET_VLAN_ADD, e1000_mbx_info::ops, set, and e1000_mbx_operations::write_posted.
igbvf_rlpml_set_vf - Set the maximum receive packet length @hw: pointer to the HW structure @max_size: value to assign to max frame size
Definition at line 331 of file igbvf_vf.c.
References E1000_VF_SET_LPE, e1000_mbx_info::ops, and e1000_mbx_operations::write_posted.
Referenced by igbvf_configure_rx().
s32 igbvf_promisc_set_vf | ( | struct e1000_hw * | hw, |
enum e1000_promisc_type | type | ||
) |
igbvf_promisc_set_vf - Set flags for Unicast or Multicast promisc @hw: pointer to the HW structure @uni: boolean indicating unicast promisc status @multi: boolean indicating multicast promisc status
Definition at line 348 of file igbvf_vf.c.
References E1000_ERR_MAC_INIT, e1000_promisc_disabled, e1000_promisc_enabled, e1000_promisc_multicast, e1000_promisc_unicast, E1000_VF_SET_PROMISC, E1000_VF_SET_PROMISC_MULTICAST, E1000_VF_SET_PROMISC_UNICAST, E1000_VT_MSGTYPE_ACK, e1000_mbx_info::ops, e1000_mbx_operations::read_posted, type, and e1000_mbx_operations::write_posted.