Home | History | Annotate | Download | only in pci
History log of /src/sys/dev/pci/mfi_pci.c
RevisionDateAuthorComments
 1.22  25-Sep-2022  thorpej Remove unnecessary include of <sys/malloc.h>.
 1.21  05-May-2022  msaitoh Add some code for the SKINNY variant to make Dell PERC H310 work.
 1.20  09-Dec-2018  jdolecek branches: 1.20.4;
use pci_intr_establish_xname() everywhere
 1.19  14-Jul-2016  msaitoh branches: 1.19.10; 1.19.16; 1.19.18;
- Use aprint*() instead of printf() in xxx_attach().
- Add missing aprint_naive("\n");
- KNF
 1.18  29-Mar-2014  christos branches: 1.18.6;
make pci_intr_string and eisa_intr_string take a buffer and a length
instead of relying in local static storage.
 1.17  31-Aug-2012  jnemeth branches: 1.17.2; 1.17.4;
PR/46877 - Wolfgang Stukenbrock -- missing definition for Symbios SAS 9261-8i
 1.16  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.15  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.14  22-Mar-2012  sborrill Add IBM ServeRAID M5014 as subtype
 1.13  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.12  09-Feb-2010  msaitoh branches: 1.12.10; 1.12.14; 1.12.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.11  16-Jul-2009  dyoung branches: 1.11.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.10  16-Jul-2009  dyoung device_t/softc split. Tested and shown to work on a Dell PowerEdge
1950.
 1.9  16-Jul-2009  dyoung Add a rudimentary detachment hook for mfi(4).
 1.8  12-May-2009  cegger use device_private().
"looks good" ad@
XXX for the device_t/softc split, please check the driver that no cases have been missed.
 1.7  06-May-2009  cegger struct device * -> device_t, no functional changes intended.
 1.6  06-May-2009  cegger struct cfdata * -> cfdata_t, no functional changes intended.
 1.5  26-Feb-2008  xtraeme branches: 1.5.4; 1.5.14; 1.5.18; 1.5.22;
Make it follow the standard convention of autoconf printing:

mfi0 at pci0 ...
mfi0: interrupting at ...

and only print the model string if it was matched.

Add the Dell PERC 5/i integraded subproduct ID.
 1.4  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.3  19-Oct-2007  ad branches: 1.3.12; 1.3.16;
