freebsd-skq/sys/dev
ken ae423e2b0b Fix several issues with the mps(4) driver.
When the driver ran out of DMA chaining buffers, it kept the timeout for
the I/O, and I/O would stall.

The driver was not freezing the device queue on errors.

mps.c:		Pull command completion logic into a separate
		function, and call the callback/wakeup for commands
		that are never sent due to lack of chain buffers.

		Add a number of extra diagnostic sysctl variables.

		Handle pre-hardware errors for configuration I/O.
		This doesn't panic the system, but it will fail the
		configuration I/O and there is no retry mechanism.
		So the device probe will not succeed.  This should
		be a very uncommon situation, however.

mps_sas.c:	Freeze the SIM queue when we run out of chain
		buffers, and unfreeze it when more commands
		complete.

		Freeze the device queue when errors occur, so that
		CAM can insure proper command ordering.

		Report pre-hardware errors for task management
		commands.  In general, that shouldn't be possible
		because task management commands don't have S/G
		lists, and that is currently the only error path
		before we get to the hardware.

		Handle pre-hardware errors (like out of chain
		elements) for SMP requests.  That shouldn't happen
		either, since we should have enough space for two
		S/G elements in the standard request.

		For commands that end with
		MPI2_IOCSTATUS_SCSI_IOC_TERMINATED and
		MPI2_IOCSTATUS_SCSI_EXT_TERMINATED, return them
		with CAM_REQUEUE_REQ to retry them unconditionally.
		These seem to be related to back end, transport
		related problems that are hopefully transient.  We
		don't want to go through the retry count for
		something that is not a permanent error.

		Keep track of the number of outstanding I/Os.

mpsvar.h:	Track the number of free chain elements.

		Add variables for the number of outstanding I/Os,
		and I/O high water mark.

		Add variables to track the number of free chain
		buffers and the chain low water mark, as well as
		the number of chain allocation failures.

		Add I/O state flags and an attach done flag.

