147 DEBUGFUNC(
"e1000_init_function_pointers_vf");
265 u8 *addr = (
u8 *)(&msgbuf[1]);
269 DEBUGOUT(
"Issuing a function level reset to MAC\n");
329 u8 *msg_addr = (
u8 *)(&msgbuf[1]);
332 memset(msgbuf, 0, 12);
334 memcpy(msg_addr, addr, 6);
340 msgbuf[0] &= ~E1000_VT_MSGTYPE_CTS;
360 u32 hash_value, hash_mask;
372 while (hash_mask >> bit_shift != 0xFF)
375 hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
376 (((
u16) mc_addr[5]) << bit_shift)));
402 u8 *mc_addr_list,
u32 mc_addr_count)
405 u16 *hash_list = (
u16 *)&msgbuf[1];
409 DEBUGFUNC(
"e1000_update_mc_addr_list_vf");
420 DEBUGOUT1(
"MC Addr Count = %d\n", mc_addr_count);
424 if (mc_addr_count > 30) {
431 for (i = 0; i < mc_addr_count; i++) {
433 DEBUGOUT1(
"Hash value = 0x%03X\n", hash_value);
434 hash_list[i] = hash_value & 0x0FFF;
435 mc_addr_list += ETHER_ADDR_LEN;
469 msgbuf[1] = max_size;
521 for (i = 0; i < ETHER_ADDR_LEN; i++)
563 if (mbx->
ops.
read(hw, &in_msg, 1, 0))
@ e1000_promisc_multicast
#define E1000_VF_INIT_TIMEOUT
#define E1000_STATUS_SPEED_1000
#define E1000_STATUS_SPEED_100
#define E1000_ERR_MAC_INIT
@ e1000_bus_type_reserved
@ e1000_media_type_unknown
s32 e1000_init_mbx_params_vf(struct e1000_hw *hw)
#define E1000_VF_SET_PROMISC_UNICAST
#define E1000_VF_SET_PROMISC
#define E1000_VF_SET_MAC_ADDR
#define E1000_VT_MSGTYPE_CTS
#define E1000_VFMAILBOX_SIZE
#define E1000_VF_SET_VLAN_ADD
#define E1000_VF_SET_PROMISC_MULTICAST
#define E1000_VF_MBX_INIT_TIMEOUT
#define E1000_VT_MSGTYPE_ACK
#define E1000_VF_SET_MULTICAST_OVERFLOW
#define E1000_VF_SET_VLAN
#define E1000_VT_MSGTYPE_NACK
#define E1000_VT_MSGINFO_SHIFT
#define E1000_VF_SET_MULTICAST
#define E1000_WRITE_REG(hw, reg, value)
#define E1000_READ_REG(hw, reg)
void e1000_vfta_set_vf(struct e1000_hw *hw, u16 vid, bool set)
static s32 e1000_init_mac_params_vf(struct e1000_hw *hw)
static s32 e1000_reset_hw_vf(struct e1000_hw *hw)
static s32 e1000_get_bus_info_pcie_vf(struct e1000_hw *hw)
static void e1000_release_vf(struct e1000_hw *hw)
static s32 e1000_init_hw_vf(struct e1000_hw *hw)
static s32 e1000_acquire_vf(struct e1000_hw *hw)
static void e1000_update_mc_addr_list_vf(struct e1000_hw *hw, u8 *, u32)
static s32 e1000_setup_link_vf(struct e1000_hw *hw)
void e1000_init_function_pointers_vf(struct e1000_hw *hw)
static s32 e1000_get_link_up_info_vf(struct e1000_hw *hw, u16 *speed, u16 *duplex)
void e1000_rlpml_set_vf(struct e1000_hw *hw, u16 max_size)
static s32 e1000_read_mac_addr_vf(struct e1000_hw *)
static s32 e1000_init_nvm_params_vf(struct e1000_hw *hw)
static u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
s32 e1000_promisc_set_vf(struct e1000_hw *hw, enum e1000_promisc_type type)
static int e1000_rar_set_vf(struct e1000_hw *, u8 *, u32)
static s32 e1000_init_phy_params_vf(struct e1000_hw *hw)
static s32 e1000_check_for_link_vf(struct e1000_hw *hw)
static void e1000_write_msg_read_ack(struct e1000_hw *hw, u32 *msg, u16 size)
enum e1000_bus_speed speed
struct e1000_bus_info bus
struct e1000_mac_info mac
struct e1000_nvm_info nvm
struct e1000_mbx_info mbx
struct e1000_phy_info phy
bool asf_firmware_present
struct e1000_mac_operations ops
u8 perm_addr[ETHER_ADDR_LEN]
s32(* get_link_up_info)(struct e1000_hw *, u16 *, u16 *)
s32(* check_for_link)(struct e1000_hw *)
s32(* reset_hw)(struct e1000_hw *)
s32(* read_mac_addr)(struct e1000_hw *)
int(* rar_set)(struct e1000_hw *, u8 *, u32)
s32(* init_hw)(struct e1000_hw *)
s32(* setup_link)(struct e1000_hw *)
void(* update_mc_addr_list)(struct e1000_hw *, u8 *, u32)
s32(* get_bus_info)(struct e1000_hw *)
s32(* init_params)(struct e1000_hw *)
struct e1000_mbx_operations ops
s32(* init_params)(struct e1000_hw *hw)
s32(* write_posted)(struct e1000_hw *, u32 *, u16, u16)
s32(* check_for_rst)(struct e1000_hw *, u16)
s32(* read)(struct e1000_hw *, u32 *, u16, u16)
s32(* read_posted)(struct e1000_hw *, u32 *, u16, u16)
struct e1000_nvm_operations ops
void(* release)(struct e1000_hw *)
s32(* init_params)(struct e1000_hw *)
s32(* acquire)(struct e1000_hw *)
enum e1000_media_type media_type
struct e1000_phy_operations ops
s32(* init_params)(struct e1000_hw *)
void(* release)(struct e1000_hw *)
s32(* acquire)(struct e1000_hw *)