Lines Matching refs:link_info
441 static u32 bnxt_fw_to_ethtool_support_spds(struct bnxt_link_info *link_info) in bnxt_fw_to_ethtool_support_spds() argument
443 u16 fw_speeds = link_info->support_speeds; in bnxt_fw_to_ethtool_support_spds()
467 static u32 bnxt_fw_to_ethtool_advertised_spds(struct bnxt_link_info *link_info) in bnxt_fw_to_ethtool_advertised_spds() argument
469 u16 fw_speeds = link_info->auto_link_speeds; in bnxt_fw_to_ethtool_advertised_spds()
521 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_get_settings() local
524 cmd->supported = bnxt_fw_to_ethtool_support_spds(link_info); in bnxt_get_settings()
526 if (link_info->auto_link_speeds) in bnxt_get_settings()
529 if (BNXT_AUTO_MODE(link_info->auto_mode)) { in bnxt_get_settings()
531 bnxt_fw_to_ethtool_advertised_spds(link_info); in bnxt_get_settings()
538 if (link_info->auto_pause_setting & BNXT_LINK_PAUSE_BOTH) { in bnxt_get_settings()
539 if ((link_info->auto_pause_setting & BNXT_LINK_PAUSE_BOTH) == in bnxt_get_settings()
546 if (link_info->auto_pause_setting & in bnxt_get_settings()
550 } else if (link_info->force_pause_setting & BNXT_LINK_PAUSE_BOTH) { in bnxt_get_settings()
551 if ((link_info->force_pause_setting & BNXT_LINK_PAUSE_BOTH) == in bnxt_get_settings()
556 if (link_info->force_pause_setting & in bnxt_get_settings()
563 if (link_info->media_type == PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP) { in bnxt_get_settings()
571 if (link_info->media_type == PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC) in bnxt_get_settings()
573 else if (link_info->media_type == in bnxt_get_settings()
578 if (link_info->phy_link_status == BNXT_LINK_LINK) { in bnxt_get_settings()
579 if (link_info->duplex & BNXT_LINK_DUPLEX_FULL) in bnxt_get_settings()
584 ethtool_speed = bnxt_fw_to_ethtool_speed(link_info->link_speed); in bnxt_get_settings()
586 if (link_info->transceiver == in bnxt_get_settings()
591 cmd->phy_address = link_info->phy_addr; in bnxt_get_settings()
645 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_set_settings() local
653 if (link_info->media_type != PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP) { in bnxt_set_settings()
669 if (fw_advertising & ~link_info->support_speeds) { in bnxt_set_settings()
675 link_info->autoneg |= BNXT_AUTONEG_SPEED; in bnxt_set_settings()
677 link_info->advertising = link_info->support_speeds; in bnxt_set_settings()
679 link_info->advertising = fw_advertising; in bnxt_set_settings()
695 link_info->req_link_speed = bnxt_get_fw_speed(dev, speed); in bnxt_set_settings()
696 link_info->req_duplex = BNXT_LINK_DUPLEX_FULL; in bnxt_set_settings()
697 link_info->autoneg &= ~BNXT_AUTONEG_SPEED; in bnxt_set_settings()
698 link_info->advertising = 0; in bnxt_set_settings()
712 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_get_pauseparam() local
716 epause->autoneg = !!(link_info->auto_pause_setting & in bnxt_get_pauseparam()
718 epause->rx_pause = ((link_info->pause & BNXT_LINK_PAUSE_RX) != 0); in bnxt_get_pauseparam()
719 epause->tx_pause = ((link_info->pause & BNXT_LINK_PAUSE_TX) != 0); in bnxt_get_pauseparam()
727 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_set_pauseparam() local
733 link_info->autoneg |= BNXT_AUTONEG_FLOW_CTRL; in bnxt_set_pauseparam()
734 link_info->req_flow_ctrl |= BNXT_LINK_PAUSE_BOTH; in bnxt_set_pauseparam()
739 if (link_info->autoneg & BNXT_AUTONEG_FLOW_CTRL) in bnxt_set_pauseparam()
740 link_info->force_link_chng = true; in bnxt_set_pauseparam()
741 link_info->autoneg &= ~BNXT_AUTONEG_FLOW_CTRL; in bnxt_set_pauseparam()
742 link_info->req_flow_ctrl &= ~BNXT_LINK_PAUSE_BOTH; in bnxt_set_pauseparam()
745 link_info->req_flow_ctrl |= BNXT_LINK_PAUSE_RX; in bnxt_set_pauseparam()
747 link_info->req_flow_ctrl &= ~BNXT_LINK_PAUSE_RX; in bnxt_set_pauseparam()
750 link_info->req_flow_ctrl |= BNXT_LINK_PAUSE_TX; in bnxt_set_pauseparam()
752 link_info->req_flow_ctrl &= ~BNXT_LINK_PAUSE_TX; in bnxt_set_pauseparam()
764 return bp->link_info.link_up; in bnxt_get_link()