freebsd-dev/sys
Bill Paul a1d52896af Try to sort out the correct way to generate async link state change
interrupts. This is a bit harder than it needs to be because there's
more than one way to generate link attentions, at least one of which
does not work on the BCM5700, but does on the 5701.

For the 5701, we can safely use the 'link changed' bit in the status
block, and we enable link change attentions in the mac event register.
For the 5700, we have to use MII interrupts, which require checking
the MAC status register rather than the status block. This requires
doing an extra register access on each interrupt which I'd prefer to
avoid, but them's the breaks. Testing with both a 3c996-T and 3c996B-T
shows that we do in fact detect the link going up and down properly
on cable insertions/disconnections.

Also, avoid twiddling the autopoll enable bit in the MI mode register
when doing a PHY read. I think this coupled with the other changes
will stop the interrupt storms Paul Saab has been harassing me about.
Manually setting the link to 100baseTX full duplex seems to work ok
for me. (I'm typing over the 3c996B-T right now.)

Lastly, teach the driver how to recognize a 3c996B-SX by checking
the hardware config word in the EEPROM in order to detect the media.
We attach 5701 fiber cards correctly now, but I haven't verified that
they send/receive packets yet since I don't have a second fiber
interface at home. (I know that fiber 5700 cards work, so I'm
keeping my fingers crossed.)
2002-04-04 06:01:31 +00:00
..
alpha Dike out a highly insecure UCONSOLE option. 2002-04-03 10:56:59 +00:00
amd64 First round at trying to split up NOTES into MI and MD portions. 2002-04-03 18:09:17 +00:00
arm Guard against redefining __gnuc_va_list. 2002-03-24 11:25:46 +00:00
boot Do not use semi-fixed TLB slots for the 4M kernel pages any more. 2002-04-02 17:10:15 +00:00
cam Fix 3 of the four problems with my last indentation fix. ("fixing" the 2002-04-01 05:41:33 +00:00
coda Remove __P. 2002-03-20 05:00:21 +00:00
compat Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
conf First round at trying to split up NOTES into MI and MD portions. 2002-04-03 18:09:17 +00:00
contrib We don't need ip_ipsec_pxy.c in userland. 2002-03-26 13:42:09 +00:00
crypto Remove __P. 2002-03-20 05:14:42 +00:00
ddb Fixed some style bugs in the removal of __P(()). Continuation lines 2002-03-23 11:53:03 +00:00
dev Try to sort out the correct way to generate async link state change 2002-04-04 06:01:31 +00:00
fs Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
geom Retire the bogus ioctl DIOCGPART in toto. 2002-04-02 11:52:13 +00:00
gnu Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
i4b Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
i386 First round at trying to split up NOTES into MI and MD portions. 2002-04-03 18:09:17 +00:00
ia64 Dike out a highly insecure UCONSOLE option. 2002-04-03 10:56:59 +00:00
isa When reading a UFS-style label from a floppy, don't attempt to use a 2002-04-02 18:29:43 +00:00
isofs/cd9660 Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
kern o aio_process needn't fhold()/fdrop() the fp now that _aio_aqueue() and 2002-04-04 02:13:20 +00:00
libkern Remove 'register' keyword. 2002-03-21 18:49:23 +00:00
modules First cut at breaking out the bus attachment from the bus independent 2002-04-02 02:38:35 +00:00
net Fix incorrect m_free - m_freem() usage. 2002-04-04 06:00:21 +00:00
netatalk Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netatm Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netgraph Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netinet Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netinet6 Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netipx Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netkey Remove __P. 2002-03-20 02:39:27 +00:00
netnatm Remove __P. 2002-03-20 02:39:27 +00:00
netncp Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
netns Remove __P. 2002-03-20 02:39:27 +00:00
netsmb Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nfs Remove unused include. 2002-03-20 10:12:07 +00:00
nfsclient Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nfsserver Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
pc98 Dike out a highly insecure UCONSOLE option. 2002-04-03 10:56:59 +00:00
pccard Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
pci smbus_alloc_bus is not part of the smbus interface anymore 2002-03-23 18:27:16 +00:00
posix4 Remove __P. 2002-03-19 22:20:14 +00:00
powerpc - Move the MI mutexes sched_lock and Giant from being declared in the 2002-04-02 22:19:16 +00:00
rpc
security/lomac Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sparc64 Dike out a highly insecure UCONSOLE option. 2002-04-03 10:56:59 +00:00
svr4
sys Move the FFS parameter MAXFRAG from <sys/param.h> to <ufs/ffs/fs.h> 2002-04-03 20:39:27 +00:00
tools constify 2002-04-01 19:22:04 +00:00
ufs Move the FFS parameter MAXFRAG from <sys/param.h> to <ufs/ffs/fs.h> 2002-04-03 20:39:27 +00:00
vm Fix a long standing 32bit-ism. Don't assume that the size of a chunk of 2002-04-03 06:57:52 +00:00
Makefile