55 mac->mta_reg_count = 128;
57 mac->rar_entry_count = 1;
85 DEBUGFUNC(
"igbvf_init_function_pointers_vf");
147 DEBUGOUT(
"Issuing a function level reset to MAC\n");
206 u8 *msg_addr = (
u8 *)(&msgbuf[1]);
236 u32 hash_value, hash_mask;
242 hash_mask = (
hw->mac.mta_reg_count * 32) - 1;
248 while (hash_mask >> bit_shift != 0xFF)
251 hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
252 (((
u16) mc_addr[5]) << bit_shift)));
267 u8 *mc_addr_list,
u32 mc_addr_count)
271 u16 *hash_list = (
u16 *)&msgbuf[1];
275 DEBUGFUNC(
"igbvf_update_mc_addr_list_vf");
286 DEBUGOUT1(
"MC Addr Count = %d\n", mc_addr_count);
290 if (mc_addr_count > 30) {
297 for (i = 0; i < mc_addr_count; i++) {
299 DEBUGOUT1(
"Hash value = 0x%03X\n", hash_value);
300 hash_list[i] = hash_value & 0x0FFF;
337 msgbuf[1] = max_size;
389 hw->mac.addr[i] =
hw->mac.perm_addr[i];
419 mac->get_link_status =
true;
421 if (!
mac->get_link_status)
451 mac->get_link_status =
false;
#define E1000_VF_SET_PROMISC
s32(* read_posted)(struct e1000_hw *, u32 *, u16, u16)
#define E1000_VF_MBX_INIT_TIMEOUT
#define E1000_STATUS_SPEED_100
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...
static s32 igbvf_init_hw_vf(struct e1000_hw *hw)
igbvf_init_hw_vf - Inits the HW @hw: pointer to the HW structure
struct option_descriptor set[0]
#define E1000_VT_MSGTYPE_CTS
uint32_t type
Operating system type.
#define E1000_VT_MSGTYPE_NACK
#define DEBUGOUT1(S, A...)
uint8_t mac[ETH_ALEN]
MAC address.
#define E1000_VF_SET_MULTICAST_OVERFLOW
s32(* read)(struct e1000_hw *, u32 *, u16, u16)
struct e1000_mbx_operations ops
#define E1000_VT_MSGTYPE_ACK
void * memcpy(void *dest, const void *src, size_t len) __nonnull
static void igbvf_rar_set_vf(struct e1000_hw *, u8 *, u32)
static void igbvf_update_mc_addr_list_vf(struct e1000_hw *hw, u8 *, u32)
igbvf_update_mc_addr_list_vf - Update Multicast addresses @hw: pointer to the HW structure @mc_addr_l...
#define __unused
Declare a variable or data structure as unused.
#define E1000_VF_SET_VLAN
#define E1000_VF_SET_PROMISC_UNICAST
#define E1000_VF_SET_PROMISC_MULTICAST
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
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
#define E1000_WRITE_REG(a, reg, value)
static s32 igbvf_read_mac_addr_vf(struct e1000_hw *)
igbvf_read_mac_addr_vf - Read device MAC address @hw: pointer to the HW structure
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: determ...
#define E1000_STATUS_SPEED_1000
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.
static s32 igbvf_reset_hw_vf(struct e1000_hw *hw)
igbvf_reset_hw_vf - Resets the HW @hw: pointer to the HW structure
#define E1000_VFMAILBOX_SIZE
#define E1000_VF_SET_MULTICAST
s32 igbvf_init_mbx_params_vf(struct e1000_hw *hw)
igbvf_init_mbx_params_vf - set initial values for vf mailbox @hw: pointer to the HW structure
s32(* check_for_rst)(struct e1000_hw *, u16)
#define E1000_VF_INIT_TIMEOUT
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 @u...
void igbvf_init_function_pointers_vf(struct e1000_hw *hw)
igbvf_init_function_pointers_vf - Inits function pointers @hw: pointer to the HW structure
s32(* write_posted)(struct e1000_hw *, u32 *, u16, u16)
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: po...
#define E1000_ERR_MAC_INIT
#define E1000_VF_SET_VLAN_ADD
#define E1000_VF_SET_MAC_ADDR
if(natsemi->flags &NATSEMI_64BIT) return 1
void * memset(void *dest, int character, size_t len) __nonnull
#define E1000_VT_MSGINFO_SHIFT
#define E1000_READ_REG(a, reg)