freebsd-skq/sys/dev
yongari 6cf42ed3b9 Rework link establishment and link state detection logic.
- Remove MIIBUS statchg callback and program VGE_DIAGCTL before
   initiating link establishment.  Previously driver used to
   program VGE_DIAGCTL after getting a link in statchg callback.
   It seems the VGE_DIAGCTL register works like a kind of MII
   register such that it requires setting a 'to be' mode in advance
   rather than relying on resolved speed/duplex of established link.
   This means the statchg callback is not needed in driver.  In
   addition, if there was no link at the time of media change, this
   was not called at all.
 - Introduce vge_ifmedia_upd_locked() to change current media to
   configured one.  Actual media change is performed only after PHY
   reset and VGE_DIAGCTL setup.
 - In WOL configuration, make sure to clear forced mode such that
   controller can rely on auto-negotiation.
 - Unlike most other drivers that use miibus(4), vge(4) used
   controller's auto-polling feature for link state tracking via
   interrupt.  This came from controller's inefficient mechanism to
   access MII registers.  On link state change interrupt, vge(4)
   used to get current link state with series of MII register
   accesses.  Because vge(4) already enabled auto polling, read PHY
   status register to resolved speed/duplex/flow control parameters.

vge(4) still does not drive MII_TICK to reduce number of MII
register accesses which in turn means the driver does not know the
status of auto-negotiation.  This was a one of long standing
issue of vge(4).  Probably driver may be able to implement a timer
that keeps track of auto-negotiation state and restart
auto-negotiation when driver couldn't establish a link within a
specified period.  However the controller does not provide a
reliable way to detect auto-negotiation failure so I'm not sure
whether it's worth to implement it in driver.

