Commit Graph

18 Commits

Author SHA1 Message Date
thorpej bca88a28c8 Add mii_down(), which is used by MAC drivers to inform PHYs that the
interface is now down.  PHYs use this to cancel pending asynchronous
operations.
1999-11-12 18:12:59 +00:00
thorpej 8fc600c3b1 Clean up the code that adds media a little, and make media selection
table-driven in preparation for some other changes to be made.
1999-11-03 22:30:32 +00:00
thorpej 83f9ab3c87 Implement asynchronous autonegotiation when driven by the MII tick
(one-second clock).  Prevents .5s delays every 5 seconds when the interface
is up but there is no link.  Fixes PR 7361.
1999-04-23 04:24:32 +00:00
thorpej 2a17544c19 Place the essentially common "ticks" and "active" members into the
mii_softc (generic phy goo), and just switch all of the PHY drivers
(except tlphy, which really does have special stuff) to use an mii_softc
instead of a private one.
1998-11-05 00:19:32 +00:00
thorpej f66039cbce Routines common between the Uknown PHY driver (forthcoming) and other
PHY drivers.  This file has ukphy_status(), which is what PHY drivers
should use if media detection is done by decoding NWay.
1998-11-04 23:59:51 +00:00
thorpej ad8b66c7c8 Return a higher-priority match than 1. These are specific drivers. This
allows for a "generic unknown PHY" driver to be implemented.
1998-11-04 23:44:09 +00:00
thorpej 51da8fc39f Factor out the common reset code. Use the NOISOLATE flags as appropriate
to prevent a PHY from being isolated in the event the MAC can't deal with
this.  (3Com 3c905B-TX, and Intel i82557).
1998-11-04 23:28:15 +00:00
thorpej b097394468 Factor out some common code from all the PHY drivers (autonegotiation, for
now.)
1998-11-04 23:07:15 +00:00
thorpej 844622de9c Define and use generic PHY read/write reg macros. 1998-11-04 22:15:40 +00:00
thorpej 19fd5d178f 3Com PHY can't be isolated, so don't allow IFM_NONE. 1998-11-03 00:18:18 +00:00
thorpej 1f074c785d When doing a media change service request, use the media word from the
current ifmedia_entry, not from the user-supplied media word.  The
user supplied media word may not necessarily match e.g. instance (if
the parent MAC driver is intentionally ignoring instance if its expecting
multiple PHYs with non-overlapping media, e.g. TI ThunderLAN) the media
word we are actually switching to.

Since PHY drivers use `instance' to determine if they should isolate
themselves, the ThunderLAN PHY was sometimes being incorrectly isolated
when in fact the user attempted to select that PHY (for e.g. BNC operation).
1998-11-02 22:31:36 +00:00
thorpej afbf922a93 Don't print the revision of the 3c905B-TX's internal PHY; it's meaningless. 1998-10-23 01:52:50 +00:00
thorpej 322ba3cc84 Make sure the parent is an `ex'. The 3c905B-TX's internal PHY isn't
the only one w/ non-existent ID registers.  SIGH.
1998-10-23 01:43:09 +00:00
fvdl 17c31a8a21 Add ETHER|NONE to default capabilities, or we'll panic when attaching
the forthcoming ex driver.
1998-08-28 12:50:36 +00:00
thorpej d95a6e9dec Make a variable name reflect a register name. 1998-08-12 22:27:42 +00:00
thorpej 981f0cd0d0 If autonegotiation is enabled in the BMSR, and the BMCR doens't claim
that it has completed, report "none" as the active media type.
1998-08-12 20:56:34 +00:00
thorpej a24f6f77bf Ugh, don't print out "autonegotiation failed to complete" if it did.
We get these once a second if we're in auto mode, the interface is up,
and there's no carrier.
1998-08-12 20:46:47 +00:00
thorpej 5bec554354 Driver for the 3Com internal PHY, found on 3c905B-TX cards (and maybe
some 3c905-TX?).  Partially from Frank van der Linden.
1998-08-12 08:46:20 +00:00