Lines Matching refs:lc
154 struct link_config *lc = &adapter->port[port_id].link_config;
158 lc->speed = speed < 0 ? SPEED_INVALID : speed;
159 lc->duplex = duplex < 0 ? DUPLEX_INVALID : duplex;
160 if (!(lc->requested_fc & PAUSE_AUTONEG))
161 fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX);
163 if (link_ok && speed >= 0 && lc->autoneg == AUTONEG_ENABLE) {
168 lc->fc = (unsigned char)fc;
623 int t1_link_start(struct cphy *phy, struct cmac *mac, struct link_config *lc)
625 unsigned int fc = lc->requested_fc & (PAUSE_RX | PAUSE_TX);
627 if (lc->supported & SUPPORTED_Autoneg) {
628 lc->advertising &= ~(ADVERTISED_ASYM_PAUSE | ADVERTISED_PAUSE);
632 lc->advertising |= ADVERTISED_PAUSE;
634 lc->advertising |= ADVERTISED_ASYM_PAUSE;
636 lc->advertising |= ADVERTISED_PAUSE;
639 phy->ops->advertise(phy, lc->advertising);
641 if (lc->autoneg == AUTONEG_DISABLE) {
642 lc->speed = lc->requested_speed;
643 lc->duplex = lc->requested_duplex;
644 lc->fc = (unsigned char)fc;
645 mac->ops->set_speed_duplex_fc(mac, lc->speed,
646 lc->duplex, fc);
649 phy->ops->set_speed_duplex(phy, lc->speed, lc->duplex);
658 lc->fc = (unsigned char)fc;
1030 static void init_link_config(struct link_config *lc,
1033 lc->supported = bi->caps;
1034 lc->requested_speed = lc->speed = SPEED_INVALID;
1035 lc->requested_duplex = lc->duplex = DUPLEX_INVALID;
1036 lc->requested_fc = lc->fc = PAUSE_RX | PAUSE_TX;
1037 if (lc->supported & SUPPORTED_Autoneg) {
1038 lc->advertising = lc->supported;
1039 lc->autoneg = AUTONEG_ENABLE;
1040 lc->requested_fc |= PAUSE_AUTONEG;
1042 lc->advertising = 0;
1043 lc->autoneg = AUTONEG_DISABLE;