Changeset db93c2f in rtems


Ignore:
Timestamp:
Apr 15, 2009, 3:44:41 AM (10 years ago)
Author:
Till Straumann <strauman@…>
Branches:
4.10, 4.11, master
Children:
1cb06710
Parents:
9937a7a
Message:

2009-04-14 Till Straumann <strauman@…>

  • libnetworking/rtems/rtems_mii_ioctl_kern.c: poll BMSR twice to clear latched link-status low.
Location:
cpukit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • cpukit/ChangeLog

    r9937a7a rdb93c2f  
     12009-04-14      Till Straumann <strauman@slac.stanford.edu>
     2
     3        * libnetworking/rtems/rtems_mii_ioctl_kern.c: poll BMSR twice
     4        to clear latched link-status low.
     5
    162009-04-14      Sebastian Huber <sebastian.huber@embedded-brains.de>
    27
  • cpukit/libnetworking/rtems/rtems_mii_ioctl_kern.c

    r9937a7a rdb93c2f  
    102102  case SIOCGIFMEDIA:
    103103    if (info->mdio_r (phy, uarg, MII_BMCR, &bmcr))
     104      return EINVAL;
     105        /* read BMSR twice to clear latched link status low */
     106    if (info->mdio_r (phy, uarg, MII_BMSR, &bmsr))
    104107      return EINVAL;
    105108    if (info->mdio_r (phy, uarg, MII_BMSR, &bmsr))
     
    217220      if (!(bmsr2 & (tmp ? EXTSR_1000TFDX : EXTSR_1000THDX)))
    218221        return EOPNOTSUPP;
     222
     223          /* NOTE: gige standard demands auto-negotiation for gige links.
     224           *       Disabling autoneg did NOT work on the PHYs I tried
     225           *       (BCM5421S, intel 82540).
     226           *       I've seen drivers that simply change what they advertise
     227           *       to the desired gig mode and re-negotiate.
     228           *       We could do that here, too, but we don't see the point -
     229           *       If autoneg works fine then we can as well use it.
     230           */
    219231      bmcr = BMCR_S1000;
    220232      break;
Note: See TracChangeset for help on using the changeset viewer.