]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/scsi/scsi.h
[SCSI] scsi_debug: add XDWRITEREAD_10 support
[linux-2.6-omap-h63xx.git] / include / scsi / scsi.h
index 9f8f80ab0c8b4690e2e31d2cba984508007717a0..82251575a9b45e1a4e24475dc71503deef0223a8 100644 (file)
 #include <linux/types.h>
 
 /*
- *     The maximum sg list length SCSI can cope with
- *     (currently must be a power of 2 between 32 and 256)
+ * The maximum number of SG segments that we will put inside a
+ * scatterlist (unless chaining is used). Should ideally fit inside a
+ * single page, to avoid a higher order allocation.  We could define this
+ * to SG_MAX_SINGLE_ALLOC to pack correctly at the highest order.  The
+ * minimum value is 32
  */
-#define SCSI_MAX_PHYS_SEGMENTS MAX_PHYS_SEGMENTS
+#define SCSI_MAX_SG_SEGMENTS   128
 
+/*
+ * Like SCSI_MAX_SG_SEGMENTS, but for archs that have sg chaining. This limit
+ * is totally arbitrary, a setting of 2048 will get you at least 8mb ios.
+ */
+#ifdef ARCH_HAS_SG_CHAIN
+#define SCSI_MAX_SG_CHAIN_SEGMENTS     2048
+#else
+#define SCSI_MAX_SG_CHAIN_SEGMENTS     SCSI_MAX_SG_SEGMENTS
+#endif
 
 /*
  *     SCSI command lengths
@@ -90,6 +102,7 @@ extern const unsigned char scsi_command_size[8];
 #define READ_TOC              0x43
 #define LOG_SELECT            0x4c
 #define LOG_SENSE             0x4d
+#define XDWRITEREAD_10        0x53
 #define MODE_SELECT_10        0x55
 #define RESERVE_10            0x56
 #define RELEASE_10            0x57