- Patch from Aravind Parchuri <aravind.parchuri@gmail.com> with some my modifications:
[mirror/scst/.git] / mpt / README
index c68822f..99fd81d 100644 (file)
@@ -11,6 +11,8 @@ 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
 -----------------------------------
 
@@ -23,3 +25,36 @@ 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.
+