> > > + phydev->mdix = ETH_TP_MDI_AUTO; > > > > Humm, interesting. The only other driver supporting mdix is the > > Marvell one. It does not do this, it leaves it to its default value of > > ETH_TP_MDI_INVALID. It does however interpret ETH_TP_MDI_INVALID as > > meaning as ETH_TP_MDI_AUTO. > > > > There needs to be consistency here. You either need to do the same as > > the Marvell driver, or you need to modify the Marvell driver to also > > set phydev->mdix to ETH_TP_MDI_AUTO. > > > In Ethtool two variable i.e. eth_tp_mdix_ctrl, eth_tp_mdix use to update > the status. But, driver header is having one variable i.e. mdix. > Driver header should also have another variabl like mdix_ctrl. > Then, Ethtool can get/set the Auto MDIX/MDI. > In case, mdix is not configure with ETH_TP_MDI_AUTO, Ethtool shows error as > "setting MDI not supported" > > Please suggest me if you have any better method to fix this issue.
Maybe we should add a new flag for the .flags member of the phy_driver. If PHY_HAS_MDIX is set, the phy core will set phydev->mdix to ETH_TP_MDI_AUTO? Florian, what do you think? Andrew