Alternatively driver can completely disable MII auto-polling and
let miibus(4) poll link state by driving MII_TICK.  This may reduce
unnecessary overhead of stopping/restarting MII auto-polling of
controller.  Unfortunately it was known that some variants of
controller does not work correctly if MII auto-polling is disabled.
2011-11-22 20:45:09 +00:00
..
aac Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
acpi_support Append unit number to the WMI status device name to allow attaching 2011-11-22 16:44:50 +00:00
acpica - be more precise about the unit of measurement 2011-11-17 23:04:43 +00:00
adb Add support for special keys (volume/brightness/eject) on Apple laptops with 2011-10-16 21:01:42 +00:00
adlink
advansys
ae To send a frame, controller requires a prepended TX header and 2011-11-11 19:15:32 +00:00
age Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
agp
aha
ahb
ahci Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
aic
aic7xxx Improve portability #defines for compiling aicasm on other systems. 2011-07-15 00:36:47 +00:00
alc Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
ale Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
amd
amdsbwd amdsbwd: update to support SB8xx southbridges 2011-06-07 06:18:02 +00:00
amdtemp
amr Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
an Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
arcmsr Update arcmsr(4) to 1.20.00.22 to solve recursive acquisition of buffer 2011-08-16 08:41:37 +00:00
asmc
asr Merge from r225950: 2011-10-13 20:06:19 +00:00
ata Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
ath Use the correct lock when calling msleep(). 2011-11-21 22:57:28 +00:00
atkbdc Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
auxio
bce Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
bfe
bge Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
bktr Remove a few bits of FreeBSD 2.x compatibility code. 2011-11-14 18:21:27 +00:00
bm - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
buslogic
bwi Fix an incorrect use of sizeof(). 2011-10-10 02:54:58 +00:00
bwn Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
bxe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cardbus Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cas - Expand the scope of the lock in the interrupt routine to close races with 2011-07-13 18:52:11 +00:00
ce
cesa Initial version of cesa(4) driver for Marvell crypto engine and security 2011-11-19 16:30:06 +00:00
cfe Follow up to r225203 refining break-to-debugger run-time configuration 2011-08-27 14:24:27 +00:00
cfi Merge r221614,221696,221737,221840 from largeSMP project branch: 2011-05-22 20:55:54 +00:00
ciss Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
cm
cmx
coretemp #PROCHOT assertion is sticky after reading the MSR (accordingly with 2011-09-19 10:58:30 +00:00
cp
cpuctl
cpufreq
cs Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ct
ctau
cx
cxgb Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cxgbe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
cy
dc There's no need to read DC_10BTSTAT twice in dcphy_status(). 2011-11-18 21:23:13 +00:00
dcons Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
de
digi
dpms
dpt
drm
e1000 Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ed
eisa
en Remove duplicate header includes 2011-06-28 08:36:48 +00:00
ep
esp Freeze the device queue if a request didn't complete without error and 2011-11-06 22:28:13 +00:00
et Make sure to report media change status to caller. Previously it 2011-10-17 20:03:38 +00:00
ex
exca
fatm
fb Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
fdc Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
fdt FDT support for MIPS. 2011-10-18 07:29:21 +00:00
fe
firewire Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
flash
fxp - Follow the lead of dcphy(4) and pnphy(4) and move the reminder of the PHY 2011-10-08 12:33:10 +00:00
gem Revert r224157, re-enabling r222135. The underlying problem keeping the 2011-08-19 19:13:31 +00:00
glxiic MFC 2011-05-16 16:34:03 +00:00
glxsb
gpio Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
hatm
hifn Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
hme
hptiop Merge from r225950: 2011-10-13 20:06:19 +00:00
hptmv
hptrr
hwpmc Flip on processing interrupt profile events for mips24k. 2011-11-09 17:38:27 +00:00
ic
ichsmb Revert r224736 as the introduced value was already present. 2011-08-09 20:55:54 +00:00
ichwd Fix a bug in ichwd(4) which prevents it from beig enabled if the new 2011-09-02 17:06:50 +00:00
ida
ie
ieee488
if_ndis
iicbus Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
iir Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
io
ipmi Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
ips
ipw MFC 2011-05-31 21:22:44 +00:00
iscsi/initiator Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
isp Was chasing down a failure to load f/w on a 2400. It turns out that the card 2011-11-16 02:52:24 +00:00
ispfw
iwi MFC 2011-05-31 21:22:44 +00:00
iwn The DC calibration result obtained during initialization can't be 2011-11-21 22:19:12 +00:00
ixgb
ixgbe The maximum read size of incoming packets is done in 1024-byte increments. 2011-09-05 17:54:19 +00:00
jme
joy
kbd Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
kbdmux Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP. 2011-07-17 08:19:19 +00:00
ksyms Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
le Make sparc64 compatible with NEW_PCIB and enable it: 2011-10-02 23:22:38 +00:00
led
lge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
lindev
lmc In r191367 the need for if_free_type() was removed and a new member 2011-11-11 22:57:52 +00:00
malo Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
mc146818
mca
mcd
md Add information about MD_READONLY and MD_COMPRESS flags to the 2011-10-31 10:53:27 +00:00
mem
mfi The sys/sysctl.h header is needed when MFI_DEBUG is defined. 2011-11-16 18:42:39 +00:00
mge
mii There's no need export the device interface methods of miibus(4). 2011-11-18 22:58:13 +00:00
mk48txx Add support for MK48T37. 2011-05-15 13:17:08 +00:00
mlx
mly Add descriptor sense support to CAM, and honor sense residuals properly in 2011-10-03 20:32:55 +00:00
mmc Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
mn
mps Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
mpt Increase the IOC port initialization timeouts by ten times to what the 2011-11-01 18:28:33 +00:00
mse
msk Enable 64bit DMA addressing support for all msk(4) controllers. 2011-11-16 19:25:26 +00:00
mvs Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
mwl Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
mxge Update mxge(4) firmware to the latest version available from 2011-07-12 15:07:17 +00:00
my Remove duplicate header includes 2011-06-28 08:36:48 +00:00
ncv
netmap Bring in support for netmap, a framework for very efficient packet 2011-11-17 12:17:39 +00:00
nfe Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
nge - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
nmdm Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
nsp
null MFC 2011-05-13 20:58:48 +00:00
nve Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
nvram
nvram2env
nxge
ofw As it turns out, r186347 actually is insufficient to avoid the use of the 2011-11-15 20:11:03 +00:00
patm
pbio
pccard Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
pccbb Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
pcf
pci Add missing XHCI early takeover code. The XHCI takeover code 2011-07-22 15:37:23 +00:00
pcn
pdq
powermac_nvram
ppbus - Use ppb_assert_locked() rather than using explicit mtx_assert call 2011-11-22 11:35:24 +00:00
ppc Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
pst
pty Fix whitespace inconsistencies in the TTY layer and its drivers owned by me. 2011-06-26 18:26:20 +00:00
puc - add support for Titan VScom PCIex-800H 2011-11-15 17:53:29 +00:00
qlxgb The maximum TSO frame size should be: 2011-11-16 02:00:55 +00:00
quicc Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ral
random
rc
re Add preliminary support for RTL8168/8111F PCIe Gigabit ethernet. 2011-11-17 22:07:50 +00:00
rndtest Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
rp
rt Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
safe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
sbni
scc Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
scd
sdhci Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
sec
sf
sfxge sfxge: Remove interrupt self-test code 2011-11-19 09:16:52 +00:00
sge Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
si
siba Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
siis Move the device_delete_all_children() function from usb_util.c 2011-11-19 10:11:50 +00:00
sio - add support for Broadcom 802.11bg/EDGE/GPRS CardBus (Serial) 2011-11-15 17:15:09 +00:00
sis - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
sk
smbus
smc - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
sn
snc
snp Second-to-last commit implementing Capsicum capabilities in the FreeBSD 2011-08-11 12:30:23 +00:00
sound Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
speaker
spibus
ste - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
stg
stge - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
streams Add the fo_chown and fo_chmod methods to struct fileops and use them 2011-08-16 20:07:47 +00:00
sym Merge from r225950: 2011-10-07 08:59:54 +00:00
syscons Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
tdfx Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ti Overhaul bus_dma(9) usage in driver: 2011-11-14 20:38:14 +00:00
tl Remove variable initialized but no longer actually used since r226995. 2011-11-02 23:22:50 +00:00
tpm
trm
tsec
twa Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
twe Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
tws Don't expose a constant array into global namespace. 2011-10-28 17:53:34 +00:00
tx
txp
uart Mark MALLOC_DEFINEs static that have no corresponding MALLOC_DECLAREs. 2011-11-07 06:44:47 +00:00
ubsec Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
usb Add new USB IDs to RUN driver. 2011-11-21 07:50:29 +00:00
utopia
vge Rework link establishment and link state detection logic. 2011-11-22 20:45:09 +00:00
virtio Import virtio base, PCI front-end, and net/block/balloon drivers. 2011-11-18 05:43:43 +00:00
vkbd Get rid of D_PSEUDO. 2011-10-18 08:09:44 +00:00
vr Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
vte Close a race where SIOCGIFMEDIA ioctl get inconsistent link status. 2011-10-17 19:49:00 +00:00
vx
vxge - change "is is" to "is" or "it is" 2011-10-16 14:30:28 +00:00
watchdog
wb - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00
wds
wi Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
wl
wpi MFC 2011-05-31 21:22:44 +00:00
xe Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xen Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs. 2011-11-07 15:43:11 +00:00
xl - Import the common MII bitbang'ing code from NetBSD and convert drivers to 2011-11-01 16:13:59 +00:00