History log of /src/sys/dev/ic/mfivar.h |
Revision | | Date | Author | Comments |
1.20 |
| 19-Sep-2012 |
bouyer | Add a pass-through ioctl for mfi(4), allowing userland to send raw commands to the controller. This is compatible with the linux and FreeBSD implementations. Add the needed conversion for mfi ioctls in COMPAT_LINUX Allocate a character major number, and create /dev/mfi0 by default on amd64 and i386. This allows (along with a hand-created /emul/linux/proc/devices file) to run the MegaCLI linux binary provided by LSI.
|
1.19 |
| 26-Aug-2012 |
bouyer | branches: 1.19.2; After discussion on tech-kern@, fix performance issue related to cache flush commands from WAPBL, by skipping the cache flush if the BBU is present and considered good. Users which still want the write back cache with a non-working BBU can set vfs.wapbl.flush_disk_cache to 0. - add commands to monitor the BBU state. Add a boolean BBU sensor to monitor the BBU state via sysmon_envsys(9). - if the BBU is considered good, turn SCSI_SYNCHRONIZE_CACHE_10 and SCSI_SYNCHRONIZE_CACHE_16 commands from upper layer into NOOPs. While there, handle SCSI_SYNCHRONIZE_CACHE_16 in addition to SCSI_SYNCHRONIZE_CACHE_10. - Add a shutdown pmf(9) handler, which flushes the cache and shutdown the firmware - on detach, also flush cache and shutdown firmware. - on attach, print the firmware-provided name, and the BBU state Tested on a LSI MegaRAID SAS 9265-8i and a PERC 5/i Integrated
|
1.18 |
| 23-Aug-2012 |
bouyer | Add support newer LSI RAID controllers based on the SAS2208 chip, codenamed "ThunderBolt". Add tagged queuing support for all adapters supported by mfi(4). Tested with a MegaRAID SAS 9265-8i adapter, and an older Dell PERC 5/i.
|
1.17 |
| 05-Aug-2012 |
bouyer | MFI_IOP_SKINNY is an enum not a single bit value, so it can't be used as a bit flag. As sc_flags is really used to hold an enum mfi_iop value, change it to enum mfi_iop and rename to sc_ioptype. While there init it in mfi_attach() instead of mfi_pci_attach().
|
1.16 |
| 05-Aug-2012 |
bouyer | Add some support for 64bit DMA but stick to 32bit DMA for now. From OpenBSD mfi.c rev 1.119.
|
1.15 |
| 21-Mar-2012 |
sborrill | Add support for skinny variants (e.g. IBM ServeRAID M1015). Based on OpenBSD changes with some improvements. Tested on IBM x3550M3 with RAID0 and RAID1 volumes including bioctl(8) operation.
|
1.14 |
| 09-Feb-2010 |
msaitoh | branches: 1.14.10; 1.14.14; 1.14.16; Add newer cars supports. Tested on MegaRAID SAS 9260-8i. - Add MFI gen2 support from OpenBSD. - Add entry for MegaRAID SAS 9260-8i
|
1.13 |
| 16-Jul-2009 |
dyoung | branches: 1.13.2; Let us detach & re-attach children of mfi0. Detach mfi0 at shutdown.
Detachment may fail after freeing some but not all resources, so take care not to re-release any resource during detachment.
Tested on a Dell PowerEdge 1950.
|
1.12 |
| 16-Jul-2009 |
dyoung | device_t/softc split. Tested and shown to work on a Dell PowerEdge 1950.
|
1.11 |
| 16-Jul-2009 |
dyoung | Add a rudimentary detachment hook for mfi(4).
|
1.10 |
| 24-Jun-2008 |
gmcgarry | branches: 1.10.6; 1.10.10; 1.10.14; Change gcc variadic macros to c99 variadic macros.
|
1.9 |
| 08-Apr-2008 |
cegger | branches: 1.9.4; 1.9.6; 1.9.8; use aprint_*_dev and device_xname
|
1.8 |
| 25-Feb-2008 |
xtraeme | Apply some KNF to this driver and do some random changes as well:
- Change malloc + memset(blah, 0, ...) to malloc with M_ZERO. - The adapt_ioctl assigned was returning ENOTTY, so there's no point on having it. - Static'ify.
I believe there are some paths on this driver where the splbio()s are not needed, but can't test to verify...
|
1.7 |
| 25-Feb-2008 |
xtraeme | Added support for the mfi(4) controllers with powerpc IOPs such as LSI SAS1078 or Dell PERC 6, from OpenBSD.
Tested by Akira Kato on current-users@.
|
1.6 |
| 16-Nov-2007 |
xtraeme | branches: 1.6.10; 1.6.14; Extend the envsys2 API (one more time, sorry) as defined in:
http://mail-index.netbsd.org/tech-kern/2007/11/09/0001.html
sysmon_envsys_create() and sysmon_envsys_destroy() were added to create/destroy sysmon_envsys objects (and its TAILQ/LIST for sensors/events).
sysmon_envsys_sensor_attach() and sysmon_envsys_sensor_detach() were added to attach/detach sensors to a specified sysmon_envsys device.
The events framework is now per device and configurable via the ENVSYS_SETDICTIONARY ioctl or /etc/envsys.conf and envstat(8).
Update all users and documentation to reflect these changes.
|
1.5 |
| 01-Jul-2007 |
xtraeme | branches: 1.5.6; 1.5.8; 1.5.12; 1.5.14; Imported envsys 2, a brief description of the new features: (Part 2: drivers)
* Support for detachable sensors. * Cleaned up the API for simplicity and efficiency. * Ability to send capacity/critical/warning events to powerd(8). * Adapted all the code to the new locking order. * Compatibility with the old envsys API: the ENVSYS_GTREINFO and ENVSYS_GTREDATA ioctl(2)s are supported. * Added support for a 'dictionary based communication channel' between sysmon_power(9) and powerd(8), that means there is no 32 bytes event size restriction anymore. * Binary compatibility with old envstat(8) and powerd(8) via COMPAT_40. * All drivers with the n^2 gtredata bug were fixed, PR kern/36226.
Tested by:
blymn: smsc(4). bouyer: ipmi(4), mfi(4). kefren: ug(4). njoly: viaenv(4), adt7463.c. riz: owtemp(4). xtraeme: acpiacad(4), acpibat(4), acpitz(4), aiboost(4), it(4), lm(4).
|
1.4 |
| 01-May-2007 |
bouyer | Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block device controllers, and more specifically raid controllers. Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD. Add bio and sysmon support to mfi(4). This allow userland to query status for drives and logical volumes attached to a mfi(4) controller. While there fix some debug printfs in mfi so they compile. Add bio(4) to amd64 and i386 GENERIC.
|
1.3 |
| 04-Mar-2007 |
christos | branches: 1.3.2; 1.3.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.2 |
| 20-Dec-2006 |
bouyer | branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10; Add missing $NetBSD: $
|
1.1 |
| 17-Dec-2006 |
bouyer | branches: 1.1.2; Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller. Ported from OpenBSD, tested on i386 and amd64.
|
1.1.2.3 |
| 21-Dec-2006 |
yamt | sync with head.
|
1.1.2.2 |
| 18-Dec-2006 |
yamt | sync with head.
|
1.1.2.1 |
| 17-Dec-2006 |
yamt | file mfivar.h was added on branch yamt-splraiseipl on 2006-12-18 11:42:13 +0000
|
1.2.10.2 |
| 07-May-2007 |
yamt | sync with head.
|
1.2.10.1 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.2.8.2 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.2.8.1 |
| 20-Dec-2006 |
ad | file mfivar.h was added on branch newlock2 on 2007-01-12 00:57:36 +0000
|
1.2.6.5 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.2.6.4 |
| 07-Dec-2007 |
yamt | sync with head
|
1.2.6.3 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.2.6.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.2.6.1 |
| 20-Dec-2006 |
yamt | file mfivar.h was added on branch yamt-lazymbuf on 2006-12-30 20:48:03 +0000
|
1.2.4.3 |
| 15-Oct-2007 |
riz | Pull up following revisions via patch (requested by bouyer in ticket #1838): distrib/sets/lists/man/mi: revision 1.997 sbin/bioctl/strtonum.c: revision 1.1 sys/dev/Makefile: revision 1.25 sys/arch/amd64/conf/GENERIC: revision 1.139 sbin/bioctl/strtonum.h: revision 1.1 sys/dev/bio.c: revision 1.1 sbin/bioctl/bioctl.c: revision 1.1 share/man/man4/bio.4: revision 1.1 sbin/bioctl/bioctl.8: revision 1.1 sys/sys/envsys.h: revision 1.11 sbin/bioctl/bioctl.8: revision 1.3 sbin/bioctl/bioctl.8: revision 1.4 sys/arch/i386/conf/XEN2_DOM0: revision 1.25 distrib/sets/lists/base/mi: revision 1.704 sys/conf/majors: revision 1.34 share/man/man4/Makefile: revision 1.426 etc/MAKEDEV.tmpl: revision 1.86 sys/arch/i386/conf/GENERIC: revision 1.825 distrib/sets/lists/comp/mi: revision 1.1022 sys/conf/files: revision 1.839 usr.sbin/envstat/envstat.c: revision 1.24 sbin/Makefile: revision 1.105 sys/dev/ic/mfi.c: revision 1.4 sys/dev/biovar.h: revision 1.1 sys/dev/ic/mfivar.h: revision 1.4 sbin/bioctl/Makefile: revision 1.1 Fix typo. Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block device controllers, and more specifically raid controllers. Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD. Add bio and sysmon support to mfi(4). This allow userland to query status for drives and logical volumes attached to a mfi(4) controller. While there fix some debug printfs in mfi so they compile. Add bio(4) to amd64 and i386 GENERIC. Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block device controllers, and more specifically raid controllers. Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD. Add bio and sysmon support to mfi(4). This allow userland to query status for drives and logical volumes attached to a mfi(4) controller. While there fix some debug printfs in mfi so they compile. Add bio(4) to amd64 and i386 GENERIC. Fix Dd argument (use full month names). Use more markup. Comment out references to safte(4) and softraid(4), which don't exist in NetBSD. Remove trailing whitespace. Use macros instead of characters for HTML output (replace ">", "<" with \*[Gt], \*[Lt]). Sort sections. Create /dev/bio
|
1.2.4.2 |
| 23-Dec-2006 |
ghen | Pull up following revision(s) (requested by bouyer in ticket #1609): sys/arch/i386/conf/INSTALL: revision 1.298 sys/arch/i386/conf/GENERIC: revision 1.802 sys/dev/pci/files.pci: revision 1.274 sys/arch/amd64/conf/GENERIC: revision 1.122 sys/dev/pci/mfi_pci.c: revision 1.1 via patch distrib/sets/lists/man/mi: revision 1.958 sys/arch/amd64/conf/INSTALL: revision 1.61 sys/dev/ic/mfireg.h: revision 1.1 share/man/man4/Makefile: revision 1.416 via patch sys/dev/ic/mfi.c: revision 1.1 sys/arch/i386/conf/XEN2_DOM0: revision 1.19 sys/dev/ic/mfivar.h: revision 1.1 sys/conf/files: revision 1.821 share/man/man4/mfi.4: revision 1.1 share/man/man4/mfi.4: revision 1.2 sys/dev/pci/pcidevs via patch Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller. Ported from OpenBSD, tested on i386 and amd64. Punctuation issues.
|
1.2.4.1 |
| 20-Dec-2006 |
ghen | file mfivar.h was added on branch netbsd-3 on 2006-12-23 16:43:19 +0000
|
1.2.2.4 |
| 08-May-2007 |
pavel | Pull up following revision(s) (requested by bouyer in ticket #603): distrib/sets/lists/base/mi: revision 1.704 distrib/sets/lists/comp/mi: revision 1.1022 distrib/sets/lists/man/mi: revision 1.997 doc/CHANGES: revision 1.839 sbin/Makefile: patch sbin/bioctl/Makefile: revision 1.1 sbin/bioctl/bioctl.8: revision 1.1 sbin/bioctl/bioctl.c: revision 1.1 sbin/bioctl/strtonum.c: revision 1.1 sbin/bioctl/strtonum.h: revision 1.1 share/man/man4/Makefile: revision 1.426 share/man/man4/bio.4: revision 1.1 sys/arch/amd64/conf/GENERIC: revision 1.139 sys/arch/i386/conf/GENERIC: revision 1.825 sys/arch/i386/conf/XEN2_DOM0: revision 1.25 sys/conf/files: revision 1.839 sys/conf/majors: patch sys/dev/Makefile: revision 1.25 sys/dev/bio.c: patch sys/dev/biovar.h: patch sys/dev/ic/mfi.c: revision 1.4-1.5 sys/dev/ic/mfivar.h: revision 1.4 sys/sys/envsys.h: revision 1.11 usr.sbin/envstat/envstat.c: revision 1.24 Add bio(4) and associated bioctl(8) from OpenBSD, a driver control block device controllers, and more specifically raid controllers. Add a new sensor type, ENVSYS_DRIVE, to report drive status. From OpenBSD. Add bio and sysmon support to mfi(4). This allow userland to query status for drives and logical volumes attached to a mfi(4) controller. While there fix some debug printfs in mfi so they compile. Add bio(4) to amd64 and i386 GENERIC.
note bio(4), envsys(4) DRIVE, and mfi(4) support for both.
tred->sensor is a u_int.
|
1.2.2.3 |
| 21-Dec-2006 |
tron | Pull up following revision(s) (requested by bouyer in ticket #286): sys/dev/pci/mfi_pci.c: revision 1.2 sys/dev/ic/mfireg.h: revision 1.2 sys/dev/ic/mfi.c: revision 1.2 sys/dev/ic/mfivar.h: revision 1.2 Add missing $NetBSD: $
|
1.2.2.2 |
| 21-Dec-2006 |
tron | Pull up following revision(s) (requested by bouyer in ticket #286): sys/arch/i386/conf/INSTALL: revision 1.298 sys/arch/i386/conf/GENERIC: revision 1.802 sys/dev/pci/files.pci: revision 1.274 sys/arch/amd64/conf/GENERIC: revision 1.122 sys/dev/pci/mfi_pci.c: revision 1.1 distrib/sets/lists/man/mi: revision 1.958 sys/arch/amd64/conf/INSTALL: revision 1.61 sys/arch/i386/conf/ALL: revision 1.75 sys/dev/ic/mfireg.h: revision 1.1 share/man/man4/Makefile: revision 1.416 sys/dev/ic/mfi.c: revision 1.1 sys/arch/i386/conf/XEN2_DOM0: revision 1.19 sys/dev/ic/mfivar.h: revision 1.1 sys/conf/files: revision 1.821 share/man/man4/mfi.4: revision 1.1 Add mfi(4), a driver for LSI Logic & Dell MegaRAID SAS RAID controller. Ported from OpenBSD, tested on i386 and amd64.
|
1.2.2.1 |
| 20-Dec-2006 |
tron | file mfivar.h was added on branch netbsd-4 on 2006-12-21 12:46:21 +0000
|
1.3.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.3.2.2 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.3.2.1 |
| 27-May-2007 |
ad | Sync with head.
|
1.5.14.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.5.12.1 |
| 18-Nov-2007 |
bouyer | Sync with HEAD
|
1.5.8.2 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.5.8.1 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.5.6.1 |
| 21-Nov-2007 |
joerg | Sync with HEAD.
|
1.6.14.3 |
| 29-Jun-2008 |
mjf | Sync with HEAD.
|
1.6.14.2 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.6.14.1 |
| 03-Apr-2008 |
mjf | Sync with HEAD.
|
1.6.10.1 |
| 24-Mar-2008 |
keiichi | sync with head.
|
1.9.8.1 |
| 27-Jun-2008 |
simonb | Sync with head.
|
1.9.6.1 |
| 18-Sep-2008 |
wrstuden | Sync with wrstuden-revivesa-base-2.
|
1.9.4.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.9.4.2 |
| 18-Jul-2009 |
yamt | sync with head.
|
1.9.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.10.14.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.10.10.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.10.6.1 |
| 28-Mar-2010 |
snj | Apply patch (requested by msaitoh in ticket #1326): Add support for MFI gen2 devices. Mention newer devices, RAID 6 and RAID60 in mfi.4.
|
1.13.2.1 |
| 30-Apr-2010 |
uebayasi | Sync with HEAD.
|
1.14.16.3 |
| 24-Oct-2012 |
riz | Pull up following revision(s) (requested by bouyer in ticket #629): sys/compat/linux/common/linux_ioctl.c: revision 1.57 sys/dev/ic/mfi.c: revision 1.47 sys/conf/majors: revision 1.62 etc/etc.i386/MAKEDEV.conf: revision 1.24 sys/dev/ic/mfivar.h: revision 1.20 etc/MAKEDEV.tmpl: revision 1.159 sys/dev/ic/mfiio.h: revision 1.1 etc/etc.amd64/MAKEDEV.conf: revision 1.19 sys/dev/ic/mfireg.h: revision 1.8 Add a pass-through ioctl for mfi(4), allowing userland to send raw commands to the controller. This is compatible with the linux and FreeBSD implementations. Add the needed conversion for mfi ioctls in COMPAT_LINUX Allocate a character major number, and create /dev/mfi0 by default on amd64 and i386. This allows (along with a hand-created /emul/linux/proc/devices file) to run the MegaCLI linux binary provided by LSI.
|
1.14.16.2 |
| 24-Oct-2012 |
riz | Pull up following revision(s) (requested by bouyer in ticket #628): sys/dev/ic/mfi.c: revision 1.40 sys/dev/ic/mfi.c: revision 1.41 sys/dev/ic/mfi.c: revision 1.42 sys/dev/ic/mfi.c: revision 1.43 sys/dev/ic/mfi.c: revision 1.44 sys/dev/ic/mfi.c: revision 1.45 sys/dev/ic/mfi.c: revision 1.46 sys/dev/pci/pcidevs: revision 1.1128 sys/dev/pci/mfi_pci.c: revision 1.15 sys/dev/pci/mfi_pci.c: revision 1.16 sys/dev/ic/mfi.c: revision 1.39 sys/dev/ic/mfivar.h: revision 1.16 sys/dev/ic/mfireg.h: revision 1.6 sys/dev/ic/mfivar.h: revision 1.17 sys/dev/ic/mfireg.h: revision 1.7 sys/dev/ic/mfivar.h: revision 1.18 sys/dev/ic/mfivar.h: revision 1.19 Add some support for 64bit DMA but stick to 32bit DMA for now. From OpenBSD mfi.c rev 1.119. Add LSI MegaRAID SAS2208 MFI_IOP_SKINNY is an enum not a single bit value, so it can't be used as a bit flag. As sc_flags is really used to hold an enum mfi_iop value, change it to enum mfi_iop and rename to sc_ioptype. While there init it in mfi_attach() instead of mfi_pci_attach(). sg64.len is 32bits, so use htole32() Really init sc_ioptype in mfi_attach() Add support newer LSI RAID controllers based on the SAS2208 chip, codenamed "ThunderBolt". Add tagged queuing support for all adapters supported by mfi(4). Tested with a MegaRAID SAS 9265-8i adapter, and an older Dell PERC 5/i. Avoid "unused variable" warning for non-DIAGNOSTIC kernels. Pointed out by Havard Eidnes After discussion on tech-kern@, fix performance issue related to cache flush commands from WAPBL, by skipping the cache flush if the BBU is present and considered good. Users which still want the write back cache with a non-working BBU can set vfs.wapbl.flush_disk_cache to 0. - add commands to monitor the BBU state. Add a boolean BBU sensor to monitor the BBU state via sysmon_envsys(9). - if the BBU is considered good, turn SCSI_SYNCHRONIZE_CACHE_10 and SCSI_SYNCHRONIZE_CACHE_16 commands from upper layer into NOOPs. While there, handle SCSI_SYNCHRONIZE_CACHE_16 in addition to SCSI_SYNCHRONIZE_CACHE_10. - Add a shutdown pmf(9) handler, which flushes the cache and shutdown the firmware - on detach, also flush cache and shutdown firmware. - on attach, print the firmware-provided name, and the BBU state Tested on a LSI MegaRAID SAS 9265-8i and a PERC 5/i Integrated Make MFI_DEBUG build on i386. Report BBU state changes with aprint_normal(), it seems that sysmon_envsys() doens't report changes for ENVSYS_INDICATOR as it does for ENVSYS_DRIVE.
|
1.14.16.1 |
| 22-Mar-2012 |
riz | Pull up following revision(s) (requested by sborrill in ticket #138): sys/dev/pci/mfi_pci.c: revision 1.13 sys/dev/ic/mfi.c: revision 1.38 sys/dev/ic/mfivar.h: revision 1.15 sys/dev/ic/mfireg.h: revision 1.5 Add support for skinny variants (e.g. IBM ServeRAID M1015). Based on OpenBSD changes with some improvements. Tested on IBM x3550M3 with RAID0 and RAID1 volumes including bioctl(8) operation.
|
1.14.14.1 |
| 05-Apr-2012 |
mrg | sync to latest -current.
|
1.14.10.2 |
| 30-Oct-2012 |
yamt | sync with head
|
1.14.10.1 |
| 17-Apr-2012 |
yamt | sync with head
|
1.19.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|