* 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. **/
| 573 | * Does not touch the hardware. |
| 574 | **/ |
| 575 | s32 ixgbe_init_ops_X550EM(struct ixgbe_hw *hw) |
| 576 | { |
| 577 | struct ixgbe_mac_info *mac = &hw->mac; |
| 578 | struct ixgbe_eeprom_info *eeprom = &hw->eeprom; |
| 579 | struct ixgbe_phy_info *phy = &hw->phy; |
| 580 | s32 ret_val; |
| 581 | |
| 582 | DEBUGFUNC("ixgbe_init_ops_X550EM"); |
| 583 | |
| 584 | /* Similar to X550 so start there. */ |
| 585 | ret_val = ixgbe_init_ops_X550(hw); |
| 586 | |
| 587 | /* Since this function eventually calls |
| 588 | * ixgbe_init_ops_540 by design, we are setting |
| 589 | * the pointers to NULL explicitly here to overwrite |
| 590 | * the values being set in the x540 function. |
| 591 | */ |
| 592 | /* Thermal sensor not supported in x550EM */ |
| 593 | mac->ops.get_thermal_sensor_data = NULL; |
| 594 | mac->ops.init_thermal_sensor_thresh = NULL; |
| 595 | mac->thermal_sensor_enabled = false; |
| 596 | |
| 597 | /* FCOE not supported in x550EM */ |
| 598 | mac->ops.get_san_mac_addr = NULL; |
| 599 | mac->ops.set_san_mac_addr = NULL; |
| 600 | mac->ops.get_wwn_prefix = NULL; |
| 601 | mac->ops.get_fcoe_boot_status = NULL; |
| 602 | |
| 603 | /* IPsec not supported in x550EM */ |
| 604 | mac->ops.disable_sec_rx_path = NULL; |
| 605 | mac->ops.enable_sec_rx_path = NULL; |
| 606 | |
| 607 | /* AUTOC register is not present in x550EM. */ |
| 608 | mac->ops.prot_autoc_read = NULL; |
| 609 | mac->ops.prot_autoc_write = NULL; |
| 610 | |
| 611 | /* X550EM bus type is internal*/ |
| 612 | hw->bus.type = ixgbe_bus_type_internal; |
| 613 | mac->ops.get_bus_info = ixgbe_get_bus_info_X550em; |
| 614 | |
| 615 | |
| 616 | mac->ops.get_media_type = ixgbe_get_media_type_X550em; |
| 617 | mac->ops.setup_sfp = ixgbe_setup_sfp_modules_X550em; |
| 618 | mac->ops.get_link_capabilities = ixgbe_get_link_capabilities_X550em; |
| 619 | mac->ops.reset_hw = ixgbe_reset_hw_X550em; |
| 620 | mac->ops.get_supported_physical_layer = |
| 621 | ixgbe_get_supported_physical_layer_X550em; |
| 622 | |
| 623 | if (mac->ops.get_media_type(hw) == ixgbe_media_type_copper) |
| 624 | mac->ops.setup_fc = ixgbe_setup_fc_generic; |
| 625 | else |
| 626 | mac->ops.setup_fc = ixgbe_setup_fc_X550em; |
| 627 | |
| 628 | /* PHY */ |
| 629 | phy->ops.init = ixgbe_init_phy_ops_X550em; |
| 630 | switch (hw->device_id) { |
| 631 | case IXGBE_DEV_ID_X550EM_A_1G_T: |
| 632 | case IXGBE_DEV_ID_X550EM_A_1G_T_L: |
no test coverage detected