]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/scsi/NCR5380.h
Merge tag 'dlm-3.19' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm
[karo-tx-linux.git] / drivers / scsi / NCR5380.h
index 11257784b2d7657b00e8c048eec68d2351406cfd..162112dd1bf8eabeaf0c8bb029291742d6c55ce4 100644 (file)
 #define FLAG_NCR53C400                 4       /* NCR53c400 */
 #define FLAG_NO_PSEUDO_DMA             8       /* Inhibit DMA */
 #define FLAG_DTC3181E                  16      /* DTC3181E */
+#define FLAG_LATE_DMA_SETUP            32      /* Setup NCR before DMA H/W */
+#define FLAG_TAGGED_QUEUING            64      /* as X3T9.2 spelled it */
 
 #ifndef ASM
+
+#ifdef SUPPORT_TAGS
+struct tag_alloc {
+       DECLARE_BITMAP(allocated, MAX_TAGS);
+       int nr_allocated;
+       int queue_size;
+};
+#endif
+
 struct NCR5380_hostdata {
        NCR5380_implementation_fields;          /* implementation specific */
        struct Scsi_Host *host;                 /* Host backpointer */
@@ -269,6 +280,14 @@ struct NCR5380_hostdata {
        struct delayed_work coroutine;          /* our co-routine */
        struct scsi_eh_save ses;
        char info[256];
+       int read_overruns;                /* number of bytes to cut from a
+                                          * transfer to handle chip overruns */
+       int retain_dma_intr;
+       struct work_struct main_task;
+       volatile int main_running;
+#ifdef SUPPORT_TAGS
+       struct tag_alloc TagAlloc[8][8];        /* 8 targets and 8 LUNs */
+#endif
 #ifdef PSEUDO_DMA
        unsigned spin_max_r;
        unsigned spin_max_w;