thorpej
424f7a1e65
Make PHY matching all table-driven.
2001-06-02 21:39:38 +00:00
thorpej
ea1aed7db2
Make the number of ticks between auto-negotiation tries PHY-specific,
...
and default every PHY to 5 seconds (what we used before). If we find
Gig-E media on a PHY, bump it to 10 seconds, since it can take 5
seconds just to negotiate a Gig-E link.
2001-05-31 16:02:29 +00:00
drochner
1ea0cb1ea4
support the fiber output of the PHY device, enabled if the MIIF_HAVEFIBER
...
flag is passed in from the board driver
2001-05-17 17:29:54 +00:00
thorpej
49014bf59f
Restructure the PHY entry points to use a structure of entry points
...
instead of discrete function pointers, and extend this to include
a "reset" entry point. Make sure any PHY-specific reset routine is
always used, and provide one for the LXT-970 which disables MII
interrupts (as is done for a few other PHYs we have drivers for).
2000-07-04 03:28:59 +00:00
thorpej
ad61d101be
Factor out the tick handling code into a common function, and send
...
rt_ifmsg's when the link speed or link status changes.
2000-03-06 20:56:56 +00:00
thorpej
22fe15d7b4
Let mii_phy_setmedia() handle the IFM_AUTO case, too.
2000-02-02 23:34:56 +00:00
thorpej
8923ca0b00
Make PHY drivers provide a pointer to their status routine, and add
...
a generic mii_phy_status() that calls back into the PHY. It doesn't
do anything interesting yet, but it will soon.
2000-02-02 17:50:43 +00:00
thorpej
eed75dbc26
Don't dry to diving MIIF_NOISOLATE in the PHY drivers. Instead, pass
...
flags down from the parent to child vi mii_attach().
2000-02-02 17:09:38 +00:00
thorpej
84dc99fdea
Bring some order to the chaos which was the MII code function naming
...
"conventions".
2000-02-02 08:05:26 +00:00
thorpej
c74e0a8db2
Add detachment support to the MII layer.
2000-01-27 16:44:30 +00:00
pk
03c8221ad0
Use BMSR to test for `negotiation complete'; the alternative bit in the
...
LXT vendor register 20 is latching high and resets to low on read causing
subsequent status request to return `IFM_NONE'.
1999-12-21 10:47:00 +00:00
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
drochner
23ddff5688
use the new "xx" prefixed OUIs because the mapping to the ID register
...
bits differs from the MII_OUI() way
1999-05-14 11:40:28 +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
2b695df1dc
Common code for media-from-bmcr.
1998-11-05 04:08:01 +00:00
thorpej
aabf2a0809
In the status routine, always use the media selected in the BMCR if
...
autonegotiation is not enabled. This is more reliable on many PHYs,
and requires fewer register reads.
1998-11-05 04:01: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
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
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
86fca03a0d
Driver for the Level One LXT-970 10/100 Ethernet PHY.
1998-10-24 00:33:17 +00:00