freebsd-skq/sys
ken 49f38732fc Change the mpt driver to allow larger I/O sizes.
The mpt driver previously didn't report a 'maxio' size to CAM, and so the
da(4) driver limited I/O sizes to DFLTPHYS (64K) by default.  The number
of scatter gather segments allowed, as reported to busdma, was
(128K / PAGE_SIZE) + 1, or 33 on architectures with 4K pages.

Change things around so that we wait until we've determined how many
segments the adapter can support before creating the busdma tag used for
buffers, so we can potentially support more S/G segments and therefore
larger I/O sizes.

Also, fix some things that were broken about the module unload path.  It
still gets hung up inside CAM, though.

mpt.c:		Move some busdma initialization calls in here, and call
		them just after we've gotten the IOCFacts, and know how
		many S/G segments this adapter can support.

mpt.h:		Get rid of MPT_MAXPHYS, it is no longer used.

		Add max_cam_seg_cnt, which is used to report our maximum
		I/O size up to CAM.

mpt_cam.c:	Use max_cam_seg_cnt to report our maximum I/O size to CAM.

		Fix the locking in mpt_cam_detach().

mpt_pci.c:	Pull some busdma initialization and teardown out and put
		it in mpt.c.  We now delay it until we know many scatter
		gather segments the adapter can support, and therefore
		how to setup our busdma tags.

mpt_raid.c:	Make sure we wake up the right wait channel to get the
		raid thread to wake up when we're trying to shut it down.

Reviewed by:	gibbs, mjacob
MFC after:	2 weeks
2010-06-29 22:07:53 +00:00
..
amd64 Regenerate 2010-06-28 18:17:21 +00:00
arm Move ARM nexus rman initialization to attach routine. 2010-06-16 14:10:39 +00:00
boot Add some more modules to loader.conf. Remove if_awi since support for it 2010-06-23 14:06:05 +00:00
bsm
cam Don't lock buses around a call to xptperiphlistmatch- the buses will be 2010-06-29 17:10:55 +00:00
cddl Import latest ARC change from OpenSolaris: 2010-06-17 22:47:44 +00:00
compat Tweak the in-kernel API for sending signals to threads: 2010-06-29 20:41:52 +00:00
conf Import the acpi_aibs(4) driver written by Constantine A. Murenin. 2010-06-25 15:32:46 +00:00
contrib Provide kernel level headers for the libfdt code. 2010-06-02 17:24:41 +00:00
crypto Use the fpu_kern_enter() interface to properly separate usermode FPU 2010-06-05 16:00:53 +00:00
ddb MFp4 @178364: 2010-05-24 16:41:05 +00:00
dev Change the mpt driver to allow larger I/O sizes. 2010-06-29 22:07:53 +00:00
fs udf_vnops: cosmetic followup to r208671 - better looking code 2010-06-22 08:22:25 +00:00
gdb
geom Add NTFS partition type to GEOM_MBR. 2010-06-26 13:20:40 +00:00
gnu Move checking against RLIMIT_FSIZE into one place, vn_rlimit_fsize(). 2010-05-05 16:44:25 +00:00
i386 Regenerate 2010-06-28 18:17:21 +00:00
ia64 The ptc.g operation for the Mckinley and Madison processors has the 2010-06-12 01:45:29 +00:00
isa Implement new event timers infrastructure. It provides unified APIs for 2010-06-20 21:33:29 +00:00
kern Send SIGPIPE to the thread that issued the offending system call 2010-06-29 20:44:19 +00:00
kgssapi
libkern Provide memchr() in the libkern. 2010-06-02 17:27:23 +00:00
mips Add linker script and configuration file for n32 kernel. 2010-06-24 10:14:31 +00:00
modules Import the acpi_aibs(4) driver written by Constantine A. Murenin. 2010-06-25 15:32:46 +00:00
net Implement flexible BPF timestamping framework. 2010-06-15 19:28:44 +00:00
net80211 Remove GNU-style struct initialization. 2010-06-12 07:02:43 +00:00
netatalk
netgraph * Include sys/systm.h for KASSERT() 2010-06-15 08:53:13 +00:00
netinet After processing the O_SKIPTO opcode our cmd points to the next rule, and 2010-06-29 16:57:30 +00:00
netinet6 Fix our version of IPv6 address representation. 2010-05-19 00:35:47 +00:00
netipsec MFp4 @178283: 2010-05-24 16:27:47 +00:00
netipx
netnatm
netncp
netsmb
nfs
nfsclient In NFS clients, instead of inconsistently using #ifdef 2010-06-13 05:24:27 +00:00
nfsserver
nlm
opencrypto Use the fpu_kern_enter() interface to properly separate usermode FPU 2010-06-05 16:00:53 +00:00
pc98 Fix bugs on pc98, use npxgetuserregs() instead of npxgetregs() for 2010-06-23 12:17:13 +00:00
pci
powerpc Fix profiling (part 1): 2010-06-29 19:07:44 +00:00
rpc
security
sparc64 Provide for multiple, cascaded PICs on PowerPC systems, and extend the 2010-06-18 14:06:27 +00:00
sun4v Missed change to sun4v while adding iparent lookup to the OFW interrupt 2010-06-18 16:29:03 +00:00
sys Sort function prototypes (since I didn't manage to insert tdksignal() 2010-06-29 20:55:12 +00:00
teken
tools Flattened Device Tree helper scripts. 2010-06-02 17:22:38 +00:00
ufs Ensure that VOP_ACCESSX is called with exclusively locked vnode for 2010-06-20 13:35:16 +00:00
vm Introduce vm_page_next() and vm_page_prev(), and use them in 2010-06-21 23:27:24 +00:00
x86 Do not trust IRQ reported by ACPI. There are cases when it is wrong. 2010-06-23 05:43:21 +00:00
xdr
xen
Makefile