FreeBSD kernel IXGBE device code
ixgbe_api.h File Reference
#include "ixgbe_type.h"
Include dependency graph for ixgbe_api.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void ixgbe_dcb_get_rtrup2tc (struct ixgbe_hw *hw, u8 *map)
 
s32 ixgbe_init_shared_code (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_82598 (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_82599 (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_X540 (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_X550 (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_X550EM (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_X550EM_x (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_X550EM_a (struct ixgbe_hw *hw)
 
s32 ixgbe_init_ops_vf (struct ixgbe_hw *hw)
 
s32 ixgbe_set_mac_type (struct ixgbe_hw *hw)
 
s32 ixgbe_init_hw (struct ixgbe_hw *hw)
 
s32 ixgbe_reset_hw (struct ixgbe_hw *hw)
 
s32 ixgbe_start_hw (struct ixgbe_hw *hw)
 
void ixgbe_enable_relaxed_ordering (struct ixgbe_hw *hw)
 
s32 ixgbe_clear_hw_cntrs (struct ixgbe_hw *hw)
 
enum ixgbe_media_type ixgbe_get_media_type (struct ixgbe_hw *hw)
 
s32 ixgbe_get_mac_addr (struct ixgbe_hw *hw, u8 *mac_addr)
 
s32 ixgbe_get_bus_info (struct ixgbe_hw *hw)
 
u32 ixgbe_get_num_of_tx_queues (struct ixgbe_hw *hw)
 
u32 ixgbe_get_num_of_rx_queues (struct ixgbe_hw *hw)
 
s32 ixgbe_stop_adapter (struct ixgbe_hw *hw)
 
s32 ixgbe_read_pba_num (struct ixgbe_hw *hw, u32 *pba_num)
 
s32 ixgbe_read_pba_string (struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size)
 
s32 ixgbe_identify_phy (struct ixgbe_hw *hw)
 
s32 ixgbe_reset_phy (struct ixgbe_hw *hw)
 
s32 ixgbe_read_phy_reg (struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u16 *phy_data)
 
s32 ixgbe_write_phy_reg (struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u16 phy_data)
 
s32 ixgbe_setup_phy_link (struct ixgbe_hw *hw)
 
s32 ixgbe_setup_internal_phy (struct ixgbe_hw *hw)
 
s32 ixgbe_check_phy_link (struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *link_up)
 
s32 ixgbe_setup_phy_link_speed (struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg_wait_to_complete)
 
s32 ixgbe_set_phy_power (struct ixgbe_hw *, bool on)
 
void ixgbe_disable_tx_laser (struct ixgbe_hw *hw)
 
void ixgbe_enable_tx_laser (struct ixgbe_hw *hw)
 
void ixgbe_flap_tx_laser (struct ixgbe_hw *hw)
 
s32 ixgbe_setup_link (struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg_wait_to_complete)
 
s32 ixgbe_setup_mac_link (struct ixgbe_hw *hw, ixgbe_link_speed speed, bool autoneg_wait_to_complete)
 
s32 ixgbe_check_link (struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *link_up, bool link_up_wait_to_complete)
 
s32 ixgbe_get_link_capabilities (struct ixgbe_hw *hw, ixgbe_link_speed *speed, bool *autoneg)
 
s32 ixgbe_led_on (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_led_off (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_blink_led_start (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_blink_led_stop (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_init_eeprom_params (struct ixgbe_hw *hw)
 
s32 ixgbe_write_eeprom (struct ixgbe_hw *hw, u16 offset, u16 data)
 
s32 ixgbe_write_eeprom_buffer (struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
 
s32 ixgbe_read_eeprom (struct ixgbe_hw *hw, u16 offset, u16 *data)
 
s32 ixgbe_read_eeprom_buffer (struct ixgbe_hw *hw, u16 offset, u16 words, u16 *data)
 
s32 ixgbe_validate_eeprom_checksum (struct ixgbe_hw *hw, u16 *checksum_val)
 
s32 ixgbe_update_eeprom_checksum (struct ixgbe_hw *hw)
 
s32 ixgbe_insert_mac_addr (struct ixgbe_hw *hw, u8 *addr, u32 vmdq)
 
s32 ixgbe_set_rar (struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq, u32 enable_addr)
 
s32 ixgbe_clear_rar (struct ixgbe_hw *hw, u32 index)
 
s32 ixgbe_set_vmdq (struct ixgbe_hw *hw, u32 rar, u32 vmdq)
 
s32 ixgbe_set_vmdq_san_mac (struct ixgbe_hw *hw, u32 vmdq)
 
s32 ixgbe_clear_vmdq (struct ixgbe_hw *hw, u32 rar, u32 vmdq)
 
s32 ixgbe_init_rx_addrs (struct ixgbe_hw *hw)
 
u32 ixgbe_get_num_rx_addrs (struct ixgbe_hw *hw)
 
s32 ixgbe_update_uc_addr_list (struct ixgbe_hw *hw, u8 *addr_list, u32 addr_count, ixgbe_mc_addr_itr func)
 
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)
 
void ixgbe_add_uc_addr (struct ixgbe_hw *hw, u8 *addr_list, u32 vmdq)
 
s32 ixgbe_enable_mc (struct ixgbe_hw *hw)
 
s32 ixgbe_disable_mc (struct ixgbe_hw *hw)
 
s32 ixgbe_clear_vfta (struct ixgbe_hw *hw)
 
s32 ixgbe_set_vfta (struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on, bool vlvf_bypass)
 
s32 ixgbe_set_vlvf (struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on, u32 *vfta_delta, u32 vfta, bool vlvf_bypass)
 
s32 ixgbe_fc_enable (struct ixgbe_hw *hw)
 
s32 ixgbe_setup_fc (struct ixgbe_hw *hw)
 
s32 ixgbe_set_fw_drv_ver (struct ixgbe_hw *hw, u8 maj, u8 min, u8 build, u8 ver, u16 len, char *driver_ver)
 
s32 ixgbe_get_thermal_sensor_data (struct ixgbe_hw *hw)
 
s32 ixgbe_init_thermal_sensor_thresh (struct ixgbe_hw *hw)
 
void ixgbe_set_mta (struct ixgbe_hw *hw, u8 *mc_addr)
 
s32 ixgbe_get_phy_firmware_version (struct ixgbe_hw *hw, u16 *firmware_version)
 
s32 ixgbe_read_analog_reg8 (struct ixgbe_hw *hw, u32 reg, u8 *val)
 
s32 ixgbe_write_analog_reg8 (struct ixgbe_hw *hw, u32 reg, u8 val)
 
s32 ixgbe_init_uta_tables (struct ixgbe_hw *hw)
 
s32 ixgbe_read_i2c_eeprom (struct ixgbe_hw *hw, u8 byte_offset, u8 *eeprom_data)
 
u64 ixgbe_get_supported_physical_layer (struct ixgbe_hw *hw)
 
s32 ixgbe_enable_rx_dma (struct ixgbe_hw *hw, u32 regval)
 
s32 ixgbe_disable_sec_rx_path (struct ixgbe_hw *hw)
 
s32 ixgbe_enable_sec_rx_path (struct ixgbe_hw *hw)
 
s32 ixgbe_mng_fw_enabled (struct ixgbe_hw *hw)
 
s32 ixgbe_reinit_fdir_tables_82599 (struct ixgbe_hw *hw)
 
s32 ixgbe_init_fdir_signature_82599 (struct ixgbe_hw *hw, u32 fdirctrl)
 
s32 ixgbe_init_fdir_perfect_82599 (struct ixgbe_hw *hw, u32 fdirctrl, bool cloud_mode)
 
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)
 
s32 ixgbe_fdir_set_input_mask_82599 (struct ixgbe_hw *hw, union ixgbe_atr_input *input_mask, bool cloud_mode)
 
s32 ixgbe_fdir_write_perfect_filter_82599 (struct ixgbe_hw *hw, union ixgbe_atr_input *input, u16 soft_id, u8 queue, bool cloud_mode)
 
s32 ixgbe_fdir_erase_perfect_filter_82599 (struct ixgbe_hw *hw, union ixgbe_atr_input *input, u16 soft_id)
 
s32 ixgbe_fdir_add_perfect_filter_82599 (struct ixgbe_hw *hw, union ixgbe_atr_input *input, union ixgbe_atr_input *mask, u16 soft_id, u8 queue, bool cloud_mode)
 
void ixgbe_atr_compute_perfect_hash_82599 (union ixgbe_atr_input *input, union ixgbe_atr_input *mask)
 
u32 ixgbe_atr_compute_sig_hash_82599 (union ixgbe_atr_hash_dword input, union ixgbe_atr_hash_dword common)
 
bool ixgbe_verify_lesm_fw_enabled_82599 (struct ixgbe_hw *hw)
 
s32 ixgbe_read_i2c_byte (struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 *data)
 
s32 ixgbe_read_i2c_byte_unlocked (struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 *data)
 
s32 ixgbe_read_link (struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
 
s32 ixgbe_read_link_unlocked (struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
 
s32 ixgbe_write_i2c_byte (struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 data)
 
void ixgbe_set_fdir_drop_queue_82599 (struct ixgbe_hw *hw, u8 dropqueue)
 
s32 ixgbe_write_i2c_byte_unlocked (struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr, u8 data)
 
s32 ixgbe_write_link (struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
 
s32 ixgbe_write_link_unlocked (struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
 
s32 ixgbe_write_i2c_eeprom (struct ixgbe_hw *hw, u8 byte_offset, u8 eeprom_data)
 
s32 ixgbe_get_san_mac_addr (struct ixgbe_hw *hw, u8 *san_mac_addr)
 
s32 ixgbe_set_san_mac_addr (struct ixgbe_hw *hw, u8 *san_mac_addr)
 
s32 ixgbe_get_device_caps (struct ixgbe_hw *hw, u16 *device_caps)
 
s32 ixgbe_acquire_swfw_semaphore (struct ixgbe_hw *hw, u32 mask)
 
void ixgbe_release_swfw_semaphore (struct ixgbe_hw *hw, u32 mask)
 
void ixgbe_init_swfw_semaphore (struct ixgbe_hw *hw)
 
s32 ixgbe_get_wwn_prefix (struct ixgbe_hw *hw, u16 *wwnn_prefix, u16 *wwpn_prefix)
 
s32 ixgbe_get_fcoe_boot_status (struct ixgbe_hw *hw, u16 *bs)
 
s32 ixgbe_bypass_rw (struct ixgbe_hw *hw, u32 cmd, u32 *status)
 
s32 ixgbe_bypass_set (struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action)
 
s32 ixgbe_bypass_rd_eep (struct ixgbe_hw *hw, u32 addr, u8 *value)
 
bool ixgbe_bypass_valid_rd (struct ixgbe_hw *hw, u32 in_reg, u32 out_reg)
 
s32 ixgbe_dmac_config (struct ixgbe_hw *hw)
 
s32 ixgbe_dmac_update_tcs (struct ixgbe_hw *hw)
 
s32 ixgbe_dmac_config_tcs (struct ixgbe_hw *hw)
 
s32 ixgbe_setup_eee (struct ixgbe_hw *hw, bool enable_eee)
 
void ixgbe_set_source_address_pruning (struct ixgbe_hw *hw, bool enable, unsigned int vf)
 
void ixgbe_set_ethertype_anti_spoofing (struct ixgbe_hw *hw, bool enable, int vf)
 
s32 ixgbe_read_iosf_sb_reg (struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u32 *phy_data)
 
s32 ixgbe_write_iosf_sb_reg (struct ixgbe_hw *hw, u32 reg_addr, u32 device_type, u32 phy_data)
 
void ixgbe_disable_mdd (struct ixgbe_hw *hw)
 
void ixgbe_enable_mdd (struct ixgbe_hw *hw)
 
void ixgbe_mdd_event (struct ixgbe_hw *hw, u32 *vf_bitmap)
 
void ixgbe_restore_mdd_vf (struct ixgbe_hw *hw, u32 vf)
 
bool ixgbe_fw_recovery_mode (struct ixgbe_hw *hw)
 
s32 ixgbe_enter_lplu (struct ixgbe_hw *hw)
 
s32 ixgbe_handle_lasi (struct ixgbe_hw *hw)
 
void ixgbe_set_rate_select_speed (struct ixgbe_hw *hw, ixgbe_link_speed speed)
 
void ixgbe_disable_rx (struct ixgbe_hw *hw)
 
void ixgbe_enable_rx (struct ixgbe_hw *hw)
 
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)
 

Function Documentation

◆ ixgbe_acquire_swfw_semaphore()

s32 ixgbe_acquire_swfw_semaphore ( struct ixgbe_hw hw,
u32  mask 
)

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().

Here is the caller graph for this function:

◆ ixgbe_add_uc_addr()

void ixgbe_add_uc_addr ( struct ixgbe_hw hw,
u8 addr,
u32  vmdq 
)

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().

Here is the caller graph for this function:

◆ ixgbe_atr_compute_perfect_hash_82599()

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().

Here is the caller graph for this function:

◆ ixgbe_atr_compute_sig_hash_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().

Here is the caller graph for this function:

◆ ixgbe_blink_led_start()

s32 ixgbe_blink_led_start ( struct ixgbe_hw hw,
u32  index 
)

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()

s32 ixgbe_blink_led_stop ( struct ixgbe_hw hw,
u32  index 
)

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()

s32 ixgbe_bypass_rd_eep ( struct ixgbe_hw hw,
u32  addr,
u8 value 
)

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()

s32 ixgbe_bypass_rw ( struct ixgbe_hw hw,
u32  cmd,
u32 status 
)

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()

s32 ixgbe_bypass_set ( struct ixgbe_hw hw,
u32  cmd,
u32  event,
u32  action 
)

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()

bool ixgbe_bypass_valid_rd ( struct ixgbe_hw hw,
u32  in_reg,
u32  out_reg 
)

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.

◆ ixgbe_check_link()

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().

Here is the caller graph for this function:

◆ ixgbe_check_phy_link()

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()

s32 ixgbe_clear_hw_cntrs ( struct ixgbe_hw hw)

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()

s32 ixgbe_clear_rar ( struct ixgbe_hw hw,
u32  index 
)

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()

s32 ixgbe_clear_vfta ( struct ixgbe_hw hw)

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()

s32 ixgbe_clear_vmdq ( struct ixgbe_hw hw,
u32  rar,
u32  vmdq 
)

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().

Here is the caller graph for this function:

◆ ixgbe_dcb_get_rtrup2tc()

void ixgbe_dcb_get_rtrup2tc ( struct ixgbe_hw hw,
u8 map 
)

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()

s32 ixgbe_disable_mc ( struct ixgbe_hw hw)

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.

◆ ixgbe_disable_mdd()

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.

◆ ixgbe_disable_rx()

void ixgbe_disable_rx ( struct ixgbe_hw hw)

◆ ixgbe_disable_sec_rx_path()

s32 ixgbe_disable_sec_rx_path ( struct ixgbe_hw hw)

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.

◆ ixgbe_disable_tx_laser()

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().

Here is the caller graph for this function:

◆ ixgbe_dmac_config()

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()

s32 ixgbe_dmac_config_tcs ( struct ixgbe_hw hw)

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()

s32 ixgbe_dmac_update_tcs ( struct ixgbe_hw hw)

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()

s32 ixgbe_enable_mc ( struct ixgbe_hw hw)

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.

◆ ixgbe_enable_mdd()

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.

◆ ixgbe_enable_relaxed_ordering()

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.

◆ ixgbe_enable_rx()

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().

Here is the caller graph for this function:

◆ ixgbe_enable_rx_dma()

s32 ixgbe_enable_rx_dma ( struct ixgbe_hw hw,
u32  regval 
)

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().

Here is the caller graph for this function:

◆ ixgbe_enable_sec_rx_path()

s32 ixgbe_enable_sec_rx_path ( struct ixgbe_hw hw)

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.

◆ ixgbe_enable_tx_laser()

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().

Here is the caller graph for this function:

◆ ixgbe_enter_lplu()

s32 ixgbe_enter_lplu ( struct ixgbe_hw hw)

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()

s32 ixgbe_fc_enable ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_fdir_add_perfect_filter_82599()

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.

Here is the call graph for this function:

◆ ixgbe_fdir_add_signature_filter_82599()

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.

Here is the call graph for this function:

◆ ixgbe_fdir_erase_perfect_filter_82599()

◆ ixgbe_fdir_set_input_mask_82599()

◆ ixgbe_fdir_write_perfect_filter_82599()

◆ ixgbe_flap_tx_laser()

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().

Here is the caller graph for this function:

◆ ixgbe_fw_recovery_mode()

bool ixgbe_fw_recovery_mode ( struct ixgbe_hw hw)

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()

s32 ixgbe_get_bus_info ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_get_device_caps()

s32 ixgbe_get_device_caps ( struct ixgbe_hw hw,
u16 device_caps 
)

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().

Here is the caller graph for this function:

◆ ixgbe_get_fcoe_boot_status()

s32 ixgbe_get_fcoe_boot_status ( struct ixgbe_hw hw,
u16 bs 
)

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.

◆ ixgbe_get_link_capabilities()

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().

Here is the caller graph for this function:

◆ ixgbe_get_mac_addr()

s32 ixgbe_get_mac_addr ( struct ixgbe_hw hw,
u8 mac_addr 
)

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.

◆ ixgbe_get_media_type()

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().

Here is the caller graph for this function:

◆ ixgbe_get_num_of_rx_queues()

u32 ixgbe_get_num_of_rx_queues ( struct ixgbe_hw hw)

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()

u32 ixgbe_get_num_of_tx_queues ( struct ixgbe_hw hw)

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()

u32 ixgbe_get_num_rx_addrs ( struct ixgbe_hw hw)

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()

s32 ixgbe_get_phy_firmware_version ( struct ixgbe_hw hw,
u16 firmware_version 
)

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().

Here is the caller graph for this function:

◆ ixgbe_get_san_mac_addr()

s32 ixgbe_get_san_mac_addr ( struct ixgbe_hw hw,
u8 san_mac_addr 
)

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()

u64 ixgbe_get_supported_physical_layer ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_get_thermal_sensor_data()

s32 ixgbe_get_thermal_sensor_data ( struct ixgbe_hw hw)

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()

s32 ixgbe_get_wwn_prefix ( struct ixgbe_hw hw,
u16 wwnn_prefix,
u16 wwpn_prefix 
)

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()

s32 ixgbe_handle_lasi ( struct ixgbe_hw hw)

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()

s32 ixgbe_identify_phy ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_init_eeprom_params()

s32 ixgbe_init_eeprom_params ( struct ixgbe_hw hw)

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()

s32 ixgbe_init_fdir_perfect_82599 ( struct ixgbe_hw hw,
u32  fdirctrl,
bool  cloud_mode 
)

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.

Here is the call graph for this function:

◆ ixgbe_init_fdir_signature_82599()

s32 ixgbe_init_fdir_signature_82599 ( struct ixgbe_hw hw,
u32  fdirctrl 
)

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.

Here is the call graph for this function:

◆ ixgbe_init_hw()

s32 ixgbe_init_hw ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_init_ops_82598()

s32 ixgbe_init_ops_82598 ( struct ixgbe_hw hw)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_init_ops_82599()

s32 ixgbe_init_ops_82599 ( struct ixgbe_hw hw)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_init_ops_vf()

s32 ixgbe_init_ops_vf ( struct ixgbe_hw hw)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_init_ops_X540()

s32 ixgbe_init_ops_X540 ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_init_ops_X550()

s32 ixgbe_init_ops_X550 ( struct ixgbe_hw hw)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_init_ops_X550EM()

s32 ixgbe_init_ops_X550EM ( struct ixgbe_hw hw)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_init_ops_X550EM_a()

s32 ixgbe_init_ops_X550EM_a ( struct ixgbe_hw hw)

◆ ixgbe_init_ops_X550EM_x()

◆ ixgbe_init_rx_addrs()

s32 ixgbe_init_rx_addrs ( struct ixgbe_hw hw)

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()

s32 ixgbe_init_shared_code ( struct ixgbe_hw hw)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_init_swfw_semaphore()

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().

Here is the caller graph for this function:

◆ ixgbe_init_thermal_sensor_thresh()

s32 ixgbe_init_thermal_sensor_thresh ( struct ixgbe_hw hw)

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()

s32 ixgbe_init_uta_tables ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_insert_mac_addr()

s32 ixgbe_insert_mac_addr ( struct ixgbe_hw hw,
u8 addr,
u32  vmdq 
)

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()

s32 ixgbe_led_off ( struct ixgbe_hw hw,
u32  index 
)

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()

s32 ixgbe_led_on ( struct ixgbe_hw hw,
u32  index 
)

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()

void ixgbe_mdd_event ( struct ixgbe_hw hw,
u32 vf_bitmap 
)

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.

◆ ixgbe_mng_fw_enabled()

s32 ixgbe_mng_fw_enabled ( struct ixgbe_hw hw)

◆ ixgbe_negotiate_fc()

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().

Here is the caller graph for this function:

◆ ixgbe_read_analog_reg8()

s32 ixgbe_read_analog_reg8 ( struct ixgbe_hw hw,
u32  reg,
u8 val 
)

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()

s32 ixgbe_read_eeprom ( struct ixgbe_hw hw,
u16  offset,
u16 data 
)

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().

Here is the caller graph for this function:

◆ ixgbe_read_eeprom_buffer()

s32 ixgbe_read_eeprom_buffer ( struct ixgbe_hw hw,
u16  offset,
u16  words,
u16 data 
)

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()

s32 ixgbe_read_i2c_byte ( struct ixgbe_hw hw,
u8  byte_offset,
u8  dev_addr,
u8 data 
)

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()

s32 ixgbe_read_i2c_byte_unlocked ( struct ixgbe_hw hw,
u8  byte_offset,
u8  dev_addr,
u8 data 
)

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().

Here is the caller graph for this function:

◆ ixgbe_read_i2c_eeprom()

s32 ixgbe_read_i2c_eeprom ( struct ixgbe_hw hw,
u8  byte_offset,
u8 eeprom_data 
)

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()

s32 ixgbe_read_iosf_sb_reg ( struct ixgbe_hw hw,
u32  reg_addr,
u32  device_type,
u32 phy_data 
)

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()

s32 ixgbe_read_link ( struct ixgbe_hw hw,
u8  addr,
u16  reg,
u16 val 
)

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()

s32 ixgbe_read_link_unlocked ( struct ixgbe_hw hw,
u8  addr,
u16  reg,
u16 val 
)

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()

s32 ixgbe_read_pba_num ( struct ixgbe_hw hw,
u32 pba_num 
)

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().

Here is the call graph for this function:

◆ ixgbe_read_pba_string()

s32 ixgbe_read_pba_string ( struct ixgbe_hw hw,
u8 pba_num,
u32  pba_num_size 
)

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().

Here is the call graph for this function:

◆ ixgbe_read_phy_reg()

s32 ixgbe_read_phy_reg ( struct ixgbe_hw hw,
u32  reg_addr,
u32  device_type,
u16 phy_data 
)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_reinit_fdir_tables_82599()

s32 ixgbe_reinit_fdir_tables_82599 ( struct ixgbe_hw hw)

◆ ixgbe_release_swfw_semaphore()

void ixgbe_release_swfw_semaphore ( struct ixgbe_hw hw,
u32  mask 
)

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().

Here is the caller graph for this function:

◆ ixgbe_reset_hw()

s32 ixgbe_reset_hw ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_reset_phy()

s32 ixgbe_reset_phy ( struct ixgbe_hw hw)

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.

Here is the call graph for this function:

◆ ixgbe_restore_mdd_vf()

void ixgbe_restore_mdd_vf ( struct ixgbe_hw hw,
u32  vf 
)

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()

void ixgbe_set_ethertype_anti_spoofing ( struct ixgbe_hw hw,
bool  enable,
int  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()

void ixgbe_set_fdir_drop_queue_82599 ( struct ixgbe_hw hw,
u8  dropqueue 
)

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.

Here is the call graph for this function:

◆ ixgbe_set_fw_drv_ver()

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()

s32 ixgbe_set_mac_type ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_set_mta()

void ixgbe_set_mta ( struct ixgbe_hw hw,
u8 mc_addr 
)

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().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ixgbe_set_phy_power()

s32 ixgbe_set_phy_power ( struct ixgbe_hw hw,
bool  on 
)

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().

Here is the caller graph for this function:

◆ ixgbe_set_rar()

s32 ixgbe_set_rar ( struct ixgbe_hw hw,
u32  index,
u8 addr,
u32  vmdq,
u32  enable_addr 
)

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().

Here is the caller graph for this function:

◆ ixgbe_set_rate_select_speed()

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().

Here is the caller graph for this function:

◆ ixgbe_set_san_mac_addr()

s32 ixgbe_set_san_mac_addr ( struct ixgbe_hw hw,
u8 san_mac_addr 
)

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()

void ixgbe_set_source_address_pruning ( struct ixgbe_hw hw,
bool  enable,
unsigned int  pool 
)

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()

s32 ixgbe_set_vfta ( struct ixgbe_hw hw,
u32  vlan,
u32  vind,
bool  vlan_on,
bool  vlvf_bypass 
)

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.

◆ ixgbe_set_vlvf()

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()

s32 ixgbe_set_vmdq ( struct ixgbe_hw hw,
u32  rar,
u32  vmdq 
)

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().

Here is the caller graph for this function:

◆ ixgbe_set_vmdq_san_mac()

s32 ixgbe_set_vmdq_san_mac ( struct ixgbe_hw hw,
u32  vmdq 
)

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()

s32 ixgbe_setup_eee ( struct ixgbe_hw hw,
bool  enable_eee 
)

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().

Here is the caller graph for this function:

◆ ixgbe_setup_fc()

s32 ixgbe_setup_fc ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_setup_internal_phy()

s32 ixgbe_setup_internal_phy ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_setup_link()

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.

◆ ixgbe_setup_mac_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().

Here is the caller graph for this function:

◆ ixgbe_setup_phy_link()

s32 ixgbe_setup_phy_link ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_setup_phy_link_speed()

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()

s32 ixgbe_start_hw ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_stop_adapter()

s32 ixgbe_stop_adapter ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_update_eeprom_checksum()

s32 ixgbe_update_eeprom_checksum ( struct ixgbe_hw hw)

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.

◆ ixgbe_update_mc_addr_list()

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().

Here is the caller graph for this function:

◆ ixgbe_update_uc_addr_list()

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()

s32 ixgbe_validate_eeprom_checksum ( struct ixgbe_hw hw,
u16 checksum_val 
)

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().

Here is the caller graph for this function:

◆ ixgbe_verify_lesm_fw_enabled_82599()

bool ixgbe_verify_lesm_fw_enabled_82599 ( struct ixgbe_hw hw)

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().

Here is the caller graph for this function:

◆ ixgbe_write_analog_reg8()

s32 ixgbe_write_analog_reg8 ( struct ixgbe_hw hw,
u32  reg,
u8  val 
)

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()

s32 ixgbe_write_eeprom ( struct ixgbe_hw hw,
u16  offset,
u16  data 
)

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()

s32 ixgbe_write_eeprom_buffer ( struct ixgbe_hw hw,
u16  offset,
u16  words,
u16 data 
)

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()

s32 ixgbe_write_i2c_byte ( struct ixgbe_hw hw,
u8  byte_offset,
u8  dev_addr,
u8  data 
)

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()

s32 ixgbe_write_i2c_byte_unlocked ( struct ixgbe_hw hw,
u8  byte_offset,
u8  dev_addr,
u8  data 
)

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().

Here is the caller graph for this function:

◆ ixgbe_write_i2c_eeprom()

s32 ixgbe_write_i2c_eeprom ( struct ixgbe_hw hw,
u8  byte_offset,
u8  eeprom_data 
)

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()

s32 ixgbe_write_iosf_sb_reg ( struct ixgbe_hw hw,
u32  reg_addr,
u32  device_type,
u32  phy_data 
)

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()

s32 ixgbe_write_link ( struct ixgbe_hw hw,
u8  addr,
u16  reg,
u16  val 
)

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()

s32 ixgbe_write_link_unlocked ( struct ixgbe_hw hw,
u8  addr,
u16  reg,
u16  val 
)

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()

s32 ixgbe_write_phy_reg ( struct ixgbe_hw hw,
u32  reg_addr,
u32  device_type,
u16  phy_data 
)

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().

Here is the call graph for this function:
Here is the caller graph for this function: