FreeBSD kernel IXGBE device code
|
#include "ixgbe_type.h"
Go to the source code of this file.
ixgbe_acquire_swfw_semaphore - Acquire SWFW semaphore @hw: pointer to hardware structure @mask: Mask to specify which semaphore to acquire
Acquires the SWFW semaphore through SW_FW_SYNC register for the specified function (CSR, PHY0, PHY1, EEPROM, Flash)
Definition at line 1725 of file ixgbe_api.c.
References ixgbe_mac_operations::acquire_swfw_sync, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_read_iosf_sb_reg_x550(), and ixgbe_write_iosf_sb_reg_x550().
ixgbe_add_uc_addr - Adds a secondary unicast address. @hw: pointer to hardware structure @addr: new address @vmdq: VMDq "set" or "pool" index
Adds it to unused receive address register or goes into promiscuous mode.
Definition at line 2544 of file ixgbe_common.c.
References ixgbe_hw::addr_ctrl, DEBUGFUNC, DEBUGOUT, DEBUGOUT1, DEBUGOUT6, IXGBE_RAH_AV, ixgbe_hw::mac, ixgbe_mac_info::num_rar_entries, ixgbe_mac_info::ops, ixgbe_addr_filter_info::overflow_promisc, ixgbe_addr_filter_info::rar_used_count, and ixgbe_mac_operations::set_rar.
Referenced by ixgbe_update_uc_addr_list_generic().
void ixgbe_atr_compute_perfect_hash_82599 | ( | union ixgbe_atr_input * | input, |
union ixgbe_atr_input * | input_mask | ||
) |
ixgbe_atr_compute_perfect_hash_82599 - Compute the perfect filter hash @input: input bitstream to compute the hash on @input_mask: mask for the input bitstream
This function serves two main purposes. First it applies the input_mask to the atr_input resulting in a cleaned up atr_input data stream. Secondly it computes the hash and stores it in the bkt_hash field at the end of the input byte stream. This way it will be available for future use without needing to recompute the hash.
Definition at line 1619 of file ixgbe_82599.c.
References ixgbe_atr_input::bkt_hash, ixgbe_atr_input::dword_stream, ixgbe_atr_input::formatted, IXGBE_COMPUTE_BKT_HASH_ITERATION, and IXGBE_NTOHL.
Referenced by ixgbe_fdir_add_perfect_filter_82599().
u32 ixgbe_atr_compute_sig_hash_82599 | ( | union ixgbe_atr_hash_dword | input, |
union ixgbe_atr_hash_dword | common | ||
) |
ixgbe_atr_compute_sig_hash_82599 - Compute the signature hash @input: input bitstream to compute the hash on @common: compressed common input dword
This function is almost identical to the function above but contains several optimizations such as unwinding all of the loops, letting the compiler work out all of the conditional ifs since the keys are static defines, and computing two keys at once since the hashed dword stream will be the same for both keys.
Definition at line 1479 of file ixgbe_82599.c.
References ixgbe_atr_hash_dword::dword, IXGBE_ATR_HASH_MASK, IXGBE_COMPUTE_SIG_HASH_ITERATION, and IXGBE_NTOHL.
Referenced by ixgbe_fdir_add_signature_filter_82599().
ixgbe_blink_led_start - Blink LEDs @hw: pointer to hardware structure @index: led number to blink
Blink LED based on index.
Definition at line 795 of file ixgbe_api.c.
References ixgbe_mac_operations::blink_led_start, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_blink_led_stop - Stop blinking LEDs @hw: pointer to hardware structure @index: led number to stop
Stop blinking LED based on index.
Definition at line 808 of file ixgbe_api.c.
References ixgbe_mac_operations::blink_led_stop, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_bypass_rd_eep - Read the bypass FW eeprom address @hw: pointer to hardware structure @addr: The bypass eeprom address to read. @value: The 8b of data at the address above.
Definition at line 1462 of file ixgbe_api.c.
References ixgbe_mac_operations::bypass_rd_eep, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_bypass_rw - Bit bang data into by_pass FW @hw: pointer to hardware structure @cmd: Command we send to the FW @status: The reply from the FW
Bit-bangs the cmd to the by_pass FW status points to what is returned.
Definition at line 1413 of file ixgbe_api.c.
References ixgbe_mac_operations::bypass_rw, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_bypass_set - Set a bypass field in the FW CTRL Regiter. @hw: pointer to hardware structure @cmd: The control word we are setting. @event: The event we are setting in the FW. This also happens to be the mask for the event we are setting (handy) @action: The action we set the event to in the FW. This is in a bit field that happens to be what we want to put in the event spot (also handy)
Writes to the cmd control the bits in actions.
Definition at line 1449 of file ixgbe_api.c.
References ixgbe_mac_operations::bypass_set, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_bypass_valid_rd - Verify valid return from bit-bang.
If we send a write we can't be sure it took until we can read back that same register. It can be a problem as some of the feilds may for valid reasons change inbetween the time wrote the register and we read it again to verify. So this function check everything we can check and then assumes it worked.
@u32 in_reg - The register cmd for the bit-bang read. @u32 out_reg - The register returned from a bit-bang read.
Definition at line 1431 of file ixgbe_api.c.
References ixgbe_mac_operations::bypass_valid_rd, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
s32 ixgbe_check_link | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed * | speed, | ||
bool * | link_up, | ||
bool | link_up_wait_to_complete | ||
) |
ixgbe_check_link - Get link and speed status @hw: pointer to hardware structure @speed: pointer to link speed @link_up: true when link is up @link_up_wait_to_complete: bool used to wait for link up or not
Reads the links register to determine if link is up and the current speed
Definition at line 667 of file ixgbe_api.c.
References ixgbe_mac_operations::check_link, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_config_link(), ixgbe_if_timer(), ixgbe_setup_mac_link_multispeed_fiber(), ixgbe_setup_mac_link_smartspeed(), ixgbe_setup_mac_link_t_X550em(), and ixv_if_update_admin_status().
s32 ixgbe_check_phy_link | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed * | speed, | ||
bool * | link_up | ||
) |
ixgbe_check_phy_link - Determine link and speed status @hw: pointer to hardware structure @speed: link speed @link_up: true when link is up
Reads a PHY register to determine if link is up and the current speed for the PHY.
Definition at line 624 of file ixgbe_api.c.
References ixgbe_phy_operations::check_link, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, and ixgbe_hw::phy.
ixgbe_clear_hw_cntrs - Clear hardware counters @hw: pointer to hardware structure
Clears all hardware statistics counters by reading them from the hardware Statistics counters are clear on read.
Definition at line 319 of file ixgbe_api.c.
References ixgbe_mac_operations::clear_hw_cntrs, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_clear_rar - Clear Rx address register @hw: pointer to hardware structure @index: Receive address register to write
Puts an ethernet address into a receive address register.
Definition at line 957 of file ixgbe_api.c.
References ixgbe_mac_operations::clear_rar, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_clear_vfta - Clear VLAN filter table @hw: pointer to hardware structure
Clears the VLAN filer table, and the VMDq index associated with the filter
Definition at line 1093 of file ixgbe_api.c.
References ixgbe_mac_operations::clear_vfta, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_clear_vmdq - Disassociate a VMDq index from a receive address @hw: pointer to hardware structure @rar: receive address register index to disassociate with VMDq index @vmdq: VMDq set or pool index
Definition at line 993 of file ixgbe_api.c.
References ixgbe_mac_operations::clear_vmdq, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_insert_mac_addr_generic().
ixgbe_dcb_get_rtrup2tc - read rtrup2tc reg @hw: pointer to hardware structure @map: pointer to u8 arr for returning map
Read the rtrup2tc HW register and resolve its content into map
Definition at line 68 of file ixgbe_api.c.
References ixgbe_mac_operations::get_rtrup2tc, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_disable_mc - Disable multicast address in RAR @hw: pointer to hardware structure
Disables multicast address in RAR and the use of the multicast hash table.
Definition at line 1081 of file ixgbe_api.c.
References ixgbe_mac_operations::disable_mc, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_disable_mdd | ( | struct ixgbe_hw * | hw | ) |
ixgbe_disable_mdd - Disable malicious driver detection @hw: pointer to hardware structure
Definition at line 1321 of file ixgbe_api.c.
References ixgbe_mac_operations::disable_mdd, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_disable_rx | ( | struct ixgbe_hw * | hw | ) |
Definition at line 1761 of file ixgbe_api.c.
References ixgbe_mac_operations::disable_rx, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_enable_rx_dma_82599(), ixgbe_enable_rx_dma_generic(), ixgbe_initialize_receive_units(), and ixgbe_stop_adapter_generic().
ixgbe_disable_sec_rx_path - Stops the receive data path @hw: pointer to hardware structure
Stops the receive data path.
Definition at line 1699 of file ixgbe_api.c.
References ixgbe_mac_operations::disable_sec_rx_path, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_disable_tx_laser | ( | struct ixgbe_hw * | hw | ) |
ixgbe_disable_tx_laser - Disable Tx laser @hw: pointer to hardware structure
If the driver needs to disable the laser on SFI optics.
Definition at line 681 of file ixgbe_api.c.
References ixgbe_mac_operations::disable_tx_laser, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_if_stop().
s32 ixgbe_dmac_config | ( | struct ixgbe_hw * | hw | ) |
ixgbe_dmac_config - Configure DMA Coalescing registers. @hw: pointer to hardware structure
Configure DMA coalescing. If enabling dmac, dmac is activated. When disabling dmac, dmac enable dmac bit is cleared.
Definition at line 1211 of file ixgbe_api.c.
References ixgbe_mac_operations::dmac_config, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_dmac_config_tcs - Configure DMA Coalescing registers. @hw: pointer to hardware structure
Configure DMA coalescing threshold per TC and set high priority bit for FCOE TC. The dmac enable bit must be cleared before configuring.
Definition at line 1236 of file ixgbe_api.c.
References ixgbe_mac_operations::dmac_config_tcs, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_dmac_update_tcs - Configure DMA Coalescing registers. @hw: pointer to hardware structure
Disables dmac, updates per TC settings, and then enable dmac.
Definition at line 1223 of file ixgbe_api.c.
References ixgbe_mac_operations::dmac_update_tcs, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_enable_mc - Enable multicast address in RAR @hw: pointer to hardware structure
Enables multicast address in RAR and the use of the multicast hash table.
Definition at line 1069 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_mc, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_enable_mdd | ( | struct ixgbe_hw * | hw | ) |
ixgbe_enable_mdd - Enable malicious driver detection @hw: pointer to hardware structure
Definition at line 1332 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_mdd, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_enable_relaxed_ordering | ( | struct ixgbe_hw * | hw | ) |
ixgbe_enable_relaxed_ordering - Enables tx relaxed ordering, which is disabled by default in ixgbe_start_hw();
@hw: pointer to hardware structure
Enable relaxed ordering;
Definition at line 306 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_relaxed_ordering, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_enable_rx | ( | struct ixgbe_hw * | hw | ) |
Definition at line 1767 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_rx, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_enable_rx_dma_82599(), and ixgbe_enable_rx_dma_generic().
ixgbe_enable_rx_dma - Enables Rx DMA unit, dependent on device specifics @hw: pointer to hardware structure @regval: bitfield to write to the Rx DMA register
Enables the Rx DMA unit of the device.
Definition at line 1687 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_rx_dma, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_if_init().
ixgbe_enable_sec_rx_path - Enables the receive data path @hw: pointer to hardware structure
Enables the receive data path.
Definition at line 1711 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_sec_rx_path, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
void ixgbe_enable_tx_laser | ( | struct ixgbe_hw * | hw | ) |
ixgbe_enable_tx_laser - Enable Tx laser @hw: pointer to hardware structure
If the driver needs to enable the laser on SFI optics.
Definition at line 693 of file ixgbe_api.c.
References ixgbe_mac_operations::enable_tx_laser, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_if_attach_post().
ixgbe_enter_lplu - Transition to low power states @hw: pointer to hardware structure
Configures Low Power Link Up on transition to low power states (from D0 to non-D0).
Definition at line 1382 of file ixgbe_api.c.
References ixgbe_phy_operations::enter_lplu, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, and ixgbe_hw::phy.
ixgbe_fc_enable - Enable flow control @hw: pointer to hardware structure
Configures the flow control settings based on SW configuration.
Definition at line 1143 of file ixgbe_api.c.
References ixgbe_mac_operations::fc_enable, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_if_update_admin_status(), and ixgbe_set_flowcntl().
s32 ixgbe_fdir_add_perfect_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input, | ||
union ixgbe_atr_input * | input_mask, | ||
u16 | soft_id, | ||
u8 | queue, | ||
bool | cloud_mode | ||
) |
ixgbe_fdir_add_perfect_filter_82599 - Adds a perfect filter @hw: pointer to hardware structure @input: input bitstream @input_mask: mask for the input bitstream @soft_id: software index for the filters @queue: queue index to direct traffic to @cloud_mode: unused
Note that the caller to this function must lock before calling, since the hardware writes must be protected from one another.
Definition at line 2019 of file ixgbe_82599.c.
References DEBUGFUNC, DEBUGOUT, ixgbe_atr_input::dst_port, ixgbe_atr_input::flow_type, ixgbe_atr_input::formatted, ixgbe_atr_compute_perfect_hash_82599(), IXGBE_ATR_FLOW_TYPE_IPV4, IXGBE_ATR_FLOW_TYPE_SCTPV4, IXGBE_ATR_FLOW_TYPE_TCPV4, IXGBE_ATR_FLOW_TYPE_TUNNELED_IPV4, IXGBE_ATR_FLOW_TYPE_TUNNELED_SCTPV4, IXGBE_ATR_FLOW_TYPE_TUNNELED_TCPV4, IXGBE_ATR_FLOW_TYPE_TUNNELED_UDPV4, IXGBE_ATR_FLOW_TYPE_UDPV4, IXGBE_ATR_L4TYPE_IPV6_MASK, IXGBE_ATR_L4TYPE_MASK, IXGBE_ERR_CONFIG, ixgbe_fdir_set_input_mask_82599(), ixgbe_fdir_write_perfect_filter_82599(), ixgbe_atr_input::src_port, and UNREFERENCED_1PARAMETER.
void ixgbe_fdir_add_signature_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_hash_dword | input, | ||
union ixgbe_atr_hash_dword | common, | ||
u8 | queue | ||
) |
ixgbe_atr_add_signature_filter_82599 - Adds a signature hash filter @hw: pointer to hardware structure @input: unique input dword @common: compressed common input dword @queue: queue index to direct traffic to
Note that the tunnel bit in input must not be set when the hardware tunneling support does not exist.
Definition at line 1545 of file ixgbe_82599.c.
References DEBUGFUNC, DEBUGOUT, DEBUGOUT2, ixgbe_atr_hash_dword::flow_type, ixgbe_atr_hash_dword::formatted, ixgbe_atr_compute_sig_hash_82599(), IXGBE_ATR_FLOW_TYPE_SCTPV4, IXGBE_ATR_FLOW_TYPE_SCTPV6, IXGBE_ATR_FLOW_TYPE_TCPV4, IXGBE_ATR_FLOW_TYPE_TCPV6, IXGBE_ATR_FLOW_TYPE_UDPV4, IXGBE_ATR_FLOW_TYPE_UDPV6, IXGBE_ATR_L4TYPE_TUNNEL_MASK, IXGBE_FDIRCMD_CMD_ADD_FLOW, IXGBE_FDIRCMD_FILTER_UPDATE, IXGBE_FDIRCMD_FLOW_TYPE_SHIFT, IXGBE_FDIRCMD_LAST, IXGBE_FDIRCMD_QUEUE_EN, IXGBE_FDIRCMD_RX_QUEUE_SHIFT, IXGBE_FDIRCMD_TUNNEL_FILTER, IXGBE_FDIRHASH, and IXGBE_WRITE_REG64.
s32 ixgbe_fdir_erase_perfect_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input, | ||
u16 | soft_id | ||
) |
Definition at line 1971 of file ixgbe_82599.c.
References ixgbe_atr_input::bkt_hash, DEBUGOUT, ixgbe_atr_input::formatted, ixgbe_fdir_check_cmd_complete(), IXGBE_FDIRCMD, IXGBE_FDIRCMD_CMD_QUERY_REM_FILT, IXGBE_FDIRCMD_CMD_REMOVE_FLOW, IXGBE_FDIRCMD_FILTER_VALID, IXGBE_FDIRHASH, IXGBE_FDIRHASH_SIG_SW_INDEX_SHIFT, IXGBE_SUCCESS, IXGBE_WRITE_FLUSH, and IXGBE_WRITE_REG.
s32 ixgbe_fdir_set_input_mask_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input_mask, | ||
bool | cloud_mode | ||
) |
Definition at line 1704 of file ixgbe_82599.c.
References ixgbe_atr_input::bkt_hash, DEBUGFUNC, DEBUGOUT, ixgbe_atr_input::dst_ip, ixgbe_atr_input::dst_port, ixgbe_atr_input::flex_bytes, ixgbe_atr_input::flow_type, ixgbe_atr_input::formatted, ixgbe_atr_input::inner_mac, IXGBE_ATR_L4TYPE_MASK, IXGBE_ERR_CONFIG, IXGBE_FDIRDIP4M, IXGBE_FDIRIP6M, IXGBE_FDIRIP6M_ALWAYS_MASK, IXGBE_FDIRIP6M_DIPM_SHIFT, IXGBE_FDIRIP6M_INNER_MAC, IXGBE_FDIRIP6M_TNI_VNI, IXGBE_FDIRIP6M_TNI_VNI_24, IXGBE_FDIRIP6M_TUNNEL_TYPE, IXGBE_FDIRM, IXGBE_FDIRM_DIPv6, IXGBE_FDIRM_FLEX, IXGBE_FDIRM_L3P, IXGBE_FDIRM_L4P, IXGBE_FDIRM_POOL, IXGBE_FDIRM_VLANID, IXGBE_FDIRM_VLANP, IXGBE_FDIRSCTPM, IXGBE_FDIRSIP4M, IXGBE_FDIRTCPM, IXGBE_FDIRUDPM, ixgbe_get_fdirtcpm_82599(), ixgbe_mac_X550, ixgbe_mac_X550EM_a, ixgbe_mac_X550EM_x, IXGBE_NTOHS, IXGBE_SUCCESS, IXGBE_WRITE_REG, IXGBE_WRITE_REG_BE32, ixgbe_hw::mac, ixgbe_atr_input::src_ip, ixgbe_atr_input::src_port, ixgbe_atr_input::tni_vni, ixgbe_atr_input::tunnel_type, ixgbe_mac_info::type, UNREFERENCED_1PARAMETER, ixgbe_atr_input::vlan_id, and ixgbe_atr_input::vm_pool.
Referenced by ixgbe_fdir_add_perfect_filter_82599().
s32 ixgbe_fdir_write_perfect_filter_82599 | ( | struct ixgbe_hw * | hw, |
union ixgbe_atr_input * | input, | ||
u16 | soft_id, | ||
u8 | queue, | ||
bool | cloud_mode | ||
) |
Definition at line 1881 of file ixgbe_82599.c.
References ixgbe_atr_input::bkt_hash, DEBUGFUNC, DEBUGOUT, ixgbe_atr_input::dst_ip, ixgbe_atr_input::dst_port, ixgbe_atr_input::flex_bytes, ixgbe_atr_input::flow_type, ixgbe_atr_input::formatted, ixgbe_atr_input::inner_mac, IXGBE_ATR_L4TYPE_TUNNEL_MASK, ixgbe_fdir_check_cmd_complete(), IXGBE_FDIR_DROP_QUEUE, IXGBE_FDIRCMD, IXGBE_FDIRCMD_CMD_ADD_FLOW, IXGBE_FDIRCMD_DROP, IXGBE_FDIRCMD_FILTER_UPDATE, IXGBE_FDIRCMD_FLOW_TYPE_SHIFT, IXGBE_FDIRCMD_LAST, IXGBE_FDIRCMD_QUEUE_EN, IXGBE_FDIRCMD_RX_QUEUE_SHIFT, IXGBE_FDIRCMD_TUNNEL_FILTER, IXGBE_FDIRCMD_VT_POOL_SHIFT, IXGBE_FDIRHASH, IXGBE_FDIRHASH_SIG_SW_INDEX_SHIFT, IXGBE_FDIRIPDA, IXGBE_FDIRIPSA, IXGBE_FDIRPORT, IXGBE_FDIRPORT_DESTINATION_SHIFT, IXGBE_FDIRSIPv6, IXGBE_FDIRVLAN, IXGBE_FDIRVLAN_FLEX_SHIFT, IXGBE_NTOHS, IXGBE_STORE_AS_BE16, IXGBE_SUCCESS, IXGBE_WRITE_FLUSH, IXGBE_WRITE_REG, IXGBE_WRITE_REG_BE32, ixgbe_atr_input::src_ip, ixgbe_atr_input::src_port, ixgbe_atr_input::tni_vni, ixgbe_atr_input::tunnel_type, UNREFERENCED_1PARAMETER, ixgbe_atr_input::vlan_id, and ixgbe_atr_input::vm_pool.
Referenced by ixgbe_fdir_add_perfect_filter_82599().
void ixgbe_flap_tx_laser | ( | struct ixgbe_hw * | hw | ) |
ixgbe_flap_tx_laser - flap Tx laser to start autotry process @hw: pointer to hardware structure
When the driver changes the link speeds that it can support then flap the tx laser to alert the link partner to start autotry process on its end.
Definition at line 707 of file ixgbe_api.c.
References ixgbe_mac_operations::flap_tx_laser, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_setup_mac_link_multispeed_fiber().
ixgbe_fw_recovery_mode - Check if in FW NVM recovery mode @hw: pointer to hardware structure
Definition at line 1368 of file ixgbe_api.c.
References ixgbe_mac_operations::fw_recovery_mode, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_get_bus_info - Set PCI bus info @hw: pointer to hardware structure
Sets the PCI bus info (speed, width, type) within the ixgbe_hw structure
Definition at line 430 of file ixgbe_api.c.
References ixgbe_mac_operations::get_bus_info, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_get_slot_info().
ixgbe_get_device_caps - Get additional device capabilities @hw: pointer to hardware structure @device_caps: the EEPROM word for device capabilities
Reads the extra device capabilities from the EEPROM
Definition at line 387 of file ixgbe_api.c.
References ixgbe_mac_operations::get_device_caps, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_check_wol_support(), ixgbe_identify_qsfp_module_generic(), and ixgbe_identify_sfp_module_generic().
ixgbe_get_fcoe_boot_status - Get FCOE boot status from EEPROM @hw: pointer to hardware structure @bs: the fcoe boot status
This function will read the FCOE boot status from the iSCSI FCOE block
Definition at line 417 of file ixgbe_api.c.
References ixgbe_mac_operations::get_fcoe_boot_status, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
s32 ixgbe_get_link_capabilities | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed * | speed, | ||
bool * | autoneg | ||
) |
ixgbe_get_link_capabilities - Returns link capabilities @hw: pointer to hardware structure @speed: link speed capabilities @autoneg: true when autoneg or autotry is enabled
Determines the link capabilities of the current configuration.
Definition at line 755 of file ixgbe_api.c.
References ixgbe_mac_operations::get_link_capabilities, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_setup_mac_link_82598(), ixgbe_setup_mac_link_82599(), and ixgbe_setup_mac_link_multispeed_fiber().
ixgbe_get_mac_addr - Get MAC address @hw: pointer to hardware structure @mac_addr: Adapter MAC address
Reads the adapter's MAC address from the first Receive Address Register (RAR0) A reset of the adapter must have been performed prior to calling this function in order for the MAC address to have been loaded from the EEPROM into RAR0
Definition at line 347 of file ixgbe_api.c.
References ixgbe_mac_operations::get_mac_addr, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
enum ixgbe_media_type ixgbe_get_media_type | ( | struct ixgbe_hw * | hw | ) |
ixgbe_get_media_type - Get media type @hw: pointer to hardware structure
Returns the media type (fiber, copper, backplane)
Definition at line 331 of file ixgbe_api.c.
References ixgbe_mac_operations::get_media_type, ixgbe_call_func, ixgbe_media_type_unknown, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_init_mac_link_ops_82599().
ixgbe_get_num_of_rx_queues - Get Rx queues @hw: pointer to hardware structure
Returns the number of receive queues for the given adapter.
Definition at line 453 of file ixgbe_api.c.
References ixgbe_hw::mac, and ixgbe_mac_info::max_rx_queues.
ixgbe_get_num_of_tx_queues - Get Tx queues @hw: pointer to hardware structure
Returns the number of transmit queues for the given adapter.
Definition at line 442 of file ixgbe_api.c.
References ixgbe_hw::mac, and ixgbe_mac_info::max_tx_queues.
ixgbe_get_num_rx_addrs - Returns the number of RAR entries. @hw: pointer to hardware structure
Definition at line 1017 of file ixgbe_api.c.
References ixgbe_hw::mac, and ixgbe_mac_info::num_rar_entries.
ixgbe_get_phy_firmware_version - @hw: pointer to hardware structure @firmware_version: pointer to firmware version
Definition at line 541 of file ixgbe_api.c.
References ixgbe_phy_operations::get_firmware_version, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, IXGBE_SUCCESS, ixgbe_phy_info::ops, and ixgbe_hw::phy.
Referenced by ixgbe_sbuf_fw_version().
ixgbe_get_san_mac_addr - Get SAN MAC address @hw: pointer to hardware structure @san_mac_addr: SAN MAC address
Reads the SAN MAC address from the EEPROM, if it's available. This is per-port, so set_lan_id() must be called before reading the addresses.
Definition at line 361 of file ixgbe_api.c.
References ixgbe_mac_operations::get_san_mac_addr, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_get_supported_physical_layer - Returns physical layer type @hw: pointer to hardware structure
Determines physical layer capabilities of the current configuration.
Definition at line 1674 of file ixgbe_api.c.
References ixgbe_mac_operations::get_supported_physical_layer, ixgbe_call_func, IXGBE_PHYSICAL_LAYER_UNKNOWN, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_add_media_types(), ixgbe_handle_msf(), and ixgbe_setup_interface().
ixgbe_get_thermal_sensor_data - Gathers thermal sensor data @hw: pointer to hardware structure
Updates the temperatures in mac.thermal_sensor_data
Definition at line 1186 of file ixgbe_api.c.
References ixgbe_mac_operations::get_thermal_sensor_data, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_get_wwn_prefix - Get alternative WWNN/WWPN prefix from the EEPROM @hw: pointer to hardware structure @wwnn_prefix: the alternative WWNN prefix @wwpn_prefix: the alternative WWPN prefix
This function will read the EEPROM from the alternative SAN MAC address block to check the support for the alternative WWNN/WWPN prefix support.
Definition at line 402 of file ixgbe_api.c.
References ixgbe_mac_operations::get_wwn_prefix, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_handle_lasi - Handle external Base T PHY interrupt @hw: pointer to hardware structure
Handle external Base T PHY interrupt. If high temperature failure alarm then return error, else if link status change then setup internal/external PHY link
Return IXGBE_ERR_OVERTEMP if interrupt is high temperature failure alarm, else return PHY access status.
Definition at line 1399 of file ixgbe_api.c.
References ixgbe_phy_operations::handle_lasi, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, and ixgbe_hw::phy.
ixgbe_identify_phy - Get PHY type @hw: pointer to hardware structure
Determines the physical layer module found on the current adapter.
Definition at line 504 of file ixgbe_api.c.
References ixgbe_phy_operations::identify, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_unknown, IXGBE_SUCCESS, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_info::type.
Referenced by ixgbe_clear_hw_cntrs_generic(), ixgbe_read_phy_reg(), ixgbe_reset_phy(), and ixgbe_write_phy_reg().
ixgbe_init_eeprom_params - Initialize EEPROM parameters @hw: pointer to hardware structure
Initializes the EEPROM parameters ixgbe_eeprom_info within the ixgbe_hw struct in order to set up EEPROM access.
Definition at line 821 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_eeprom_operations::init_params, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, and ixgbe_eeprom_info::ops.
ixgbe_init_fdir_perfect_82599 - Initialize Flow Director perfect filters @hw: pointer to hardware structure @fdirctrl: value to write to flow director control register, initially contains just the value of the Rx packet buffer allocation @cloud_mode: true - cloud mode, false - other mode
Definition at line 1378 of file ixgbe_82599.c.
References DEBUGFUNC, IXGBE_FDIR_DROP_QUEUE, ixgbe_fdir_enable_82599(), IXGBE_FDIRCTRL_DROP_Q_SHIFT, IXGBE_FDIRCTRL_FILTERMODE_CLOUD, IXGBE_FDIRCTRL_FILTERMODE_SHIFT, IXGBE_FDIRCTRL_FLEX_SHIFT, IXGBE_FDIRCTRL_FULL_THRESH_SHIFT, IXGBE_FDIRCTRL_MAX_LENGTH_SHIFT, IXGBE_FDIRCTRL_PERFECT_MATCH, IXGBE_FDIRCTRL_REPORT_STATUS, IXGBE_SUCCESS, and UNREFERENCED_1PARAMETER.
ixgbe_init_fdir_signature_82599 - Initialize Flow Director signature filters @hw: pointer to hardware structure @fdirctrl: value to write to flow director control register, initially contains just the value of the Rx packet buffer allocation
Definition at line 1351 of file ixgbe_82599.c.
References DEBUGFUNC, ixgbe_fdir_enable_82599(), IXGBE_FDIRCTRL_FLEX_SHIFT, IXGBE_FDIRCTRL_FULL_THRESH_SHIFT, IXGBE_FDIRCTRL_MAX_LENGTH_SHIFT, and IXGBE_SUCCESS.
ixgbe_init_hw - Initialize the hardware @hw: pointer to hardware structure
Initialize the hardware by resetting and then starting the hardware
Definition at line 263 of file ixgbe_api.c.
References ixgbe_mac_operations::init_hw, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_if_init().
ixgbe_init_ops_82598 - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and assign the MAC type for 82598. Does not touch the hardware.
Definition at line 120 of file ixgbe_82598.c.
References ixgbe_mac_operations::check_link, ixgbe_mac_operations::clear_vfta, ixgbe_mac_operations::clear_vmdq, DEBUGFUNC, ixgbe_mac_operations::enable_relaxed_ordering, ixgbe_mac_operations::enable_rx_dma, ixgbe_mac_operations::fc_enable, ixgbe_mac_operations::flap_tx_laser, ixgbe_mac_operations::get_link_capabilities, ixgbe_mac_operations::get_media_type, ixgbe_mac_operations::get_rtrup2tc, ixgbe_mac_operations::get_supported_physical_layer, ixgbe_phy_operations::init, IXGBE_82598_MAX_RX_QUEUES, IXGBE_82598_MAX_TX_QUEUES, IXGBE_82598_MC_TBL_SIZE, IXGBE_82598_RAR_ENTRIES, IXGBE_82598_RX_PB_SIZE, IXGBE_82598_VFT_TBL_SIZE, ixgbe_check_mac_link_82598(), ixgbe_clear_vfta_82598(), ixgbe_clear_vmdq_82598(), ixgbe_enable_relaxed_ordering_82598(), ixgbe_enable_rx_dma_82598(), ixgbe_fc_enable_82598(), ixgbe_get_link_capabilities_82598(), ixgbe_get_media_type_82598(), ixgbe_get_pcie_msix_count_generic(), ixgbe_get_supported_physical_layer_82598(), ixgbe_init_ops_generic(), ixgbe_init_phy_ops_82598(), ixgbe_init_phy_ops_generic(), ixgbe_read_analog_reg8_82598(), ixgbe_read_i2c_eeprom_82598(), ixgbe_read_i2c_sff8472_82598(), ixgbe_reset_hw_82598(), ixgbe_set_lan_id_multi_port_pcie_82598(), ixgbe_set_rxpba_82598(), ixgbe_set_vfta_82598(), ixgbe_set_vmdq_82598(), ixgbe_setup_mac_link_82598(), ixgbe_start_hw_82598(), ixgbe_write_analog_reg8_82598(), ixgbe_hw::mac, ixgbe_mac_info::max_msix_vectors, ixgbe_mac_info::max_rx_queues, ixgbe_mac_info::max_tx_queues, ixgbe_mac_info::mcft_size, ixgbe_mac_info::num_rar_entries, ixgbe_mac_info::ops, ixgbe_phy_info::ops, ixgbe_hw::phy, ixgbe_mac_operations::read_analog_reg8, ixgbe_phy_operations::read_i2c_eeprom, ixgbe_phy_operations::read_i2c_sff8472, ixgbe_mac_operations::reset_hw, ixgbe_mac_info::rx_pb_size, ixgbe_mac_operations::set_fw_drv_ver, ixgbe_mac_operations::set_lan_id, ixgbe_mac_operations::set_vfta, ixgbe_mac_operations::set_vlvf, ixgbe_mac_operations::set_vmdq, ixgbe_mac_operations::setup_link, ixgbe_mac_operations::setup_rxpba, ixgbe_mac_operations::start_hw, ixgbe_mac_info::vft_size, and ixgbe_mac_operations::write_analog_reg8.
Referenced by ixgbe_init_shared_code().
ixgbe_init_ops_82599 - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and assign the MAC type for 82599. Does not touch the hardware.
Definition at line 322 of file ixgbe_82599.c.
References ixgbe_mac_info::arc_subsystem_valid, ixgbe_mac_operations::bypass_rd_eep, ixgbe_mac_operations::bypass_rw, ixgbe_mac_operations::bypass_set, ixgbe_mac_operations::bypass_valid_rd, ixgbe_mac_operations::check_link, ixgbe_mac_operations::clear_vfta, ixgbe_mac_operations::clear_vmdq, DEBUGFUNC, ixgbe_mac_operations::disable_sec_rx_path, ixgbe_hw::eeprom, ixgbe_mac_operations::enable_relaxed_ordering, ixgbe_mac_operations::enable_rx_dma, ixgbe_mac_operations::enable_sec_rx_path, ixgbe_mac_operations::get_device_caps, ixgbe_mac_operations::get_fcoe_boot_status, ixgbe_mac_operations::get_link_capabilities, ixgbe_mac_operations::get_media_type, ixgbe_mac_operations::get_rtrup2tc, ixgbe_mac_operations::get_san_mac_addr, ixgbe_mac_operations::get_supported_physical_layer, ixgbe_mac_operations::get_thermal_sensor_data, ixgbe_mac_operations::get_wwn_prefix, ixgbe_phy_operations::identify, ixgbe_phy_operations::init, ixgbe_mbx_operations::init_params, ixgbe_mac_operations::init_thermal_sensor_thresh, ixgbe_mac_operations::init_uta_tables, ixgbe_mac_operations::insert_mac_addr, IXGBE_82599_MAX_RX_QUEUES, IXGBE_82599_MAX_TX_QUEUES, IXGBE_82599_MC_TBL_SIZE, IXGBE_82599_RAR_ENTRIES, IXGBE_82599_RX_PB_SIZE, IXGBE_82599_VFT_TBL_SIZE, ixgbe_bypass_rd_eep_generic(), ixgbe_bypass_rw_generic(), ixgbe_bypass_set_generic(), ixgbe_bypass_valid_rd_generic(), ixgbe_check_mac_link_generic(), ixgbe_clear_vfta_generic(), ixgbe_clear_vmdq_generic(), ixgbe_dcb_get_rtrup2tc_generic(), ixgbe_disable_sec_rx_path_generic(), ixgbe_enable_relaxed_ordering_gen2(), ixgbe_enable_rx_dma_82599(), ixgbe_enable_sec_rx_path_generic(), IXGBE_FWSM_BY_MAC, IXGBE_FWSM_MODE_MASK, ixgbe_get_device_caps_generic(), ixgbe_get_fcoe_boot_status_generic(), ixgbe_get_link_capabilities_82599(), ixgbe_get_media_type_82599(), ixgbe_get_pcie_msix_count_generic(), ixgbe_get_san_mac_addr_generic(), ixgbe_get_supported_physical_layer_82599(), ixgbe_get_thermal_sensor_data_generic(), ixgbe_get_wwn_prefix_generic(), ixgbe_identify_phy_82599(), ixgbe_init_mac_link_ops_82599(), ixgbe_init_mbx_params_pf(), ixgbe_init_ops_generic(), ixgbe_init_phy_ops_82599(), ixgbe_init_phy_ops_generic(), ixgbe_init_thermal_sensor_thresh_generic(), ixgbe_init_uta_tables_generic(), ixgbe_insert_mac_addr_generic(), ixgbe_read_analog_reg8_82599(), ixgbe_read_eeprom_82599(), ixgbe_read_eeprom_buffer_82599(), IXGBE_READ_REG, ixgbe_reset_hw_82599(), ixgbe_set_fw_drv_ver_generic(), ixgbe_set_mac_anti_spoofing(), ixgbe_set_rxpba_generic(), ixgbe_set_san_mac_addr_generic(), ixgbe_set_vfta_generic(), ixgbe_set_vlan_anti_spoofing(), ixgbe_set_vlvf_generic(), ixgbe_set_vmdq_generic(), ixgbe_set_vmdq_san_mac_generic(), ixgbe_setup_sfp_modules_82599(), ixgbe_start_hw_82599(), ixgbe_write_analog_reg8_82599(), ixgbe_hw::mac, ixgbe_mac_info::max_msix_vectors, ixgbe_mac_info::max_rx_queues, ixgbe_mac_info::max_tx_queues, ixgbe_hw::mbx, ixgbe_mac_info::mcft_size, ixgbe_mac_info::num_rar_entries, ixgbe_eeprom_info::ops, ixgbe_mac_info::ops, ixgbe_phy_info::ops, ixgbe_mbx_info::ops, ixgbe_hw::phy, ixgbe_mac_operations::prot_autoc_read, prot_autoc_read_82599(), ixgbe_mac_operations::prot_autoc_write, prot_autoc_write_82599(), ixgbe_mac_info::rar_highwater, ixgbe_eeprom_operations::read, ixgbe_mac_operations::read_analog_reg8, ixgbe_eeprom_operations::read_buffer, ixgbe_mac_operations::reset_hw, ixgbe_mac_info::rx_pb_size, ixgbe_mac_operations::set_fw_drv_ver, ixgbe_mac_operations::set_mac_anti_spoofing, ixgbe_mac_operations::set_san_mac_addr, ixgbe_mac_operations::set_vfta, ixgbe_mac_operations::set_vlan_anti_spoofing, ixgbe_mac_operations::set_vlvf, ixgbe_mac_operations::set_vmdq, ixgbe_mac_operations::set_vmdq_san_mac, ixgbe_mac_operations::setup_rxpba, ixgbe_mac_operations::setup_sfp, ixgbe_mac_operations::start_hw, ixgbe_mac_info::vft_size, and ixgbe_mac_operations::write_analog_reg8.
Referenced by ixgbe_init_shared_code().
ixgbe_init_ops_vf - Initialize the pointers for vf @hw: pointer to hardware structure
This will assign function pointers, adapter-specific functions can override the assignment of generic function pointers by assigning their own adapter-specific function pointers. Does not touch the hardware.
Definition at line 51 of file ixgbe_vf.c.
References ixgbe_mac_operations::check_link, ixgbe_mac_operations::clear_hw_cntrs, ixgbe_mac_operations::clear_vfta, ixgbe_mac_operations::disable_mc, ixgbe_mac_operations::enable_mc, ixgbe_mac_operations::get_bus_info, ixgbe_mac_operations::get_link_capabilities, ixgbe_mac_operations::get_link_state, ixgbe_mac_operations::get_mac_addr, ixgbe_mac_operations::get_media_type, ixgbe_mac_operations::init_hw, ixgbe_mbx_operations::init_params, ixgbe_mac_operations::init_rx_addrs, ixgbe_check_mac_link_vf(), ixgbe_get_link_state_vf(), ixgbe_get_mac_addr_vf(), ixgbe_init_hw_vf(), ixgbe_init_mbx_params_vf(), ixgbe_reset_hw_vf(), ixgbe_set_rar_vf(), ixgbe_set_vfta_vf(), ixgbe_setup_mac_link_vf(), ixgbe_start_hw_vf(), ixgbe_stop_adapter_vf(), IXGBE_SUCCESS, ixgbe_update_mc_addr_list_vf(), ixgbevf_negotiate_api_version(), ixgbevf_rlpml_set_vf(), ixgbevf_set_uc_addr_vf(), ixgbevf_update_xcast_mode(), ixgbe_hw::mac, ixgbe_mac_info::max_rx_queues, ixgbe_mac_info::max_tx_queues, ixgbe_hw::mbx, ixgbe_mac_operations::negotiate_api_version, ixgbe_mac_info::ops, ixgbe_mbx_info::ops, ixgbe_mac_operations::reset_hw, ixgbe_mac_operations::set_rar, ixgbe_mac_operations::set_rlpml, ixgbe_mac_operations::set_uc_addr, ixgbe_mac_operations::set_vfta, ixgbe_mac_operations::setup_link, ixgbe_mac_operations::start_hw, ixgbe_mac_operations::stop_adapter, ixgbe_mac_operations::update_mc_addr_list, and ixgbe_mac_operations::update_xcast_mode.
Referenced by ixgbe_init_shared_code(), and ixv_if_attach_pre().
ixgbe_init_ops_X540 - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and assign the MAC type for X540. Does not touch the hardware.
Definition at line 60 of file ixgbe_x540.c.
References ixgbe_mac_operations::acquire_swfw_sync, ixgbe_mac_info::arc_subsystem_valid, ixgbe_mac_operations::blink_led_start, ixgbe_mac_operations::blink_led_stop, ixgbe_mac_operations::bypass_rd_eep, ixgbe_mac_operations::bypass_rw, ixgbe_mac_operations::bypass_set, ixgbe_mac_operations::bypass_valid_rd, ixgbe_eeprom_operations::calc_checksum, ixgbe_mac_operations::check_link, ixgbe_mac_operations::clear_vfta, ixgbe_mac_operations::clear_vmdq, DEBUGFUNC, ixgbe_mac_operations::disable_sec_rx_path, ixgbe_hw::eeprom, ixgbe_mac_operations::enable_relaxed_ordering, ixgbe_mac_operations::enable_sec_rx_path, ixgbe_mac_operations::get_device_caps, ixgbe_mac_operations::get_fcoe_boot_status, ixgbe_mac_operations::get_link_capabilities, ixgbe_mac_operations::get_media_type, ixgbe_mac_operations::get_rtrup2tc, ixgbe_mac_operations::get_san_mac_addr, ixgbe_mac_operations::get_supported_physical_layer, ixgbe_mac_operations::get_wwn_prefix, ixgbe_phy_operations::init, ixgbe_eeprom_operations::init_params, ixgbe_mbx_operations::init_params, ixgbe_mac_operations::init_swfw_sync, ixgbe_mac_operations::init_uta_tables, ixgbe_mac_operations::insert_mac_addr, ixgbe_acquire_swfw_sync_X540(), ixgbe_blink_led_start_X540(), ixgbe_blink_led_stop_X540(), ixgbe_bypass_rd_eep_generic(), ixgbe_bypass_rw_generic(), ixgbe_bypass_set_generic(), ixgbe_bypass_valid_rd_generic(), ixgbe_calc_eeprom_checksum_X540(), ixgbe_check_mac_link_generic(), ixgbe_clear_vfta_generic(), ixgbe_clear_vmdq_generic(), ixgbe_dcb_get_rtrup2tc_generic(), ixgbe_disable_sec_rx_path_generic(), ixgbe_enable_relaxed_ordering_gen2(), ixgbe_enable_sec_rx_path_generic(), IXGBE_FWSM_BY_MAC, IXGBE_FWSM_MODE_MASK, ixgbe_get_copper_link_capabilities_generic(), ixgbe_get_device_caps_generic(), ixgbe_get_fcoe_boot_status_generic(), ixgbe_get_media_type_X540(), ixgbe_get_pcie_msix_count_generic(), ixgbe_get_san_mac_addr_generic(), ixgbe_get_supported_physical_layer_X540(), ixgbe_get_wwn_prefix_generic(), ixgbe_init_eeprom_params_X540(), ixgbe_init_mbx_params_pf(), ixgbe_init_ops_generic(), ixgbe_init_phy_ops_generic(), ixgbe_init_swfw_sync_X540(), ixgbe_init_uta_tables_generic(), ixgbe_insert_mac_addr_generic(), ixgbe_read_eerd_buffer_X540(), ixgbe_read_eerd_X540(), IXGBE_READ_REG, ixgbe_release_swfw_sync_X540(), ixgbe_reset_hw_X540(), ixgbe_set_copper_phy_power(), ixgbe_set_fw_drv_ver_generic(), ixgbe_set_mac_anti_spoofing(), ixgbe_set_rxpba_generic(), ixgbe_set_san_mac_addr_generic(), ixgbe_set_vfta_generic(), ixgbe_set_vlan_anti_spoofing(), ixgbe_set_vlvf_generic(), ixgbe_set_vmdq_generic(), ixgbe_set_vmdq_san_mac_generic(), ixgbe_setup_mac_link_X540(), ixgbe_start_hw_X540(), ixgbe_update_eeprom_checksum_X540(), ixgbe_validate_eeprom_checksum_X540(), ixgbe_write_eewr_buffer_X540(), ixgbe_write_eewr_X540(), IXGBE_X540_MAX_RX_QUEUES, IXGBE_X540_MAX_TX_QUEUES, IXGBE_X540_MC_TBL_SIZE, IXGBE_X540_RAR_ENTRIES, IXGBE_X540_RX_PB_SIZE, IXGBE_X540_VFT_TBL_SIZE, ixgbe_hw::mac, ixgbe_mac_info::max_msix_vectors, ixgbe_mac_info::max_rx_queues, ixgbe_mac_info::max_tx_queues, ixgbe_hw::mbx, ixgbe_mac_info::mcft_size, ixgbe_mac_info::num_rar_entries, ixgbe_eeprom_info::ops, ixgbe_mac_info::ops, ixgbe_phy_info::ops, ixgbe_mbx_info::ops, ixgbe_hw::phy, ixgbe_mac_info::rar_highwater, ixgbe_eeprom_operations::read, ixgbe_mac_operations::read_analog_reg8, ixgbe_eeprom_operations::read_buffer, ixgbe_mac_operations::release_swfw_sync, ixgbe_phy_operations::reset, ixgbe_mac_operations::reset_hw, ixgbe_mac_info::rx_pb_size, ixgbe_mac_operations::set_fw_drv_ver, ixgbe_mac_operations::set_mac_anti_spoofing, ixgbe_phy_operations::set_phy_power, ixgbe_mac_operations::set_san_mac_addr, ixgbe_mac_operations::set_vfta, ixgbe_mac_operations::set_vlan_anti_spoofing, ixgbe_mac_operations::set_vlvf, ixgbe_mac_operations::set_vmdq, ixgbe_mac_operations::set_vmdq_san_mac, ixgbe_mac_operations::setup_link, ixgbe_mac_operations::setup_rxpba, ixgbe_mac_operations::start_hw, ixgbe_eeprom_operations::update_checksum, ixgbe_eeprom_operations::validate_checksum, ixgbe_mac_info::vft_size, ixgbe_eeprom_operations::write, ixgbe_mac_operations::write_analog_reg8, and ixgbe_eeprom_operations::write_buffer.
Referenced by ixgbe_init_ops_X550(), and ixgbe_init_shared_code().
ixgbe_init_ops_X550 - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and assign the MAC type for X550. Does not touch the hardware.
Definition at line 54 of file ixgbe_x550.c.
References ixgbe_eeprom_operations::calc_checksum, DEBUGFUNC, ixgbe_hw::device_id, ixgbe_mac_operations::disable_mdd, ixgbe_mac_operations::disable_rx, ixgbe_mac_operations::dmac_config, ixgbe_mac_operations::dmac_config_tcs, ixgbe_mac_operations::dmac_update_tcs, ixgbe_hw::eeprom, ixgbe_mac_operations::enable_mdd, ixgbe_mac_operations::fw_recovery_mode, ixgbe_mac_operations::get_rtrup2tc, ixgbe_eeprom_operations::init_params, ixgbe_calc_eeprom_checksum_X550(), ixgbe_dcb_get_rtrup2tc_generic(), IXGBE_DEV_ID_X550EM_A_10G_T, IXGBE_DEV_ID_X550EM_X_10G_T, IXGBE_DEV_ID_X550EM_X_1G_T, ixgbe_disable_mdd_X550(), ixgbe_disable_rx_x550(), ixgbe_dmac_config_tcs_X550(), ixgbe_dmac_config_X550(), ixgbe_dmac_update_tcs_X550(), ixgbe_enable_mdd_X550(), ixgbe_fw_recovery_mode_X550(), ixgbe_init_eeprom_params_X550(), ixgbe_init_ops_X540(), ixgbe_led_off_t_X550em(), ixgbe_led_on_t_X550em(), ixgbe_mdd_event_X550(), ixgbe_read_ee_hostif_buffer_X550(), ixgbe_read_ee_hostif_X550(), ixgbe_restore_mdd_vf_X550(), ixgbe_set_ethertype_anti_spoofing_X550(), ixgbe_set_fw_drv_ver_x550(), ixgbe_set_source_address_pruning_X550(), ixgbe_update_eeprom_checksum_X550(), ixgbe_validate_eeprom_checksum_X550(), ixgbe_write_ee_hostif_buffer_X550(), ixgbe_write_ee_hostif_X550(), ixgbe_mac_operations::led_off, ixgbe_mac_operations::led_on, ixgbe_hw::mac, ixgbe_mac_operations::mdd_event, ixgbe_eeprom_info::ops, ixgbe_mac_info::ops, ixgbe_eeprom_operations::read, ixgbe_eeprom_operations::read_buffer, ixgbe_mac_operations::restore_mdd_vf, ixgbe_mac_operations::set_ethertype_anti_spoofing, ixgbe_mac_operations::set_fw_drv_ver, ixgbe_mac_operations::set_source_address_pruning, ixgbe_mac_operations::setup_eee, ixgbe_eeprom_operations::update_checksum, ixgbe_eeprom_operations::validate_checksum, ixgbe_eeprom_operations::write, and ixgbe_eeprom_operations::write_buffer.
Referenced by ixgbe_init_ops_X550EM(), and ixgbe_init_shared_code().
ixgbe_init_ops_X550EM - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and for MAC type X550EM. Does not touch the hardware.
Definition at line 605 of file ixgbe_x550.c.
References ixgbe_hw::bus, ixgbe_mac_operations::bypass_rd_eep, ixgbe_mac_operations::bypass_rw, ixgbe_mac_operations::bypass_set, ixgbe_mac_operations::bypass_valid_rd, ixgbe_eeprom_operations::calc_checksum, DEBUGFUNC, ixgbe_hw::device_id, ixgbe_mac_operations::disable_sec_rx_path, ixgbe_hw::eeprom, ixgbe_mac_operations::enable_sec_rx_path, ixgbe_mac_operations::get_bus_info, ixgbe_mac_operations::get_fcoe_boot_status, ixgbe_phy_operations::get_firmware_version, ixgbe_mac_operations::get_link_capabilities, ixgbe_mac_operations::get_media_type, ixgbe_mac_operations::get_san_mac_addr, ixgbe_mac_operations::get_supported_physical_layer, ixgbe_mac_operations::get_thermal_sensor_data, ixgbe_mac_operations::get_wwn_prefix, ixgbe_phy_operations::identify, ixgbe_phy_operations::init, ixgbe_eeprom_operations::init_params, ixgbe_mac_operations::init_thermal_sensor_thresh, ixgbe_bus_type_internal, ixgbe_calc_eeprom_checksum_X550(), IXGBE_DEV_ID_X550EM_A_1G_T, IXGBE_DEV_ID_X550EM_A_1G_T_L, IXGBE_DEV_ID_X550EM_X_1G_T, ixgbe_get_bus_info_X550em(), ixgbe_get_link_capabilities_X550em(), ixgbe_get_media_type_X550em(), ixgbe_get_supported_physical_layer_X550em(), ixgbe_identify_phy_fw(), ixgbe_identify_phy_x550em(), ixgbe_init_eeprom_params_X540(), ixgbe_init_ops_X550(), ixgbe_init_phy_ops_X550em(), ixgbe_media_type_copper, ixgbe_read_ee_hostif_buffer_X550(), ixgbe_read_ee_hostif_X550(), ixgbe_reset_hw_X550em(), ixgbe_setup_fc_generic(), ixgbe_setup_fc_X550em(), ixgbe_setup_sfp_modules_X550em(), ixgbe_update_eeprom_checksum_X550(), ixgbe_validate_eeprom_checksum_X550(), ixgbe_write_ee_hostif_buffer_X550(), ixgbe_write_ee_hostif_X550(), ixgbe_hw::mac, ixgbe_eeprom_info::ops, ixgbe_mac_info::ops, ixgbe_phy_info::ops, ixgbe_hw::phy, ixgbe_mac_operations::prot_autoc_read, ixgbe_mac_operations::prot_autoc_write, ixgbe_eeprom_operations::read, ixgbe_eeprom_operations::read_buffer, ixgbe_mac_operations::reset_hw, ixgbe_phy_operations::set_phy_power, ixgbe_mac_operations::set_san_mac_addr, ixgbe_mac_operations::setup_fc, ixgbe_mac_operations::setup_sfp, ixgbe_mac_info::thermal_sensor_enabled, ixgbe_bus_info::type, ixgbe_eeprom_operations::update_checksum, ixgbe_eeprom_operations::validate_checksum, ixgbe_eeprom_operations::write, and ixgbe_eeprom_operations::write_buffer.
Referenced by ixgbe_init_ops_X550EM_a(), and ixgbe_init_ops_X550EM_x().
ixgbe_init_ops_X550EM_a - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and for MAC type X550EM_a. Does not touch the hardware.
Definition at line 793 of file ixgbe_x550.c.
References ixgbe_mac_operations::acquire_swfw_sync, DEBUGFUNC, ixgbe_hw::device_id, ixgbe_phy_info::eee_speeds_advertised, ixgbe_phy_info::eee_speeds_supported, ixgbe_mac_operations::fc_autoneg, ixgbe_mac_operations::get_media_type, ixgbe_acquire_swfw_sync_X550a(), IXGBE_DEV_ID_X550EM_A_1G_T, IXGBE_DEV_ID_X550EM_A_1G_T_L, IXGBE_DEV_ID_X550EM_A_SGMII, IXGBE_DEV_ID_X550EM_A_SGMII_L, ixgbe_fc_autoneg_backplane_x550em_a(), ixgbe_fc_autoneg_fiber_x550em_a(), ixgbe_fc_autoneg_fw(), ixgbe_fc_autoneg_sgmii_x550em_a(), ixgbe_init_ops_X550EM(), IXGBE_LINK_SPEED_100_FULL, IXGBE_LINK_SPEED_1GB_FULL, ixgbe_media_type_backplane, ixgbe_media_type_fiber, ixgbe_read_iosf_sb_reg_x550(), ixgbe_read_iosf_sb_reg_x550a(), ixgbe_release_swfw_sync_X550a(), ixgbe_setup_eee_fw(), ixgbe_setup_fc_backplane_x550em_a(), ixgbe_write_iosf_sb_reg_x550(), ixgbe_write_iosf_sb_reg_x550a(), ixgbe_hw::mac, ixgbe_mac_info::ops, ixgbe_hw::phy, ixgbe_mac_operations::read_iosf_sb_reg, ixgbe_mac_operations::release_swfw_sync, ixgbe_mac_operations::setup_eee, ixgbe_mac_operations::setup_fc, and ixgbe_mac_operations::write_iosf_sb_reg.
Referenced by ixgbe_init_shared_code().
ixgbe_init_ops_X550EM_x - Inits func ptrs and MAC type @hw: pointer to hardware structure
Initialize the function pointers and for MAC type X550EM_x. Does not touch the hardware.
Definition at line 851 of file ixgbe_x550.c.
References ixgbe_mac_operations::acquire_swfw_sync, ixgbe_link_info::addr, DEBUGFUNC, ixgbe_hw::device_id, ixgbe_mac_operations::init_led_link_act, ixgbe_acquire_swfw_sync_X550em(), IXGBE_CS4227, IXGBE_DEV_ID_X550EM_X_1G_T, ixgbe_init_ops_X550EM(), ixgbe_read_i2c_combined_generic(), ixgbe_read_i2c_combined_generic_unlocked(), ixgbe_read_iosf_sb_reg_x550(), ixgbe_release_swfw_sync_X550em(), ixgbe_write_i2c_combined_generic(), ixgbe_write_i2c_combined_generic_unlocked(), ixgbe_write_iosf_sb_reg_x550(), ixgbe_hw::link, ixgbe_hw::mac, ixgbe_link_info::ops, ixgbe_mac_info::ops, ixgbe_mac_operations::read_iosf_sb_reg, ixgbe_link_operations::read_link, ixgbe_link_operations::read_link_unlocked, ixgbe_mac_operations::release_swfw_sync, ixgbe_mac_operations::setup_eee, ixgbe_mac_operations::setup_fc, ixgbe_mac_operations::write_iosf_sb_reg, ixgbe_link_operations::write_link, and ixgbe_link_operations::write_link_unlocked.
Referenced by ixgbe_init_shared_code().
ixgbe_init_rx_addrs - Initializes receive address filters. @hw: pointer to hardware structure
Places the MAC address in receive address register 0 and clears the rest of the receive address registers. Clears the multicast table. Assumes the receiver is in reset when the routine is called.
Definition at line 1007 of file ixgbe_api.c.
References ixgbe_mac_operations::init_rx_addrs, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_init_shared_code - Initialize the shared code @hw: pointer to hardware structure
This will assign function pointers and assign the MAC type and PHY code. Does not touch the hardware. This function must be called prior to any other function in the shared code. The ixgbe_hw structure should be memset to 0 prior to calling this function. The following fields in hw structure should be filled in prior to calling this function: hw_addr, back, device_id, vendor_id, subsystem_device_id, subsystem_vendor_id, and revision_id
Definition at line 86 of file ixgbe_api.c.
References DEBUGFUNC, IXGBE_ERR_DEVICE_NOT_SUPPORTED, ixgbe_init_ops_82598(), ixgbe_init_ops_82599(), ixgbe_init_ops_vf(), ixgbe_init_ops_X540(), ixgbe_init_ops_X550(), ixgbe_init_ops_X550EM_a(), ixgbe_init_ops_X550EM_x(), IXGBE_LINK_UP_TIME, ixgbe_mac_82598EB, ixgbe_mac_82599_vf, ixgbe_mac_82599EB, ixgbe_mac_X540, ixgbe_mac_X540_vf, ixgbe_mac_X550, ixgbe_mac_X550_vf, ixgbe_mac_X550EM_a, ixgbe_mac_X550EM_a_vf, ixgbe_mac_X550EM_x, ixgbe_mac_X550EM_x_vf, ixgbe_set_mac_type(), ixgbe_hw::mac, ixgbe_mac_info::max_link_up_time, and ixgbe_mac_info::type.
Referenced by ixgbe_if_attach_pre().
void ixgbe_init_swfw_semaphore | ( | struct ixgbe_hw * | hw | ) |
ixgbe_init_swfw_semaphore - Clean up SWFW semaphore @hw: pointer to hardware structure
Attempts to acquire the SWFW semaphore through SW_FW_SYNC register. Regardless of whether is succeeds or not it then release the semaphore. This is function is called to recover from catastrophic failures that may have left the semaphore locked.
Definition at line 1754 of file ixgbe_api.c.
References ixgbe_mac_operations::init_swfw_sync, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_if_attach_pre().
ixgbe_init_thermal_sensor_thresh - Inits thermal sensor thresholds @hw: pointer to hardware structure
Inits the thermal sensor thresholds according to the NVM map
Definition at line 1198 of file ixgbe_api.c.
References ixgbe_mac_operations::init_thermal_sensor_thresh, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_init_uta_tables - Initializes Unicast Table Arrays. @hw: pointer to hardware structure
Initializes the Unicast Table Arrays to zero on device load. This is part of the Rx init addr execution path.
Definition at line 1503 of file ixgbe_api.c.
References ixgbe_mac_operations::init_uta_tables, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
Referenced by ixgbe_init_rx_addrs_generic().
ixgbe_insert_mac_addr - Find a RAR for this mac address @hw: pointer to hardware structure @addr: Address to put into receive address register @vmdq: VMDq pool to assign
Puts an ethernet address into a receive address register, or finds the rar that it is already in; adds to the pool list
Definition at line 926 of file ixgbe_api.c.
References ixgbe_mac_operations::insert_mac_addr, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_led_off - Turn off LEDs @hw: pointer to hardware structure @index: led number to turn off
Turns off the software controllable LEDs.
Definition at line 782 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_mac_operations::led_off, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_led_on - Turn on LEDs @hw: pointer to hardware structure @index: led number to turn on
Turns on the software controllable LEDs.
Definition at line 769 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_mac_operations::led_on, ixgbe_hw::mac, and ixgbe_mac_info::ops.
ixgbe_mdd_event - Handle malicious driver detection event @hw: pointer to hardware structure @vf_bitmap: vf bitmap of malicious vfs
Definition at line 1344 of file ixgbe_api.c.
References ixgbe_hw::mac, ixgbe_mac_operations::mdd_event, and ixgbe_mac_info::ops.
s32 ixgbe_negotiate_fc | ( | struct ixgbe_hw * | hw, |
u32 | adv_reg, | ||
u32 | lp_reg, | ||
u32 | adv_sym, | ||
u32 | adv_asm, | ||
u32 | lp_sym, | ||
u32 | lp_asm | ||
) |
ixgbe_negotiate_fc - Negotiate flow control @hw: pointer to hardware structure @adv_reg: flow control advertised settings @lp_reg: link partner's flow control settings @adv_sym: symmetric pause bit in advertisement @adv_asm: asymmetric pause bit in advertisement @lp_sym: symmetric pause bit in link partner advertisement @lp_asm: asymmetric pause bit in link partner advertisement
Find the intersection between advertised settings and link partner's advertised settings
Definition at line 2951 of file ixgbe_common.c.
References ixgbe_fc_info::current_mode, DEBUGOUT, ERROR_REPORT3, ixgbe_hw::fc, IXGBE_ERR_FC_NOT_NEGOTIATED, IXGBE_ERROR_UNSUPPORTED, ixgbe_fc_full, ixgbe_fc_none, ixgbe_fc_rx_pause, ixgbe_fc_tx_pause, IXGBE_SUCCESS, and ixgbe_fc_info::requested_mode.
Referenced by ixgbe_fc_autoneg_backplane(), ixgbe_fc_autoneg_backplane_x550em_a(), ixgbe_fc_autoneg_copper(), ixgbe_fc_autoneg_fiber(), and ixgbe_fc_autoneg_sgmii_x550em_a().
ixgbe_read_analog_reg8 - Reads 8 bit analog register @hw: pointer to hardware structure @reg: analog register to read @val: read value
Performs write operation to analog register specified.
Definition at line 1476 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::read_analog_reg8.
ixgbe_read_eeprom - Read word from EEPROM @hw: pointer to hardware structure @offset: offset within the EEPROM to be read @data: read 16 bit value from EEPROM
Reads 16 bit value from EEPROM
Definition at line 871 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::read.
Referenced by ixgbe_enter_lplu_t_x550em(), and ixgbe_stop_mac_link_on_d3_82599().
ixgbe_read_eeprom_buffer - Read word(s) from EEPROM @hw: pointer to hardware structure @offset: offset within the EEPROM to be read @data: read 16 bit word(s) from EEPROM @words: number of words
Reads 16 bit word(s) from EEPROM
Definition at line 886 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::read_buffer.
ixgbe_read_i2c_byte - Reads 8 bit word over I2C at specified device address @hw: pointer to hardware structure @byte_offset: byte offset to read @dev_addr: I2C bus address to read from @data: value read
Performs byte read operation to SFP module's EEPROM over I2C interface.
Definition at line 1518 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::read_i2c_byte.
ixgbe_read_i2c_byte_unlocked - Reads 8 bit word via I2C from device address @hw: pointer to hardware structure @byte_offset: byte offset to read @dev_addr: I2C bus address to read from @data: value read
Performs byte read operation to SFP module's EEPROM over I2C interface.
Definition at line 1534 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::read_i2c_byte_unlocked.
Referenced by ixgbe_read_pe().
ixgbe_read_i2c_eeprom - Reads 8 bit EEPROM word over I2C interface @hw: pointer to hardware structure @byte_offset: EEPROM byte offset to read @eeprom_data: value read
Performs byte read operation to SFP module's EEPROM over I2C interface.
Definition at line 1661 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::read_i2c_eeprom.
ixgbe_read_iosf_sb_reg - Read 32 bit PHY register @hw: pointer to hardware structure @reg_addr: 32 bit address of PHY register to read @device_type: type of device you want to communicate with @phy_data: Pointer to read data from PHY register
Reads a value from a specified PHY register
Definition at line 1293 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::read_iosf_sb_reg.
ixgbe_read_link - Perform read operation on link device @hw: pointer to the hardware structure @addr: bus address to read from @reg: device register to read from @val: pointer to location to receive read value
Returns an error code on error.
Definition at line 1551 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::link, ixgbe_link_info::ops, and ixgbe_link_operations::read_link.
ixgbe_read_link_unlocked - Perform read operation on link device @hw: pointer to the hardware structure @addr: bus address to read from @reg: device register to read from @val: pointer to location to receive read value
Returns an error code on error.
Definition at line 1566 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::link, ixgbe_link_info::ops, and ixgbe_link_operations::read_link_unlocked.
ixgbe_read_pba_num - Reads part number from EEPROM @hw: pointer to hardware structure @pba_num: stores the part number from the EEPROM
Reads the part number from the EEPROM.
Definition at line 493 of file ixgbe_api.c.
References ixgbe_read_pba_num_generic().
ixgbe_read_pba_string - Reads part number string from EEPROM @hw: pointer to hardware structure @pba_num: stores the part number string from the EEPROM @pba_num_size: part number string buffer length
Reads the part number string from the EEPROM.
Definition at line 481 of file ixgbe_api.c.
References ixgbe_read_pba_string_generic().
ixgbe_read_phy_reg - Read PHY register @hw: pointer to hardware structure @reg_addr: 32 bit address of PHY register to read @device_type: type of device you want to communicate with @phy_data: Pointer to read data from PHY register
Reads a value from a specified PHY register
Definition at line 560 of file ixgbe_api.c.
References ixgbe_phy_info::id, ixgbe_call_func, ixgbe_identify_phy(), IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::read_reg.
Referenced by ixgbe_led_off_t_X550em(), and ixgbe_led_on_t_X550em().
ixgbe_reinit_fdir_tables_82599 - Reinitialize Flow Director tables. @hw: pointer to hardware structure
Definition at line 1235 of file ixgbe_82599.c.
References DEBUGFUNC, DEBUGOUT, IXGBE_ERR_FDIR_REINIT_FAILED, ixgbe_fdir_check_cmd_complete(), IXGBE_FDIR_INIT_DONE_POLL, IXGBE_FDIRCMD, IXGBE_FDIRCMD_CLEARHT, IXGBE_FDIRCTRL, IXGBE_FDIRCTRL_INIT_DONE, IXGBE_FDIRFREE, IXGBE_FDIRFSTAT, IXGBE_FDIRHASH, IXGBE_FDIRLEN, IXGBE_FDIRMATCH, IXGBE_FDIRMISS, IXGBE_FDIRUSTAT, IXGBE_READ_REG, IXGBE_SUCCESS, IXGBE_WRITE_FLUSH, IXGBE_WRITE_REG, and msec_delay.
ixgbe_release_swfw_semaphore - Release SWFW semaphore @hw: pointer to hardware structure @mask: Mask to specify which semaphore to release
Releases the SWFW semaphore through SW_FW_SYNC register for the specified function (CSR, PHY0, PHY1, EEPROM, Flash)
Definition at line 1739 of file ixgbe_api.c.
References ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::release_swfw_sync.
Referenced by ixgbe_read_iosf_sb_reg_x550(), and ixgbe_write_iosf_sb_reg_x550().
ixgbe_reset_hw - Performs a hardware reset @hw: pointer to hardware structure
Resets the hardware by resetting the transmit and receive units, masks and clears all interrupts, performs a PHY reset, and performs a MAC reset
Definition at line 276 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::reset_hw.
Referenced by ixgbe_if_attach_pre(), and ixgbe_if_stop().
ixgbe_reset_phy - Perform a PHY reset @hw: pointer to hardware structure
Definition at line 520 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_ERR_PHY, ixgbe_identify_phy(), IXGBE_NOT_IMPLEMENTED, ixgbe_phy_unknown, IXGBE_SUCCESS, ixgbe_phy_info::ops, ixgbe_hw::phy, ixgbe_phy_operations::reset, and ixgbe_phy_info::type.
ixgbe_restore_mdd_vf - Restore VF that was disabled during malicious driver detection event @hw: pointer to hardware structure @vf: vf index
Definition at line 1357 of file ixgbe_api.c.
References ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::restore_mdd_vf.
ixgbe_set_ethertype_anti_spoofing - Enable/Disable Ethertype anti-spoofing @hw: pointer to hardware structure @enable: enable or disable switch for Ethertype anti-spoofing @vf: Virtual Function pool - VF Pool to set for Ethertype anti-spoofing
Definition at line 1278 of file ixgbe_api.c.
References ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_ethertype_anti_spoofing.
ixgbe_set_fdir_drop_queue_82599 - Set Flow Director drop queue @hw: pointer to hardware structure @dropqueue: Rx queue index used for the dropped packets
Definition at line 1415 of file ixgbe_82599.c.
References DEBUGFUNC, ixgbe_fdir_enable_82599(), IXGBE_FDIRCMD, IXGBE_FDIRCMD_CLEARHT, IXGBE_FDIRCTRL, IXGBE_FDIRCTRL_DROP_NO_MATCH, IXGBE_FDIRCTRL_DROP_Q_MASK, IXGBE_FDIRCTRL_DROP_Q_SHIFT, IXGBE_FDIRCTRL_INIT_DONE, ixgbe_mac_X550, ixgbe_mac_X550EM_a, ixgbe_mac_X550EM_x, IXGBE_READ_REG, IXGBE_WRITE_FLUSH, IXGBE_WRITE_REG, ixgbe_hw::mac, and ixgbe_mac_info::type.
s32 ixgbe_set_fw_drv_ver | ( | struct ixgbe_hw * | hw, |
u8 | maj, | ||
u8 | min, | ||
u8 | build, | ||
u8 | ver, | ||
u16 | len, | ||
char * | driver_ver | ||
) |
ixgbe_set_fw_drv_ver - Try to send the driver version number FW @hw: pointer to hardware structure @maj: driver major number to be sent to firmware @min: driver minor number to be sent to firmware @build: driver build number to be sent to firmware @ver: driver version number to be sent to firmware @len: length of driver_ver string @driver_ver: driver string
Definition at line 1171 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_fw_drv_ver.
ixgbe_set_mac_type - Sets MAC type @hw: pointer to the HW structure
This function sets the mac type of the adapter based on the vendor ID and device ID stored in the hw structure.
Definition at line 139 of file ixgbe_api.c.
References DEBUGFUNC, DEBUGOUT2, ixgbe_hw::device_id, ERROR_REPORT2, IXGBE_DEV_ID_82598, IXGBE_DEV_ID_82598_BX, IXGBE_DEV_ID_82598_CX4_DUAL_PORT, IXGBE_DEV_ID_82598_DA_DUAL_PORT, IXGBE_DEV_ID_82598_SR_DUAL_PORT_EM, IXGBE_DEV_ID_82598AF_DUAL_PORT, IXGBE_DEV_ID_82598AF_SINGLE_PORT, IXGBE_DEV_ID_82598AT, IXGBE_DEV_ID_82598AT2, IXGBE_DEV_ID_82598EB_CX4, IXGBE_DEV_ID_82598EB_SFP_LOM, IXGBE_DEV_ID_82598EB_XF_LR, IXGBE_DEV_ID_82599_BACKPLANE_FCOE, IXGBE_DEV_ID_82599_BYPASS, IXGBE_DEV_ID_82599_COMBO_BACKPLANE, IXGBE_DEV_ID_82599_CX4, IXGBE_DEV_ID_82599_KR, IXGBE_DEV_ID_82599_KX4, IXGBE_DEV_ID_82599_KX4_MEZZ, IXGBE_DEV_ID_82599_QSFP_SF_QP, IXGBE_DEV_ID_82599_SFP, IXGBE_DEV_ID_82599_SFP_EM, IXGBE_DEV_ID_82599_SFP_FCOE, IXGBE_DEV_ID_82599_SFP_SF2, IXGBE_DEV_ID_82599_SFP_SF_QP, IXGBE_DEV_ID_82599_T3_LOM, IXGBE_DEV_ID_82599_VF, IXGBE_DEV_ID_82599_VF_HV, IXGBE_DEV_ID_82599_XAUI_LOM, IXGBE_DEV_ID_82599EN_SFP, IXGBE_DEV_ID_X540_BYPASS, IXGBE_DEV_ID_X540_VF, IXGBE_DEV_ID_X540_VF_HV, IXGBE_DEV_ID_X540T, IXGBE_DEV_ID_X540T1, IXGBE_DEV_ID_X550_VF, IXGBE_DEV_ID_X550_VF_HV, IXGBE_DEV_ID_X550EM_A_10G_T, IXGBE_DEV_ID_X550EM_A_1G_T, IXGBE_DEV_ID_X550EM_A_1G_T_L, IXGBE_DEV_ID_X550EM_A_KR, IXGBE_DEV_ID_X550EM_A_KR_L, IXGBE_DEV_ID_X550EM_A_QSFP, IXGBE_DEV_ID_X550EM_A_QSFP_N, IXGBE_DEV_ID_X550EM_A_SFP, IXGBE_DEV_ID_X550EM_A_SFP_N, IXGBE_DEV_ID_X550EM_A_SGMII, IXGBE_DEV_ID_X550EM_A_SGMII_L, IXGBE_DEV_ID_X550EM_A_VF, IXGBE_DEV_ID_X550EM_A_VF_HV, IXGBE_DEV_ID_X550EM_X_10G_T, IXGBE_DEV_ID_X550EM_X_1G_T, IXGBE_DEV_ID_X550EM_X_KR, IXGBE_DEV_ID_X550EM_X_KX4, IXGBE_DEV_ID_X550EM_X_SFP, IXGBE_DEV_ID_X550EM_X_VF, IXGBE_DEV_ID_X550EM_X_VF_HV, IXGBE_DEV_ID_X550EM_X_XFI, IXGBE_DEV_ID_X550T, IXGBE_DEV_ID_X550T1, IXGBE_ERR_DEVICE_NOT_SUPPORTED, IXGBE_ERROR_UNSUPPORTED, IXGBE_INTEL_VENDOR_ID, ixgbe_mac_82598EB, ixgbe_mac_82599_vf, ixgbe_mac_82599EB, ixgbe_mac_X540, ixgbe_mac_X540_vf, ixgbe_mac_X550, ixgbe_mac_X550_vf, ixgbe_mac_X550EM_a, ixgbe_mac_X550EM_a_vf, ixgbe_mac_X550EM_x, ixgbe_mac_X550EM_x_vf, ixgbe_mvals_base, ixgbe_mvals_X540, ixgbe_mvals_X550, ixgbe_mvals_X550EM_a, ixgbe_mvals_X550EM_x, IXGBE_SUCCESS, ixgbe_hw::mac, ixgbe_hw::mvals, ixgbe_mac_info::type, and ixgbe_hw::vendor_id.
Referenced by ixgbe_init_shared_code().
ixgbe_set_mta - Set bit-vector in multicast table @hw: pointer to hardware structure @mc_addr: Multicast address
Sets the bit-vector in the multicast table.
Definition at line 2689 of file ixgbe_common.c.
References ixgbe_hw::addr_ctrl, DEBUGFUNC, DEBUGOUT1, ixgbe_mta_vector(), ixgbe_hw::mac, ixgbe_addr_filter_info::mta_in_use, and ixgbe_mac_info::mta_shadow.
Referenced by ixgbe_update_mc_addr_list_generic().
ixgbe_set_phy_power - Control the phy power state @hw: pointer to hardware structure @on: true for on, false for off
Definition at line 652 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::set_phy_power.
Referenced by ixgbe_if_attach_post(), ixgbe_if_init(), and ixgbe_setup_low_power_mode().
ixgbe_set_rar - Set Rx address register @hw: pointer to hardware structure @index: Receive address register to write @addr: Address to put into receive address register @vmdq: VMDq "set" @enable_addr: set flag that address is active
Puts an ethernet address into a receive address register.
Definition at line 943 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_rar.
Referenced by ixgbe_if_init(), ixgbe_if_stop(), and ixgbe_insert_mac_addr_generic().
void ixgbe_set_rate_select_speed | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed | speed | ||
) |
ixgbe_set_rate_select_speed - Set module link speed @hw: pointer to hardware structure @speed: link speed to set
Set module link speed via the rate select.
Definition at line 1780 of file ixgbe_api.c.
References ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_rate_select_speed.
Referenced by ixgbe_setup_mac_link_multispeed_fiber().
ixgbe_set_san_mac_addr - Write a SAN MAC address @hw: pointer to hardware structure @san_mac_addr: SAN MAC address
Writes A SAN MAC address to the EEPROM.
Definition at line 374 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_san_mac_addr.
ixgbe_set_source_address_pruning - Enable/Disable source address pruning @hw: pointer to hardware structure @enable: enable or disable source address pruning @pool: Rx pool - Rx pool to toggle source address pruning
Definition at line 1264 of file ixgbe_api.c.
References ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_source_address_pruning.
ixgbe_set_vfta - Set VLAN filter table @hw: pointer to hardware structure @vlan: VLAN id to write to VLAN filter @vind: VMDq output index that maps queue to VLAN id in VLVFB @vlan_on: boolean flag to turn on/off VLAN @vlvf_bypass: boolean flag indicating updating the default pool is okay
Turn on/off specified VLAN in the VLAN filter table.
Definition at line 1109 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_vfta.
s32 ixgbe_set_vlvf | ( | struct ixgbe_hw * | hw, |
u32 | vlan, | ||
u32 | vind, | ||
bool | vlan_on, | ||
u32 * | vfta_delta, | ||
u32 | vfta, | ||
bool | vlvf_bypass | ||
) |
ixgbe_set_vlvf - Set VLAN Pool Filter @hw: pointer to hardware structure @vlan: VLAN id to write to VLAN filter @vind: VMDq output index that maps queue to VLAN id in VLVFB @vlan_on: boolean flag to turn on/off VLAN in VLVF @vfta_delta: pointer to the difference between the current value of VFTA and the desired value @vfta: the desired value of the VFTA @vlvf_bypass: boolean flag indicating updating the default pool is okay
Turn on/off specified bit in VLVF table.
Definition at line 1129 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_vlvf.
ixgbe_set_vmdq - Associate a VMDq index with a receive address @hw: pointer to hardware structure @rar: receive address register index to associate with VMDq index @vmdq: VMDq set or pool index
Definition at line 969 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_vmdq.
Referenced by ixgbe_insert_mac_addr_generic().
ixgbe_set_vmdq_san_mac - Associate VMDq index 127 with a receive address @hw: pointer to hardware structure @vmdq: VMDq default pool index
Definition at line 981 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::set_vmdq_san_mac.
ixgbe_setup_eee - Enable/disable EEE support @hw: pointer to the HW structure @enable_eee: boolean flag to enable EEE
Enable/disable EEE based on enable_ee flag. Auto-negotiation must be started after BASE-T EEE bits in PHY register 7.3C are modified.
Definition at line 1252 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::setup_eee.
Referenced by ixgbe_sysctl_eee_state().
ixgbe_setup_fc - Set up flow control @hw: pointer to hardware structure
Called at init time to set up flow control.
Definition at line 1155 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::setup_fc.
Referenced by ixgbe_start_hw_generic().
ixgbe_setup_internal_phy - Configure integrated PHY @hw: pointer to hardware structure
Reconfigure the integrated PHY in order to enable talk to the external PHY. Returns success if not implemented, since nothing needs to be done in this case.
Definition at line 609 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_SUCCESS, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::setup_internal_link.
Referenced by ixgbe_handle_lasi_ext_t_x550em().
s32 ixgbe_setup_link | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed | speed, | ||
bool | autoneg_wait_to_complete | ||
) |
ixgbe_setup_link - Set link speed @hw: pointer to hardware structure @speed: new link speed @autoneg_wait_to_complete: true when waiting for completion is needed
Configures link settings. Restarts the link. Performs autonegotiation if needed.
Definition at line 722 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::setup_link.
s32 ixgbe_setup_mac_link | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed | speed, | ||
bool | autoneg_wait_to_complete | ||
) |
ixgbe_setup_mac_link - Set link speed @hw: pointer to hardware structure @speed: new link speed @autoneg_wait_to_complete: true when waiting for completion is needed
Configures link settings. Restarts the link. Performs autonegotiation if needed.
Definition at line 739 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::setup_mac_link.
Referenced by ixgbe_setup_mac_link_multispeed_fiber().
ixgbe_setup_phy_link - Restart PHY autoneg @hw: pointer to hardware structure
Restart autonegotiation and PHY and waits for completion.
Definition at line 595 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::setup_link.
Referenced by ixgbe_setup_phy_link_speed_generic().
s32 ixgbe_setup_phy_link_speed | ( | struct ixgbe_hw * | hw, |
ixgbe_link_speed | speed, | ||
bool | autoneg_wait_to_complete | ||
) |
ixgbe_setup_phy_link_speed - Set auto advertise @hw: pointer to hardware structure @speed: new link speed @autoneg_wait_to_complete: true when waiting for completion is needed
Sets the auto advertised capabilities
Definition at line 639 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::setup_link_speed.
ixgbe_start_hw - Prepares hardware for Rx/Tx @hw: pointer to hardware structure
Starts the hardware by filling the bus info structure and media type, clears all on chip counters, initializes receive address registers, multicast table, VLAN filter table, calls routine to setup link and flow control settings, and leaves transmit and receive units disabled and uninitialized.
Definition at line 292 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::start_hw.
Referenced by ixgbe_if_attach_pre(), and ixgbe_if_init().
ixgbe_stop_adapter - Disable Rx/Tx units @hw: pointer to hardware structure
Sets the adapter_stopped flag within ixgbe_hw struct. Clears interrupts, disables transmit and receive units. The adapter_stopped flag is used by the shared code and drivers to determine if the adapter is in a stopped state and should not touch the hardware.
Definition at line 467 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::stop_adapter.
Referenced by ixgbe_if_stop().
ixgbe_eeprom_update_checksum - Updates the EEPROM checksum @hw: pointer to hardware structure
Definition at line 911 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::update_checksum.
s32 ixgbe_update_mc_addr_list | ( | struct ixgbe_hw * | hw, |
u8 * | mc_addr_list, | ||
u32 | mc_addr_count, | ||
ixgbe_mc_addr_itr | func, | ||
bool | clear | ||
) |
ixgbe_update_mc_addr_list - Updates the MAC's list of multicast addresses @hw: pointer to hardware structure @mc_addr_list: the list of new multicast addresses @mc_addr_count: number of addresses @func: iterator function to walk the multicast address list @clear: flag, when set clears the table beforehand
The given list replaces any existing list. Clears the MC addrs from receive address registers and the multicast table. Uses unused receive address registers for the first multicast addresses, and hashes the rest into the multicast table.
Definition at line 1054 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::update_mc_addr_list.
Referenced by ixgbe_if_multi_set().
s32 ixgbe_update_uc_addr_list | ( | struct ixgbe_hw * | hw, |
u8 * | addr_list, | ||
u32 | addr_count, | ||
ixgbe_mc_addr_itr | func | ||
) |
ixgbe_update_uc_addr_list - Updates the MAC's list of secondary addresses @hw: pointer to hardware structure @addr_list: the list of new multicast addresses @addr_count: number of addresses @func: iterator function to walk the multicast address list
The given list replaces any existing list. Clears the secondary addrs from receive address registers. Uses unused receive address registers for the first secondary addresses, and falls back to promiscuous mode as needed.
Definition at line 1033 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::update_uc_addr_list.
ixgbe_validate_eeprom_checksum - Validate EEPROM checksum @hw: pointer to hardware structure @checksum_val: calculated checksum
Performs checksum calculation and validates the EEPROM checksum
Definition at line 901 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::validate_checksum.
Referenced by ixgbe_if_attach_pre().
ixgbe_verify_lesm_fw_enabled_82599 - Checks LESM FW module state. @hw: pointer to hardware structure
Returns true if the LESM FW module is present and enabled. Otherwise returns false. Smart Speed must be disabled if LESM FW module is enabled.
Definition at line 2375 of file ixgbe_82599.c.
References DEBUGFUNC, ixgbe_hw::eeprom, IXGBE_FW_LESM_PARAMETERS_PTR, IXGBE_FW_LESM_STATE_1, IXGBE_FW_LESM_STATE_ENABLED, IXGBE_FW_PTR, IXGBE_SUCCESS, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::read.
Referenced by ixgbe_init_mac_link_ops_82599(), ixgbe_start_mac_link_82599(), prot_autoc_read_82599(), and prot_autoc_write_82599().
ixgbe_write_analog_reg8 - Writes 8 bit analog register @hw: pointer to hardware structure @reg: analog register to write @val: value to write
Performs write operation to Atlas analog register specified.
Definition at line 1490 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::write_analog_reg8.
ixgbe_write_eeprom - Write word to EEPROM @hw: pointer to hardware structure @offset: offset within the EEPROM to be written to @data: 16 bit word to be written to the EEPROM
Writes 16 bit value to EEPROM. If ixgbe_eeprom_update_checksum is not called after this function, the EEPROM will most likely contain an invalid checksum.
Definition at line 838 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::write.
ixgbe_write_eeprom_buffer - Write word(s) to EEPROM @hw: pointer to hardware structure @offset: offset within the EEPROM to be written to @data: 16 bit word(s) to be written to the EEPROM @words: number of words
Writes 16 bit word(s) to EEPROM. If ixgbe_eeprom_update_checksum is not called after this function, the EEPROM will most likely contain an invalid checksum.
Definition at line 855 of file ixgbe_api.c.
References ixgbe_hw::eeprom, ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_eeprom_info::ops, and ixgbe_eeprom_operations::write_buffer.
ixgbe_write_i2c_byte - Writes 8 bit word over I2C @hw: pointer to hardware structure @byte_offset: byte offset to write @dev_addr: I2C bus address to write to @data: value to write
Performs byte write operation to SFP module's EEPROM over I2C interface at a specified device address.
Definition at line 1582 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::write_i2c_byte.
ixgbe_write_i2c_byte_unlocked - Writes 8 bit word over I2C @hw: pointer to hardware structure @byte_offset: byte offset to write @dev_addr: I2C bus address to write to @data: value to write
Performs byte write operation to SFP module's EEPROM over I2C interface at a specified device address.
Definition at line 1599 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::write_i2c_byte_unlocked.
Referenced by ixgbe_write_pe().
ixgbe_write_i2c_eeprom - Writes 8 bit EEPROM word over I2C interface @hw: pointer to hardware structure @byte_offset: EEPROM byte offset to write @eeprom_data: value to write
Performs byte write operation to SFP module's EEPROM over I2C interface.
Definition at line 1645 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::write_i2c_eeprom.
ixgbe_write_iosf_sb_reg - Write 32 bit register through IOSF Sideband @hw: pointer to hardware structure @reg_addr: 32 bit PHY register to write @device_type: type of device you want to communicate with @phy_data: Data to write to the PHY register
Writes a value to specified PHY register
Definition at line 1309 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::mac, ixgbe_mac_info::ops, and ixgbe_mac_operations::write_iosf_sb_reg.
ixgbe_write_link - Perform write operation on link device @hw: pointer to the hardware structure @addr: bus address to write to @reg: device register to write to @val: value to write
Returns an error code on error.
Definition at line 1616 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::link, ixgbe_link_info::ops, and ixgbe_link_operations::write_link.
ixgbe_write_link_unlocked - Perform write operation on link device @hw: pointer to the hardware structure @addr: bus address to write to @reg: device register to write to @val: value to write
Returns an error code on error.
Definition at line 1631 of file ixgbe_api.c.
References ixgbe_call_func, IXGBE_NOT_IMPLEMENTED, ixgbe_hw::link, ixgbe_link_info::ops, and ixgbe_link_operations::write_link_unlocked.
ixgbe_write_phy_reg - Write PHY register @hw: pointer to hardware structure @reg_addr: 32 bit PHY register to write @device_type: type of device you want to communicate with @phy_data: Data to write to the PHY register
Writes a value to specified PHY register
Definition at line 579 of file ixgbe_api.c.
References ixgbe_phy_info::id, ixgbe_call_func, ixgbe_identify_phy(), IXGBE_NOT_IMPLEMENTED, ixgbe_phy_info::ops, ixgbe_hw::phy, and ixgbe_phy_operations::write_reg.
Referenced by ixgbe_led_off_t_X550em(), and ixgbe_led_on_t_X550em().