root/drivers/scsi/gvp11.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef GVP11_H
   2 
   3 /* $Id: gvp11.h,v 1.5 1996/04/25 20:58:31 root Exp root $
   4  *
   5  * Header file for the GVP Series II SCSI controller for Linux
   6  *
   7  * Written and (C) 1993, Ralf Baechle, see gvp11.c for more info
   8  * based on a2091.h (C) 1993 by Hamish Macdonald
   9  *
  10  */
  11 
  12 #include <linux/types.h>
  13 
  14 int gvp11_detect(Scsi_Host_Template *);
  15 const char *wd33c93_info(void);
  16 int wd33c93_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
  17 int wd33c93_abort(Scsi_Cmnd *);
  18 int wd33c93_reset(Scsi_Cmnd *, unsigned int);
  19 
  20 #ifndef NULL
  21 #define NULL 0
  22 #endif
  23 
  24 #ifndef CMD_PER_LUN
  25 #define CMD_PER_LUN 2
  26 #endif
  27 
  28 #ifndef CAN_QUEUE
  29 #define CAN_QUEUE 16
  30 #endif
  31 
  32 #ifdef HOSTS_C
  33 
  34 extern struct proc_dir_entry proc_scsi_gvp11;
  35 
  36 #define GVP11_SCSI {  /* next */                NULL,            \
  37                       /* usage_count */         NULL,            \
  38                       /* proc_dir_entry */      &proc_scsi_gvp11, \
  39                       /* proc_info */           NULL,            \
  40                       /* name */                "GVP Series II SCSI", \
  41                       /* detect */              gvp11_detect,    \
  42                       /* release */             NULL,            \
  43                       /* info */                NULL,            \
  44                       /* command */             NULL,            \
  45                       /* queuecommand */        wd33c93_queuecommand, \
  46                       /* abort */               wd33c93_abort,   \
  47                       /* reset */               wd33c93_reset,   \
  48                       /* slave_attach */        NULL,            \
  49                       /* bios_param */          NULL,            \
  50                       /* can_queue */           CAN_QUEUE,       \
  51                       /* this_id */             7,               \
  52                       /* sg_tablesize */        SG_ALL,          \
  53                       /* cmd_per_lun */         CMD_PER_LUN,     \
  54                       /* present */             0,               \
  55                       /* unchecked_isa_dma */   0,               \
  56                       /* use_clustering */      DISABLE_CLUSTERING }
  57 #else
  58 
  59 /*
  60  * if the transfer address ANDed with this results in a non-zero
  61  * result, then we can't use DMA.
  62  */ 
  63 #define GVP11_XFER_MASK  (0xff000001)
  64 
  65 typedef struct {
  66              unsigned char      pad1[64];
  67     volatile unsigned short     CNTR;
  68              unsigned char      pad2[31];
  69     volatile unsigned char      SASR;
  70              unsigned char      pad3;
  71     volatile unsigned char      SCMD;
  72              unsigned char      pad4[4];
  73     volatile unsigned short     BANK;
  74              unsigned char      pad5[6];
  75     volatile unsigned long      ACR;
  76     volatile unsigned short     secret1; /* store 0 here */
  77     volatile unsigned short     ST_DMA;
  78     volatile unsigned short     SP_DMA;
  79     volatile unsigned short     secret2; /* store 1 here */
  80     volatile unsigned short     secret3; /* store 15 here */
  81 } gvp11_scsiregs;
  82 
  83 /* bits in CNTR */
  84 #define GVP11_DMAC_BUSY         (1<<0)
  85 #define GVP11_DMAC_INT_PENDING  (1<<1)
  86 #define GVP11_DMAC_INT_ENABLE   (1<<3)
  87 #define GVP11_DMAC_DIR_WRITE    (1<<4)
  88 
  89 #endif /* else def HOSTS_C */
  90 
  91 #endif /* GVP11_H */

/* [previous][next][first][last][top][bottom][index][help] */