* Set device link up: enable tx. */
| 645 | * Set device link up: enable tx. |
| 646 | */ |
| 647 | static int |
| 648 | atl_dev_set_link_up(struct rte_eth_dev *dev) |
| 649 | { |
| 650 | struct aq_hw_s *hw = ATL_DEV_PRIVATE_TO_HW(dev->data->dev_private); |
| 651 | uint32_t link_speeds = dev->data->dev_conf.link_speeds; |
| 652 | uint32_t speed_mask = 0; |
| 653 | |
| 654 | if (link_speeds == RTE_ETH_LINK_SPEED_AUTONEG) { |
| 655 | speed_mask = hw->aq_nic_cfg->link_speed_msk; |
| 656 | } else { |
| 657 | if (link_speeds & RTE_ETH_LINK_SPEED_10G) |
| 658 | speed_mask |= AQ_NIC_RATE_10G; |
| 659 | if (link_speeds & RTE_ETH_LINK_SPEED_5G) |
| 660 | speed_mask |= AQ_NIC_RATE_5G; |
| 661 | if (link_speeds & RTE_ETH_LINK_SPEED_1G) |
| 662 | speed_mask |= AQ_NIC_RATE_1G; |
| 663 | if (link_speeds & RTE_ETH_LINK_SPEED_2_5G) |
| 664 | speed_mask |= AQ_NIC_RATE_2G5; |
| 665 | if (link_speeds & RTE_ETH_LINK_SPEED_100M) |
| 666 | speed_mask |= AQ_NIC_RATE_100M; |
| 667 | } |
| 668 | |
| 669 | return hw->aq_fw_ops->set_link_speed(hw, speed_mask); |
| 670 | } |
| 671 | |
| 672 | /* |
| 673 | * Set device link down: disable tx. |