summaryrefslogtreecommitdiffstats
path: root/sys/dev/mfi
Commit message (Collapse)AuthorAgeFilesLines
* Remove a PCI ID entry that conflicts with the AMR driver.scottl2007-01-231-1/+0
|
* Add PCI Id's for upcoming controllers.scottl2007-01-171-1/+3
| | | | | Obtained from: LSI Corp. MFC After: 3 days
* Up the event class reporting from 10 (basically, nothing) to EVT_CLASS_INFO.scottl2007-01-071-1/+1
| | | | Submitted by: Doug Ambrisko
* Make sure that all of the fields in the header are clean. It was possible forscottl2007-01-021-5/+9
| | | | unsafe flags to leak from one command to another.
* Some relatively minor changes and bug fixes:ambrisko2006-12-143-65/+54
| | | | | | | | | | | | | | | | | 1) s/mi/mfi/ in FreeBSD ioctl path 2) add in "\n" on various failure messages 3) cap the length of time to abort an AEN command 4) fix passing sense data back to user to make Dell's Linux firmware upgrade tool happy. 5) bump the MFI_POLL_TIMEOUT_SECS from 10s to 50s since the firmware flash command can take ~40s to return. This is some clean-up and enables RAID firmware to updated via Dell's tool. Note Dell's tool requires the updates to the Linux emulator that has been done in -current with TLS etc. I need to discuss with scottl how to better submit mfi commands to the firmware via the ioctl path so we don't do it in polled mode.
* Change the internal API for polled commands. Calling mfi_polled_commandscottl2006-11-181-83/+39
| | | | | | | | | after calling mfi_mapcmd is no longer needed, so long as the MFI_CMD_POLLED flag is set. This change eliminates the possibility of a polled command getting posted twice to the driver. This is turn fixes panics on shutdown when INVARIANTS is set. Sponsored by: Ironport
* - Add in FreeBSD native ioctl that models the Linux version.ambrisko2006-11-143-7/+206
| | | | | | | | - Add a translation so the Linux ioctl's don't conflict with the FreeBSD definition. - Assume Linux 32bit emulation on amd64. This was tested on i386 and amd64 with the 32bit Linux MegaCli. Eventually we should do a 32bit native FreeBSD translation app.
* Remove some debugging code that accidentally crept in.scottl2006-10-161-3/+1
|
* - Add a command validator for use in debugging.scottl2006-10-165-53/+425
| | | | | | | | - Fix the locking protocol to eliminate races between normal I/O and AENs. - Various small improvements and usability tweaks. Sponsored by: IronPort Portions Submitted by: Doug Ambrisko
* Skip the AEN event command that is always hanging out on the card.scottl2006-09-271-0/+2
| | | | Submitted by: Doug Ambrisko
* Fix a bad #include statmentscottl2006-09-271-1/+1
|
* Add a command debugging module and a periodic watchdog timer.scottl2006-09-253-0/+287
| | | | Sponsored by: IronPort
* Allow hw.mfi.event_locale/hw.mfi.event_class to be set via loader.ambrisko2006-09-201-2/+8
| | | | | If an event doesn't match the criteria then don't print it. Some events are not saved in the log (<0 class events).
* Change some variable names and update some comments to help clarify somescottl2006-09-202-36/+33
| | | | confusing issues.
* Change the class from uint8_t to int8_t so people can filter on >0ambrisko2006-09-071-1/+1
| | | | events.
* Change the event log dump on initial boot to use get_event versusambrisko2006-09-072-68/+117
| | | | | | | | | AEN. This makes the boot messages cleaner. I now know how this structure works so I can implement it versus guessing. Remove the not ready type code since it is ready now. I added the time stamp/locale/class so people can parse messages better. Create a sysctl so that we can set the locale/class level.
* Remove old debugging code from the interrupt handler.scottl2006-09-071-11/+4
|
* Change mfi_add_ld to "immediate command" mode since we need to enumerateambrisko2006-06-301-4/+7
| | | | | | potential boot disks during the probe so they are read for mount root. Reviewed by: ps, scottl
* Fix a potential problem when mfi_get_log_state and onlyps2006-06-201-2/+4
| | | | | release a command if one was allocated. Also release the command in mfi_shutdown.
* Instead of using scsi probes to do device discovery, use the firmwareps2006-06-205-214/+178
| | | | | | commands to grab the device listing. This resolves issues using multiple volumes, where each volume was actually internally pointing to target 0.
* Fix a typo when getting the log_state and set the flags on theps2006-06-201-1/+1
| | | | | command to signify it is being polled and expecting data to be dma'd from the card.
* Cleanup dcmd firmware processing into a single function, mfi_dcmd_commandps2006-06-201-85/+95
| | | | | | | to avoid duplication and mistakes when setting up firmware commands for submission. Reviewed by: scottl
* Clean up some comments and device printf failures in mfi_get_log_stateps2006-06-201-6/+3
| | | | and mfi_get_controller_info.
* Remove two debugging printfsps2006-06-191-2/+0
|
* Fix missing \n and when there are no arg's that means just print outambrisko2006-06-131-8/+11
| | | | | | the description so we don't have to do any more queries. Disable the event query code until it figured out since but it is similar to the AEN detail so we should be able to get that working.
* Add in a bunch of things to the mfi driver:ambrisko2006-05-187-32/+1132
| | | | | | | | | | | | | | | | | | | - Linux ioctl support, with the other Linux changes MegaCli will run if you mount linprocfs & linsysfs then set sysctl compat.linux.osrelease=2.6.12 or similar. This works on i386. It should work on amd64 but not well tested yet. StoreLib may or may not work. Remember to kldload mfi_linux. - Add in AEN (Async Event Notification) support so we can get messages from the firmware when something happens. Not all messages are in defined in event detail. Use event_log to try to figure out what happened. - Try to implement something like SIGIO for StoreLib. Since mrmonitor doesn't work right I can't fully test it. StoreLib works best with the rh9 base. In theory mrmonitor isn't needed due to native driver support of AEN :-) Now we can configure and monitor the RAID better. Submitted by: IronPort Systems.
* Fix some small bugs.scottl2006-04-101-2/+7
| | | | | Submitted by: pjd Found by: Coverity Prevent (tm)
* Fix 64-bit DMA. The problem was an incorrect flag check. Thanks to Paulscottl2006-03-281-10/+14
| | | | | | Saab for helping to track this down. Fix a error with 32bit DMA size calculation that seemed to be harmless. Add a few micro-optimizations while I'm here.
* Handle invalid capacity parameters from the firmware.scottl2006-03-282-1/+7
|
* Add a driver for the new LSI MegaRAID SAS controller family. The 'MFI' namescottl2006-03-256-0/+2672
is derived from the phrase 'MegaRAID Firmware Interface' used by LSI. This driver provides a block interface to logical disks on the card and a minimal management device. It is MPSAFE, INTR_FAST, and 64-bit capable. Thanks to Dell for providing hardware to test with and IronPort for sponsoring the work. Sponsored by: Dell, Ironport MFC After: 3 days
OpenPOWER on IntegriCloud