]> err.no Git - linux-2.6/blobdiff - include/scsi/scsi_host.h
[POWERPC] CPM: Rename commproc to cpm1 and cpm2_common.c to cpm2.c
[linux-2.6] / include / scsi / scsi_host.h
index 88f6871badd8ade1e8c82c0f0120a2f0858431de..0fd4746ee39d4437e788c37b9a7f59d9b65dc11a 100644 (file)
@@ -32,10 +32,16 @@ struct blk_queue_tags;
 #define SG_NONE 0
 #define SG_ALL 0xff
 
+#define MODE_UNKNOWN 0x00
+#define MODE_INITIATOR 0x01
+#define MODE_TARGET 0x02
 
 #define DISABLE_CLUSTERING 0
 #define ENABLE_CLUSTERING 1
 
+#define DISABLE_SG_CHAINING 0
+#define ENABLE_SG_CHAINING 1
+
 enum scsi_eh_timer_return {
        EH_NOT_HANDLED,
        EH_HANDLED,
@@ -404,6 +410,11 @@ struct scsi_host_template {
         */
        unsigned char present;
 
+       /*
+        * This specifies the mode that a LLD supports.
+        */
+       unsigned supported_mode:2;
+
        /*
         * true if this host adapter uses unchecked DMA onto an ISA bus.
         */
@@ -434,6 +445,15 @@ struct scsi_host_template {
         */
        unsigned ordered_tag:1;
 
+       /*
+        * true if the low-level driver can support sg chaining. this
+        * will be removed eventually when all the drivers are
+        * converted to support sg chaining.
+        *
+        * Status: OBSOLETE
+        */
+       unsigned use_sg_chaining:1;
+
        /*
         * Countdown for host blocking with no commands outstanding
         */
@@ -572,11 +592,13 @@ struct Scsi_Host {
         * Used to assign serial numbers to the cmds.
         * Protected by the host lock.
         */
-       unsigned long cmd_serial_number, cmd_pid; 
+       unsigned long cmd_serial_number;
        
+       unsigned active_mode:2;
        unsigned unchecked_isa_dma:1;
        unsigned use_clustering:1;
        unsigned use_blk_tcq:1;
+       unsigned use_sg_chaining:1;
 
        /*
         * Host has requested that no further requests come through for the