machine/{bus,cpu,intr}.h -> sys/{bus,cpu,intr}.h
 1.2  20-Dec-2006  bouyer branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.14; 1.2.26; 1.2.28; 1.2.32;
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 mfi_pci.c was added on branch yamt-splraiseipl on 2006-12-18 11:42:13 +0000
 1.2.32.1  25-Oct-2007  bouyer Sync with HEAD.
 1.2.28.2  23-Mar-2008  matt sync with HEAD
 1.2.28.1  06-Nov-2007  matt sync with HEAD
 1.2.26.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.2.14.1  23-Oct-2007  ad Sync with head.
 1.2.8.2  12-Jan-2007  ad Sync with head.
 1.2.8.1  20-Dec-2006  ad file mfi_pci.c was added on branch newlock2 on 2007-01-12 00:57:41 +0000
 1.2.6.4  27-Feb-2008  yamt sync with head.
 1.2.6.3  27-Oct-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 mfi_pci.c was added on branch yamt-lazymbuf on 2006-12-30 20:48:46 +0000
 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 mfi_pci.c was added on branch netbsd-3 on 2006-12-23 16:43:18 +0000
 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 mfi_pci.c was added on branch netbsd-4 on 2006-12-21 12:46:21 +0000
 1.3.16.1  03-Apr-2008  mjf Sync with HEAD.
 1.3.12.1  24-Mar-2008  keiichi sync with head.
 1.5.22.1  21-Apr-2010  matt sync to netbsd-5
 1.5.18.2  23-Jul-2009  jym Sync with HEAD.
 1.5.18.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.5.14.2  30-Sep-2012  bouyer Pull up following revision(s) (requested by jnemeth in ticket #1795):
sys/dev/pci/mfi_pci.c: revision 1.17 via patch
PR/46877 - Wolfgang Stukenbrock -- missing definition for Symbios SAS 9261-8i
 1.5.14.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.5.4.3  11-Mar-2010  yamt sync with head
 1.5.4.2  18-Jul-2009  yamt sync with head.
 1.5.4.1  16-May-2009  yamt sync with head
 1.11.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.12.16.4  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.12.16.3  03-Sep-2012  riz Pull up following revision(s) (requested by jnemeth in ticket #536):
sys/dev/pci/mfi_pci.c: revision 1.17
PR/46877 - Wolfgang Stukenbrock -- missing definition for Symbios SAS 9261-8i
 1.12.16.2  19-May-2012  riz branches: 1.12.16.2.2;
Pull up following revision(s) (requested by sborrill in ticket #261):
sys/dev/pci/mfi_pci.c: revision 1.14
share/man/man4/mfi.4: revision 1.11
Add IBM ServeRAID M5014 as subtype
Add IBM ServeRAID M1015 and M5014
 1.12.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.12.16.2.2.1  01-Nov-2012  matt sync with netbsd-6-0-RELEASE.
 1.12.14.1  05-Apr-2012  mrg sync to latest -current.
 1.12.10.3  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.12.10.2  30-Oct-2012  yamt sync with head
 1.12.10.1  17-Apr-2012  yamt sync with head
 1.17.4.1  18-May-2014  rmind sync with head
 1.17.2.2  03-Dec-2017  jdolecek update from HEAD
 1.17.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.18.6.1  05-Oct-2016  skrll Sync with HEAD
 1.19.18.1  10-Jun-2019  christos Sync with HEAD
 1.19.16.1  26-Dec-2018  pgoyette Sync with HEAD, resolve a few conflicts
 1.19.10.1  17-May-2022  bouyer Pull up following revision(s) via patch (requested by msaitoh in ticket #1454):
sys/dev/ic/mfi.c: revisions 1.63, 1.66-77
sys/dev/ic/mfireg.h: revisions 1.11-1.20 via patch
sys/dev/pci/mfi_pci.c: revision 1.21
sys/dev/pci/mfii.c: revisions 1.6-1.7, 1.10-1.15
share/man/man4/mfi.4: revision 1.13

Improve mfi(4) and mfii(4):
- Set 'ld_sync' to NULL as part of 'again', to prevent use-after-free.
- Add some code for the SKINNY variant to make Dell PERC H310 work.
- Print the percentage correctly when the background initialization is
running.
- Clear mailbox to not to pass garbage data.
- Use union mbox instead of unit8_t xxx[] to avoid unaligned access.
- Set stripe size for BIOCVOL to show the size correctly in bioctl.
- Add support for iBBU-09 to show BBU voltage, current and temperature
correctly.
- Fix typos in comments.
- Sprinkle static.
- Improve debug printf()s.
- KNF. Remove extra semicolon. Whitespace fixes.
 1.20.4.1  17-May-2022  bouyer Pull up following revision(s) via patch (requested by msaitoh in ticket #1454):
sys/dev/ic/mfi.c: revisions 1.63, 1.66-77
sys/dev/ic/mfireg.h: revisions 1.11-1.20 via patch
sys/dev/pci/mfi_pci.c: revision 1.21
sys/dev/pci/mfii.c: revisions 1.6-1.7, 1.10-1.15
share/man/man4/mfi.4: revision 1.13

Improve mfi(4) and mfii(4):
- Set 'ld_sync' to NULL as part of 'again', to prevent use-after-free.
- Add some code for the SKINNY variant to make Dell PERC H310 work.
- Print the percentage correctly when the background initialization is
running.
- Clear mailbox to not to pass garbage data.
- Use union mbox instead of unit8_t xxx[] to avoid unaligned access.
- Set stripe size for BIOCVOL to show the size correctly in bioctl.
- Add support for iBBU-09 to show BBU voltage, current and temperature
correctly.
- Fix typos in comments.
- Sprinkle static.
- Improve debug printf()s.
- KNF. Remove extra semicolon. Whitespace fixes.

RSS XML Feed