1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00
freebsd/sys
Marius Strobl f0e531572d DP83840A on hme(4) don't advertise their media capabilities themselves
properly. This causes the autonegotiation to e.g. never establish a
100baseTX full-duplex link. The solution to this problem is to manually
write the capabilities from the BMSR to the ANAR every time a media
change occurs, even when already in autonegotiation mode.
The NetBSD way of doing this is to set their MIIF_FORCEANEG flag in the
NIC driver. This causes mii_phy_setmedia() to call mii_phy_auto() (which
will set the ANAR according to the BMSR) even when the PHY alread is in
autonegotiation mode. However, while doing the same on FreeBSD (which
involves porting the MIIF_FORCEANEG flag and converting nsphy.c to use
mii_phy_setmedia()) fixes autonegotiation, using mii_phy_setmedia()
causes this driver to no longer work properly in the other modes.
Another drawback of that approach is that this will also force writing
the ANAR on other PHYs whose drivers use mii_phy_setmedia() and which
are used with a NIC whose driver sets MIIF_FORCEANEG (e.g. hme(4) is
known to be used together with 3 different PHYs while only the DP83840A
require this workaround).
So instead of moving to MIIF_FORCEANEG, just call mii_phy_auto() in
nsphy_service() unconditionally when hanging off of a hme(4) and serving
a media change

This is part 1/2 of fixing autonegotiation on hme(4) using DP83840A PHYs.
2004-05-29 18:23:26 +00:00
..
alpha Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
amd64 Implement __bb_init_func. This is a fairly straightforward conversion 2004-05-29 01:13:28 +00:00
arm Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
boot Use the correct location of the EBDA for searching for the RSDP. 2004-05-25 05:52:48 +00:00
cam Quirk for Neuros USB audio device. 2004-05-02 19:24:23 +00:00
coda
compat In subr_ndis.c, when searching for keys in our make-pretend registry, 2004-05-29 06:41:17 +00:00
conf Provide the _start_ctors and _stop_ctors symbols. As on i386, the addresses 2004-05-29 01:09:00 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r129694, 2004-05-25 03:06:37 +00:00
crypto
ddb Fixed DDB_NOKLDSYM on amd64's: 2004-05-18 05:30:06 +00:00
dev DP83840A on hme(4) don't advertise their media capabilities themselves 2004-05-29 18:23:26 +00:00
fs Switch from using the vnode interlock to a private mutex in fifo_open() 2004-05-17 20:16:40 +00:00
geom Dump some more informations: 2004-05-26 11:36:27 +00:00
gnu
i4b Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
i386 Remove a broken micro-optimization from pmap_enter(). The ill effect 2004-05-28 19:42:02 +00:00
ia64 Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
isa Move fdc from isa/fd.c to dev/fdc/fdc.c. The old files were 2004-05-17 05:46:16 +00:00
isofs/cd9660
kern Enable MI bits for gcc -ftest-coverage -fprofile-arcs on amd64. 2004-05-29 01:18:14 +00:00
libkern Import libkern arm specific bits. 2004-05-14 12:28:31 +00:00
modules First release of ixgb driver for the Intel(R) PRO/10GbE Family of Adapters. This driver has 2004-05-28 00:23:00 +00:00
net if_printf() won't emit a newline unless told to. 2004-05-26 11:41:26 +00:00
net80211 Link state change notification of ethernet media to the routing socket. 2004-05-05 15:48:06 +00:00
netatalk Remove redundant call to soisdisconnected() from ddp_abort(), as it 2004-05-05 03:34:37 +00:00
netatm
netgraph Add a new netgraph method to allow restoration of some 2004-05-29 07:21:46 +00:00
netinet Add a super-user check to ipfw_ctl() to make sure that the calling 2004-05-25 15:02:12 +00:00
netinet6 Fix a bug which I discovered recently while doing IPv6 testing at 2004-05-14 03:57:17 +00:00
netipsec use correct address for SADB_EXT_ADDRESS_DST in key_do_allocsa_policy 2004-05-03 05:15:53 +00:00
netipx
netkey
netnatm
netncp
netsmb
nfs
nfs4client
nfsclient Make vm_page's PG_ZERO flag immutable between the time of the page's 2004-05-06 05:03:23 +00:00
nfsserver Don't release Giant until after the call to vput() in nfsrv_setattr(). 2004-05-29 15:52:39 +00:00
opencrypto
pc98 MFi386: revision 1.1160. 2004-05-18 11:56:56 +00:00
pccard
pci Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
posix4
powerpc Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
rpc
security Remove dead code. (This loop counted the number of rules, but the count 2004-05-15 20:55:19 +00:00
sparc64 Retire cpu_sched_exit(); it is not used any more. 2004-05-26 12:09:39 +00:00
sys Remove unneeded XXX comments botched in previous commit. 2004-05-29 05:36:43 +00:00
tools devlist2h.awk is too generic a name for what it does. It really 2004-05-26 00:19:39 +00:00
ufs Upon further review it was decided this piece of the msync(2) 2004-05-21 12:05:48 +00:00
vm MFS: vm_map.c rev 1.187.2.27 through 1.187.2.29, fix MS_INVALIDATE 2004-05-25 18:40:53 +00:00
Makefile Try harder not to compile anything in sys/boot for arm. 2004-05-16 00:19:12 +00:00