mirror of
https://github.com/SCST-project/scst.git
synced 2026-05-20 12:11:26 +00:00
The patch below implements the following changes: - Fixes the remaining warnings reported by checkpatch.pl with regard to the use of whitespace in C code. - Adds double qoutes around some #warning messages, such that checkpatch.pl does no longer try to interprete the text behind the #warning preprocessor directive. - Adds an extra conversion to the generate-kernel-patch script that removes the single space from before goto-labels while generating the kernel patch. This patch has been tested as follows: - Verified that svn diff -x -w only shows changes in the #warning preprocessor directives. - Verified the output of svn diff by reading it. - Verified that checkpatch.pl does no longer complain on the use of whitespace (searched through the checkpatch.pl output for the text ' space'). - Verified that the patch generated by the generate-kernel-patch script still applies cleanly to the 2.6.24 kernel, and that the patched kernel still compiles cleanly. Please let me know if I have to resubmit parts of this patch to other SCST authors. Signed-off-by: Bart Van Assche <bart.vanassche@gmail.com> git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@381 d57e44dd-8a1f-0410-8b47-8ef2f437770f
Target driver for LSI/MPT XXX cards =================================== Version X.X.X, XX XXX 200X -------------------------- This driver was originally developed by Hu Gang and then is developed by Erik Habbinga <erikhabbinga@inphase-tech.com>. It is on the early stage of development. The current maintainer of this driver is Erik. Please send him all question related to it (CC: scst-devel@lists.sourceforge.net). This driver tested only on Linux kernel versions 2.6.15.x. Building from the Linux kernel tree ----------------------------------- To build from the kernel tree, you should: 1. Link drivers/message/fusion/mpt_scst to $(SCST_DIR)/mpt 2. Patch drivers/message/fusion/Makefile and drivers/message/fusion/Kconfig by diffs from $(SCST_DIR)/mpt/in-tree 3. Correct in drivers/message/fusion/Makefile SCST_INC_DIR variable so it points to correct directory with SCST include files. Building outside the Linux kernel tree -------------------------------------- Edit Makefile, comment there line obj-$(CONFIG_FUSION_SCST) += mpt_scst.o and uncomment line obj-m += mpt_scst.o Notes on implementation ----------------------- The driver takes the mptstm target driver implemented by LSI and ports it to the SCST architecture. The LSI hardware returns an error when it realizes that command status and sense data cannot be sent in the same transaction. This happens during non-packetized SCSI command handling (not FC or SAS). For SCSI implementations, the driver speculatively caches sense data. If the hardware reports that the sense data could not be sent, the driver will return the cached sense data without involving SCST if the next command is REQUEST SENSE. Cached sense data is discarded on bus reset or if the next command after sense send failure was not REQUEST SENSE. Caching sense data in this fashion probably won't work in a tagged command queuing environment. If SCSI hardware is being used, the driver inspects responses to the INQUIRY command and clears the BQUE and CMDQUE bits in the standard INQUIRY response to disable tagged command queuing.