src/dpdk/drivers/net/ixgbe/base/ixgbe_82599.c
s32 ixgbe_init_ops_82599(struct ixgbe_hw *hw)
{
	struct ixgbe_mac_info *mac = &hw->mac;
	struct ixgbe_phy_info *phy = &hw->phy;
	struct ixgbe_eeprom_info *eeprom = &hw->eeprom;
	s32 ret_val;

	DEBUGFUNC("ixgbe_init_ops_82599");

	ixgbe_init_phy_ops_generic(hw);
	ret_val = ixgbe_init_ops_generic(hw);

	/* PHY */
	phy->ops.identify = ixgbe_identify_phy_82599;
	phy->ops.init = ixgbe_init_phy_ops_82599;

	/* MAC */
	mac->ops.reset_hw = ixgbe_reset_hw_82599;
	mac->ops.enable_relaxed_ordering = ixgbe_enable_relaxed_ordering_gen2;
	mac->ops.get_media_type = ixgbe_get_media_type_82599;
	mac->ops.get_supported_physical_layer =
				    ixgbe_get_supported_physical_layer_82599;
	mac->ops.disable_sec_rx_path = ixgbe_disable_sec_rx_path_generic;
	mac->ops.enable_sec_rx_path = ixgbe_enable_sec_rx_path_generic;
	mac->ops.enable_rx_dma = ixgbe_enable_rx_dma_82599;
	mac->ops.read_analog_reg8 = ixgbe_read_analog_reg8_82599;
	mac->ops.write_analog_reg8 = ixgbe_write_analog_reg8_82599;
	mac->ops.start_hw = ixgbe_start_hw_82599;
	mac->ops.get_san_mac_addr = ixgbe_get_san_mac_addr_generic;
	mac->ops.set_san_mac_addr = ixgbe_set_san_mac_addr_generic;
	mac->ops.get_device_caps = ixgbe_get_device_caps_generic;
	mac->ops.get_wwn_prefix = ixgbe_get_wwn_prefix_generic;
	mac->ops.get_fcoe_boot_status = ixgbe_get_fcoe_boot_status_generic;
	mac->ops.prot_autoc_read = prot_autoc_read_82599;
	mac->ops.prot_autoc_write = prot_autoc_write_82599;

	/* RAR, Multicast, VLAN */
	mac->ops.set_vmdq = ixgbe_set_vmdq_generic;
	mac->ops.set_vmdq_san_mac = ixgbe_set_vmdq_san_mac_generic;
	mac->ops.clear_vmdq = ixgbe_clear_vmdq_generic;
	mac->ops.insert_mac_addr = ixgbe_insert_mac_addr_generic;
	mac->rar_highwater = 1;
	mac->ops.set_vfta = ixgbe_set_vfta_generic;
	mac->ops.set_vlvf = ixgbe_set_vlvf_generic;
	mac->ops.clear_vfta = ixgbe_clear_vfta_generic;
	mac->ops.init_uta_tables = ixgbe_init_uta_tables_generic;
	mac->ops.setup_sfp = ixgbe_setup_sfp_modules_82599;
	mac->ops.set_mac_anti_spoofing = ixgbe_set_mac_anti_spoofing;
	mac->ops.set_vlan_anti_spoofing = ixgbe_set_vlan_anti_spoofing;

	/* Link */
	mac->ops.get_link_capabilities = ixgbe_get_link_capabilities_82599;
	mac->ops.check_link = ixgbe_check_mac_link_generic;
	mac->ops.setup_rxpba = ixgbe_set_rxpba_generic;
	ixgbe_init_mac_link_ops_82599(hw);

	mac->mcft_size		= IXGBE_82599_MC_TBL_SIZE;
	mac->vft_size		= IXGBE_82599_VFT_TBL_SIZE;
	mac->num_rar_entries	= IXGBE_82599_RAR_ENTRIES;
	mac->rx_pb_size		= IXGBE_82599_RX_PB_SIZE;
	mac->max_rx_queues	= IXGBE_82599_MAX_RX_QUEUES;
	mac->max_tx_queues	= IXGBE_82599_MAX_TX_QUEUES;
	mac->max_msix_vectors	= ixgbe_get_pcie_msix_count_generic(hw);

	mac->arc_subsystem_valid = !!(IXGBE_READ_REG(hw, IXGBE_FWSM_BY_MAC(hw))
				      & IXGBE_FWSM_MODE_MASK);

	hw->mbx.ops.init_params = ixgbe_init_mbx_params_pf;

	/* EEPROM */
	eeprom->ops.read = ixgbe_read_eeprom_82599;
	eeprom->ops.read_buffer = ixgbe_read_eeprom_buffer_82599;

	/* Manageability interface */
	mac->ops.set_fw_drv_ver = ixgbe_set_fw_drv_ver_generic;

	mac->ops.get_thermal_sensor_data =
					 ixgbe_get_thermal_sensor_data_generic;
	mac->ops.init_thermal_sensor_thresh =
				      ixgbe_init_thermal_sensor_thresh_generic;

	mac->ops.get_rtrup2tc = ixgbe_dcb_get_rtrup2tc_generic;

	return ret_val;
}
/**
 * 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.
 **/
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.
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 .
s32 ixgbe_init_ops_82599(struct ixgbe_hw *hw)
{
	struct ixgbe_mac_info *mac = &hw->mac;
	struct ixgbe_phy_info *phy = &hw->phy;
	struct ixgbe_eeprom_info *eeprom = &hw->eeprom;
	s32 ret_val;
	DEBUGFUNC("ixgbe_init_ops_82599");
	ixgbe_init_phy_ops_generic(hw);
	ret_val = ixgbe_init_ops_generic(hw);
	phy->ops.identify = ixgbe_identify_phy_82599;
	phy->ops.init = ixgbe_init_phy_ops_82599;
	mac->ops.reset_hw = ixgbe_reset_hw_82599;
	mac->ops.enable_relaxed_ordering = ixgbe_enable_relaxed_ordering_gen2;
	mac->ops.get_media_type = ixgbe_get_media_type_82599;
	mac->ops.get_supported_physical_layer =
				    ixgbe_get_supported_physical_layer_82599;
	mac->ops.disable_sec_rx_path = ixgbe_disable_sec_rx_path_generic;
	mac->ops.enable_sec_rx_path = ixgbe_enable_sec_rx_path_generic;
	mac->ops.enable_rx_dma = ixgbe_enable_rx_dma_82599;
	mac->ops.read_analog_reg8 = ixgbe_read_analog_reg8_82599;
	mac->ops.write_analog_reg8 = ixgbe_write_analog_reg8_82599;
	mac->ops.start_hw = ixgbe_start_hw_82599;
	mac->ops.get_san_mac_addr = ixgbe_get_san_mac_addr_generic;
	mac->ops.set_san_mac_addr = ixgbe_set_san_mac_addr_generic;
	mac->ops.get_device_caps = ixgbe_get_device_caps_generic;
	mac->ops.get_wwn_prefix = ixgbe_get_wwn_prefix_generic;
	mac->ops.get_fcoe_boot_status = ixgbe_get_fcoe_boot_status_generic;
	mac->ops.prot_autoc_read = prot_autoc_read_82599;
	mac->ops.prot_autoc_write = prot_autoc_write_82599;
	mac->ops.set_vmdq = ixgbe_set_vmdq_generic;
	mac->ops.set_vmdq_san_mac = ixgbe_set_vmdq_san_mac_generic;
	mac->ops.clear_vmdq = ixgbe_clear_vmdq_generic;
	mac->ops.insert_mac_addr = ixgbe_insert_mac_addr_generic;
	mac->rar_highwater = 1;
	mac->ops.set_vfta = ixgbe_set_vfta_generic;
	mac->ops.set_vlvf = ixgbe_set_vlvf_generic;
	mac->ops.clear_vfta = ixgbe_clear_vfta_generic;
	mac->ops.init_uta_tables = ixgbe_init_uta_tables_generic;
	mac->ops.setup_sfp = ixgbe_setup_sfp_modules_82599;
	mac->ops.set_mac_anti_spoofing = ixgbe_set_mac_anti_spoofing;
	mac->ops.set_vlan_anti_spoofing = ixgbe_set_vlan_anti_spoofing;
	mac->ops.get_link_capabilities = ixgbe_get_link_capabilities_82599;
	mac->ops.check_link = ixgbe_check_mac_link_generic;
	mac->ops.setup_rxpba = ixgbe_set_rxpba_generic;
	ixgbe_init_mac_link_ops_82599(hw);
	mac->mcft_size		= IXGBE_82599_MC_TBL_SIZE;
	mac->vft_size		= IXGBE_82599_VFT_TBL_SIZE;
	mac->num_rar_entries	= IXGBE_82599_RAR_ENTRIES;
	mac->rx_pb_size		= IXGBE_82599_RX_PB_SIZE;
	mac->max_rx_queues	= IXGBE_82599_MAX_RX_QUEUES;
	mac->max_tx_queues	= IXGBE_82599_MAX_TX_QUEUES;
	mac->max_msix_vectors	= ixgbe_get_pcie_msix_count_generic(hw);
	mac->arc_subsystem_valid = !!(IXGBE_READ_REG(hw, IXGBE_FWSM_BY_MAC(hw))
				      & IXGBE_FWSM_MODE_MASK);
	hw->mbx.ops.init_params = ixgbe_init_mbx_params_pf;
	eeprom->ops.read = ixgbe_read_eeprom_82599;
	eeprom->ops.read_buffer = ixgbe_read_eeprom_buffer_82599;
	mac->ops.set_fw_drv_ver = ixgbe_set_fw_drv_ver_generic;
	mac->ops.get_thermal_sensor_data =
					 ixgbe_get_thermal_sensor_data_generic;
	mac->ops.init_thermal_sensor_thresh =
				      ixgbe_init_thermal_sensor_thresh_generic;
	mac->ops.get_rtrup2tc = ixgbe_dcb_get_rtrup2tc_generic;
	return ret_val;
}
s32 ixgbe_init_ops_82599 ( struct ixgbe_hw * hw ) { struct ixgbe_mac_info * mac = & hw -> mac ; struct ixgbe_phy_info * phy = & hw -> phy ; struct ixgbe_eeprom_info * eeprom = & hw -> eeprom ; s32 ret_val ; DEBUGFUNC ( " " ) ; ixgbe_init_phy_ops_generic ( hw ) ; ret_val = ixgbe_init_ops_generic ( hw ) ; phy -> ops . identify = ixgbe_identify_phy_82599 ; phy -> ops . init = ixgbe_init_phy_ops_82599 ; mac -> ops . reset_hw = ixgbe_reset_hw_82599 ; mac -> ops . enable_relaxed_ordering = ixgbe_enable_relaxed_ordering_gen2 ; mac -> ops . get_media_type = ixgbe_get_media_type_82599 ; mac -> ops . get_supported_physical_layer = ixgbe_get_supported_physical_layer_82599 ; mac -> ops . disable_sec_rx_path = ixgbe_disable_sec_rx_path_generic ; mac -> ops . enable_sec_rx_path = ixgbe_enable_sec_rx_path_generic ; mac -> ops . enable_rx_dma = ixgbe_enable_rx_dma_82599 ; mac -> ops . read_analog_reg8 = ixgbe_read_analog_reg8_82599 ; mac -> ops . write_analog_reg8 = ixgbe_write_analog_reg8_82599 ; mac -> ops . start_hw = ixgbe_start_hw_82599 ; mac -> ops . get_san_mac_addr = ixgbe_get_san_mac_addr_generic ; mac -> ops . set_san_mac_addr = ixgbe_set_san_mac_addr_generic ; mac -> ops . get_device_caps = ixgbe_get_device_caps_generic ; mac -> ops . get_wwn_prefix = ixgbe_get_wwn_prefix_generic ; mac -> ops . get_fcoe_boot_status = ixgbe_get_fcoe_boot_status_generic ; mac -> ops . prot_autoc_read = prot_autoc_read_82599 ; mac -> ops . prot_autoc_write = prot_autoc_write_82599 ; mac -> ops . set_vmdq = ixgbe_set_vmdq_generic ; mac -> ops . set_vmdq_san_mac = ixgbe_set_vmdq_san_mac_generic ; mac -> ops . clear_vmdq = ixgbe_clear_vmdq_generic ; mac -> ops . insert_mac_addr = ixgbe_insert_mac_addr_generic ; mac -> rar_highwater = 1 ; mac -> ops . set_vfta = ixgbe_set_vfta_generic ; mac -> ops . set_vlvf = ixgbe_set_vlvf_generic ; mac -> ops . clear_vfta = ixgbe_clear_vfta_generic ; mac -> ops . init_uta_tables = ixgbe_init_uta_tables_generic ; mac -> ops . setup_sfp = ixgbe_setup_sfp_modules_82599 ; mac -> ops . set_mac_anti_spoofing = ixgbe_set_mac_anti_spoofing ; mac -> ops . set_vlan_anti_spoofing = ixgbe_set_vlan_anti_spoofing ; mac -> ops . get_link_capabilities = ixgbe_get_link_capabilities_82599 ; mac -> ops . check_link = ixgbe_check_mac_link_generic ; mac -> ops . setup_rxpba = ixgbe_set_rxpba_generic ; ixgbe_init_mac_link_ops_82599 ( hw ) ; mac -> mcft_size = IXGBE_82599_MC_TBL_SIZE ; mac -> vft_size = IXGBE_82599_VFT_TBL_SIZE ; mac -> num_rar_entries = IXGBE_82599_RAR_ENTRIES ; mac -> rx_pb_size = IXGBE_82599_RX_PB_SIZE ; mac -> max_rx_queues = IXGBE_82599_MAX_RX_QUEUES ; mac -> max_tx_queues = IXGBE_82599_MAX_TX_QUEUES ; mac -> max_msix_vectors = ixgbe_get_pcie_msix_count_generic ( hw ) ; mac -> arc_subsystem_valid = ! ! ( IXGBE_READ_REG ( hw , IXGBE_FWSM_BY_MAC ( hw ) ) & IXGBE_FWSM_MODE_MASK ) ; hw -> mbx . ops . init_params = ixgbe_init_mbx_params_pf ; eeprom -> ops . read = ixgbe_read_eeprom_82599 ; eeprom -> ops . read_buffer = ixgbe_read_eeprom_buffer_82599 ; mac -> ops . set_fw_drv_ver = ixgbe_set_fw_drv_ver_generic ; mac -> ops . get_thermal_sensor_data = ixgbe_get_thermal_sensor_data_generic ; mac -> ops . init_thermal_sensor_thresh = ixgbe_init_thermal_sensor_thresh_generic ; mac -> ops . get_rtrup2tc = ixgbe_dcb_get_rtrup2tc_generic ; return ret_val ; }
ixgbe_init_ops_82599 - Inits func ptrs and MAC type
 @hw: pointer to hardware structure
ixgbe_init_ops_82599 - Inits func ptrs and MAC type @hw : pointer to hardware structure
/* PHY */ /* MAC */ /* RAR, Multicast, VLAN */ /* Link */ /* EEPROM */ /* Manageability interface */