freebsd-nq/sys
Marius Strobl f279f5ced4 - In hme_stop() mask all interrupts.
- In hme_eint() print MIF register contents on MIF interrupts.
- In hme_mifinit() don't bother to preserve the previous MIF config.
  This was mainly done in order to preserve the PHY select bit (external
  or internal PHY) but which only needs to be set as appropriate when
  reading from or writing to the desired PHY in hme_mii_{read,write}reg().
  Similarly don't bother to set the PHY select bit in hme_mii_statchg().
- In hme_mii_{read,write}reg() ignore requests to PHYs other than the
  external and internal PHY one.
- Move enabling/disabling the MII drivers of the external transceiver
  from hme_init_locked() and based on the sheer presence of an external
  to hme_mifinit() and based on the currently selected media, defaulting
  to the internal transceiver when the media hasn't been set, yet.
  Invoke hme_mifinit() from the newly added hme_mediachange_locked() so
  the setting of the MII drivers is updated when changing media.
  These changes keep the MII bus from wedging (which manifests in the HME
  and the PHYs no longer being able to communicate with each other) when
  the PHY device drivers isolate the unused PHY in two-PHY configurations
  as present in f.e. Netra t1 100 while changing media, either from
  hme_init_locked() (see also below) or via ifconfig(8). They also allow
  for using both transceivers/PHYs.
- In the newly added hme_mediachange_locked() also reset the PHYs in two-
  PHY configurations before invoking mii_mediachg(). This is required
  for successfully unisolating the previously unused PHY when switching
  between PHYs.
- Now that changing media should no longer cause problems back out rev.
  1.27 and re-enable setting the current media in hme_init_locked() (see
  the commit message of rev. 1.23 for more info).

These changes are roughly a merge of NetBSD gem.c rev. 1.32 - 1.35 (1.30
was already fixed differently in our 1.36; 1.31 and 1.32 were wrong) with
some parts reworked and things that don't make sense like setting the MII
drivers and restoring the previous MIF and XIF settings in hme_mii_{read,
write}reg() omitted.

MFC after:	2 weeks
2006-12-04 00:51:08 +00:00
..
amd64 MFP4 (110939): 2006-12-03 21:06:07 +00:00
arm Provide stream operations. 2006-12-02 13:37:29 +00:00
boot Note that not all architectures use sendfile(2) buffers; 2006-11-29 05:53:25 +00:00
bsm Merge OpenBSM 1.0 alpha 12 import changes into src/sys/bsm. New events 2006-09-25 12:22:07 +00:00
cam Remove CTS_SPI_FLAGS_TAG_ENB. Nobody is using it and at least one 2006-12-03 07:19:28 +00:00
coda change vop_lock handling to allowing tracking of callers' file and line for 2006-11-13 05:51:22 +00:00
compat MFP4 (110957) 2006-12-03 21:00:31 +00:00
conf fls was missing 2006-11-30 06:17:54 +00:00
contrib Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
crypto Initialize T1 to silent gcc warning. 2006-10-22 02:19:33 +00:00
ddb Fix the output format of MI ddb watches in 'show watch' on 64-bit 2006-11-17 16:41:56 +00:00
dev - In hme_stop() mask all interrupts. 2006-12-04 00:51:08 +00:00
fs o Do not leave uninitialized birthtime: in MSDOSFSMNT_LONGNAME 2006-12-03 19:04:26 +00:00
gdb
geom Softc may be NULL in g_journal_orphan(), so don't be surprised. 2006-12-02 09:10:29 +00:00
gnu Previously, the mount_ext2fs binary listed the acceptable mount 2006-11-18 18:22:11 +00:00
i4b Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
i386 Optimized RTC accesses by avoiding null writes to the index register 2006-12-03 03:49:28 +00:00
ia64 Since printf also has at least one critical section, we need to 2006-11-18 23:15:25 +00:00
isa Optimized RTC accesses by avoiding null writes to the index register 2006-12-03 03:49:28 +00:00
isofs/cd9660 Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
kern Introduce userspace condition variable, since we have already POSIX 2006-12-03 01:49:22 +00:00
libkern Add strstr() function to the libkern. 2006-08-12 15:28:39 +00:00
modules Add the linux module to the amd64 build, all symbols can now be resolved. 2006-12-02 13:58:13 +00:00
net Fix SIOCGDRVSPEC/BRDGGIFSSTP ioctl: make it copyin() the user 2006-12-03 21:50:57 +00:00
net80211 Fix packing on the country band descriptor. No real change since this 2006-12-01 18:40:51 +00:00
netatalk Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netatm Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netgraph Remove m_megapullup from ng_nat and put it under libalias. 2006-12-01 16:27:11 +00:00
netinet Improve style(9) conformance of igmp.c. 2006-12-04 00:41:48 +00:00
netinet6 - In nd6_rtrequest(), when caching an rtentry, don't forget 2006-11-25 20:38:56 +00:00
netipsec Add priv.h include required to build FAST_IPSEC, which is not present in 2006-11-07 08:58:06 +00:00
netipx Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netkey With exception of the if_name() macro, all definitions in net_osdep.h 2006-08-04 21:27:40 +00:00
netnatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netncp Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
netsmb Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
nfs NFSv4 client: 2006-11-28 19:33:28 +00:00
nfs4client NFSv4 client: 2006-11-28 19:33:28 +00:00
nfsclient In nfs_nget(), we must initialize the fh in the nfsnode before inserting the 2006-11-29 02:21:40 +00:00
nfsserver Push Giant a bit further off the NFS server in a number of straight 2006-11-24 11:53:16 +00:00
opencrypto
pc98 MFi386: revisions from 1.641 to 1.643. 2006-11-20 12:32:04 +00:00
pccard
pci if_watchdog -> rl_watchdog 2006-12-01 21:52:07 +00:00
powerpc Don't use vm_page_flag_set() if installing bootstrap page-table entries 2006-11-30 08:13:06 +00:00
rpc
security Merge posix4/* into normal kernel hierarchy. 2006-11-11 16:26:58 +00:00
sparc64 Turn console printf buffering into a kernel option and only on 2006-11-30 04:17:05 +00:00
sun4v Turn console printf buffering into a kernel option and only on 2006-11-30 04:17:05 +00:00
sys Introduce userspace condition variable, since we have already POSIX 2006-12-03 01:49:22 +00:00
tools Check for errors when registering and unregistering firmware modules. This 2006-06-16 21:06:03 +00:00
ufs change vop_lock handling to allowing tracking of callers' file and line for 2006-11-13 05:51:22 +00:00
vm The clean_map has been made local to vm_init.c long ago. 2006-11-20 16:23:34 +00:00
Makefile o Add cam to a list of cscope dirs. 2006-11-26 18:27:16 +00:00