@@ -1428,7 +1428,7 @@ mii_wait_link (struct net_device *dev, int wait)
1428
1428
1429
1429
do {
1430
1430
bmsr = mii_read (dev , phy_addr , MII_BMSR );
1431
- if (bmsr & MII_BMSR_LINK_STATUS )
1431
+ if (bmsr & BMSR_LSTATUS )
1432
1432
return 0 ;
1433
1433
mdelay (1 );
1434
1434
} while (-- wait > 0 );
@@ -1449,60 +1449,60 @@ mii_get_media (struct net_device *dev)
1449
1449
1450
1450
bmsr = mii_read (dev , phy_addr , MII_BMSR );
1451
1451
if (np -> an_enable ) {
1452
- if (!(bmsr & MII_BMSR_AN_COMPLETE )) {
1452
+ if (!(bmsr & BMSR_ANEGCOMPLETE )) {
1453
1453
/* Auto-Negotiation not completed */
1454
1454
return -1 ;
1455
1455
}
1456
- negotiate = mii_read (dev , phy_addr , MII_ANAR ) &
1457
- mii_read (dev , phy_addr , MII_ANLPAR );
1458
- mscr = mii_read (dev , phy_addr , MII_MSCR );
1459
- mssr = mii_read (dev , phy_addr , MII_MSSR );
1460
- if (mscr & MII_MSCR_1000BT_FD && mssr & MII_MSSR_LP_1000BT_FD ) {
1456
+ negotiate = mii_read (dev , phy_addr , MII_ADVERTISE ) &
1457
+ mii_read (dev , phy_addr , MII_LPA );
1458
+ mscr = mii_read (dev , phy_addr , MII_CTRL1000 );
1459
+ mssr = mii_read (dev , phy_addr , MII_STAT1000 );
1460
+ if (mscr & ADVERTISE_1000FULL && mssr & LPA_1000FULL ) {
1461
1461
np -> speed = 1000 ;
1462
1462
np -> full_duplex = 1 ;
1463
1463
printk (KERN_INFO "Auto 1000 Mbps, Full duplex\n" );
1464
- } else if (mscr & MII_MSCR_1000BT_HD && mssr & MII_MSSR_LP_1000BT_HD ) {
1464
+ } else if (mscr & ADVERTISE_1000HALF && mssr & LPA_1000HALF ) {
1465
1465
np -> speed = 1000 ;
1466
1466
np -> full_duplex = 0 ;
1467
1467
printk (KERN_INFO "Auto 1000 Mbps, Half duplex\n" );
1468
- } else if (negotiate & MII_ANAR_100BX_FD ) {
1468
+ } else if (negotiate & ADVERTISE_100FULL ) {
1469
1469
np -> speed = 100 ;
1470
1470
np -> full_duplex = 1 ;
1471
1471
printk (KERN_INFO "Auto 100 Mbps, Full duplex\n" );
1472
- } else if (negotiate & MII_ANAR_100BX_HD ) {
1472
+ } else if (negotiate & ADVERTISE_100HALF ) {
1473
1473
np -> speed = 100 ;
1474
1474
np -> full_duplex = 0 ;
1475
1475
printk (KERN_INFO "Auto 100 Mbps, Half duplex\n" );
1476
- } else if (negotiate & MII_ANAR_10BT_FD ) {
1476
+ } else if (negotiate & ADVERTISE_10FULL ) {
1477
1477
np -> speed = 10 ;
1478
1478
np -> full_duplex = 1 ;
1479
1479
printk (KERN_INFO "Auto 10 Mbps, Full duplex\n" );
1480
- } else if (negotiate & MII_ANAR_10BT_HD ) {
1480
+ } else if (negotiate & ADVERTISE_10HALF ) {
1481
1481
np -> speed = 10 ;
1482
1482
np -> full_duplex = 0 ;
1483
1483
printk (KERN_INFO "Auto 10 Mbps, Half duplex\n" );
1484
1484
}
1485
- if (negotiate & MII_ANAR_PAUSE ) {
1485
+ if (negotiate & ADVERTISE_PAUSE_CAP ) {
1486
1486
np -> tx_flow &= 1 ;
1487
1487
np -> rx_flow &= 1 ;
1488
- } else if (negotiate & MII_ANAR_ASYMMETRIC ) {
1488
+ } else if (negotiate & ADVERTISE_PAUSE_ASYM ) {
1489
1489
np -> tx_flow = 0 ;
1490
1490
np -> rx_flow &= 1 ;
1491
1491
}
1492
1492
/* else tx_flow, rx_flow = user select */
1493
1493
} else {
1494
1494
__u16 bmcr = mii_read (dev , phy_addr , MII_BMCR );
1495
- switch (bmcr & (MII_BMCR_SPEED_100 | MII_BMCR_SPEED_1000 )) {
1496
- case MII_BMCR_SPEED_1000 :
1495
+ switch (bmcr & (BMCR_SPEED100 | BMCR_SPEED1000 )) {
1496
+ case BMCR_SPEED1000 :
1497
1497
printk (KERN_INFO "Operating at 1000 Mbps, " );
1498
1498
break ;
1499
- case MII_BMCR_SPEED_100 :
1499
+ case BMCR_SPEED100 :
1500
1500
printk (KERN_INFO "Operating at 100 Mbps, " );
1501
1501
break ;
1502
1502
case 0 :
1503
1503
printk (KERN_INFO "Operating at 10 Mbps, " );
1504
1504
}
1505
- if (bmcr & MII_BMCR_DUPLEX_MODE ) {
1505
+ if (bmcr & BMCR_FULLDPLX ) {
1506
1506
printk (KERN_CONT "Full duplex\n" );
1507
1507
} else {
1508
1508
printk (KERN_CONT "Half duplex\n" );
@@ -1536,33 +1536,31 @@ mii_set_media (struct net_device *dev)
1536
1536
if (np -> an_enable ) {
1537
1537
/* Advertise capabilities */
1538
1538
bmsr = mii_read (dev , phy_addr , MII_BMSR );
1539
- anar = mii_read (dev , phy_addr , MII_ANAR ) &
1540
- ~MII_ANAR_100BX_FD &
1541
- ~MII_ANAR_100BX_HD &
1542
- ~MII_ANAR_100BT4 &
1543
- ~MII_ANAR_10BT_FD &
1544
- ~MII_ANAR_10BT_HD ;
1545
- if (bmsr & MII_BMSR_100BX_FD )
1546
- anar |= MII_ANAR_100BX_FD ;
1547
- if (bmsr & MII_BMSR_100BX_HD )
1548
- anar |= MII_ANAR_100BX_HD ;
1549
- if (bmsr & MII_BMSR_100BT4 )
1550
- anar |= MII_ANAR_100BT4 ;
1551
- if (bmsr & MII_BMSR_10BT_FD )
1552
- anar |= MII_ANAR_10BT_FD ;
1553
- if (bmsr & MII_BMSR_10BT_HD )
1554
- anar |= MII_ANAR_10BT_HD ;
1555
- anar |= MII_ANAR_PAUSE | MII_ANAR_ASYMMETRIC ;
1556
- mii_write (dev , phy_addr , MII_ANAR , anar );
1539
+ anar = mii_read (dev , phy_addr , MII_ADVERTISE ) &
1540
+ ~(ADVERTISE_100FULL | ADVERTISE_10FULL |
1541
+ ADVERTISE_100HALF | ADVERTISE_10HALF |
1542
+ ADVERTISE_100BASE4 );
1543
+ if (bmsr & BMSR_100FULL )
1544
+ anar |= ADVERTISE_100FULL ;
1545
+ if (bmsr & BMSR_100HALF )
1546
+ anar |= ADVERTISE_100HALF ;
1547
+ if (bmsr & BMSR_100BASE4 )
1548
+ anar |= ADVERTISE_100BASE4 ;
1549
+ if (bmsr & BMSR_10FULL )
1550
+ anar |= ADVERTISE_10FULL ;
1551
+ if (bmsr & BMSR_10HALF )
1552
+ anar |= ADVERTISE_10HALF ;
1553
+ anar |= ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM ;
1554
+ mii_write (dev , phy_addr , MII_ADVERTISE , anar );
1557
1555
1558
1556
/* Enable Auto crossover */
1559
1557
pscr = mii_read (dev , phy_addr , MII_PHY_SCR );
1560
1558
pscr |= 3 << 5 ; /* 11'b */
1561
1559
mii_write (dev , phy_addr , MII_PHY_SCR , pscr );
1562
1560
1563
1561
/* Soft reset PHY */
1564
- mii_write (dev , phy_addr , MII_BMCR , MII_BMCR_RESET );
1565
- bmcr = MII_BMCR_AN_ENABLE | MII_BMCR_RESTART_AN | MII_BMCR_RESET ;
1562
+ mii_write (dev , phy_addr , MII_BMCR , BMCR_RESET );
1563
+ bmcr = BMCR_ANENABLE | BMCR_ANRESTART | BMCR_RESET ;
1566
1564
mii_write (dev , phy_addr , MII_BMCR , bmcr );
1567
1565
mdelay (1 );
1568
1566
} else {
@@ -1574,7 +1572,7 @@ mii_set_media (struct net_device *dev)
1574
1572
1575
1573
/* 2) PHY Reset */
1576
1574
bmcr = mii_read (dev , phy_addr , MII_BMCR );
1577
- bmcr |= MII_BMCR_RESET ;
1575
+ bmcr |= BMCR_RESET ;
1578
1576
mii_write (dev , phy_addr , MII_BMCR , bmcr );
1579
1577
1580
1578
/* 3) Power Down */
@@ -1583,25 +1581,25 @@ mii_set_media (struct net_device *dev)
1583
1581
mdelay (100 ); /* wait a certain time */
1584
1582
1585
1583
/* 4) Advertise nothing */
1586
- mii_write (dev , phy_addr , MII_ANAR , 0 );
1584
+ mii_write (dev , phy_addr , MII_ADVERTISE , 0 );
1587
1585
1588
1586
/* 5) Set media and Power Up */
1589
- bmcr = MII_BMCR_POWER_DOWN ;
1587
+ bmcr = BMCR_PDOWN ;
1590
1588
if (np -> speed == 100 ) {
1591
- bmcr |= MII_BMCR_SPEED_100 ;
1589
+ bmcr |= BMCR_SPEED100 ;
1592
1590
printk (KERN_INFO "Manual 100 Mbps, " );
1593
1591
} else if (np -> speed == 10 ) {
1594
1592
printk (KERN_INFO "Manual 10 Mbps, " );
1595
1593
}
1596
1594
if (np -> full_duplex ) {
1597
- bmcr |= MII_BMCR_DUPLEX_MODE ;
1595
+ bmcr |= BMCR_FULLDPLX ;
1598
1596
printk (KERN_CONT "Full duplex\n" );
1599
1597
} else {
1600
1598
printk (KERN_CONT "Half duplex\n" );
1601
1599
}
1602
1600
#if 0
1603
1601
/* Set 1000BaseT Master/Slave setting */
1604
- mscr = mii_read (dev , phy_addr , MII_MSCR );
1602
+ mscr = mii_read (dev , phy_addr , MII_CTRL1000 );
1605
1603
mscr |= MII_MSCR_CFG_ENABLE ;
1606
1604
mscr &= ~MII_MSCR_CFG_VALUE = 0 ;
1607
1605
#endif
@@ -1624,7 +1622,7 @@ mii_get_media_pcs (struct net_device *dev)
1624
1622
1625
1623
bmsr = mii_read (dev , phy_addr , PCS_BMSR );
1626
1624
if (np -> an_enable ) {
1627
- if (!(bmsr & MII_BMSR_AN_COMPLETE )) {
1625
+ if (!(bmsr & BMSR_ANEGCOMPLETE )) {
1628
1626
/* Auto-Negotiation not completed */
1629
1627
return -1 ;
1630
1628
}
@@ -1649,7 +1647,7 @@ mii_get_media_pcs (struct net_device *dev)
1649
1647
} else {
1650
1648
__u16 bmcr = mii_read (dev , phy_addr , PCS_BMCR );
1651
1649
printk (KERN_INFO "Operating at 1000 Mbps, " );
1652
- if (bmcr & MII_BMCR_DUPLEX_MODE ) {
1650
+ if (bmcr & BMCR_FULLDPLX ) {
1653
1651
printk (KERN_CONT "Full duplex\n" );
1654
1652
} else {
1655
1653
printk (KERN_CONT "Half duplex\n" );
@@ -1682,30 +1680,29 @@ mii_set_media_pcs (struct net_device *dev)
1682
1680
if (np -> an_enable ) {
1683
1681
/* Advertise capabilities */
1684
1682
esr = mii_read (dev , phy_addr , PCS_ESR );
1685
- anar = mii_read (dev , phy_addr , MII_ANAR ) &
1683
+ anar = mii_read (dev , phy_addr , MII_ADVERTISE ) &
1686
1684
~PCS_ANAR_HALF_DUPLEX &
1687
1685
~PCS_ANAR_FULL_DUPLEX ;
1688
1686
if (esr & (MII_ESR_1000BT_HD | MII_ESR_1000BX_HD ))
1689
1687
anar |= PCS_ANAR_HALF_DUPLEX ;
1690
1688
if (esr & (MII_ESR_1000BT_FD | MII_ESR_1000BX_FD ))
1691
1689
anar |= PCS_ANAR_FULL_DUPLEX ;
1692
1690
anar |= PCS_ANAR_PAUSE | PCS_ANAR_ASYMMETRIC ;
1693
- mii_write (dev , phy_addr , MII_ANAR , anar );
1691
+ mii_write (dev , phy_addr , MII_ADVERTISE , anar );
1694
1692
1695
1693
/* Soft reset PHY */
1696
- mii_write (dev , phy_addr , MII_BMCR , MII_BMCR_RESET );
1697
- bmcr = MII_BMCR_AN_ENABLE | MII_BMCR_RESTART_AN |
1698
- MII_BMCR_RESET ;
1694
+ mii_write (dev , phy_addr , MII_BMCR , BMCR_RESET );
1695
+ bmcr = BMCR_ANENABLE | BMCR_ANRESTART | BMCR_RESET ;
1699
1696
mii_write (dev , phy_addr , MII_BMCR , bmcr );
1700
1697
mdelay (1 );
1701
1698
} else {
1702
1699
/* Force speed setting */
1703
1700
/* PHY Reset */
1704
- bmcr = MII_BMCR_RESET ;
1701
+ bmcr = BMCR_RESET ;
1705
1702
mii_write (dev , phy_addr , MII_BMCR , bmcr );
1706
1703
mdelay (10 );
1707
1704
if (np -> full_duplex ) {
1708
- bmcr = MII_BMCR_DUPLEX_MODE ;
1705
+ bmcr = BMCR_FULLDPLX ;
1709
1706
printk (KERN_INFO "Manual full duplex\n" );
1710
1707
} else {
1711
1708
bmcr = 0 ;
@@ -1715,7 +1712,7 @@ mii_set_media_pcs (struct net_device *dev)
1715
1712
mdelay (10 );
1716
1713
1717
1714
/* Advertise nothing */
1718
- mii_write (dev , phy_addr , MII_ANAR , 0 );
1715
+ mii_write (dev , phy_addr , MII_ADVERTISE , 0 );
1719
1716
}
1720
1717
return 0 ;
1721
1718
}
0 commit comments