1 #ifndef GVP11_H 2 3 /* $Id: gvp11.h,v 1.4 1997/01/19 23:07:12 davem Exp $ 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 int gvp11_release(struct Scsi_Host *); 16 const char *wd33c93_info(void); 17 int wd33c93_queuecommand(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *)); 18 int wd33c93_abort(Scsi_Cmnd *); 19 int wd33c93_reset(Scsi_Cmnd *, unsigned int); 20 21 #ifndef CMD_PER_LUN 22 #define CMD_PER_LUN 2 23 #endif 24 25 #ifndef CAN_QUEUE 26 #define CAN_QUEUE 16 27 #endif 28 29 #ifndef HOSTS_C 30 31 /* 32 * if the transfer address ANDed with this results in a non-zero 33 * result, then we can't use DMA. 34 */ 35 #define GVP11_XFER_MASK (0xff000001) 36 37 typedef struct { 38 unsigned char pad1[64]; 39 volatile unsigned short CNTR; 40 unsigned char pad2[31]; 41 volatile unsigned char SASR; 42 unsigned char pad3; 43 volatile unsigned char SCMD; 44 unsigned char pad4[4]; 45 volatile unsigned short BANK; 46 unsigned char pad5[6]; 47 volatile unsigned long ACR; 48 volatile unsigned short secret1; /* store 0 here */ 49 volatile unsigned short ST_DMA; 50 volatile unsigned short SP_DMA; 51 volatile unsigned short secret2; /* store 1 here */ 52 volatile unsigned short secret3; /* store 15 here */ 53 } gvp11_scsiregs; 54 55 /* bits in CNTR */ 56 #define GVP11_DMAC_BUSY (1<<0) 57 #define GVP11_DMAC_INT_PENDING (1<<1) 58 #define GVP11_DMAC_INT_ENABLE (1<<3) 59 #define GVP11_DMAC_DIR_WRITE (1<<4) 60 61 #endif /* else def HOSTS_C */ 62 63 #endif /* GVP11_H */ 64