1 /********************************************************
2 * Header file for eata_dma.c Linux EATA-DMA SCSI driver *
3 * (c) 1993-96 Michael Neuffer                           *
4 *             mike@i-Connect.Net                        *
5 *             neuffer@mail.uni-mainz.de                 *
6 *********************************************************
7 * last change: 96/10/14                                 *
8 ********************************************************/
9 
10 #ifndef _EATA_DMA_H
11 #define _EATA_DMA_H
12 
13 #include "eata_generic.h"
14 
15 
16 #define VER_MAJOR 2
17 #define VER_MINOR 5
18 #define VER_SUB   "9b"
19 
20 
21 /************************************************************************
22  * Here you can switch parts of the code on and of                      *
23  ************************************************************************/
24 
25 #define CHECKPAL        0        /* EISA pal checking on/off            */
26 #define CHECK_BLINK     1        /* Switch Blink state check off, might *
27                                   * be nessessary for some MIPS machines*/
28 #define CRIPPLE_QUEUE   0        /* Only enable this if the interrupt
29                                   * controller on your motherboard is
30                                   * broken and you are experiencing
31                                   * massive interrupt losses */
32 
33 /************************************************************************
34  * Debug options.                                                       *
35  * Enable DEBUG and whichever options you require.                      *
36  ************************************************************************/
37 #define DEBUG_EATA      1       /* Enable debug code.                   */
38 #define DPT_DEBUG       0       /* Bobs special                         */
39 #define DBG_DELAY       0       /* Build in delays so debug messages can be
40 				 * be read before they vanish of the top of
41 				 * the screen!                          */
42 #define DBG_PROBE       0       /* Debug probe routines.                */
43 #define DBG_PCI         0       /* Trace PCI routines                   */
44 #define DBG_EISA        0       /* Trace EISA routines                  */
45 #define DBG_ISA         0       /* Trace ISA routines                   */
46 #define DBG_BLINK       0       /* Trace Blink check                    */
47 #define DBG_PIO         0       /* Trace get_config_PIO                 */
48 #define DBG_COM         0       /* Trace command call                   */
49 #define DBG_QUEUE       0       /* Trace command queueing.              */
50 #define DBG_QUEUE2      0       /* Trace command queueing SG.           */
51 #define DBG_INTR        0       /* Trace interrupt service routine.     */
52 #define DBG_INTR2       0       /* Trace interrupt service routine.     */
53 #define DBG_INTR3       0       /* Trace get_board_data interrupts.     */
54 #define DBG_REQSENSE    0       /* Trace request sense commands         */
55 #define DBG_RESET       0       /* Trace reset calls                    */
56 #define DBG_STATUS      0       /* Trace status generation              */
57 #define DBG_PROC        0       /* Debug proc-fs related statistics     */
58 #define DBG_PROC_WRITE  0
59 #define DBG_REGISTER    0       /* */
60 #define DBG_ABNORM      1       /* Debug abnormal actions (reset, abort)*/
61 
62 #if DEBUG_EATA
63 #define DBG(x, y)   if ((x)) {y;}
64 #else
65 #define DBG(x, y)
66 #endif
67 
68 int eata_detect(Scsi_Host_Template *);
69 const char *eata_info(struct Scsi_Host *);
70 int eata_command(Scsi_Cmnd *);
71 int eata_queue(Scsi_Cmnd *, void (* done)(Scsi_Cmnd *));
72 int eata_abort(Scsi_Cmnd *);
73 int eata_reset(Scsi_Cmnd *, unsigned int);
74 int eata_proc_info(char *, char **, off_t, int, int, int);
75 #ifdef MODULE
76 int eata_release(struct Scsi_Host *);
77 #else
78 #define eata_release NULL
79 #endif
80 
81 #include <scsi/scsicam.h>
82 
83 #define EATA_DMA {                                      \
84         proc_info:         eata_proc_info,     /* procinfo       */ \
85         name:              "EATA (Extended Attachment) HBA driver", \
86         detect:            eata_detect,                 \
87         release:           eata_release,                \
88 	queuecommand:      eata_queue,                  \
89 	abort:             eata_abort,                  \
90 	reset:             eata_reset,                  \
91 	bios_param:        scsicam_bios_param,          \
92 	unchecked_isa_dma: 1,      /* True if ISA  */   \
93 	use_clustering:    ENABLE_CLUSTERING }
94 
95 
96 #endif /* _EATA_DMA_H */
97 
98 /*
99  * Overrides for Emacs so that we almost follow Linus's tabbing style.
100  * Emacs will notice this stuff at the end of the file and automatically
101  * adjust the settings for this buffer only.  This must remain at the end
102  * of the file.
103  * ---------------------------------------------------------------------------
104  * Local variables:
105  * c-indent-level: 4
106  * c-brace-imaginary-offset: 0
107  * c-brace-offset: -4
108  * c-argdecl-indent: 4
109  * c-label-offset: -4
110  * c-continued-statement-offset: 4
111  * c-continued-brace-offset: 0
112  * indent-tabs-mode: nil
113  * tab-width: 8
114  * End:
115  */
116