`-| phy_start_aneg() `-| phy_config_aneg() `-| genphy_config_aneg() `-| __genphy_config_aneg() `-| genphy_setup_master_slave()// (1) 如果是千兆网口,配置其 master/slave `-| { | phy_modify_changed(phydev, MII_CTRL1000,// 配置 mdio 0x09 寄存器 | (CTL1000_ENABLE_MASTER ...
`-| phy_start_aneg() `-| phy_config_aneg() `-| genphy_config_aneg() `-| __genphy_config_aneg() `-| genphy_setup_master_slave() // (1) 如果是千兆网口,配置其 master/slave `-| { | phy_modify_changed(phydev, MII_CTRL1000, // 配置 mdio 0x09 寄存器 | (CTL1000_ENABLE_MAST...
needs_aneg =true;break;casePHY_NOLINK:if(phy_interrupt_is_valid(phydev))break; err = phy_read_status(phydev);if(err)break;if(phydev->link) {if(AUTONEG_ENABLE == phydev->autoneg) { err = phy_aneg_done(phydev);if(err <0)break;if(!err) { phydev->state = PHY_AN; phydev->...
15.phy_start_aneg //启动自动协商 16.phydev->drv->config_aneg(phydev); //这里将调用 genphy_config_aneg 17.genphy_config_aneg 18.genphy_config_advert //自动协商声明,关于其源码详见如下 19.phydev->state = PHY_AN; //设置为自动协商,设置phy的状态为 PHY_AN ---4--- 20./...
1.当phy_device处于PHY_UP状态时,则phy_device状态机处理接口,设置needs_aneg为1,调用phy_start_ange接口,进入PHY_AN状态或PHY_FORCING状态,进行phy_device的状态的协商; 2.在PHY_AN状态时,则phy_state_machine判断是否需要将状态跳转至PHY_RUNNING或PHY_NOLINK; ...
phy_start_aneg//启动自动协商 phydev->drv->config_aneg(phydev);//这里将调用 genphy_config_aneg genphy_config_aneg genphy_config_advert//自动协商声明,关于其源码详见如下 phydev->state=PHY_AN;//设置为自动协商,设置phy的状态为 PHY_AN ---4--- //此时...
cpsw_ndo_open->cpsw_slave_open -> PHY_UP -> phy_start_aneg -> genphy_config_aneg -> genphy_config_advert -> genphy_restart_aneg -> PHY_AN -> PHY_NOLINK(串口打印Down) -> phy_aneg_done -> PHY_RUNNING(串口打印Up) 注:在AN后出现NOLINK状态,我猜是因为自动协商需要时间,此时间大于1...
phy_start_aneg(priv->phydev); }return0; } 开发者ID:AsadRaza,项目名称:OCTEON-Linux,代码行数:32,代码来源:ethernet-mdio.c 示例2: fs_init_phy ▲点赞 7▼ staticintfs_init_phy(struct net_device *dev){structfs_enet_private*fep=netdev_priv(dev);structphy_device*phydev;u32 flags = fep-...
phy_start_aneg //启动自动协商 phydev->drv->config_aneg(phydev); //这里将调用 genphy_config_aneg genphy_config_aneg genphy_config_advert //自动协商声明,关于其源码详见如下 phydev->state = PHY_AN; //设置为自动协商,设置phy的状态为 PHY_AN ---4--- //此时...
当MAC 层加载时,在 PHY.start 后,phydev 状态切换为 PHY_UP。PHY_STARTING:phy 准备就绪,phy driver、mac 未准备好当MAC 加载时,PHY.start 后,phydev 状态为 PHY_PENDING。 当phy driver 加载时,phydev 状态为 PHY_READY。PHY_PENDING:phy、mac 准备就绪,phy driver 未准备好 当phy dirver 加载后,phdev...