Lines Matching refs:link

401     rc = elink_phy_read(&pdev->params.link, phy_addr, dev_addr, reg, ret_val);  in lm_phy45_read()
429 rc = elink_phy_write(&pdev->params.link, phy_addr, dev_addr, reg, val); in lm_phy45_write()
686 if (!pdev->vars.link.link_up) in get_link_params()
713 real_speed = lm_get_speed_real_from_elink_line_speed(&pdev->vars.link); in get_link_params()
716 medium = lm_get_speed_medium_from_elink_line_speed(&pdev->vars.link); in get_link_params()
722 if (pdev->vars.link.duplex == DUPLEX_HALF ) in get_link_params()
728 if (pdev->vars.link.flow_ctrl & ELINK_FLOW_CTRL_RX) in get_link_params()
732 if (pdev->vars.link.flow_ctrl & ELINK_FLOW_CTRL_TX) in get_link_params()
739 if (GET_FLAGS(pdev->vars.link.eee_status,SHMEM_EEE_REQUESTED_BIT)) in get_link_params()
742 pdev->vars.eee_policy = pdev->vars.link.eee_status & SHMEM_EEE_TIMER_MASK; in get_link_params()
809 elink_lfa_reset(&pdev->params.link,&pdev->vars.link); in lm_reset_link()
826 (!pdev->vars.link.link_up)) in lm_cmng_update()
837 port_speed = lm_get_speed_real_from_elink_line_speed(&pdev->vars.link); in lm_cmng_update()
859 lm_reported_link_params->link = pdev->vars.link_status; in lm_link_fill_reported_data()
878 if( (LM_STATUS_LINK_DOWN == pdev->vars.last_reported_link_params.link) && in lm_link_report()
879 (LM_STATUS_LINK_DOWN == current_link_params.link) ) in lm_link_report()
890 if (pdev->vars.link.link_up) in lm_link_report()
896 if (pdev->vars.link.flow_ctrl & ELINK_FLOW_CTRL_TX) in lm_link_report()
902 pdev->vars.mac_type = pdev->vars.link.mac_type; in lm_link_report()
961 elink_link_update(&pdev->params.link,&pdev->vars.link); in lm_link_update()
972 if (pdev->params.link.multi_phy_config & PORT_HW_CFG_PHY_SWAPPED_ENABLED) in lm_set_phy_selection()
980 RESET_FLAGS( pdev->params.link.multi_phy_config, PORT_HW_CFG_PHY_SELECTION_MASK ); in lm_set_phy_selection()
981 SET_FLAGS( pdev->params.link.multi_phy_config, phy_sel); in lm_set_phy_selection()
988 if (pdev->params.link.multi_phy_config & PORT_HW_CFG_PHY_SWAPPED_ENABLED) in lm_set_phy_priority_selection()
996 RESET_FLAGS( pdev->params.link.multi_phy_config, PORT_HW_CFG_PHY_SELECTION_MASK ); in lm_set_phy_priority_selection()
997 SET_FLAGS( pdev->params.link.multi_phy_config, phy_sel); in lm_set_phy_priority_selection()
1019 RESET_FLAGS( pdev->params.link.multi_phy_config, PORT_HW_CFG_PHY_SELECTION_MASK ); in lm_set_phy_priority_mode()
1020 SET_FLAGS( pdev->params.link.multi_phy_config, pdev->hw_info.multi_phy_config); in lm_set_phy_priority_mode()
1027 if (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_BASE_T) in lm_set_phy_priority_mode()
1040 if ((pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_SFPP_10G_FIBER) || in lm_set_phy_priority_mode()
1041 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_SFP_1G_FIBER) || in lm_set_phy_priority_mode()
1042 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_XFP_FIBER) || in lm_set_phy_priority_mode()
1043 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_DA_TWINAX) || in lm_set_phy_priority_mode()
1044 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_NOT_PRESENT)) in lm_set_phy_priority_mode()
1054 RESET_FLAGS( pdev->params.link.multi_phy_config, PORT_HW_CFG_PHY_SELECTION_MASK ); in lm_set_phy_priority_mode()
1055 SET_FLAGS( pdev->params.link.multi_phy_config, PORT_HW_CFG_PHY_SELECTION_HARDWARE_DEFAULT); in lm_set_phy_priority_mode()
1136 pdev->params.link.req_duplex[phy_num] = DUPLEX_FULL; in lm_set_phy_link_params()
1139 pdev->params.link.req_duplex[phy_num] = DUPLEX_HALF; in lm_set_phy_link_params()
1145 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_AUTO_NEG; in lm_set_phy_link_params()
1148 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_10; in lm_set_phy_link_params()
1151 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_100; in lm_set_phy_link_params()
1154 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_1000; in lm_set_phy_link_params()
1157 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_2500; in lm_set_phy_link_params()
1160 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_10000; in lm_set_phy_link_params()
1163 pdev->params.link.req_line_speed[phy_num] = ELINK_SPEED_20000; in lm_set_phy_link_params()
1170 pdev->params.link.req_flow_ctrl[phy_num] = 0; in lm_set_phy_link_params()
1173 pdev->params.link.req_flow_ctrl[phy_num] = ELINK_FLOW_CTRL_NONE; in lm_set_phy_link_params()
1177 pdev->params.link.req_flow_ctrl[phy_num] = ELINK_FLOW_CTRL_AUTO; in lm_set_phy_link_params()
1185 pdev->params.link.req_flow_ctrl[phy_num] = ELINK_FLOW_CTRL_AUTO; in lm_set_phy_link_params()
1191 pdev->params.link.req_flow_ctrl[phy_num] |= ELINK_FLOW_CTRL_RX; in lm_set_phy_link_params()
1195 pdev->params.link.req_flow_ctrl[phy_num] |= ELINK_FLOW_CTRL_TX; in lm_set_phy_link_params()
1235 pdev->params.link.req_fc_auto_adv = req_fc_auto_adv; in lm_set_fc_auto_adv_params()
1255 struct elink_params *link = &pdev->params.link; in lm_init_phy() local
1286 …SET_FLAGS(pdev->params.link.feature_config_flags, ELINK_FEATURE_CONFIG_OVERRIDE_PREEMPHASIS_ENABLE… in lm_init_phy()
1287 … pdev->params.link.phy[ELINK_EXT_PHY1].rx_preemphasis[0] = (u16_t)pdev->params.preemphasis_rx_0; in lm_init_phy()
1288 … pdev->params.link.phy[ELINK_EXT_PHY1].rx_preemphasis[1] = (u16_t)pdev->params.preemphasis_rx_1; in lm_init_phy()
1289 … pdev->params.link.phy[ELINK_EXT_PHY1].rx_preemphasis[2] = (u16_t)pdev->params.preemphasis_rx_2; in lm_init_phy()
1290 … pdev->params.link.phy[ELINK_EXT_PHY1].rx_preemphasis[3] = (u16_t)pdev->params.preemphasis_rx_3; in lm_init_phy()
1291 … pdev->params.link.phy[ELINK_EXT_PHY1].tx_preemphasis[0] = (u16_t)pdev->params.preemphasis_tx_0; in lm_init_phy()
1292 … pdev->params.link.phy[ELINK_EXT_PHY1].tx_preemphasis[1] = (u16_t)pdev->params.preemphasis_tx_1; in lm_init_phy()
1293 … pdev->params.link.phy[ELINK_EXT_PHY1].tx_preemphasis[2] = (u16_t)pdev->params.preemphasis_tx_2; in lm_init_phy()
1294 … pdev->params.link.phy[ELINK_EXT_PHY1].tx_preemphasis[3] = (u16_t)pdev->params.preemphasis_tx_3; in lm_init_phy()
1309 pdev->params.link.mac_addr[i] = pdev->params.mac_addr[i]; in lm_init_phy()
1319 sw_config = (u8_t)(pdev->params.link.switch_cfg>>PORT_FEATURE_CONNECTED_SWITCH_SHIFT); in lm_init_phy()
1339 … RESET_FLAGS(pdev->params.link.feature_config_flags, ELINK_FEATURE_CONFIG_AUTOGREEEN_ENABLED ); in lm_init_phy()
1341 RESET_FLAGS(pdev->params.link.eee_mode, // no EEE in lm_init_phy()
1349 … SET_FLAGS(pdev->params.link.feature_config_flags, ELINK_FEATURE_CONFIG_AUTOGREEEN_ENABLED ); in lm_init_phy()
1351 RESET_FLAGS(pdev->params.link.eee_mode, ELINK_EEE_MODE_OVERRIDE_NVRAM); in lm_init_phy()
1352 RESET_FLAGS(pdev->params.link.eee_mode, ELINK_EEE_MODE_NVRAM_MASK); in lm_init_phy()
1358 SET_FLAGS(pdev->params.link.eee_mode, in lm_init_phy()
1367 SET_FLAGS(pdev->params.link.eee_mode, in lm_init_phy()
1376 SET_FLAGS(pdev->params.link.eee_mode, in lm_init_phy()
1385 SET_FLAGS(pdev->params.link.eee_mode, in lm_init_phy()
1422 if ((ELINK_DUAL_MEDIA(link)) && in lm_init_phy()
1431 if (ELINK_DUAL_MEDIA(link)) in lm_init_phy()
1456 pdev->params.link.loopback_mode = ELINK_LOOPBACK_XGXS; in lm_init_phy()
1457 pdev->params.link.req_line_speed[0] = ELINK_SPEED_1000; in lm_init_phy()
1460 pdev->params.link.loopback_mode = ELINK_LOOPBACK_XGXS; in lm_init_phy()
1463 if (!pdev->params.link.req_line_speed[0]) in lm_init_phy()
1465 if (pdev->params.link.speed_cap_mask[0] & PORT_HW_CFG_SPEED_CAPABILITY2_D0_20G) in lm_init_phy()
1467 pdev->params.link.req_line_speed[0] = ELINK_SPEED_20000; in lm_init_phy()
1471 pdev->params.link.req_line_speed[0] = ELINK_SPEED_10000; in lm_init_phy()
1476 pdev->params.link.loopback_mode = ELINK_LOOPBACK_EMAC; in lm_init_phy()
1479 pdev->params.link.loopback_mode = ELINK_LOOPBACK_BMAC; in lm_init_phy()
1482 pdev->params.link.loopback_mode = ELINK_LOOPBACK_EXT_PHY; in lm_init_phy()
1483 if (pdev->params.link.speed_cap_mask[0] & PORT_HW_CFG_SPEED_CAPABILITY2_D0_20G) in lm_init_phy()
1485 pdev->params.link.req_line_speed[0] = ELINK_SPEED_20000; in lm_init_phy()
1487 else if (pdev->params.link.speed_cap_mask[0] & PORT_HW_CFG_SPEED_CAPABILITY2_D0_10G) in lm_init_phy()
1489 pdev->params.link.req_line_speed[0] = ELINK_SPEED_10000; in lm_init_phy()
1493 pdev->params.link.req_line_speed[0] = ELINK_SPEED_1000; in lm_init_phy()
1498 pdev->params.link.loopback_mode = ELINK_LOOPBACK_EXT; in lm_init_phy()
1501 pdev->params.link.loopback_mode = ELINK_LOOPBACK_XMAC; in lm_init_phy()
1504 pdev->params.link.loopback_mode = ELINK_LOOPBACK_UMAC; in lm_init_phy()
1507 pdev->params.link.loopback_mode = ELINK_LOOPBACK_NONE; in lm_init_phy()
1512 if (ELINK_DUAL_MEDIA(link)) in lm_init_phy()
1520 if ((pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_SFPP_10G_FIBER) || in lm_init_phy()
1521 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_SFP_1G_FIBER) || in lm_init_phy()
1522 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_XFP_FIBER) || in lm_init_phy()
1523 (pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_DA_TWINAX)) in lm_init_phy()
1536 if ((pdev->params.link.phy[i].media_type == ELINK_ETH_PHY_BASE_T)) in lm_init_phy()
1565 DbgMessage(pdev, WARN, "lm_init_phy: loopback_mode 0x%x\n",pdev->params.link.loopback_mode); in lm_init_phy()
1577 SET_FLAGS(pdev->params.link.feature_config_flags,ELINK_FEATURE_CONFIG_BOOT_FROM_SAN); in lm_init_phy()
1582 elink_status = elink_phy_init(&pdev->params.link,&pdev->vars.link); in lm_init_phy()
1587 elink_link_status_update(&pdev->params.link,&pdev->vars.link); in lm_init_phy()
1626 for( ext_phy_type = ELINK_EXT_PHY1; ext_phy_type < pdev->params.link.num_phys; ext_phy_type++ ) in lm_link_i2c_update()
1628 if(( ELINK_ETH_PHY_SFPP_10G_FIBER == pdev->params.link.phy[ext_phy_type].media_type )|| in lm_link_i2c_update()
1629 ( ELINK_ETH_PHY_SFP_1G_FIBER == pdev->params.link.phy[ext_phy_type].media_type )|| in lm_link_i2c_update()
1630 ( ELINK_ETH_PHY_DA_TWINAX == pdev->params.link.phy[ext_phy_type].media_type )) in lm_link_i2c_update()
1640 …elink_status = elink_read_sfp_module_eeprom( &pdev->params.link.phy[ext_phy_type], // ELINK_INT_PH… in lm_link_i2c_update()
1641 &pdev->params.link, in lm_link_i2c_update()
1675 …elink_status = elink_read_sfp_module_eeprom( &pdev->params.link.phy[ext_phy_type], // ELINK_INT_PH… in lm_link_i2c_update()
1676 &pdev->params.link, in lm_link_i2c_update()
1700 …elink_status = elink_read_sfp_module_eeprom( &pdev->params.link.phy[ext_phy_type], // ELINK_INT_PH… in lm_link_i2c_update()
1701 &pdev->params.link, in lm_link_i2c_update()
1756 elink_period_func(&pdev->params.link, &pdev->vars.link); in lm_link_on_timer()
1792 elink_status = elink_get_ext_phy_fw_version(&pdev->params.link, (u8_t *)sz_version, len ); in lm_get_external_phy_fw_version()
1851 elink_status = elink_phy_init(&pdev->params.link,&pdev->vars.link); in lm_update_external_phy_fw_prepare()
1857 elink_status = elink_link_reset(&pdev->params.link,&pdev->vars.link,0); in lm_update_external_phy_fw_prepare()
1872 switch( pdev->params.link.phy[ELINK_EXT_PHY1].type ) in lm_update_external_phy_fw_prepare()
1911 elink_status = elink_phy_init(&pdev->params.link,&pdev->vars.link); in lm_update_external_phy_fw_reinit()
1950 switch( pdev->params.link.phy[ELINK_EXT_PHY1].type ) in lm_update_external_phy_fw_done()
1964 ext_phy_addr = pdev->params.link.phy[ELINK_EXT_PHY1].addr; in lm_update_external_phy_fw_done()
1970 elink_sfx7101_sp_sw_reset(pdev, &pdev->params.link.phy[ELINK_EXT_PHY1] ); in lm_update_external_phy_fw_done()