Lines Matching full:hw

62  * @hw: pointer to hardware structure
65 * Read the rtrup2tc HW register and resolve its content into map
67 void ixgbe_dcb_get_rtrup2tc(struct ixgbe_hw *hw, u8 *map)
69 if (hw->mac.ops.get_rtrup2tc)
70 hw->mac.ops.get_rtrup2tc(hw, map);
75 * @hw: pointer to hardware structure
81 * hw structure should be filled in prior to calling this function:
85 s32 ixgbe_init_shared_code(struct ixgbe_hw *hw)
94 ixgbe_set_mac_type(hw);
96 switch (hw->mac.type) {
98 status = ixgbe_init_ops_82598(hw);
101 status = ixgbe_init_ops_82599(hw);
104 status = ixgbe_init_ops_X540(hw);
107 status = ixgbe_init_ops_X550(hw);
110 status = ixgbe_init_ops_X550EM_x(hw);
113 status = ixgbe_init_ops_X550EM_a(hw);
120 status = ixgbe_init_ops_vf(hw);
126 hw->mac.max_link_up_time = IXGBE_LINK_UP_TIME;
133 * @hw: pointer to the HW structure
136 * vendor ID and device ID stored in the hw structure.
138 s32 ixgbe_set_mac_type(struct ixgbe_hw *hw)
144 if (hw->vendor_id != IXGBE_INTEL_VENDOR_ID) {
146 "Unsupported vendor id: %x", hw->vendor_id);
150 hw->mvals = ixgbe_mvals_base;
152 switch (hw->device_id) {
165 hw->mac.type = ixgbe_mac_82598EB;
183 hw->mac.type = ixgbe_mac_82599EB;
187 hw->mac.type = ixgbe_mac_82599_vf;
191 hw->mac.type = ixgbe_mac_X540_vf;
192 hw->mvals = ixgbe_mvals_X540;
197 hw->mac.type = ixgbe_mac_X540;
198 hw->mvals = ixgbe_mvals_X540;
202 hw->mac.type = ixgbe_mac_X550;
203 hw->mvals = ixgbe_mvals_X550;
211 hw->mac.type = ixgbe_mac_X550EM_x;
212 hw->mvals = ixgbe_mvals_X550EM_x;
225 hw->mac.type = ixgbe_mac_X550EM_a;
226 hw->mvals = ixgbe_mvals_X550EM_a;
230 hw->mac.type = ixgbe_mac_X550_vf;
231 hw->mvals = ixgbe_mvals_X550;
235 hw->mac.type = ixgbe_mac_X550EM_x_vf;
236 hw->mvals = ixgbe_mvals_X550EM_x;
240 hw->mac.type = ixgbe_mac_X550EM_a_vf;
241 hw->mvals = ixgbe_mvals_X550EM_a;
247 hw->device_id);
252 hw->mac.type, ret_val);
258 * @hw: pointer to hardware structure
262 s32 ixgbe_init_hw(struct ixgbe_hw *hw)
264 return ixgbe_call_func(hw, hw->mac.ops.init_hw, (hw),
270 * @hw: pointer to hardware structure
275 s32 ixgbe_reset_hw(struct ixgbe_hw *hw)
277 return ixgbe_call_func(hw, hw->mac.ops.reset_hw, (hw),
283 * @hw: pointer to hardware structure
291 s32 ixgbe_start_hw(struct ixgbe_hw *hw)
293 return ixgbe_call_func(hw, hw->mac.ops.start_hw, (hw),
301 * @hw: pointer to hardware structure
305 void ixgbe_enable_relaxed_ordering(struct ixgbe_hw *hw)
307 if (hw->mac.ops.enable_relaxed_ordering)
308 hw->mac.ops.enable_relaxed_ordering(hw);
313 * @hw: pointer to hardware structure
318 s32 ixgbe_clear_hw_cntrs(struct ixgbe_hw *hw)
320 return ixgbe_call_func(hw, hw->mac.ops.clear_hw_cntrs, (hw),
326 * @hw: pointer to hardware structure
330 enum ixgbe_media_type ixgbe_get_media_type(struct ixgbe_hw *hw)
332 return ixgbe_call_func(hw, hw->mac.ops.get_media_type, (hw),
338 * @hw: pointer to hardware structure
346 s32 ixgbe_get_mac_addr(struct ixgbe_hw *hw, u8 *mac_addr)
348 return ixgbe_call_func(hw, hw->mac.ops.get_mac_addr,
349 (hw, mac_addr), IXGBE_NOT_IMPLEMENTED);
354 * @hw: pointer to hardware structure
360 s32 ixgbe_get_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr)
362 return ixgbe_call_func(hw, hw->mac.ops.get_san_mac_addr,
363 (hw, san_mac_addr), IXGBE_NOT_IMPLEMENTED);
368 * @hw: pointer to hardware structure
373 s32 ixgbe_set_san_mac_addr(struct ixgbe_hw *hw, u8 *san_mac_addr)
375 return ixgbe_call_func(hw, hw->mac.ops.set_san_mac_addr,
376 (hw, san_mac_addr), IXGBE_NOT_IMPLEMENTED);
381 * @hw: pointer to hardware structure
386 s32 ixgbe_get_device_caps(struct ixgbe_hw *hw, u16 *device_caps)
388 return ixgbe_call_func(hw, hw->mac.ops.get_device_caps,
389 (hw, device_caps), IXGBE_NOT_IMPLEMENTED);
394 * @hw: pointer to hardware structure
401 s32 ixgbe_get_wwn_prefix(struct ixgbe_hw *hw, u16 *wwnn_prefix,
404 return ixgbe_call_func(hw, hw->mac.ops.get_wwn_prefix,
405 (hw, wwnn_prefix, wwpn_prefix),
411 * @hw: pointer to hardware structure
416 s32 ixgbe_get_fcoe_boot_status(struct ixgbe_hw *hw, u16 *bs)
418 return ixgbe_call_func(hw, hw->mac.ops.get_fcoe_boot_status,
419 (hw, bs),
425 * @hw: pointer to hardware structure
429 s32 ixgbe_get_bus_info(struct ixgbe_hw *hw)
431 return ixgbe_call_func(hw, hw->mac.ops.get_bus_info, (hw),
437 * @hw: pointer to hardware structure
441 u32 ixgbe_get_num_of_tx_queues(struct ixgbe_hw *hw)
443 return hw->mac.max_tx_queues;
448 * @hw: pointer to hardware structure
452 u32 ixgbe_get_num_of_rx_queues(struct ixgbe_hw *hw)
454 return hw->mac.max_rx_queues;
459 * @hw: pointer to hardware structure
466 s32 ixgbe_stop_adapter(struct ixgbe_hw *hw)
468 return ixgbe_call_func(hw, hw->mac.ops.stop_adapter, (hw),
474 * @hw: pointer to hardware structure
480 s32 ixgbe_read_pba_string(struct ixgbe_hw *hw, u8 *pba_num, u32 pba_num_size)
482 return ixgbe_read_pba_string_generic(hw, pba_num, pba_num_size);
487 * @hw: pointer to hardware structure
492 s32 ixgbe_read_pba_num(struct ixgbe_hw *hw, u32 *pba_num)
494 return ixgbe_read_pba_num_generic(hw, pba_num);
499 * @hw: pointer to hardware structure
503 s32 ixgbe_identify_phy(struct ixgbe_hw *hw)
507 if (hw->phy.type == ixgbe_phy_unknown) {
508 status = ixgbe_call_func(hw, hw->phy.ops.identify, (hw),
517 * @hw: pointer to hardware structure
519 s32 ixgbe_reset_phy(struct ixgbe_hw *hw)
523 if (hw->phy.type == ixgbe_phy_unknown) {
524 if (ixgbe_identify_phy(hw) != IXGBE_SUCCESS)
529 status = ixgbe_call_func(hw, hw->phy.ops.reset, (hw),
537 * @hw: pointer to hardware structure
540 s32 ixgbe_get_phy_firmware_version(struct ixgbe_hw *hw, u16 *firmware_version)
544 status = ixgbe_call_func(hw, hw->phy.ops.get_firmware_version,
545 (hw, firmware_version),
552 * @hw: pointer to hardware structure
559 s32 ixgbe_read_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type,
562 if (hw->phy.id == 0)
563 ixgbe_identify_phy(hw);
565 return ixgbe_call_func(hw, hw->phy.ops.read_reg, (hw, reg_addr,
571 * @hw: pointer to hardware structure
578 s32 ixgbe_write_phy_reg(struct ixgbe_hw *hw, u32 reg_addr, u32 device_type,
581 if (hw->phy.id == 0)
582 ixgbe_identify_phy(hw);
584 return ixgbe_call_func(hw, hw->phy.ops.write_reg, (hw, reg_addr,
590 * @hw: pointer to hardware structure
594 s32 ixgbe_setup_phy_link(struct ixgbe_hw *hw)
596 return ixgbe_call_func(hw, hw->phy.ops.setup_link, (hw),
602 * @hw: pointer to hardware structure
608 s32 ixgbe_setup_internal_phy(struct ixgbe_hw *hw)
610 return ixgbe_call_func(hw, hw->phy.ops.setup_internal_link, (hw),
616 * @hw: pointer to hardware structure
623 s32 ixgbe_check_phy_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
626 return ixgbe_call_func(hw, hw->phy.ops.check_link, (hw, speed,
632 * @hw: pointer to hardware structure
638 s32 ixgbe_setup_phy_link_speed(struct ixgbe_hw *hw, ixgbe_link_speed speed,
641 return ixgbe_call_func(hw, hw->phy.ops.setup_link_speed, (hw, speed,
648 * @hw: pointer to hardware structure
651 s32 ixgbe_set_phy_power(struct ixgbe_hw *hw, bool on)
653 return ixgbe_call_func(hw, hw->phy.ops.set_phy_power, (hw, on),
659 * @hw: pointer to hardware structure
666 s32 ixgbe_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
669 return ixgbe_call_func(hw, hw->mac.ops.check_link, (hw, speed,
676 * @hw: pointer to hardware structure
680 void ixgbe_disable_tx_laser(struct ixgbe_hw *hw)
682 if (hw->mac.ops.disable_tx_laser)
683 hw->mac.ops.disable_tx_laser(hw);
688 * @hw: pointer to hardware structure
692 void ixgbe_enable_tx_laser(struct ixgbe_hw *hw)
694 if (hw->mac.ops.enable_tx_laser)
695 hw->mac.ops.enable_tx_laser(hw);
700 * @hw: pointer to hardware structure
706 void ixgbe_flap_tx_laser(struct ixgbe_hw *hw)
708 if (hw->mac.ops.flap_tx_laser)
709 hw->mac.ops.flap_tx_laser(hw);
714 * @hw: pointer to hardware structure
721 s32 ixgbe_setup_link(struct ixgbe_hw *hw, ixgbe_link_speed speed,
724 return ixgbe_call_func(hw, hw->mac.ops.setup_link, (hw, speed,
731 * @hw: pointer to hardware structure
738 s32 ixgbe_setup_mac_link(struct ixgbe_hw *hw, ixgbe_link_speed speed,
741 return ixgbe_call_func(hw, hw->mac.ops.setup_mac_link, (hw, speed,
748 * @hw: pointer to hardware structure
754 s32 ixgbe_get_link_capabilities(struct ixgbe_hw *hw, ixgbe_link_speed *speed,
757 return ixgbe_call_func(hw, hw->mac.ops.get_link_capabilities, (hw,
763 * @hw: pointer to hardware structure
768 s32 ixgbe_led_on(struct ixgbe_hw *hw, u32 index)
770 return ixgbe_call_func(hw, hw->mac.ops.led_on, (hw, index),
776 * @hw: pointer to hardware structure
781 s32 ixgbe_led_off(struct ixgbe_hw *hw, u32 index)
783 return ixgbe_call_func(hw, hw->mac.ops.led_off, (hw, index),
789 * @hw: pointer to hardware structure
794 s32 ixgbe_blink_led_start(struct ixgbe_hw *hw, u32 index)
796 return ixgbe_call_func(hw, hw->mac.ops.blink_led_start, (hw, index),
802 * @hw: pointer to hardware structure
807 s32 ixgbe_blink_led_stop(struct ixgbe_hw *hw, u32 index)
809 return ixgbe_call_func(hw, hw->mac.ops.blink_led_stop, (hw, index),
815 * @hw: pointer to hardware structure
820 s32 ixgbe_init_eeprom_params(struct ixgbe_hw *hw)
822 return ixgbe_call_func(hw, hw->eeprom.ops.init_params, (hw),
829 * @hw: pointer to hardware structure
837 s32 ixgbe_write_eeprom(struct ixgbe_hw *hw, u16 offset, u16 data)
839 return ixgbe_call_func(hw, hw->eeprom.ops.write, (hw, offset, data),
845 * @hw: pointer to hardware structure
854 s32 ixgbe_write_eeprom_buffer(struct ixgbe_hw *hw, u16 offset, u16 words,
857 return ixgbe_call_func(hw, hw->eeprom.ops.write_buffer,
858 (hw, offset, words, data),
864 * @hw: pointer to hardware structure
870 s32 ixgbe_read_eeprom(struct ixgbe_hw *hw, u16 offset, u16 *data)
872 return ixgbe_call_func(hw, hw->eeprom.ops.read, (hw, offset, data),
878 * @hw: pointer to hardware structure
885 s32 ixgbe_read_eeprom_buffer(struct ixgbe_hw *hw, u16 offset,
888 return ixgbe_call_func(hw, hw->eeprom.ops.read_buffer,
889 (hw, offset, words, data),
895 * @hw: pointer to hardware structure
900 s32 ixgbe_validate_eeprom_checksum(struct ixgbe_hw *hw, u16 *checksum_val)
902 return ixgbe_call_func(hw, hw->eeprom.ops.validate_checksum,
903 (hw, checksum_val), IXGBE_NOT_IMPLEMENTED);
908 * @hw: pointer to hardware structure
910 s32 ixgbe_update_eeprom_checksum(struct ixgbe_hw *hw)
912 return ixgbe_call_func(hw, hw->eeprom.ops.update_checksum, (hw),
918 * @hw: pointer to hardware structure
925 s32 ixgbe_insert_mac_addr(struct ixgbe_hw *hw, u8 *addr, u32 vmdq)
927 return ixgbe_call_func(hw, hw->mac.ops.insert_mac_addr,
928 (hw, addr, vmdq),
934 * @hw: pointer to hardware structure
942 s32 ixgbe_set_rar(struct ixgbe_hw *hw, u32 index, u8 *addr, u32 vmdq,
945 return ixgbe_call_func(hw, hw->mac.ops.set_rar, (hw, index, addr, vmdq,
951 * @hw: pointer to hardware structure
956 s32 ixgbe_clear_rar(struct ixgbe_hw *hw, u32 index)
958 return ixgbe_call_func(hw, hw->mac.ops.clear_rar, (hw, index),
964 * @hw: pointer to hardware structure
968 s32 ixgbe_set_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq)
970 return ixgbe_call_func(hw, hw->mac.ops.set_vmdq, (hw, rar, vmdq),
977 * @hw: pointer to hardware structure
980 s32 ixgbe_set_vmdq_san_mac(struct ixgbe_hw *hw, u32 vmdq)
982 return ixgbe_call_func(hw, hw->mac.ops.set_vmdq_san_mac,
983 (hw, vmdq), IXGBE_NOT_IMPLEMENTED);
988 * @hw: pointer to hardware structure
992 s32 ixgbe_clear_vmdq(struct ixgbe_hw *hw, u32 rar, u32 vmdq)
994 return ixgbe_call_func(hw, hw->mac.ops.clear_vmdq, (hw, rar, vmdq),
1000 * @hw: pointer to hardware structure
1006 s32 ixgbe_init_rx_addrs(struct ixgbe_hw *hw)
1008 return ixgbe_call_func(hw, hw->mac.ops.init_rx_addrs, (hw),
1014 * @hw: pointer to hardware structure
1016 u32 ixgbe_get_num_rx_addrs(struct ixgbe_hw *hw)
1018 return hw->mac.num_rar_entries;
1023 * @hw: pointer to hardware structure
1032 s32 ixgbe_update_uc_addr_list(struct ixgbe_hw *hw, u8 *addr_list,
1035 return ixgbe_call_func(hw, hw->mac.ops.update_uc_addr_list, (hw,
1042 * @hw: pointer to hardware structure
1053 s32 ixgbe_update_mc_addr_list(struct ixgbe_hw *hw, u8 *mc_addr_list,
1057 return ixgbe_call_func(hw, hw->mac.ops.update_mc_addr_list, (hw,
1064 * @hw: pointer to hardware structure
1068 s32 ixgbe_enable_mc(struct ixgbe_hw *hw)
1070 return ixgbe_call_func(hw, hw->mac.ops.enable_mc, (hw),
1076 * @hw: pointer to hardware structure
1080 s32 ixgbe_disable_mc(struct ixgbe_hw *hw)
1082 return ixgbe_call_func(hw, hw->mac.ops.disable_mc, (hw),
1088 * @hw: pointer to hardware structure
1092 s32 ixgbe_clear_vfta(struct ixgbe_hw *hw)
1094 return ixgbe_call_func(hw, hw->mac.ops.clear_vfta, (hw),
1100 * @hw: pointer to hardware structure
1108 s32 ixgbe_set_vfta(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on,
1111 return ixgbe_call_func(hw, hw->mac.ops.set_vfta, (hw, vlan, vind,
1117 * @hw: pointer to hardware structure
1128 s32 ixgbe_set_vlvf(struct ixgbe_hw *hw, u32 vlan, u32 vind, bool vlan_on,
1131 return ixgbe_call_func(hw, hw->mac.ops.set_vlvf, (hw, vlan, vind,
1138 * @hw: pointer to hardware structure
1143 s32 ixgbe_toggle_txdctl(struct ixgbe_hw *hw, u32 vind)
1145 return ixgbe_call_func(hw, hw->mac.ops.toggle_txdctl, (hw,
1151 * @hw: pointer to hardware structure
1155 s32 ixgbe_fc_enable(struct ixgbe_hw *hw)
1157 return ixgbe_call_func(hw, hw->mac.ops.fc_enable, (hw),
1163 * @hw: pointer to hardware structure
1167 s32 ixgbe_setup_fc(struct ixgbe_hw *hw)
1169 return ixgbe_call_func(hw, hw->mac.ops.setup_fc, (hw),
1175 * @hw: pointer to hardware structure
1183 s32 ixgbe_set_fw_drv_ver(struct ixgbe_hw *hw, u8 maj, u8 min, u8 build,
1186 return ixgbe_call_func(hw, hw->mac.ops.set_fw_drv_ver, (hw, maj, min,
1194 * @hw: pointer to hardware structure
1198 s32 ixgbe_get_thermal_sensor_data(struct ixgbe_hw *hw)
1200 return ixgbe_call_func(hw, hw->mac.ops.get_thermal_sensor_data, (hw),
1206 * @hw: pointer to hardware structure
1210 s32 ixgbe_init_thermal_sensor_thresh(struct ixgbe_hw *hw)
1212 return ixgbe_call_func(hw, hw->mac.ops.init_thermal_sensor_thresh, (hw),
1218 * @hw: pointer to hardware structure
1223 s32 ixgbe_dmac_config(struct ixgbe_hw *hw)
1225 return ixgbe_call_func(hw, hw->mac.ops.dmac_config, (hw),
1231 * @hw: pointer to hardware structure
1235 s32 ixgbe_dmac_update_tcs(struct ixgbe_hw *hw)
1237 return ixgbe_call_func(hw, hw->mac.ops.dmac_update_tcs, (hw),
1243 * @hw: pointer to hardware structure
1248 s32 ixgbe_dmac_config_tcs(struct ixgbe_hw *hw)
1250 return ixgbe_call_func(hw, hw->mac.ops.dmac_config_tcs, (hw),
1256 * @hw: pointer to the HW structure
1264 s32 ixgbe_setup_eee(struct ixgbe_hw *hw, bool enable_eee)
1266 return ixgbe_call_func(hw, hw->mac.ops.setup_eee, (hw, enable_eee),
1272 * @hw: pointer to hardware structure
1276 void ixgbe_set_source_address_pruning(struct ixgbe_hw *hw, bool enable,
1279 if (hw->mac.ops.set_source_address_pruning)
1280 hw->mac.ops.set_source_address_pruning(hw, enable, pool);
1285 * @hw: pointer to hardware structure
1290 void ixgbe_set_ethertype_anti_spoofing(struct ixgbe_hw *hw, bool enable, int vf)
1292 if (hw->mac.ops.set_ethertype_anti_spoofing)
1293 hw->mac.ops.set_ethertype_anti_spoofing(hw, enable, vf);
1298 * @hw: pointer to hardware structure
1305 s32 ixgbe_read_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr,
1308 return ixgbe_call_func(hw, hw->mac.ops.read_iosf_sb_reg, (hw, reg_addr,
1314 * @hw: pointer to hardware structure
1321 s32 ixgbe_write_iosf_sb_reg(struct ixgbe_hw *hw, u32 reg_addr,
1324 return ixgbe_call_func(hw, hw->mac.ops.write_iosf_sb_reg, (hw, reg_addr,
1330 * @hw: pointer to hardware structure
1333 void ixgbe_disable_mdd(struct ixgbe_hw *hw)
1335 if (hw->mac.ops.disable_mdd)
1336 hw->mac.ops.disable_mdd(hw);
1341 * @hw: pointer to hardware structure
1344 void ixgbe_enable_mdd(struct ixgbe_hw *hw)
1346 if (hw->mac.ops.enable_mdd)
1347 hw->mac.ops.enable_mdd(hw);
1352 * @hw: pointer to hardware structure
1356 void ixgbe_mdd_event(struct ixgbe_hw *hw, u32 *vf_bitmap)
1358 if (hw->mac.ops.mdd_event)
1359 hw->mac.ops.mdd_event(hw, vf_bitmap);
1365 * @hw: pointer to hardware structure
1369 void ixgbe_restore_mdd_vf(struct ixgbe_hw *hw, u32 vf)
1371 if (hw->mac.ops.restore_mdd_vf)
1372 hw->mac.ops.restore_mdd_vf(hw, vf);
1377 * @hw: pointer to hardware structure
1380 bool ixgbe_fw_recovery_mode(struct ixgbe_hw *hw)
1382 if (hw->mac.ops.fw_recovery_mode)
1383 return hw->mac.ops.fw_recovery_mode(hw);
1389 * @hw: pointer to hardware structure
1394 s32 ixgbe_enter_lplu(struct ixgbe_hw *hw)
1396 return ixgbe_call_func(hw, hw->phy.ops.enter_lplu, (hw),
1402 * @hw: pointer to hardware structure
1411 s32 ixgbe_handle_lasi(struct ixgbe_hw *hw)
1413 return ixgbe_call_func(hw, hw->phy.ops.handle_lasi, (hw),
1419 * @hw: pointer to hardware structure
1425 s32 ixgbe_bypass_rw(struct ixgbe_hw *hw, u32 cmd, u32 *status)
1427 return ixgbe_call_func(hw, hw->mac.ops.bypass_rw, (hw, cmd, status),
1433 * @hw: pointer to hardware structure
1443 bool ixgbe_bypass_valid_rd(struct ixgbe_hw *hw, u32 in_reg, u32 out_reg)
1445 return ixgbe_call_func(hw, hw->mac.ops.bypass_valid_rd,
1451 * @hw: pointer to hardware structure
1461 s32 ixgbe_bypass_set(struct ixgbe_hw *hw, u32 cmd, u32 event, u32 action)
1463 return ixgbe_call_func(hw, hw->mac.ops.bypass_set,
1464 (hw, cmd, event, action),
1470 * @hw: pointer to hardware structure
1474 s32 ixgbe_bypass_rd_eep(struct ixgbe_hw *hw, u32 addr, u8 *value)
1476 return ixgbe_call_func(hw, hw->mac.ops.bypass_rd_eep,
1477 (hw, addr, value), IXGBE_NOT_IMPLEMENTED);
1482 * @hw: pointer to hardware structure
1488 s32 ixgbe_read_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 *val)
1490 return ixgbe_call_func(hw, hw->mac.ops.read_analog_reg8, (hw, reg,
1496 * @hw: pointer to hardware structure
1502 s32 ixgbe_write_analog_reg8(struct ixgbe_hw *hw, u32 reg, u8 val)
1504 return ixgbe_call_func(hw, hw->mac.ops.write_analog_reg8, (hw, reg,
1510 * @hw: pointer to hardware structure
1515 s32 ixgbe_init_uta_tables(struct ixgbe_hw *hw)
1517 return ixgbe_call_func(hw, hw->mac.ops.init_uta_tables, (hw),
1523 * @hw: pointer to hardware structure
1530 s32 ixgbe_read_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr,
1533 return ixgbe_call_func(hw, hw->phy.ops.read_i2c_byte, (hw, byte_offset,
1539 * @hw: pointer to hardware structure
1546 s32 ixgbe_read_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
1549 return ixgbe_call_func(hw, hw->phy.ops.read_i2c_byte_unlocked,
1550 (hw, byte_offset, dev_addr, data),
1556 * @hw: pointer to the hardware structure
1563 s32 ixgbe_read_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
1565 return ixgbe_call_func(hw, hw->link.ops.read_link, (hw, addr,
1571 * @hw: pointer to the hardware structure
1578 s32 ixgbe_read_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 *val)
1580 return ixgbe_call_func(hw, hw->link.ops.read_link_unlocked,
1581 (hw, addr, reg, val), IXGBE_NOT_IMPLEMENTED);
1586 * @hw: pointer to hardware structure
1594 s32 ixgbe_write_i2c_byte(struct ixgbe_hw *hw, u8 byte_offset, u8 dev_addr,
1597 return ixgbe_call_func(hw, hw->phy.ops.write_i2c_byte, (hw, byte_offset,
1603 * @hw: pointer to hardware structure
1611 s32 ixgbe_write_i2c_byte_unlocked(struct ixgbe_hw *hw, u8 byte_offset,
1614 return ixgbe_call_func(hw, hw->phy.ops.write_i2c_byte_unlocked,
1615 (hw, byte_offset, dev_addr, data),
1621 * @hw: pointer to the hardware structure
1628 s32 ixgbe_write_link(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
1630 return ixgbe_call_func(hw, hw->link.ops.write_link,
1631 (hw, addr, reg, val), IXGBE_NOT_IMPLEMENTED);
1636 * @hw: pointer to the hardware structure
1643 s32 ixgbe_write_link_unlocked(struct ixgbe_hw *hw, u8 addr, u16 reg, u16 val)
1645 return ixgbe_call_func(hw, hw->link.ops.write_link_unlocked,
1646 (hw, addr, reg, val), IXGBE_NOT_IMPLEMENTED);
1651 * @hw: pointer to hardware structure
1657 s32 ixgbe_write_i2c_eeprom(struct ixgbe_hw *hw,
1660 return ixgbe_call_func(hw, hw->phy.ops.write_i2c_eeprom,
1661 (hw, byte_offset, eeprom_data),
1667 * @hw: pointer to hardware structure
1673 s32 ixgbe_read_i2c_eeprom(struct ixgbe_hw *hw, u8 byte_offset, u8 *eeprom_data)
1675 return ixgbe_call_func(hw, hw->phy.ops.read_i2c_eeprom,
1676 (hw, byte_offset, eeprom_data),
1682 * @hw: pointer to hardware structure
1686 u64 ixgbe_get_supported_physical_layer(struct ixgbe_hw *hw)
1688 return ixgbe_call_func(hw, hw->mac.ops.get_supported_physical_layer,
1689 (hw), IXGBE_PHYSICAL_LAYER_UNKNOWN);
1694 * @hw: pointer to hardware structure
1699 s32 ixgbe_enable_rx_dma(struct ixgbe_hw *hw, u32 regval)
1701 return ixgbe_call_func(hw, hw->mac.ops.enable_rx_dma,
1702 (hw, regval), IXGBE_NOT_IMPLEMENTED);
1707 * @hw: pointer to hardware structure
1711 s32 ixgbe_disable_sec_rx_path(struct ixgbe_hw *hw)
1713 return ixgbe_call_func(hw, hw->mac.ops.disable_sec_rx_path,
1714 (hw), IXGBE_NOT_IMPLEMENTED);
1719 * @hw: pointer to hardware structure
1723 s32 ixgbe_enable_sec_rx_path(struct ixgbe_hw *hw)
1725 return ixgbe_call_func(hw, hw->mac.ops.enable_sec_rx_path,
1726 (hw), IXGBE_NOT_IMPLEMENTED);
1731 * @hw: pointer to hardware structure
1737 s32 ixgbe_acquire_swfw_semaphore(struct ixgbe_hw *hw, u32 mask)
1739 return ixgbe_call_func(hw, hw->mac.ops.acquire_swfw_sync,
1740 (hw, mask), IXGBE_NOT_IMPLEMENTED);
1745 * @hw: pointer to hardware structure
1751 void ixgbe_release_swfw_semaphore(struct ixgbe_hw *hw, u32 mask)
1753 if (hw->mac.ops.release_swfw_sync)
1754 hw->mac.ops.release_swfw_sync(hw, mask);
1759 * @hw: pointer to hardware structure
1766 void ixgbe_init_swfw_semaphore(struct ixgbe_hw *hw)
1768 if (hw->mac.ops.init_swfw_sync)
1769 hw->mac.ops.init_swfw_sync(hw);
1773 void ixgbe_disable_rx(struct ixgbe_hw *hw)
1775 if (hw->mac.ops.disable_rx)
1776 hw->mac.ops.disable_rx(hw);
1779 void ixgbe_enable_rx(struct ixgbe_hw *hw)
1781 if (hw->mac.ops.enable_rx)
1782 hw->mac.ops.enable_rx(hw);
1787 * @hw: pointer to hardware structure
1792 void ixgbe_set_rate_select_speed(struct ixgbe_hw *hw, ixgbe_link_speed speed)
1794 if (hw->mac.ops.set_rate_select_speed)
1795 hw->mac.ops.set_rate_select_speed(hw, speed);