freebsd-dev/sys/dev
Matt Jacob 77e22cb706 Wads more cleanup...
In mpttimeout, call mpt_intr just on the offchance that we missed
an interrupt. We can check to see whether or not the command that
is timing out got completed.

When we *do* decide to timeout a command, set the command state to
REQ_TIMEOUT and then invoke another timeout (hz/10)- mpttimeout2.
This allows us to catch a couple cases we've seen where the command
we timed out on in fact is ready to be completed by the firmware.
In any case, it's only after mpttimeout2 is called that we actually
take down the private state and free the request itself. CAM has
been notified in mpttimeout anyway. This whole area should be redone,
but that will take 105% of my available game time for this month.

Fix a couple of missing (and not useful, at presnet) CAMLOCK_2_MPTLOCK
and MPTLOCK_2_CAMLOCK locations.

Split mpt_notify into mpt_ctlop, which handles all reply completions
that have 0x800000000 or'd into the ContextID. This function can, in
fact, call mpt_event_notify_reply, which handles the traditional
async event notifications. While we're at it, put in the extremely
important (but currently untested) code that send back an Ack to
an Event Notification (if the Event Notification is marked with
AckRequired). Note that an Ack also generates another ctlop completion,
tra la.

Fix up mpt_done substantially to try and get how we plug into CAM
correctly done. Remove bogus CAM_RELEASE_SIMQ settings.

Do some cleanups in mpt_action that are related to speed negotiation
for Ultra4 cards. This is an area that is still quite fragile and
worrisome as config data being read back often doesn't make sense or
jibe with the documentation.

At any rate, after these changes were done, I was finally able to
get Lars Eggert's dual 320M disk system to stay up under load all
weekend- hopefully we're in good enough for now shape.

