Source-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: [netbsd-6] src/sys/dev



Module Name:    src
Committed By:   riz
Date:           Wed Oct 24 03:19:20 UTC 2012

Modified Files:
        src/sys/dev/ic [netbsd-6]: mfi.c mfireg.h mfivar.h
        src/sys/dev/pci [netbsd-6]: mfi_pci.c pcidevs

Log Message:
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.


To generate a diff of this commit:
cvs rdiff -u -r1.36.8.2 -r1.36.8.3 src/sys/dev/ic/mfi.c
cvs rdiff -u -r1.4.16.1 -r1.4.16.2 src/sys/dev/ic/mfireg.h
cvs rdiff -u -r1.14.16.1 -r1.14.16.2 src/sys/dev/ic/mfivar.h
cvs rdiff -u -r1.12.16.3 -r1.12.16.4 src/sys/dev/pci/mfi_pci.c
cvs rdiff -u -r1.1102.2.6 -r1.1102.2.7 src/sys/dev/pci/pcidevs

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.




Home | Main Index | Thread Index | Old Index