[SCSI] SUNESP: Complete driver rewrite to version 2.0
[linux-2.6] / drivers / scsi / atp870u.h
1 #ifndef _ATP870U_H
2 #define _ATP870U_H
3
4 #include <linux/types.h>
5 #include <linux/kdev_t.h>
6
7 /* I/O Port */
8
9 #define MAX_CDB         12
10 #define MAX_SENSE       14
11 #define qcnt            32
12 #define ATP870U_SCATTER         128
13 #define ATP870U_CMDLUN          1
14
15 #define MAX_ADAPTER     8
16 #define MAX_SCSI_ID     16
17 #define ATP870U_MAX_SECTORS 128
18
19 #define ATP885_DEVID 0x808A
20 #define ATP880_DEVID1 0x8080
21 #define ATP880_DEVID2 0x8081
22
23 //#define ED_DBGP
24
25 struct atp_unit
26 {
27         unsigned long baseport;
28         unsigned long ioport[2];
29         unsigned long pciport[2];
30         unsigned long irq;
31         unsigned char last_cmd[2];
32         unsigned char in_snd[2];
33         unsigned char in_int[2];
34         unsigned char quhd[2];
35         unsigned char quend[2];
36         unsigned char global_map[2];
37         unsigned char chip_ver;
38         unsigned char scam_on;
39         unsigned char host_id[2];
40         unsigned int working[2];
41         unsigned short wide_id[2];
42         unsigned short active_id[2];
43         unsigned short ultra_map[2];
44         unsigned short async[2];
45         unsigned short dev_id;
46         unsigned char sp[2][16];
47         unsigned char r1f[2][16];               
48         struct scsi_cmnd *quereq[2][qcnt];
49         struct atp_id
50         {
51                 unsigned char dirct;
52                 unsigned char devsp;
53                 unsigned char devtype;
54                 unsigned long tran_len;
55                 unsigned long last_len;
56                 unsigned char *prd_pos;
57                 unsigned char *prd_table;       /* Kernel address of PRD table */
58                 dma_addr_t prd_bus;             /* Bus address of PRD */
59                 dma_addr_t prdaddr;             /* Dynamically updated in driver */
60                 struct scsi_cmnd *curr_req;
61         } id[2][16];
62         struct Scsi_Host *host;
63         struct pci_dev *pdev;
64         unsigned int unit;
65 };
66
67 #endif