uwe
41e6fbc398
Delint somewhat.
2002-05-07 04:52:49 +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
9fe2378664
For HomePNA PHYs, don't register it w/ ifmedia as 10BASE-T, but
...
rather as HomePNA1.
2001-08-25 01:57:56 +00:00
thorpej
7459c35d44
Clean up 1000BASE-SX autonegotiation, and add a way to advertise
...
PAUSE capability.
2001-07-27 22:44:59 +00:00
thorpej
4a416b823f
Fix 1000BASE-X duplex negotiation. That'll teach me to read the
...
manual more carefully next time.
2001-07-25 22:00:43 +00:00
bjh21
8d829065a6
IFM_1000_TX -> IFM_1000_T, as (breifly) discussed on tech-net.
2001-06-30 17:53:58 +00:00
thorpej
424f7a1e65
Make PHY matching all table-driven.
2001-06-02 21:39:38 +00:00
thorpej
2128d9199a
Enable frobbing the 1000baseT control register on Gig-E PHYs,
...
used for hard-wiring master mode, and for advertising the 1000baseT
media options during autonegotiation.
2001-05-31 18:44:48 +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
d3a64bd0d8
Add code to recognize and set media on GMII (Gigabit MII) PHYs.
...
802.3 doens't specify ANAR or ANLPAR bits for GMII. Need to
use PHY-specific registers for this, for now, which means we
need specific drivers for the Gigabit-capable PHYs (I think the
most common is the BCM5400).
2001-04-30 19:49:08 +00:00
thorpej
bf2dcec4f5
Remove the use of splimp() from the NetBSD kernel. splnet()
...
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
augustss
205b10ed17
Add a flag to mii_flags which will cause autonegotiation to use tsleep()
...
instead of callout. This way adapters which need a process context for
PHY register access (e.g. USB adapters) have a chance.
2001-04-13 11:12:36 +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
fc96443d15
New callout mechanism with two major improvements over the old
...
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
resource allocation.
- Insertion and removal of callouts is constant time, important as
this facility is used quite a lot in the kernel.
The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
thorpej
411a31adb2
- Go to splimp() when sending the rtsock message regarding link status.
...
- Would like to notify protocols if a link goes up or down, to e.g.
restart Duplicate Address Detection, etc. Add a comment to this
effect.
2000-03-15 20:34:43 +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
a084fd2f81
Some PHYs go off into left field for a few seconds if you attempt to kick
...
autonegotiation while it's already enabled.
2000-02-03 06:11:13 +00:00
thorpej
9ff57fe506
Oops, missing return;
2000-02-03 05:38:57 +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
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
bc82bff1dc
Don't add any loopback versions of media, for now.
1999-11-03 22:32:45 +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
f04cb4036f
move common support functions for phy drivers from mii.c to mii_physubr.c,
...
so that they are not includes if no PHY is configured
(avoids code bloat if an interface driver has the "mii" attribute but
mii is not used by the particular version)
1999-08-03 19:41:49 +00:00
kleink
5ea46286eb
mii_phy_auto(): don't rely on an implicit declaration of the waitfor argument.
1999-04-26 14:48:57 +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
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