Home | History | Annotate | Download | only in ixgbe

Lines Matching refs:hw

68  * @hw: pointer to hardware structure
71 * Read the rtrup2tc HW register and resolve its content into map
73 void ixgbe_dcb_get_rtrup2tc(struct ixgbe_hw *hw, u8 *map)
75 if (hw->mac.ops.get_rtrup2tc)
76 hw->mac.ops.get_rtrup2tc(hw, map);
81 * @hw: pointer to hardware structure
87 * hw structure should be filled in prior to calling this function:
91 s32 ixgbe_init_shared_code(struct ixgbe_hw *hw)
100 ixgbe_set_mac_type(hw);
102 switch (hw->mac.type) {
104 status = ixgbe_init_ops_82598(hw);
107 status = ixgbe_init_ops_82599(hw);
110 status = ixgbe_init_ops_X540(hw);
113 status = ixgbe_init_ops_X550(hw);
116 status = ixgbe_init_ops_X550EM_x(hw);
119 status = ixgbe_init_ops_X550EM_a(hw);
125 hw->mac.max_link_up_time = IXGBE_LINK_UP_TIME;
132 * @hw: pointer to the HW structure
135 * vendor ID and device ID stored in the hw structure.
137 s32 ixgbe_set_mac_type(struct ixgbe_hw *hw)
143 if (hw->vendor_id != IXGBE_INTEL_VENDOR_ID) {
145 "Unsupported vendor id: %x", hw->vendor_id);
149 hw->mvals = ixgbe_mvals_base;
151 switch (hw->device_id) {
164 hw->mac.type = ixgbe_mac_82598EB;
182 hw->mac.type = ixgbe_mac_82599EB;
187 hw->mac.type = ixgbe_mac_X540;
188 hw->mvals = ixgbe_mvals_X540;
192 hw->mac.type = ixgbe_mac_X550;
193 hw->mvals = ixgbe_mvals_X550;
201 hw->mac.type = ixgbe_mac_X550EM_x;
202 hw->mvals = ixgbe_mvals_X550EM_x;
215 hw->mac.type = ixgbe_mac_X550EM_a;
216 hw->mvals = ixgbe_mvals_X550EM_a;
222 hw->device_id);
227 hw->mac.type, ret_val);
233 * @hw: pointer to hardware structure
237 s32 ixgbe_init_hw(struct ixgbe_hw *hw)
239 return ixgbe_call_func(hw, hw->mac.ops.init_hw, (hw),
245 * @hw: pointer to hardware structure
250 s32 ixgbe_reset_hw(struct ixgbe_hw *hw)
252 return ixgbe_call_func(hw, hw->mac.ops.reset_hw, (hw),
258 * @hw: pointer to hardware structure
266 s32 ixgbe_start_hw(struct ixgbe_hw *hw)
268 return ixgbe_call_func(hw, hw->mac.ops.start_hw, (hw),
276 * @hw: pointer to hardware structure
280 void ixgbe_enable_relaxed_ordering(struct ixgbe_hw *hw)
282 if (hw->mac.ops.enable_relaxed_ordering)
283 hw->mac.ops.enable_relaxed_ordering(hw);
288 * @hw: pointer to hardware structure
293 s32 ixgbe_clear_hw_cntrs(struct ixgbe_hw *hw)
295 return ixgbe_call_func(hw, hw->mac.ops.clear_hw_cntrs, (hw),
301 * @hw: pointer to hardware structure
305 enum ixgbe_media_type ixgbe_get_media_type(struct ixgbe_hw *hw)
307 return ixgbe_call_func(hw, hw->mac.ops.get_media_type, (hw),
313 * @hw: pointer to hardware structure
321 s32 ixgbe_get_mac_addr(struct ixgbe_hw *hw, u8 *mac_addr)
323 return ixgbe_call_func(hw, hw->mac.ops.get_mac_addr,
324 (hw, mac_addr), IXGBE_NOT_IMPLEMENTED);
329 * @hw: pointer to hardware structure
335 s32 ixgbe_get_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr)
337 return ixgbe_call_func(hw, hw->mac.ops.get_san_mac_addr,
338 (hw, san_mac_addr), IXGBE_NOT_IMPLEMENTED);
343 * @hw: pointer to hardware structure
348 s32 ixgbe_set_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr)
350 return ixgbe_call_func(hw, hw->mac.ops.set_san_mac_addr,
351 (hw, san_mac_addr), IXGBE_NOT_IMPLEMENTED);
356 * @hw: pointer to hardware structure
361 s32 ixgbe_get_device_caps(struct ixgbe_hw *hw, u16 *device_caps)
363 return ixgbe_call_func(hw, hw->mac.ops.get_device_caps,
364 (hw, device_caps), IXGBE_NOT_IMPLEMENTED);
369 * @hw: pointer to hardware structure
376 s32 ixgbe_get_wwn_prefix(struct ixgbe_hw *hw, u16 *wwnn_prefix,
379 return ixgbe_call_func(hw, hw->mac.ops.get_wwn_prefix,
380 (hw, wwnn_prefix, wwpn_prefix),
386 * @hw: pointer to hardware structure
391 s32 ixgbe_get_fcoe_boot_status(struct ixgbe_hw *hw, u16 *bs)
393 return ixgbe_call_func(hw, hw->mac.ops.get_fcoe_boot_status,
394 (hw, bs),
400 * @hw: pointer to hardware structure
404 s32 ixgbe_get_bus_info(struct ixgbe_hw *hw)
406 return ixgbe_call_func(hw, hw->mac.ops.get_bus_info, (hw),
412 * @hw: pointer to hardware structure
416 u32 ixgbe_get_num_of_tx_queues(struct ixgbe_hw *hw)
418 return hw->mac.max_tx_queues;
423 * @hw: pointer to hardware structure
427 u32 ixgbe_get_num_of_rx_queues(struct ixgbe_hw *hw)
429 return hw->mac.max_rx_queues;
434 * @hw: pointer to hardware structure
441 s32 ixgbe_stop_adapter(struct ixgbe_hw *hw)
443 return ixgbe_call_func(hw, hw->mac.ops.stop_adapter, (hw),
449 * @hw: pointer to hardware structure
455 s32 ixgbe_read_pba_string(struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size)
457 return ixgbe_read_pba_string_generic(hw, pba_num, pba_num_size);
462 * @hw: pointer to hardware structure
467 s32 ixgbe_read_pba_num(struct ixgbe_hw *hw, u32 *pba_num)
469 return ixgbe_read_pba_num_generic(hw, pba_num);
474 * @hw: pointer to hardware structure
478 s32 ixgbe_identify_phy(struct ixgbe_hw *hw)
482 if (hw->phy.type == ixgbe_phy_unknown) {
483 status = ixgbe_call_func(hw, hw->phy.ops.identify, (hw),
492 * @hw: pointer to hardware structure
494 s32 ixgbe_reset_phy(struct ixgbe_hw *hw)
498 if (hw->phy.type == ixgbe_phy_unknown) {
499 if (ixgbe_identify_phy(hw) != IXGBE_SUCCESS)
504 status = ixgbe_call_func(hw, hw->phy.ops.reset, (hw),
512 * @hw: pointer to hardware structure
515 s32 ixgbe_get_phy_firmware_version(struct ixgbe_hw *hw, u16 *firmware_version)
519 status = ixgbe_call_func(hw, hw->phy.ops.get_firmware_version,
520 (hw, firmware_version),
527 * @hw: pointer to hardware structure
534 s32 ixgbe_read_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type,
537 if (hw->phy.id == 0)
538 ixgbe_identify_phy(hw);
540 return ixgbe_call_func(hw, hw->phy.ops.read_reg, (hw, reg_addr,
546 * @hw: pointer to hardware structure
553 s32 ixgbe_write_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type,
556 if (hw->phy.id == 0)
557 hw);
559 return ixgbe_call_func(hw, hw->phy.ops.write_reg, (hw, reg_addr,
565 * @hw: pointer to hardware structure
569 s32 ixgbe_setup_phy_link(struct ixgbe_hw *hw)
571 return ixgbe_call_func(hw, hw->phy.ops.setup_link, (hw),
577 * @hw: pointer to hardware structure
583 s32 ixgbe_setup_internal_phy(struct ixgbe_hw *hw)
585 return ixgbe_call_func(hw, hw->phy.ops.setup_internal_link, (hw),
591 * @hw: pointer to hardware structure
598 s32 ixgbe_check_phy_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
601 return ixgbe_call_func(hw, hw->phy.ops.check_link, (hw, speed,
607 * @hw: pointer to hardware structure
613 s32 ixgbe_setup_phy_link_speed(struct ixgbe_hw *hw, ixgbe_link_speed speed,
616 return ixgbe_call_func(hw, hw->phy.ops.setup_link_speed, (hw, speed,
623 * @hw: pointer to hardware structure
626 s32 ixgbe_set_phy_power(struct ixgbe_hw *hw, bool on)
628 return ixgbe_call_func(hw, hw->phy.ops.set_phy_power, (hw, on),
634 * @hw: pointer to hardware structure
641 s32 ixgbe_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
644 return ixgbe_call_func(hw, hw->mac.ops.check_link, (hw, speed,
651 * @hw: pointer to hardware structure
655 void ixgbe_disable_tx_laser(struct ixgbe_hw *hw)
657 if (hw->mac.ops.disable_tx_laser)
658 hw->mac.ops.disable_tx_laser(hw);
663 * @hw: pointer to hardware structure
667 void ixgbe_enable_tx_laser(struct ixgbe_hw *hw)
669 if (hw->mac.ops.enable_tx_laser)
670 hw->mac.ops.enable_tx_laser(hw);
675 * @hw: pointer to hardware structure
681 void ixgbe_flap_tx_laser(struct ixgbe_hw *hw)
683 if (hw->mac.ops.flap_tx_laser)
684 hw->mac.ops.flap_tx_laser(hw);
689 * @hw: pointer to hardware structure
696 s32 ixgbe_setup_link(struct ixgbe_hw *hw, ixgbe_link_speed speed,
699 return ixgbe_call_func(hw, hw->mac.ops.setup_link, (hw, speed,
706 * @hw: pointer to hardware structure
713 s32 ixgbe_setup_mac_link(struct ixgbe_hw *hw, ixgbe_link_speed speed,
716 return ixgbe_call_func(hw, hw->mac.ops.setup_mac_link, (hw, speed,
723 * @hw: pointer to hardware structure
729 s32 ixgbe_get_link_capabilities(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
732 return ixgbe_call_func(hw, hw->mac.ops.get_link_capabilities, (hw,
738 * @hw: pointer to hardware structure
743 s32 ixgbe_led_on(struct ixgbe_hw *hw, u32 index)
745 return ixgbe_call_func(hw, hw->mac.ops.led_on, (hw, index),
751 * @hw: pointer to hardware structure
756 s32 ixgbe_led_off(struct ixgbe_hw *hw, u32 index)
758 return ixgbe_call_func(hw, hw->mac.ops.led_off, (hw, index),
764 * @hw: pointer to hardware structure
769 s32 ixgbe_blink_led_start(struct ixgbe_hw *hw, u32 index)
771 return ixgbe_call_func(hw, hw->mac.ops.blink_led_start, (hw, index),
777 * @hw: pointer to hardware structure
782 s32 ixgbe_blink_led_stop(struct ixgbe_hw *hw, u32 index)
784 return ixgbe_call_func(hw, hw->mac.ops.blink_led_stop, (hw, index),
790 * @hw: pointer to hardware structure
795 s32 ixgbe_init_eeprom_params(struct ixgbe_hw *hw)
797 return ixgbe_call_func(hw, hw->eeprom.ops.init_params, (hw),
804 * @hw: pointer to hardware structure
812 s32 ixgbe_write_eeprom(struct ixgbe_hw *hw, u16 offset, u16 data)
814 return ixgbe_call_func(hw, hw->eeprom.ops.write, (hw, offset, data),
820 * @hw: pointer to hardware structure
829 s32 ixgbe_write_eeprom_buffer(struct ixgbe_hw *hw, u16 offset, u16 words,
832 return ixgbe_call_func(hw, hw->eeprom.ops.write_buffer,
833 (hw, offset, words, data),
839 * @hw: pointer to hardware structure
845 s32 ixgbe_read_eeprom(struct ixgbe_hw *hw, u16 offset, u16 *data)
847 return ixgbe_call_func(hw, hw->eeprom.ops.read, (hw, offset, data),
853 * @hw: pointer to hardware structure
860 s32 ixgbe_read_eeprom_buffer(struct ixgbe_hw *hw, u16 offset,
863 return ixgbe_call_func(hw, hw->eeprom.ops.read_buffer,
864 (hw, offset, words, data),
870 * @hw: pointer to hardware structure
875 s32 ixgbe_validate_eeprom_checksum(struct ixgbe_hw *hw, u16 *checksum_val)
877 return ixgbe_call_func(hw, hw->eeprom.ops.validate_checksum,
878 (hw, checksum_val), IXGBE_NOT_IMPLEMENTED);
883 * @hw: pointer to hardware structure
885 s32 ixgbe_update_eeprom_checksum(struct ixgbe_hw *hw)
887 return ixgbe_call_func(hw, hw->eeprom.ops.update_checksum, (hw),
893 * @hw: pointer to hardware structure
900 s32 ixgbe_insert_mac_addr(struct ixgbe_hw *hw, u8 *addr, u32 vmdq)
902 return ixgbe_call_func(hw, hw->mac.ops.insert_mac_addr,
903 (hw, addr, vmdq),
909 * @hw: pointer to hardware structure
917 s32 ixgbe_set_rar(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq,
920 return ixgbe_call_func(hw, hw->mac.ops.set_rar, (hw, index, addr, vmdq,
926 * @hw: pointer to hardware structure
931 s32 ixgbe_clear_rar(struct ixgbe_hw *hw, u32 index)
933 return ixgbe_call_func(hw, hw->mac.ops.clear_rar, (hw, index),
939 * @hw: pointer to hardware structure
943 s32 ixgbe_set_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq)
945 return ixgbe_call_func(hw, hw->mac.ops.set_vmdq, (hw, rar, vmdq),
952 * @hw: pointer to hardware structure
955 s32 ixgbe_set_vmdq_san_mac(struct ixgbe_hw *hw, u32 vmdq)
957 return ixgbe_call_func(hw, hw->mac.ops.set_vmdq_san_mac,
958 (hw, vmdq), IXGBE_NOT_IMPLEMENTED);
963 * @hw: pointer to hardware structure
967 s32 ixgbe_clear_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq)
969 return ixgbe_call_func(hw, hw->mac.ops.clear_vmdq, (hw, rar, vmdq),
975 * @hw: pointer to hardware structure
981 s32 ixgbe_init_rx_addrs(struct ixgbe_hw *hw)
983 return ixgbe_call_func(hw, hw->mac.ops.init_rx_addrs, (hw),
989 * @hw: pointer to hardware structure
991 u32 ixgbe_get_num_rx_addrs(struct ixgbe_hw *hw)
993 return hw->mac.num_rar_entries;
998 * @hw: pointer to hardware structure
1007 s32 ixgbe_update_uc_addr_list(struct ixgbe_hw *hw, u8 *addr_list,
1010 return ixgbe_call_func(hw, hw->mac.ops.update_uc_addr_list, (hw,
1017 * @hw: pointer to hardware structure
1028 s32 ixgbe_update_mc_addr_list(struct ixgbe_hw *hw, u8 *mc_addr_list,
1032 return ixgbe_call_func(hw, hw->mac.ops.update_mc_addr_list, (hw,
1039 * @hw: pointer to hardware structure
1043 s32 ixgbe_enable_mc(struct ixgbe_hw *hw)
1045 return ixgbe_call_func(hw, hw->mac.ops.enable_mc, (hw),
1051 * @hw: pointer to hardware structure
1055 s32 ixgbe_disable_mc(struct ixgbe_hw *hw)
1057 return ixgbe_call_func(hw, hw->mac.ops.disable_mc, (hw),
1063 * @hw: pointer to hardware structure
1067 s32 ixgbe_clear_vfta(struct ixgbe_hw *hw)
1069 return ixgbe_call_func(hw, hw->mac.ops.clear_vfta, (hw),
1075 * @hw: pointer to hardware structure
1083 s32 ixgbe_set_vfta(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on,
1086 return ixgbe_call_func(hw, hw->mac.ops.set_vfta, (hw, vlan, vind,
1092 * @hw: pointer to hardware structure
1103 s32 ixgbe_set_vlvf(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on,
1106 return ixgbe_call_func(hw, hw->mac.ops.set_vlvf, (hw, vlan, vind,
1113 * @hw: pointer to hardware structure
1118 s32 ixgbe_toggle_txdctl(struct ixgbe_hw *hw, u32 vind)
1120 return ixgbe_call_func(hw, hw->mac.ops.toggle_txdctl, (hw,
1126 * @hw: pointer to hardware structure
1130 s32 ixgbe_fc_enable(struct ixgbe_hw *hw)
1132 return ixgbe_call_func(hw, hw->mac.ops.fc_enable, (hw),
1138 * @hw: pointer to hardware structure
1142 s32 ixgbe_setup_fc(struct ixgbe_hw *hw)
1144 return ixgbe_call_func(hw, hw->mac.ops.setup_fc, (hw),
1150 * @hw: pointer to hardware structure
1158 s32 ixgbe_set_fw_drv_ver(struct ixgbe_hw *hw, u8 maj, u8 minr, u8 build,
1161 return ixgbe_call_func(hw, hw->mac.ops.set_fw_drv_ver, (hw, maj, minr,
1168 * @hw: pointer to hardware structure
1173 s32 ixgbe_dmac_config(struct ixgbe_hw *hw)
1175 return ixgbe_call_func(hw, hw->mac.ops.dmac_config, (hw),
1181 * @hw: pointer to hardware structure
1185 s32 ixgbe_dmac_update_tcs(struct ixgbe_hw *hw)
1187 return ixgbe_call_func(hw, hw->mac.ops.dmac_update_tcs, (hw),
1193 * @hw: pointer to hardware structure
1198 s32 ixgbe_dmac_config_tcs(struct ixgbe_hw *hw)
1200 return ixgbe_call_func(hw, hw->mac.ops.dmac_config_tcs, (hw),
1206 * @hw: pointer to the HW structure
1214 s32 ixgbe_setup_eee(struct ixgbe_hw *hw, bool enable_eee)
1216 return ixgbe_call_func(hw, hw->mac.ops.setup_eee, (hw, enable_eee),
1222 * @hw: pointer to hardware structure
1226 void ixgbe_set_source_address_pruning(struct ixgbe_hw *hw, bool enable,
1229 if (hw->mac.ops.set_source_address_pruning)
1230 hw->mac.ops.set_source_address_pruning(hw, enable, pool);
1235 * @hw: pointer to hardware structure
1240 void ixgbe_set_ethertype_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf)
1242 if (hw->mac.ops.set_ethertype_anti_spoofing)
1243 hw->mac.ops.set_ethertype_anti_spoofing(hw, enable, vf);
1248 * @hw: pointer to hardware structure
1255 s32 ixgbe_read_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr,
1258 return ixgbe_call_func(hw, hw->mac.ops.read_iosf_sb_reg, (hw, reg_addr,
1264 * @hw: pointer to hardware structure
1271 s32 ixgbe_write_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr,
1274 return ixgbe_call_func(hw, hw->mac.ops.write_iosf_sb_reg, (hw, reg_addr,
1280 * @hw: pointer to hardware structure
1283 void ixgbe_disable_mdd(struct ixgbe_hw *hw)
1285 if (hw->mac.ops.disable_mdd)
1286 hw->mac.ops.disable_mdd(hw);
1291 * @hw: pointer to hardware structure
1294 void ixgbe_enable_mdd(struct ixgbe_hw *hw)
1296 if (hw->mac.ops.enable_mdd)
1297 hw->mac.ops.enable_mdd(hw);
1302 * @hw: pointer to hardware structure
1306 void ixgbe_mdd_event(struct ixgbe_hw *hw, u32 *vf_bitmap)
1308 if (hw->mac.ops.mdd_event)
1309 hw->mac.ops.mdd_event(hw, vf_bitmap);
1315 * @hw: pointer to hardware structure
1319 void ixgbe_restore_mdd_vf(struct ixgbe_hw *hw, u32 vf)
1321 if (hw->mac.ops.restore_mdd_vf)
1322 hw->mac.ops.restore_mdd_vf(hw, vf);
1327 * @hw: pointer to hardware structure
1330 bool ixgbe_fw_recovery_mode(struct ixgbe_hw *hw)
1332 if (hw->mac.ops.fw_recovery_mode)
1333 return hw->mac.ops.fw_recovery_mode(hw);
1339 * @hw: pointer to hardware structure
1344 s32 ixgbe_enter_lplu(struct ixgbe_hw *hw)
1346 return ixgbe_call_func(hw, hw->phy.ops.enter_lplu, (hw),
1352 * @hw: pointer to hardware structure
1361 s32 ixgbe_handle_lasi(struct ixgbe_hw *hw)
1363 return ixgbe_call_func(hw, hw->phy.ops.handle_lasi, (hw),
1369 * @hw: pointer to hardware structure
1375 s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status)
1377 return ixgbe_call_func(hw, hw->mac.ops.bypass_rw, (hw, cmd, status),
1383 * @hw: pointer to hardware structure
1393 bool ixgbe_bypass_valid_rd(struct ixgbe_hw *hw, u32 in_reg, u32 out_reg)
1395 return ixgbe_call_func(hw, hw->mac.ops.bypass_valid_rd,
1401 * @hw: pointer to hardware structure
1411 s32 ixgbe_bypass_set(struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action)
1413 return ixgbe_call_func(hw, hw->mac.ops.bypass_set,
1414 (hw, cmd, event, action),
1420 * @hw: pointer to hardware structure
1424 s32 ixgbe_bypass_rd_eep(struct ixgbe_hw *hw, u32 addr, u8 *value)
1426 return ixgbe_call_func(hw, hw->mac.ops.bypass_rd_eep,
1427 (hw, addr, value), IXGBE_NOT_IMPLEMENTED);
1432 * @hw: pointer to hardware structure
1438 s32 ixgbe_read_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 *val)
1440 return ixgbe_call_func(hw, hw->mac.ops.read_analog_reg8, (hw, reg,
1446 * @hw: pointer to hardware structure
1452 s32 ixgbe_write_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 val)
1454 return ixgbe_call_func(hw, hw->mac.ops.write_analog_reg8, (hw, reg,
1460 * @hw: pointer to hardware structure
1465 s32 ixgbe_init_uta_tables(struct ixgbe_hw *hw)
1467 return ixgbe_call_func(hw, hw->mac.ops.init_uta_tables, (hw),
1473 * @hw: pointer to hardware structure
1480 s32 ixgbe_read_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr,
1483 return ixgbe_call_func(hw, hw->phy.ops.read_i2c_byte, (hw, byte_offset,
1489 * @hw: pointer to hardware structure
1496 s32 ixgbe_read_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
1499 return ixgbe_call_func(hw, hw->phy.ops.read_i2c_byte_unlocked,
1500 (hw, byte_offset, dev_addr, data),
1506 * @hw: pointer to the hardware structure
1513 s32 ixgbe_read_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
1515 return ixgbe_call_func(hw, hw->link.ops.read_link, (hw, addr,
1521 * @hw: pointer to the hardware structure
1528 s32 ixgbe_read_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
1530 return ixgbe_call_func(hw, hw->link.ops.read_link_unlocked,
1531 (hw, addr, reg, val), IXGBE_NOT_IMPLEMENTED);
1536 * @hw: pointer to hardware structure
1544 s32 ixgbe_write_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr,
1547 return ixgbe_call_func(hw, hw->phy.ops.write_i2c_byte, (hw, byte_offset,
1553 * @hw: pointer to hardware structure
1561 s32 ixgbe_write_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
1564 return ixgbe_call_func(hw, hw->phy.ops.write_i2c_byte_unlocked,
1565 (hw, byte_offset, dev_addr, data),
1571 * @hw: pointer to the hardware structure
1578 s32 ixgbe_write_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
1580 return ixgbe_call_func(hw, hw->link.ops.write_link,
1581 (hw, addr, reg, val), IXGBE_NOT_IMPLEMENTED);
1586 * @hw: pointer to the hardware structure
1593 s32 ixgbe_write_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
1595 return ixgbe_call_func(hw, hw->link.ops.write_link_unlocked,
1596 (hw, addr, reg, val), IXGBE_NOT_IMPLEMENTED);
1601 * @hw: pointer to hardware structure
1607 s32 ixgbe_write_i2c_eeprom(struct ixgbe_hw *hw,
1610 return ixgbe_call_func(hw, hw->phy.ops.write_i2c_eeprom,
1611 (hw, byte_offset, eeprom_data),
1617 * @hw: pointer to hardware structure
1623 s32 ixgbe_read_i2c_eeprom(struct ixgbe_hw *hw, u8 byte_offset, u8 *eeprom_data)
1625 return ixgbe_call_func(hw, hw->phy.ops.read_i2c_eeprom,
1626 (hw, byte_offset, eeprom_data),
1632 * @hw: pointer to hardware structure
1636 u64 ixgbe_get_supported_physical_layer(struct ixgbe_hw *hw)
1638 return ixgbe_call_func(hw, hw->mac.ops.get_supported_physical_layer,
1639 (hw), IXGBE_PHYSICAL_LAYER_UNKNOWN);
1644 * @hw: pointer to hardware structure
1649 s32 ixgbe_enable_rx_dma(struct ixgbe_hw *hw, u32 regval)
1651 return ixgbe_call_func(hw, hw->mac.ops.enable_rx_dma,
1652 (hw, regval), IXGBE_NOT_IMPLEMENTED);
1657 * @hw: pointer to hardware structure
1661 s32 ixgbe_disable_sec_rx_path(struct ixgbe_hw *hw)
1663 return ixgbe_call_func(hw, hw->mac.ops.disable_sec_rx_path,
1664 (hw), IXGBE_NOT_IMPLEMENTED);
1669 * @hw: pointer to hardware structure
1673 s32 ixgbe_enable_sec_rx_path(struct ixgbe_hw *hw)
1675 return ixgbe_call_func(hw, hw->mac.ops.enable_sec_rx_path,
1676 (hw), IXGBE_NOT_IMPLEMENTED);
1681 * @hw: pointer to hardware structure
1687 s32 ixgbe_acquire_swfw_semaphore(struct ixgbe_hw *hw, u32 mask)
1689 return ixgbe_call_func(hw, hw->mac.ops.acquire_swfw_sync,
1690 (hw, mask), IXGBE_NOT_IMPLEMENTED);
1695 * @hw: pointer to hardware structure
1701 void ixgbe_release_swfw_semaphore(struct ixgbe_hw *hw, u32 mask)
1703 if (hw->mac.ops.release_swfw_sync)
1704 hw->mac.ops.release_swfw_sync(hw, mask);
1709 * @hw: pointer to hardware structure
1716 void ixgbe_init_swfw_semaphore(struct ixgbe_hw *hw)
1718 if (hw->mac.ops.init_swfw_sync)
1719 hw->mac.ops.init_swfw_sync(hw);
1723 void ixgbe_disable_rx(struct ixgbe_hw *hw)
1725 if (hw->mac.ops.disable_rx)
1726 hw->mac.ops.disable_rx(hw);
1729 void ixgbe_enable_rx(struct ixgbe_hw *hw)
1731 if (hw->mac.ops.enable_rx)
1732 hw->mac.ops.enable_rx(hw);
1737 * @hw: pointer to hardware structure
1742 void ixgbe_set_rate_select_speed(struct ixgbe_hw *hw, ixgbe_link_speed speed)
1744 if (hw->mac.ops.set_rate_select_speed)
1745 hw->mac.ops.set_rate_select_speed(hw, speed);