summaryrefslogtreecommitdiff
path: root/sys/dev/mpt
Commit message (Collapse)AuthorAgeFilesLines
* Copy releng/7.3 to release/7.3.0 to mark 7.3-RELEASE.release/7.3.0_cvsKen Smith2010-03-2122-22/+22
| | | | | | Approved by: re (implicit) This commit was manufactured to restore the state of the 7.3-RELEASE image.
* - Remove unused variables. [1]Marius Strobl2009-09-201-25/+3
| | | | | | | | | | | | - Remove redundant zeroing of tmf_req which Coverity Prevent(tm) complains about. [2] Submitted by: Christoph Mallon [1] Found with: Coverity Prevent(tm) [2] CID: 2496 [2] Notes: svn path=/stable/7/; revision=197344
* MFC r195275:Xin LI2009-08-021-1/+4
| | | | | | | | Use MPT_MAX_LUNS as maximium number of LUNs, not 7, for SAS and FC cases. This matches Linux driver behavior (except SPI case). Notes: svn path=/stable/7/; revision=196032
* MFC: Largely revert the earlier change to use a single CCB for the RAIDJohn Baldwin2009-05-281-3/+8
| | | | | | | recovery thread. Notes: svn path=/stable/7/; revision=192975
* MFC: r186878Marius Strobl2009-03-185-37/+223
| | | | | | | | | | | | | | | | | | | | | | Make the whole initiator mode part of mpt(4) endian-clean, specifically SPI controllers now also work in big-endian machines and some conversions relevant for FC and SAS controllers as well as support for ILP32 machines which all were omitted in previous attempts are now also implemented. The IOCTL-interface is intentionally left (and where needed actually changed) to be completely little-endian as otherwise we would have to add conversion code for every possible configuration page to mpt(4), which didn't seem the right thing to do, neither did converting only half of the user- interface to the native byte order. This change was tested on amd64 (SAS+SPI), i386 (SAS) and sparc64 (SAS+SPI). Due to lack of the necessary hardware the target mode code is still left to be made endian-clean. Reviewed by: scottl Notes: svn path=/stable/7/; revision=189999
* MFC: r172842 (partial), r178725Marius Strobl2009-03-183-5/+23
| | | | | | | Restore multi-release tradition of the driver. Notes: svn path=/stable/7/; revision=189998
* Merge rev 1.48: Don't force a reset at driver attach time.Scott Long2008-08-041-1/+1
| | | | Notes: svn path=/stable/7/; revision=181277
* Merge rev 1.47: Fix probe and attach so that the raid personality getsScott Long2008-08-041-4/+7
| | | | | | | properly initialized. Notes: svn path=/stable/7/; revision=181276
* MFC: Allocate a single CCB at the start of the main loop of the RAIDJohn Baldwin2008-07-281-4/+4
| | | | | | | monitoring kthread of the mpt(4) driver. Notes: svn path=/stable/7/; revision=180920
* MFC: Use dedicated buffers for user requests rather than reusing the spaceJohn Baldwin2008-07-211-67/+105
| | | | | | | in the request buffer. Notes: svn path=/stable/7/; revision=180669
* MFC: During shutdown, deregister the shutdown hook from the correct eventJohn Baldwin2008-07-211-1/+1
| | | | | | | handler. Notes: svn path=/stable/7/; revision=180666
* MFC: Add the mpt_user personality to mpt(4).John Baldwin2008-06-272-0/+758
| | | | Notes: svn path=/stable/7/; revision=180057
* MFC revision 1.52Xin LI2008-05-241-0/+6
| | | | | | | | | date: 2008/05/10 01:27:23; author: delphij; state: Exp; lines: +6 -0 Add support for LSI 1078DE (ServeRAID-AR10is SAS/SATA Controller) Notes: svn path=/stable/7/; revision=179271
* MFC revision 1.46Xin LI2007-12-151-1/+2
| | | | | | | | | | | | | date: 2007/11/03 17:33:41; author: scottl; state: Exp; lines: +2 -1 Ever since the module registration system was introduced to this driver, it's been printing out scary messages about "Unhanded Event Notify Frame" that are needlessly worrisome to users. Change this warning to only print out at an elevated debugging level. Approved by: re (kensmith) Notes: svn path=/stable/7/; revision=174621
* Diff reduction against -HEAD: MFC revision 1.45Xin LI2007-12-151-3/+3
| | | | | | | | | | date: 2007/10/12 06:03:43; author: kevlo; state: Exp; lines: +3 -3 Spelling fix for interupt -> interrupt Approved by: re (kensmith) Notes: svn path=/stable/7/; revision=174620
* Merge rev 1.62: Fix use-after-free panic.Scott Long2007-10-191-1/+0
| | | | | | | Approved by: re Notes: svn path=/stable/7/; revision=172809
* Fix an incorrect PCI device id. The current value conflicts withDoug Ambrisko2007-09-181-1/+1
| | | | | | | | | | | | | the mfi(4) LSI MegaSAS RAID card. Looking at the Linux driver for the mpt(4) it should be 0x0062 and not 0x0060. Tested with an mfi card of this device id. Approved by: re (bmah) Reviewed by: scottl MFC after: 3 days Notes: svn path=/head/; revision=172219
* Move callout initialization to the proper spot. This prevents panics duringScott Long2007-08-143-8/+1
| | | | | | | | | | error recovery. Approved by: re Found by: kan Notes: svn path=/head/; revision=171842
* Fix some debugging code that crept in accidentally.Scott Long2007-06-181-3/+3
| | | | Notes: svn path=/head/; revision=170924
* Prepare for future integration between CAM and newbus. xpt_bus_registerScott Long2007-06-171-5/+5
| | | | | | | | | | now takes a device_t to be the parent of the bus that is being created. Most SIMs have been updated with a reasonable argument, but a few exceptions just pass NULL for now. This argument isn't used yet and the newbus integration likely won't be ready until after 7.0-RELEASE. Notes: svn path=/head/; revision=170872
* Track an update in the MPI headers that was missed earlier.Scott Long2007-06-041-1/+1
| | | | Notes: svn path=/head/; revision=170276
* Free the portinfo object on unload.Scott Long2007-06-041-0/+4
| | | | Notes: svn path=/head/; revision=170271
* mpt.c:Scott Long2007-06-033-32/+514
| | | | | | | | | | | | | | | | | | | | | | | | | | | | mpt.h: Add support for reading extended configuration pages. mpt_cam.c: Do a top level topology scan on the SAS controller. If any SATA device are discovered in this scan, send a passthrough FIS to set the write cache. This is controllable through the following tunable at boot: hw.mpt.enable_sata_wc: -1 = Do not configure, use the controller default 0 = Disable the write cache 1 = Enable the write cache The default is -1. This tunable is just a hack and may be deprecated in the future. Turning on the write cache alleviates the write performance problems with SATA that many people have observed. It is not recommend for those who value data reliability! I cannot stress this strongly enough. However, it is useful in certain circumstances, and it brings the performence in line with what a generic SATA controller running under the FreeBSD ATA driver provides (and the ATA driver has had the WC enabled by default for years). Notes: svn path=/head/; revision=170252
* Update to MPI 1.5.16Scott Long2007-06-039-456/+589
| | | | Notes: svn path=/head/; revision=170251
* Make this driver MP safe and still be a multi-release driver.Matt Jacob2007-05-056-129/+150
| | | | | | | | Obtained from: 99% of the work done by Scott Long. MFC after: 3 days Notes: svn path=/head/; revision=169293
* Revert a driver API change to xpt_alloc_ccb that isn't necessary. Fix aScott Long2007-04-181-5/+3
| | | | | | | couple of associated error checks. Notes: svn path=/head/; revision=168831
* Remove Giant from CAM. Drivers (SIMs) now register a mutex that CAM willScott Long2007-04-151-5/+7
| | | | | | | | | | | | | | use to synchornize and protect all data objects that are used for that SIM. Drivers that are not yet MPSAFE register Giant and operate as usual. RIght now, no drivers are MPSAFE, though a few will be changed in the coming week as this work settles down. The driver API has changed, so all CAM drivers will need to be recompiled. The userland API has not changed, so tools like camcontrol do not need to be recompiled. Notes: svn path=/head/; revision=168752
* Hide bus reset announcements within bootverbose.Matt Jacob2007-04-071-2/+7
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=168470
* feedback from RELENG_5 portMatt Jacob2007-03-112-0/+8
| | | | Notes: svn path=/head/; revision=167426
* Redo previous newbus related change to be kinder toMatt Jacob2007-02-232-1/+8
| | | | | | | multi-release support. Notes: svn path=/head/; revision=166935
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-231-1/+1
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* Use the new xpt_rescan function to truly now have dynamicMatt Jacob2007-02-232-2/+42
| | | | | | | | | | | | | attachment of new devices that arrive (and we notice them via async Fibre Channel events). We've always had the right thing (of sorts) happen when devices go away- this is the corollary function that makes multipath failover actually work. MFC after: 2 weeks Notes: svn path=/head/; revision=166897
* Catch up to MSI-X API changes. Tested with both MSI and MSI-X.John Baldwin2007-02-141-8/+23
| | | | Notes: svn path=/head/; revision=166721
* Whoops- #ifdef problem caused uninitialized transport. Not horriblyMatt Jacob2007-01-251-1/+1
| | | | | | | a problem, but caused annoying messages. Notes: svn path=/head/; revision=166227
* (commented out) multipath fault injection code.Matt Jacob2007-01-054-2/+21
| | | | | | | Some code to make diffs with RELENG_6 easier. Notes: svn path=/head/; revision=165814
* Another (minor) CAM_NEW_TRAN backport thingie, plus a slightlyMatt Jacob2007-01-051-1/+17
| | | | | | | closer to __FreeBSD_version comparison for this. Notes: svn path=/head/; revision=165808
* Make some slight reorganization (bringing back in someMatt Jacob2006-12-161-12/+86
| | | | | | | | non-CAM_NEW_TRAN code) to make diffs to previous FreeBSD versions more manageable. Notes: svn path=/head/; revision=165274
* Make mpt_pci depend on pci and mpt_cam depend on CAM.Matt Jacob2006-12-102-0/+2
| | | | | | | | | PR: 106536 Suggested by: Norikatsu Shigemura MFC after: 3 days Notes: svn path=/head/; revision=165058
* PH! Forgot to do my cross-compile check. Also now rearranged things soMatt Jacob2006-12-072-14/+17
| | | | | | | the ENDIAN defines are consistent between mpt.h and mpt.c. Notes: svn path=/head/; revision=164998
* MFP4: principally to reapply tagged command support to FC and SAS cards.Matt Jacob2006-12-075-280/+384
| | | | Notes: svn path=/head/; revision=164990
* use xpt_print functionMatt Jacob2006-12-051-3/+2
| | | | Notes: svn path=/head/; revision=164907
* Fix a massive couple of botches here: the NVRAM settingsMatt Jacob2006-12-031-23/+15
| | | | | | | | | | | | | | | | read wasn't flagging the SYNC mode was enabled. The temp values for offset and sync period were uint8_t, but were being assigned and shifted from a uint32_t value. This didn't show up in testing because a random number of 1030 cards set a bit that says "honor BIOS negotiation", which means this whole code path was skipped. This should clear up at least some of the negotation issues that have been seen. Notes: svn path=/head/; revision=164846
* Forced commit: previous revision just correctly reflected thatMatt Jacob2006-12-031-1/+0
| | | | | | | the number of attached devices is 16 bits wide, not 8 bits wide. Notes: svn path=/head/; revision=164838
* Fix a debug message which didn't quite get it right about data direction.Matt Jacob2006-12-034-102/+163
| | | | | | | | | Fix things to use the LSI-Logic Fusion Library mask and shift names for offset and sync, no matter how awkward they are, in preference to just plain numbers. Notes: svn path=/head/; revision=164837
* Pointy hat handed to me by Andrew: had msi_enable on as a default.Matt Jacob2006-11-191-1/+1
| | | | Notes: svn path=/head/; revision=164417
* Play it safe and make MSI and MSI-X an option you have to turn on for MPT.Matt Jacob2006-11-192-4/+15
| | | | Notes: svn path=/head/; revision=164416
* If a TMF request fails to start, make sure that we pull it off theMatt Jacob2006-11-191-2/+4
| | | | | | | | pending list and set the state back to free prior to calling mpt_reset so we don't panic at a later point. Notes: svn path=/head/; revision=164415
* *smack* - forgot to do i386 compile, so lastMatt Jacob2006-11-171-2/+2
| | | | | | | commit broke things. Notes: svn path=/head/; revision=164349
* Finally fix local command responses to set residual correctly.Matt Jacob2006-11-161-19/+35
| | | | | | | | | This allows us to play nicely on SANs when we have target mode enabled in f/w but have neither the scsi_targbh enabled or scsi_targ with a target enabled. Notes: svn path=/head/; revision=164348
* After tests on 2 different AMD platforms with severalMatt Jacob2006-11-161-2/+0
| | | | | | | | | | | different cards (SAS, 4Gb FC), MSI seems to work with the cards. This was of some concern because some PCI cards claim to work with MSI but don't. Notes: svn path=/head/; revision=164326