File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change 176
176
#define MII_M1011_PHY_STATUS_FULLDUPLEX 0x2000
177
177
#define MII_M1011_PHY_STATUS_RESOLVED 0x0800
178
178
#define MII_M1011_PHY_STATUS_LINK 0x0400
179
+ #define MII_M1011_PHY_STATUS_MDIX BIT(6)
179
180
180
181
#define MII_88E3016_PHY_SPEC_CTRL 0x10
181
182
#define MII_88E3016_DISABLE_SCRAMBLER 0x0200
@@ -1722,6 +1723,19 @@ static int marvell_read_status_page(struct phy_device *phydev, int page)
1722
1723
phydev -> duplex = DUPLEX_UNKNOWN ;
1723
1724
phydev -> port = fiber ? PORT_FIBRE : PORT_TP ;
1724
1725
1726
+ if (fiber ) {
1727
+ phydev -> mdix = ETH_TP_MDI_INVALID ;
1728
+ } else {
1729
+ /* The MDI-X state is set regardless of Autoneg being enabled
1730
+ * and reflects forced MDI-X state as well as auto resolution
1731
+ */
1732
+ if (status & MII_M1011_PHY_STATUS_RESOLVED )
1733
+ phydev -> mdix = status & MII_M1011_PHY_STATUS_MDIX ?
1734
+ ETH_TP_MDI_X : ETH_TP_MDI ;
1735
+ else
1736
+ phydev -> mdix = ETH_TP_MDI_INVALID ;
1737
+ }
1738
+
1725
1739
if (phydev -> autoneg == AUTONEG_ENABLE )
1726
1740
err = marvell_read_status_page_an (phydev , fiber , status );
1727
1741
else
You can’t perform that action at this time.
0 commit comments