thorpej
b017898534
Get flags passed down to PHY drivers correctly. This was done on
...
an adhoc basis in a couple of PHY drivers, this fixes it more generally.
Per a discussion w/ Cliff Neighbors <cliff@allegronetworks.com>.
2002-03-25 20:51:24 +00:00
lukem
8b7bb91219
add RCSID
2001-11-13 07:38:28 +00:00
thorpej
89893e42b7
ANSI'ify.
2001-08-25 18:04:01 +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
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
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