MFC after:	1 week
2002-09-23 05:25:59 +00:00
..
aac (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
acpica Attach ACPI children a bit later in attach(), specifically after performing 2002-09-06 17:01:06 +00:00
advansys Restore I/O port resources to the condition before adv_isa_probe() is 2001-05-06 09:28:18 +00:00
agp Fix i810 after i830 commit. 2002-09-15 08:43:23 +00:00
aha Fix new gcc-3.1 warnings. I think this gets GENERIC compiling cleanly 2002-05-24 05:21:36 +00:00
ahb Fix new gcc-3.1 warnings. I think this gets GENERIC compiling cleanly 2002-05-24 05:21:36 +00:00
aic Remove __P. 2002-03-20 02:08:01 +00:00
aic7xxx The ahc driver should only have one devclass, not one for each bus 2002-09-22 23:03:31 +00:00
amd Move unused functions into #if 0 ... #endif. 2001-05-06 08:07:10 +00:00
amr (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
an Fix location and name of if_an_pci.c in comment. 2002-07-27 21:28:40 +00:00
ar Directives may not be used inside a macro argument, so don't. 2002-05-09 18:01:19 +00:00
asr Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
ata (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
atkbdc Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
awi Remove empty #if*/#endif clauses. 2002-09-21 08:44:51 +00:00
bge Fix a couple of longstanding typos which would have made a 2002-09-22 19:27:07 +00:00
bktr Remove abuse of NBKTR - this was always a NOP on freebsd. We never 2002-07-21 05:19:03 +00:00
buslogic Remove #if 0'ed abuse of NPCI 2002-07-21 05:16:56 +00:00
cardbus - Forgot to remove cardattached declaration in revision 1.22. 2002-09-10 16:50:06 +00:00
ccd (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
ciss Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
cm Remove __P. 2002-03-20 02:08:01 +00:00
cnw Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
cs Migrate to PCMCIA_CARD() macros 2001-11-15 07:52:49 +00:00
ct This file does not <sys/disklabel.h> 2002-09-20 18:15:40 +00:00
cy Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
dc Fix the support for the AN985/983 chips, which do not set the 2002-09-20 15:18:13 +00:00
de Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
dec Introduce a boot environment variable (clock_compat_osf1) which can 2001-11-03 17:22:50 +00:00
dgb Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
digi Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
dpt Fix a couple of bogus enums. 2002-01-08 06:47:55 +00:00
drm Remove drm_linux.h, move the two useful defines into drm_drv.h. Use fd locking 2002-09-01 17:45:04 +00:00
ed Add ALLIED TELESIS,K.K. LA-ISA V2 ISA PnP ID. 2002-07-26 17:33:58 +00:00
eisa - Use the __BUS_ACCESSOR macro for EISA_ACCESSOR instead 2002-08-20 12:32:06 +00:00
em Back out TX/RX descriptor/buffer management changes from earier commit. 2002-08-26 18:59:16 +00:00
en Don't include "bpf.h" when compiling on FreeBSD. We always compile in 2002-09-06 20:07:50 +00:00
ep Fix build breakage on my pccard related commit. 2002-05-31 01:08:49 +00:00
ex Remove __P. 2002-03-20 02:08:01 +00:00
exca MFp4: 2002-07-26 08:01:08 +00:00
fb Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
fdc Make FreeBSD "struct disklabel" agnostic, step 311 of 723: 2002-09-20 12:52:03 +00:00
fe Supported C-NET(98)P2 PnP mode. 2002-02-04 14:01:27 +00:00
firewire don't include bus_dma.h which doesn't need. 2002-09-21 15:05:22 +00:00
fxp Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
gem Fix warning. 2002-07-24 01:09:38 +00:00
gfb Turn on TGA support. 2002-04-13 22:34:16 +00:00
gx Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
hea - Remove DMA_* macros as only one, DMA_GET_ADDR, was used. 2002-06-24 05:03:44 +00:00
hfa Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
hme Call bpf_mtap() on output, to catch outgoing packets for e.g. tcpdump . 2002-07-30 21:47:14 +00:00
ic Move the com_scr register address definition over with the other seven. 2002-09-22 08:51:31 +00:00
ichsmb Add PCI ID for ICH4 SMBus controller. 2002-08-12 16:22:12 +00:00
ida (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
ie Repo copy i82586.h to dev/ic/i82586.h. 2001-07-02 05:29:58 +00:00
iicbus move <machine/iic.h> and <machine/smb.h> to <dev/iicbus/iic.h> and 2002-09-19 03:25:46 +00:00
iir Include <sys/ioccom.h> directly, rather than indirectly through 2002-09-20 16:59:14 +00:00
isp Remove ISP_DMA_ADDR_T definition. 2002-09-23 05:09:23 +00:00
ispfw Upgrade to latest QLogic f/w from their intranet site for 2100, 2200 and 2002-09-01 02:28:36 +00:00
joy Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
kbd Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
lge Cleanup after my de-__P (remove leading whitespace before prototype args). 2002-07-06 16:34:32 +00:00
lmc Remove #include <pci.h> - there is no abuse of NPCI here 2002-07-21 05:16:14 +00:00
lnc Remove __P. 2002-03-20 02:08:01 +00:00
mc146818
mca - Remove an unused write_ivars function that didn't do anything anyway. 2001-01-19 09:29:34 +00:00
mcd Retire the bogus ioctl DIOCGPART in toto. 2002-04-02 11:52:13 +00:00
md Initialize fwsectors/fwheads to allow the DIOCGFWSECTORS and 2002-09-22 10:07:18 +00:00
mii Add support for the BCM5703x chips. I do not have one of these 2002-09-08 19:12:02 +00:00
mk48txx Add a driver back end for the Mostek MK48T02, MK48T08 and MK48T59 2002-04-04 23:44:42 +00:00
mlx (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
mly Replace (ab)uses of "NULL" where "0" is really meant. 2002-08-22 21:24:01 +00:00
mpt Wads more cleanup... 2002-09-23 05:25:59 +00:00
mse Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 16:01:49 +00:00
musycc Fix warnings: 2001-06-15 00:19:43 +00:00
my Add missing unlock 2002-05-30 23:41:51 +00:00
ncv Remove #include of <sys/disklabel.h> (and a few other unused #includes I 2002-09-20 16:49:36 +00:00
nge Add support for SX cards using TBI such as Netgear GA621. 2002-08-08 18:33:28 +00:00
nmdm Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
nsp Remove unused #includes. Looks amacingly like the exact same set 2002-09-20 16:51:09 +00:00
null Everywhere else, an argument passed to a device containing flags 2002-09-21 17:28:17 +00:00
ofw Add missing semicolon 2002-09-20 23:26:07 +00:00
pccard o Dike out the bogus reprobe stuff. It was getting in the way of newbus' own 2002-09-10 06:32:18 +00:00
pccbb reprobe not needed here either 2002-09-10 06:37:56 +00:00
pcf Fix bktr and pcf compilation with LINT 2002-03-25 21:22:35 +00:00
pci Export pcib_attach() as a "protected" for use in subclasses of the PCI-PCI 2002-09-06 22:14:00 +00:00
pcic Make oldcard and newcard kernel module work. 2002-05-30 17:38:00 +00:00
pdq Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
ppbus Remove empty #if*/#endif clauses. 2002-09-21 08:44:51 +00:00
ppc Restore the original copyright 2002-03-23 15:36:13 +00:00
pst (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
puc Don't let children attach fast interrupts if the parent interrupt is normal. 2002-09-04 18:50:40 +00:00
random Remove #ifdef'ed Giant mutex wrappers round debugging statements. 2002-09-21 21:44:19 +00:00
ray Fix warnings. 2002-06-01 18:50:35 +00:00
rc Off-by-128 error in the cuam* device node numbers. 2002-05-20 05:12:56 +00:00
rp Change the suser() API to take advantage of td_ucred as well as do a 2002-04-01 21:31:13 +00:00
sab Make this driver work a whole lot better. 2002-09-08 04:45:16 +00:00
sbni printf() formats fixes 2002-08-06 17:00:02 +00:00
scd Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
sf add missing \n to printf 2002-09-09 17:39:48 +00:00
si Do not try and probe random PNP devices, This Is Bad. 2002-07-27 08:46:28 +00:00
sio Move the com_scr register address definition over with the other seven. 2002-09-22 08:51:31 +00:00
sk style: 2002-08-23 23:49:02 +00:00
smbus Cleanup of amdpm(4). 2002-09-21 21:43:49 +00:00
sn Don't bogusly depend on pcic. pccard should be enough. 2002-08-08 15:52:55 +00:00
snc Remove __P. 2002-03-20 02:08:01 +00:00
snp Treat input on the snp device as an `unsigned char'. According to the 2002-04-10 03:51:49 +00:00
sound Fixed breakage from removing the used include of <sys/buf.h> in the 2002-09-15 08:21:14 +00:00
speaker Remove __P. 2002-03-20 07:51:46 +00:00
sr Don't abuse __FreeBSD__ as version number. Since it was >= 3, remove 2002-07-21 04:25:30 +00:00
stg Remove even more Copy&Pasted sets of #includes. 2002-09-20 16:53:19 +00:00
streams Remove __P. 2002-03-20 02:08:01 +00:00
sym Move the new byte order function prototypes from <sys/param.h> to 2002-04-26 22:48:23 +00:00
syscons Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:23:09 +00:00
tdfx In continuation of early fileop credential changes, modify fo_ioctl() to 2002-08-17 02:36:16 +00:00
tga Add the TGA video driver. This is a great accomplishtment and will help 2001-11-01 08:26:30 +00:00
ti style: put return types on a line by themselves. 2002-08-24 00:02:03 +00:00
twe (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
tx Stop trying to align malloc()ed memory. Rely on malloc() instead, just like 2002-08-19 20:36:08 +00:00
txp Change callers of mtx_init() to pass in an appropriate lock type name. In 2002-04-04 21:03:38 +00:00
usb Deprecate the USB_SETDEBUG IOCTL as debug levels can now be set 2002-09-15 22:35:58 +00:00
vinum Reduce <sys/disklabel.h> poisoning a bit. 2002-09-20 17:14:48 +00:00
vr style: put return types on a line by themselves. 2002-08-24 00:02:03 +00:00
vx Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
wds Turn on interrupt-entropy harvesting for all/any mass storage devices 2001-03-01 17:09:09 +00:00
wi When setting the WI_RID_ENCRYPTION mode, we have to conditionally 2002-08-21 05:57:37 +00:00
wl Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
xe Three minor changes: 2002-07-22 21:24:12 +00:00