Lines Matching refs:link_info

4301 	if (bp->link_info.link_up)  in bnxt_tx_enable()
4307 if (bp->link_info.link_up) { in bnxt_report_link()
4313 if (bp->link_info.duplex == BNXT_LINK_DUPLEX_FULL) in bnxt_report_link()
4317 if (bp->link_info.pause == BNXT_LINK_PAUSE_BOTH) in bnxt_report_link()
4319 else if (bp->link_info.pause == BNXT_LINK_PAUSE_TX) in bnxt_report_link()
4321 else if (bp->link_info.pause == BNXT_LINK_PAUSE_RX) in bnxt_report_link()
4325 speed = bnxt_fw_to_ethtool_speed(bp->link_info.link_speed); in bnxt_report_link()
4337 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_update_link() local
4340 u8 link_up = link_info->link_up; in bnxt_update_link()
4351 memcpy(&link_info->phy_qcfg_resp, resp, sizeof(*resp)); in bnxt_update_link()
4352 link_info->phy_link_status = resp->link; in bnxt_update_link()
4353 link_info->duplex = resp->duplex; in bnxt_update_link()
4354 link_info->pause = resp->pause; in bnxt_update_link()
4355 link_info->auto_mode = resp->auto_mode; in bnxt_update_link()
4356 link_info->auto_pause_setting = resp->auto_pause; in bnxt_update_link()
4357 link_info->force_pause_setting = resp->force_pause; in bnxt_update_link()
4358 link_info->duplex_setting = resp->duplex_setting; in bnxt_update_link()
4359 if (link_info->phy_link_status == BNXT_LINK_LINK) in bnxt_update_link()
4360 link_info->link_speed = le16_to_cpu(resp->link_speed); in bnxt_update_link()
4362 link_info->link_speed = 0; in bnxt_update_link()
4363 link_info->force_link_speed = le16_to_cpu(resp->force_link_speed); in bnxt_update_link()
4364 link_info->auto_link_speed = le16_to_cpu(resp->auto_link_speed); in bnxt_update_link()
4365 link_info->support_speeds = le16_to_cpu(resp->support_speeds); in bnxt_update_link()
4366 link_info->auto_link_speeds = le16_to_cpu(resp->auto_link_speed_mask); in bnxt_update_link()
4367 link_info->preemphasis = le32_to_cpu(resp->preemphasis); in bnxt_update_link()
4368 link_info->phy_ver[0] = resp->phy_maj; in bnxt_update_link()
4369 link_info->phy_ver[1] = resp->phy_min; in bnxt_update_link()
4370 link_info->phy_ver[2] = resp->phy_bld; in bnxt_update_link()
4371 link_info->media_type = resp->media_type; in bnxt_update_link()
4372 link_info->transceiver = resp->transceiver_type; in bnxt_update_link()
4373 link_info->phy_addr = resp->phy_addr; in bnxt_update_link()
4377 if (link_info->phy_link_status == BNXT_LINK_LINK) in bnxt_update_link()
4378 link_info->link_up = 1; in bnxt_update_link()
4380 link_info->link_up = 0; in bnxt_update_link()
4381 if (link_up != link_info->link_up) in bnxt_update_link()
4385 link_info->link_up = 0; in bnxt_update_link()
4394 if (bp->link_info.autoneg & BNXT_AUTONEG_FLOW_CTRL) { in bnxt_hwrm_set_pause_common()
4395 if (bp->link_info.req_flow_ctrl & BNXT_LINK_PAUSE_RX) in bnxt_hwrm_set_pause_common()
4397 if (bp->link_info.req_flow_ctrl & BNXT_LINK_PAUSE_TX) in bnxt_hwrm_set_pause_common()
4402 if (bp->link_info.req_flow_ctrl & BNXT_LINK_PAUSE_RX) in bnxt_hwrm_set_pause_common()
4404 if (bp->link_info.req_flow_ctrl & BNXT_LINK_PAUSE_TX) in bnxt_hwrm_set_pause_common()
4414 u8 autoneg = bp->link_info.autoneg; in bnxt_hwrm_set_link_common()
4415 u16 fw_link_speed = bp->link_info.req_link_speed; in bnxt_hwrm_set_link_common()
4416 u32 advertising = bp->link_info.advertising; in bnxt_hwrm_set_link_common()
4449 if ((bp->link_info.autoneg & BNXT_AUTONEG_FLOW_CTRL) || in bnxt_hwrm_set_pause()
4450 bp->link_info.force_link_chng) in bnxt_hwrm_set_pause()
4455 if (!rc && !(bp->link_info.autoneg & BNXT_AUTONEG_FLOW_CTRL)) { in bnxt_hwrm_set_pause()
4460 bp->link_info.pause = in bnxt_hwrm_set_pause()
4461 bp->link_info.force_pause_setting = bp->link_info.req_flow_ctrl; in bnxt_hwrm_set_pause()
4462 bp->link_info.auto_pause_setting = 0; in bnxt_hwrm_set_pause()
4463 if (!bp->link_info.force_link_chng) in bnxt_hwrm_set_pause()
4466 bp->link_info.force_link_chng = false; in bnxt_hwrm_set_pause()
4488 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_update_phy_setting() local
4496 if ((link_info->autoneg & BNXT_AUTONEG_FLOW_CTRL) && in bnxt_update_phy_setting()
4497 link_info->auto_pause_setting != link_info->req_flow_ctrl) in bnxt_update_phy_setting()
4499 if (!(link_info->autoneg & BNXT_AUTONEG_FLOW_CTRL) && in bnxt_update_phy_setting()
4500 link_info->force_pause_setting != link_info->req_flow_ctrl) in bnxt_update_phy_setting()
4502 if (link_info->req_duplex != link_info->duplex_setting) in bnxt_update_phy_setting()
4504 if (!(link_info->autoneg & BNXT_AUTONEG_SPEED)) { in bnxt_update_phy_setting()
4505 if (BNXT_AUTO_MODE(link_info->auto_mode)) in bnxt_update_phy_setting()
4507 if (link_info->req_link_speed != link_info->force_link_speed) in bnxt_update_phy_setting()
4510 if (link_info->auto_mode == BNXT_LINK_AUTO_NONE) in bnxt_update_phy_setting()
4512 if (link_info->advertising != link_info->auto_link_speeds) in bnxt_update_phy_setting()
4514 if (link_info->req_link_speed != link_info->auto_link_speed) in bnxt_update_phy_setting()
5567 struct bnxt_link_info *link_info = &bp->link_info; in bnxt_probe_phy() local
5578 if (BNXT_AUTO_MODE(link_info->auto_mode)) in bnxt_probe_phy()
5579 link_info->autoneg |= BNXT_AUTONEG_SPEED; in bnxt_probe_phy()
5581 if (link_info->auto_pause_setting & BNXT_LINK_PAUSE_BOTH) { in bnxt_probe_phy()
5582 if (link_info->auto_pause_setting == BNXT_LINK_PAUSE_BOTH) in bnxt_probe_phy()
5583 link_info->autoneg |= BNXT_AUTONEG_FLOW_CTRL; in bnxt_probe_phy()
5584 link_info->req_flow_ctrl = link_info->auto_pause_setting; in bnxt_probe_phy()
5585 } else if (link_info->force_pause_setting & BNXT_LINK_PAUSE_BOTH) { in bnxt_probe_phy()
5586 link_info->req_flow_ctrl = link_info->force_pause_setting; in bnxt_probe_phy()
5588 link_info->req_duplex = link_info->duplex_setting; in bnxt_probe_phy()
5589 if (link_info->autoneg & BNXT_AUTONEG_SPEED) in bnxt_probe_phy()
5590 link_info->req_link_speed = link_info->auto_link_speed; in bnxt_probe_phy()
5592 link_info->req_link_speed = link_info->force_link_speed; in bnxt_probe_phy()
5593 link_info->advertising = link_info->auto_link_speeds; in bnxt_probe_phy()
5595 link_info->phy_ver[0], in bnxt_probe_phy()
5596 link_info->phy_ver[1], in bnxt_probe_phy()
5597 link_info->phy_ver[2]); in bnxt_probe_phy()