MFC after:	3 days
2011-02-18 17:06:06 +00:00
..
aac We can pass a format string and args to panic(), so instead of using 2011-02-04 15:45:48 +00:00
acpi_support Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
acpica Rework r218685. Copy just enough data for the resource type. 2011-02-14 20:05:37 +00:00
adb
adlink Remove an unnecessary INTR_MPSAFE and a comment suggesting it was 2011-01-06 21:02:14 +00:00
advansys
ae sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
age Forgot to remove unlock of the driver lock from age_start_locked() when 2011-01-13 13:04:49 +00:00
agp Add a driver for the Apple Uninorth AGP host bridge found in all PowerPC 2010-10-31 18:27:05 +00:00
aha
ahb
ahci Restore DH89xxCC/Patsburg chip IDs accentally dropped at r218596. 2011-02-12 13:28:50 +00:00
aic
aic7xxx Revert r213765. This is required because our build infrastructure uses 2010-10-14 19:19:19 +00:00
alc alc_rev was used without initialization such that it failed to 2011-01-31 20:00:43 +00:00
ale Fix some bugs in my last set of changes to ale(4): 2011-01-18 16:27:40 +00:00
amd Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
amdsbwd amdsbwd: fix nonsensical timeout calculations 2010-05-31 09:07:23 +00:00
amdtemp
amr Fix clang warning on empty statement. 2010-07-28 16:24:11 +00:00
an Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
arcmsr Workaround build for PAE case for now - revert the PHYS 2010-11-14 05:05:41 +00:00
asmc
asr Don't zero 'Info' after setting it up in the ASR_IOCTL_COMPAT case. 2010-11-25 21:51:43 +00:00
ata Support for the new Patsburg PCH chipset: 2011-02-01 01:05:11 +00:00
ath Just be double-sure short-gi isn't being enabled in 20mhz mode. 2011-02-17 17:35:09 +00:00
atkbdc Only use the BIOS-supplied IRQ for the atkbdc device for a child atkbd 2010-12-21 12:49:37 +00:00
auxio Enroll these drivers in multipass probing. The motivation behind this 2009-12-22 21:02:46 +00:00
bce - Updated firmware which improves small packet performance. 2011-02-11 00:41:49 +00:00
bfe Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
bge sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
bktr Fix build on architectures where PAGE_SIZE is a long (sparc64, powerpc). 2010-07-13 19:27:20 +00:00
bm Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
buslogic Remove some always-true comparisons. 2011-01-18 15:23:16 +00:00
bwi Pull ieee80211_ratectl_node_init() calls from drivers into net80211. 2011-01-17 20:15:15 +00:00
bwn Pull ieee80211_ratectl_node_init() calls from drivers into net80211. 2011-01-17 20:15:15 +00:00
cardbus Move the PCI-specific logic of removing a cardbus device into a 2010-01-05 20:42:25 +00:00
cas - Fix and enable support for flow control. 2010-11-22 22:06:30 +00:00
ce Revert r213793. 2010-10-13 17:38:23 +00:00
cfe Start using the 'init_static_kenv()' API provided by r198561 to initialize 2010-08-11 02:13:50 +00:00
cfi Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
ciss Cosmetic: make it less confusing when displaying RAID 1 level, that might 2010-10-02 08:18:19 +00:00
cm Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cmx
coretemp Catch known CPUs before using IA32_TEMPERATURE_TARGET. 2010-08-04 00:25:13 +00:00
cp Revert r213793. 2010-10-13 17:38:23 +00:00
cpuctl
cpufreq
cs Use bus space functions rather than inw/outw 2011-01-29 00:53:58 +00:00
ct Spell "Hz" correctly wherever it is user-visible. 2010-01-12 17:59:58 +00:00
ctau Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cx Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
cxgb Explicitly wire the user buffer rather than doing it implicitly in 2011-01-27 00:34:12 +00:00
cxgbe cxgbe(4) - NIC driver for Chelsio T4 (Terminator 4) based 10Gb/1Gb adapters. 2011-02-18 08:00:26 +00:00
cy
dc Remove use case of DC_TX_ONE. It was used to limit queue just 1 TX 2011-02-18 03:37:53 +00:00
dcons
de Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
digi
dpms
dpt Get rid of #ident, GCC 4.4 warns about it being deprecated. 2010-01-08 17:20:41 +00:00
drm Introduce and use a new VM interface for temporarily pinning pages. This 2010-12-25 21:26:56 +00:00
e1000 Fix the shared code to be consistent with Intel-internal, 2011-02-12 00:07:40 +00:00
ed sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
eisa
en Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
ep Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
esp Include <machine/ofw_machdep.h> for OF_getscsinitid(). 2010-05-10 20:02:39 +00:00
et Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
ex Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
exca CardBus instead of cardbus. 2010-01-03 23:26:29 +00:00
fatm Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
fb Use the preload_fetch_addr() and preload_fetch_size() convenience 2011-02-13 19:25:48 +00:00
fdc Fix a regression from r200554, which broke fdc(4) attachment to acpi(4). 2010-05-30 03:45:41 +00:00
fdt Don't operate on the parent of the PCI node. It's the PCI node itself 2011-01-29 21:14:29 +00:00
fe Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
firewire Remove references to MAKEDEV(8) 2010-11-15 05:25:51 +00:00
flash Modify the spi flash driver to allow smaller read IO sizes, but enforce 2011-02-16 20:07:44 +00:00
fxp Fix a regression introduced in r215906. The change made in r215906 2011-02-15 18:16:04 +00:00
gem - Fix and enable support for flow control. 2010-11-22 22:13:26 +00:00
glxsb
gpio Add a GPIO driver for the Gateworks Cambria platform. 2010-11-11 20:18:33 +00:00
hatm Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
hifn No need to zero the softc. It's allocated with M_ZERO. 2010-12-18 14:24:24 +00:00
hme Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
hptiop Report transport type in XPT_PATH_INQ. 2010-06-19 13:41:17 +00:00
hptmv Report transport type in XPT_PATH_INQ. 2010-06-19 13:42:14 +00:00
hptrr Pass a format string to make_dev(). 2010-10-13 14:41:52 +00:00
hwpmc Fix two aliases that had the same name but were pointing to different 2010-10-04 17:22:18 +00:00
ic Merge from projects/mips to head by hand: 2010-01-11 04:13:06 +00:00
ichsmb Support for the new Patsburg PCH chipset: 2011-02-01 01:05:11 +00:00
ichwd Support for the new Patsburg PCH chipset: 2011-02-01 01:05:11 +00:00
ida
ie Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ieee488 Implement more of __ibsta: END and SRQI status bits (taken out of the 2010-12-10 22:20:11 +00:00
if_ndis Revert the ndis part of r212122, windrv_stub.c already adds a MODULE_VERSION 2011-01-22 21:33:18 +00:00
iicbus There are PowerMacs which do not have a hwsensor-location property 2011-01-18 21:47:30 +00:00
iir Get rid of #ident. 2010-01-08 20:40:28 +00:00
io - Extract the IODEV_PIO interface from ia64 and make it MI. 2010-04-28 15:38:01 +00:00
ipmi Fix test for double-nul characters that terminate the string table at 2010-07-29 13:46:37 +00:00
ips
ipw Enable 5.5 and 11Mbit TX rates. 2010-05-11 17:14:17 +00:00
iscsi/initiator Specify a CTLTYPE_FOO so that a future sysctl(8) change does not need 2011-01-18 21:14:23 +00:00
isp - Use the correct DMA tag/map pair for synchronize the FC scratch area. 2011-02-14 21:50:51 +00:00
ispfw Update firmware to more recent versions. 2011-01-05 23:15:22 +00:00
iwi sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
iwn Pull ieee80211_ratectl_node_init() calls from drivers into net80211. 2011-01-17 20:15:15 +00:00
ixgb Do not allocate multicast array memory in multicast filter 2010-08-28 00:34:22 +00:00
ixgbe Don't bother to run the flowcontrol code if there 2011-01-22 00:19:15 +00:00
jme - Add a locked variant of jme_start() and invoke it directly while holding 2011-01-13 14:42:43 +00:00
joy
kbd Explicitly tell the compiler that we don't care about the return value 2010-10-13 11:37:12 +00:00
kbdmux Explicitly tell the compiler that we don't care about the return value 2010-10-13 11:37:12 +00:00
ksyms Update d_mmap() to accept vm_ooffset_t and vm_memattr_t. 2009-12-29 21:51:28 +00:00
le Use convenience functions where possible instead of accessing the PCI 2010-12-18 14:21:28 +00:00
led Fix an incorrect use of sbuf_overflowed() after a call to sbuf_finish(). 2010-09-09 18:35:08 +00:00
lge Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
lindev
lmc Merge amd64 and i386 bus.h and move the resulting header to x86. Replace 2010-12-20 16:39:43 +00:00
malo Use convenience functions where possible instead of accessing the PCI 2010-12-18 14:21:28 +00:00
mc146818 Remove clause 3 from Izumi Tsutsui's licenses. 2009-12-25 22:58:43 +00:00
mca
mcd
md Use the preload_fetch_addr() and preload_fetch_size() convenience 2011-02-09 19:31:10 +00:00
mem Add reader/writer lock around mem_range_attr_get() and mem_range_attr_set(). 2011-01-17 22:58:28 +00:00
mfi When masking direct and processor devices during an inquiry, properly 2010-12-06 17:02:56 +00:00
mge Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
mii Add Realtek RTL8201E 10/100 PHY found in RTL8105E controller. The 2011-01-26 21:07:44 +00:00
mk48txx Fix botches in r201005: 2010-01-01 22:47:53 +00:00
mlx
mly MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
mmc Fix 32bit bit fields handling. This fixes card serial number fetching. 2011-01-17 19:31:34 +00:00
mn
mps Fix several issues with the mps(4) driver. 2011-02-18 17:06:06 +00:00
mpt sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
mse
msk Introduce signed and unsigned version of CTLTYPE_QUAD, renaming 2011-01-19 23:00:25 +00:00
mvs Workaround strange situation when EDMA_RESQIP register returns zero instead 2010-10-20 07:47:31 +00:00
mwl The mwl's HAL manages an array of MWL_MBSS_MAX VAPs where the first 8 are 2010-12-31 09:50:15 +00:00
mxge Use a regular taskqueue rather than a fast taskqueue for mxge(4). 2011-01-07 16:07:29 +00:00
my Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ncv
nfe Reinitialize driver when MTU is changed and driver is running. 2011-01-24 17:53:58 +00:00
nge Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
nmdm
nsp
null Mark /dev/zero and /dev/null as eternal. 2010-08-06 09:47:48 +00:00
nve Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
nvram
nxge Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ofw Return IEEE 1275 compliant error codes. 2010-11-11 13:42:46 +00:00
patm Fix a few more SYSCTL_PROC() that were missing a CTLFLAG type specifier. 2011-01-19 00:57:58 +00:00
pbio
pccard Fix typos. 2010-11-09 10:59:09 +00:00
pccbb sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
pcf
pci Use the preload_fetch_addr() and preload_fetch_size() convenience 2011-02-13 19:26:51 +00:00
pcn Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
pdq Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
powermac_nvram Add support for the Sharp/Micron flash chips to powermac_mvram(4). 2010-09-05 20:04:02 +00:00
ppbus bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
ppc Add PCI ID for MCS9901's parallel port. 2010-03-23 20:08:18 +00:00
pst
pty Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
puc Add Exar octal PCI UART. 2010-12-18 02:54:51 +00:00
quicc Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
ral Pull ieee80211_ratectl_node_init() calls from drivers into net80211. 2011-01-17 20:15:15 +00:00
random Finish r210923, 210926. Mark some devices as eternal. 2011-01-04 10:59:38 +00:00
rc
re Add initial support for RTL8401E PCIe Fast Ethernet. 2011-02-16 21:59:42 +00:00
rndtest
rp
safe Remove extraneous semicolons, no functional changes. 2010-01-07 21:01:37 +00:00
sbni Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
scc
scd
sdhci
sec Convert Freescale PowerPC platforms to FDT convention. 2010-07-11 21:08:29 +00:00
sf Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
sge Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
si
siba Fix double ;; 2010-12-06 10:24:06 +00:00
siis Add missing part of r217877. 2011-01-26 13:10:07 +00:00
sio Based on discussions on the svn-src mailing list, rework r218195: 2011-02-08 00:16:36 +00:00
sis Rework RX filter programming by providing separate handler for 2011-01-18 17:50:14 +00:00
sk Fix a long standing bug in programming station address for Yukon 2010-11-06 22:07:22 +00:00
smbus
smc Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
sn Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
snc Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
snp
sound - Make an enum for all the umidi USB transfers. 2011-02-18 07:37:30 +00:00
speaker
spibus bus_add_child: change type of order parameter to u_int 2010-09-10 11:19:03 +00:00
ste sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
stg
stge o Flesh out the generic IEEE 802.3 annex 31B full duplex flow control 2010-11-14 13:26:10 +00:00
streams
sym - On sparc64 obtain the initiator ID from the Open Firmware device tree 2010-04-27 18:05:33 +00:00
syscons Rename a variable to match scvidctl.c. 2010-11-30 17:34:15 +00:00
tdfx Remove references to MAKEDEV(8) 2010-11-15 05:25:51 +00:00
ti Neither the page lock nor the page queues lock is required to unwire and 2010-05-03 15:51:59 +00:00
tl - Add IFM_10_2 and IFM_10_5 media via tlphy(4) only in case the respective 2010-10-24 12:51:02 +00:00
tpm Add tpm(4) driver for Trusted Platform Module. 2010-08-12 00:16:18 +00:00
trm MFp4: Large set of CAM inprovements. 2010-01-28 08:41:30 +00:00
tsec Don't use the MAC address in the device tree if it's all zeroes 2011-01-28 23:40:13 +00:00
twa Fix a compile problem introduced with r212008 on 32bit: 2010-09-04 16:27:14 +00:00
twe Teach twe driver to report array stripe size to GEOM. 2009-12-25 17:34:43 +00:00
tx Converted the remainder of the NIC drivers to use the mii_attach() 2010-10-15 15:00:30 +00:00
txp sysctl(9) cleanup checkpoint: amd64 GENERIC builds cleanly. 2011-01-12 19:53:56 +00:00
uart In uart_tty_outwakeup(), check CTS/RTS flow control settings and 2011-01-24 18:34:16 +00:00
ubsec Cast the bus_size_t to a intmax_t rather than assuming type-punning to 2010-03-29 17:26:24 +00:00
usb - Fix build of manual page and inclusion of mos driver into kernel config file. 2011-02-17 07:39:53 +00:00
utopia
vge Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
vkbd
vr Convert the PHY drivers to honor the mii_flags passed down and convert 2010-10-15 14:52:11 +00:00
vte Remove debugging leftovers. 2010-12-31 01:23:04 +00:00
vx Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
watchdog
wb Fix indentation in r213894. 2010-11-07 12:29:26 +00:00
wds
wi sysctl(8) should use the CTLTYPE to determine the type of data when 2011-01-19 17:04:07 +00:00
wl Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
wpi Pull ieee80211_ratectl_node_init() calls from drivers into net80211. 2011-01-17 20:15:15 +00:00
xe Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
xen Fix bug in the netfront driver that caused excessive packet drops during 2011-01-29 02:36:45 +00:00
xl Add flow control for 3C905B and newer controllers. Note, these 2010-11-14 23:53:13 +00:00